Explorar el Código

同步药品字典优化

chenjiasheng hace 3 años
padre
commit
c000f2bf0e

+ 0 - 88
common/common-entity/src/main/java/com/yihu/jw/entity/a1entity/Mediicinedrugs.java

@ -166,41 +166,7 @@ public class Mediicinedrugs extends UuidIdentityEntityWithOperator implements Se
     * 品牌
     */
    private String brand;
    /*
    * 药品Sku*/
    private String drugSku;
    /*药品数量*/
    private Float drugNum;
    /*使用量*/
    private Float useNum;
    /*使用方法*/
    private String useWay;
    /*使用频率*/
    private String useRate;
    /*每次使用剂量*/
    private String useDose;
    /*补充用法*/
    private String useWayAdd;
    /*机构*/
    private String orgCode;
    /*机构名称*/
    private String orgName;
    public String getOrgName() {
        return orgName;
    }
    public void setOrgName(String orgName) {
        this.orgName = orgName;
    }
    public String getOrgCode() {
        return orgCode;
    }
    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }
    /**
     * 药品SKU
@ -251,61 +217,7 @@ public class Mediicinedrugs extends UuidIdentityEntityWithOperator implements Se
    public Mediicinedrugs() {
    }
    public String getDrugSku() {
        return drugSku;
    }
    public void setDrugSku(String drugSku) {
        this.drugSku = drugSku;
    }
    public Float getDrugNum() {
        return drugNum;
    }
    public void setDrugNum(Float drugNum) {
        this.drugNum = drugNum;
    }
    public Float getUseNum() {
        return useNum;
    }
    public void setUseNum(Float useNum) {
        this.useNum = useNum;
    }
    public String getUseWay() {
        return useWay;
    }
    public void setUseWay(String useWay) {
        this.useWay = useWay;
    }
    public String getUseRate() {
        return useRate;
    }
    public void setUseRate(String useRate) {
        this.useRate = useRate;
    }
    public String getUseDose() {
        return useDose;
    }
    public void setUseDose(String useDose) {
        this.useDose = useDose;
    }
    public String getUseWayAdd() {
        return useWayAdd;
    }
    public void setUseWayAdd(String useWayAdd) {
        this.useWayAdd = useWayAdd;
    }
    public String getState() {
        return state;

+ 4 - 2
svr/svr-base/src/main/java/com/yihu/jw/base/dao/a2dao/MediicinedrugsDao.java

@ -14,7 +14,9 @@ public interface MediicinedrugsDao extends PagingAndSortingRepository<Mediicined
    @Query("select a from Mediicinedrugs a  ")
    List<Mediicinedrugs> getorderdetail();
    boolean existsByDrugCode(String drugCode);
    boolean existsByDrugCodeAndOrgCode(String drugCode,String orgCode);
    List<Mediicinedrugs> findByDrugCode(String drugCode);
    Mediicinedrugs findByDrugCode(String drugCode);
}

+ 19 - 16
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicineServive.java

@ -12,16 +12,15 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
public class MedicineServive {
    private static final Logger logger = LoggerFactory.getLogger(MedicineServive.class);
    @Autowired
    private WlyyHttpService wlyyHttpService;
    @Autowired
    private MedicineDrugsService medicineDrugsService;
    @Autowired
    private HospitalDao hospitalDao;
    @Autowired
    private MediicinedrugsDao mediicinedrugsDao;
@ -46,10 +45,11 @@ public class MedicineServive {
            if(jsonArray!=null&&jsonArray.size()>0){
                Integer addCount = 0;
                Integer updateCount =0;
                List<Mediicinedrugs>list=new ArrayList<>();
                for(int i=0;i<jsonArray.size();i++){
                    JSONObject h = (JSONObject) jsonArray.get(i);
                    String drugCode = h.getString("physic_code");
                    if(!mediicinedrugsDao.existsByDrugCode(drugCode)){
                    if(!mediicinedrugsDao.existsByDrugCodeAndOrgCode(drugCode,orgCode)){
                        Mediicinedrugs org = new Mediicinedrugs();
                        org.setDrugCode(drugCode);
                        org.setDrugName(h.getString("physic_name"));
@ -58,21 +58,24 @@ public class MedicineServive {
                        org.setUnit(h.getString("dose_unit"));
                        org.setUseDose(h.getString("min_dose"));
                        org.setOrgCode(h.getString("orgCode"));
                        mediicinedrugsDao.save(org);
                        list.add(org);
                        addCount++;
                    }else{
                        Mediicinedrugs org = mediicinedrugsDao.findByDrugCode(drugCode);
                        org.setDrugCode(drugCode);
                        org.setDrugName(h.getString("physic_name"));
                        org.setSpecif(h.getString("physic_spec"));
                        org.setDrugClass(h.getString("subject_class"));
                        org.setUnit(h.getString("dose_unit"));
                        org.setUseDose(h.getString("min_dose"));
                        org.setOrgCode(h.getString("orgCode"));
                        mediicinedrugsDao.save(org);
                        updateCount++;
                        List<Mediicinedrugs> orgs = mediicinedrugsDao.findByDrugCode(drugCode);
                        for (Mediicinedrugs org:orgs) {
                            org.setDrugCode(drugCode);
                            org.setDrugName(h.getString("physic_name"));
                            org.setSpecif(h.getString("physic_spec"));
                            org.setDrugClass(h.getString("subject_class"));
                            org.setUnit(h.getString("dose_unit"));
                            org.setUseDose(h.getString("min_dose"));
                            org.setOrgCode(h.getString("orgCode"));
                            list.add(org);
                            updateCount++;
                        }
                    }
                }
                mediicinedrugsDao.save(list);
                logger.info("mediicinedrugs:addCount:"+addCount+" updateCount:"+updateCount);
            }
        }