瀏覽代碼

代码修改

LAPTOP-KB9HII50\70708 1 月之前
父節點
當前提交
075d66d13d

+ 7 - 1
business/base-service/src/main/java/com/yihu/jw/hospital/dict/service/WlyyHospitalSysDictService.java

@ -8,10 +8,10 @@ import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.mapping.dao.DoctorMappingDao;
import com.yihu.jw.hospital.mapping.dao.DoctorMappingDao;
import com.yihu.jw.mysql.query.BaseJpaService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.jw.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.beans.factory.annotation.Value;
@ -21,6 +21,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.ArrayList;
import java.util.List;
import java.util.List;
import java.util.Map;
import java.util.Map;
import java.util.stream.Collectors;
@Service
@Service
public class WlyyHospitalSysDictService extends BaseJpaService<WlyyHospitalSysDictDO, WlyyHospitalSysDictDao> {
public class WlyyHospitalSysDictService extends BaseJpaService<WlyyHospitalSysDictDO, WlyyHospitalSysDictDao> {
@ -500,6 +501,11 @@ public class WlyyHospitalSysDictService extends BaseJpaService<WlyyHospitalSysDi
        return re;
        return re;
    }
    }
    public Map<String,Integer> getDictValueSortMap(String dictName){
        List<WlyyHospitalSysDictDO> dictList = wlyyHospitalSysDictDao.findByDictNameSort(dictName);
        Map<String,Integer> map = dictList.stream().collect(Collectors.toMap(WlyyHospitalSysDictDO::getDictValue,WlyyHospitalSysDictDO::getSort));
        return map;
    }
    public List<WlyyHospitalSysDictDO> findByDictName(String dictName) {
    public List<WlyyHospitalSysDictDO> findByDictName(String dictName) {
        return wlyyHospitalSysDictDao.findByDictNameOrderBySort(dictName);
        return wlyyHospitalSysDictDao.findByDictNameOrderBySort(dictName);

+ 14 - 6
business/base-service/src/main/java/com/yihu/jw/hospital/disease/service/BaseDiseaseHospitalService.java

@ -601,7 +601,7 @@ public class BaseDiseaseHospitalService extends BaseJpaService<BaseDiseaseHospit
    /**
    /**
     * 查询专病中心列表
     * 查询专病中心列表
     */
     */
    public MixEnvelop selectByCondition(String name, String status,String distributionType, Integer page, Integer size){
    public MixEnvelop selectByCondition(String name, String status,String distributionType,String dept, Integer page, Integer size){
        String orderBy = "  order by sort asc,create_time desc  ";
        String orderBy = "  order by sort asc,create_time desc  ";
        String condition = " ";
        String condition = " ";
        String sql = "SELECT\n" +
        String sql = "SELECT\n" +
@ -637,6 +637,9 @@ public class BaseDiseaseHospitalService extends BaseJpaService<BaseDiseaseHospit
        if (StringUtils.isNoneBlank(name)){
        if (StringUtils.isNoneBlank(name)){
            condition +=" and name like '%"+name+"%' ";
            condition +=" and name like '%"+name+"%' ";
        }
        }
        if (StringUtils.isNoneBlank(dept)){
            condition +=" and dept like '%"+dept+"%' ";
        }
        if (StringUtils.isNoneBlank(status)){
        if (StringUtils.isNoneBlank(status)){
            condition +=" and status ='"+status+"' ";
            condition +=" and status ='"+status+"' ";
        }
        }
@ -711,12 +714,17 @@ public class BaseDiseaseHospitalService extends BaseJpaService<BaseDiseaseHospit
                }
                }
            }else if (flag==3){
            }else if (flag==3){
                sort = 1;
                BaseDiseaseHospitalDO diseaseHospitalDO1= diseaseHospitalDao.selectBySort(sort);
                if (diseaseHospitalDO1!=null){
                    diseaseHospitalDO1.setSort(diseaseHospitalDO.getSort());
                    diseaseHospitalDao.save(diseaseHospitalDO1);
                String sql = "select * from base_disease_hospital where sort<'"+diseaseHospitalDO.getSort()+"' order by sort asc";
                List<BaseDiseaseHospitalDO> diseaseHospitalDOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(BaseDiseaseHospitalDO.class));
                if(diseaseHospitalDOList.size()>0){
                    int sortTmp = 2;
                    for (BaseDiseaseHospitalDO diseaseHospitalDO1:diseaseHospitalDOList){
                        diseaseHospitalDO1.setSort(sortTmp);
                        sortTmp++;
                    }
                    diseaseHospitalDao.saveAll(diseaseHospitalDOList);
                }
                }
                sort = 1;
            }
            }
            if (sort!=0){
            if (sort!=0){
                diseaseHospitalDO.setSort(sort);
                diseaseHospitalDO.setSort(sort);

+ 2 - 1
business/base-service/src/main/java/com/yihu/jw/hospital/mapping/dao/DoctorMappingDao.java

@ -3,7 +3,6 @@ package com.yihu.jw.hospital.mapping.dao;
import com.yihu.jw.entity.hospital.mapping.DoctorMappingDO;
import com.yihu.jw.entity.hospital.mapping.DoctorMappingDO;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
import java.util.List;
@ -16,6 +15,8 @@ public interface DoctorMappingDao extends JpaRepository<DoctorMappingDO, String>
    List<DoctorMappingDO> findByOrgCodeAndMappingCode(String orgCode,String mappingCode);
    List<DoctorMappingDO> findByOrgCodeAndMappingCode(String orgCode,String mappingCode);
    List<DoctorMappingDO> findByMappingCode(String mappingCode);
    DoctorMappingDO findByDoctor(String doctor);
    DoctorMappingDO findByDoctor(String doctor);
    DoctorMappingDO findByIdcard(String idCard);
    DoctorMappingDO findByIdcard(String idCard);

+ 131 - 24
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/DsyyPrescriptionService.java

@ -8,6 +8,7 @@ import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.patient.PatientMedicareCardDO;
import com.yihu.jw.entity.base.patient.PatientMedicareCardDO;
import com.yihu.jw.entity.hospital.family.WlyyPatientFamilyMemberDO;
import com.yihu.jw.entity.hospital.healthCare.YlzMedicalIcdDO;
import com.yihu.jw.entity.hospital.healthCare.YlzMedicalIcdDO;
import com.yihu.jw.entity.hospital.healthCare.YlzMedicalMxDO;
import com.yihu.jw.entity.hospital.healthCare.YlzMedicalMxDO;
import com.yihu.jw.entity.hospital.healthCare.YlzMedicalRelationDO;
import com.yihu.jw.entity.hospital.healthCare.YlzMedicalRelationDO;
@ -17,6 +18,8 @@ import com.yihu.jw.entity.hospital.mapping.DoctorMappingDO;
import com.yihu.jw.entity.hospital.mapping.PatientMappingDO;
import com.yihu.jw.entity.hospital.mapping.PatientMappingDO;
import com.yihu.jw.entity.hospital.prescription.*;
import com.yihu.jw.entity.hospital.prescription.*;
import com.yihu.jw.entity.order.BusinessOrderDO;
import com.yihu.jw.entity.order.BusinessOrderDO;
import com.yihu.jw.hospital.dict.service.WlyyHospitalSysDictService;
import com.yihu.jw.hospital.family.dao.WlyyPatientFamilyMemberDao;
import com.yihu.jw.hospital.healthCare.YlzMedicailIcdDao;
import com.yihu.jw.hospital.healthCare.YlzMedicailIcdDao;
import com.yihu.jw.hospital.healthCare.YlzMedicailMxDao;
import com.yihu.jw.hospital.healthCare.YlzMedicailMxDao;
import com.yihu.jw.hospital.healthCare.YlzMedicailRelationDao;
import com.yihu.jw.hospital.healthCare.YlzMedicailRelationDao;
@ -46,6 +49,7 @@ import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.CollectionUtils;
@ -61,6 +65,10 @@ public class DsyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO,
    @Autowired
    @Autowired
    private BasePatientDao patientDao;
    private BasePatientDao patientDao;
    @Autowired
    @Autowired
    private BasePatientMedicareCardDao basePatientMedicareCardDao;
    @Autowired
    private WlyyPatientFamilyMemberDao familyMemberDao;
    @Autowired
    private BasePatientMedicareCardDao patientMedicareCardDao;
    private BasePatientMedicareCardDao patientMedicareCardDao;
    @Autowired
    @Autowired
    private PatientMappingDao patientMappingDao;
    private PatientMappingDao patientMappingDao;
@ -100,6 +108,8 @@ public class DsyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO,
    private PrescriptionLogDao prescriptionLogDao;
    private PrescriptionLogDao prescriptionLogDao;
    @Autowired
    @Autowired
    private YlzMedicailRelationInvoiceDao invoiceDao;
    private YlzMedicailRelationInvoiceDao invoiceDao;
    @Value("${spring.profiles}")
    private String springProfiles;
    //=============查询视图========================
    //=============查询视图========================
    /**
    /**
@ -120,8 +130,44 @@ public class DsyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO,
        return dsyyEntranceService.selectOutpatientInfo(patient,conNo);
        return dsyyEntranceService.selectOutpatientInfo(patient,conNo);
    }
    }
    public WlyyOutpatientVO selectOutpatientInfoByHisId(String hisPid,String conNo) throws Exception {
        if("mlwTest".equals(springProfiles)){
            String url = "https://hlw.xmdsyy.cn/hlw/visitBehind/open/exportExcel/selectOutpatientInfoByHisId";
            String object = "";
            Map<String,Object> params = new HashedMap();
            params.put("hisPid",hisPid);
            params.put("conNo",conNo);
            HttpResponse response = HttpUtils.doGet(url,params);
            String content = response.getContent();
            logger.info("response:"+content);
            JSONObject rs = JSON.parseObject(content);
            Integer status = rs.getInteger("status");
            if (status==200){
                object = rs.getString("obj");
                WlyyOutpatientVO vo = JSONObject.parseObject(object,WlyyOutpatientVO.class);
                return vo;
            }
        }
        return dsyyEntranceService.selectOutpatientInfoByHisId(hisPid,conNo);
    }
    //获取患者卡列表
    //获取患者卡列表
    public JSONArray findCardNo(String idcard) throws Exception{
    public JSONArray findCardNo(String idcard) throws Exception{
        if("mlwTest".equals(springProfiles)){
            String url = "https://hlw.xmdsyy.cn/hlw/visitBehind/open/exportExcel/findCardNo";
            String object = "";
            Map<String,Object> params = new HashedMap();
            params.put("idcard",idcard);
            HttpResponse response = HttpUtils.doPost(url,params);
            String content = response.getContent();
            logger.info("response:"+content);
            JSONObject rs = JSON.parseObject(content);
            Integer status = rs.getInteger("status");
            if (status==200){
                object = rs.getString("detailModelList");
                return JSONArray.parseArray(object);
            }
        }
        return dsyyEntranceService.findCardNo(idcard);
        return dsyyEntranceService.findCardNo(idcard);
    }
    }
@ -131,42 +177,29 @@ public class DsyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO,
     * @param idcard
     * @param idcard
     * @return
     * @return
     */
     */
    public BasePatientDO addPaitentByIdcard(String idcard,String name) {
    public BasePatientDO addPaitentByIdcard(JSONArray jsonArray,String idcard,String name) {
        try {
        try {
            JSONArray jsonArray = findCardNo(idcard);
            if(jsonArray==null||jsonArray.size()==0){
            if(jsonArray==null||jsonArray.size()==0){
                return null;
                return null;
            }
            }
            String cardType = "";
            Integer sex = 3;
            Integer sex = 3;
            String ssc = "";
            String ssc = "";
            String mobile = null;
            String mobile = null;
            for (int i=0;i<jsonArray.size();i++){
            for (int i=0;i<jsonArray.size();i++){
                JSONObject json = jsonArray.getJSONObject(i);
                JSONObject json = jsonArray.getJSONObject(i);
                String CARD_TYPE = json.getString("CARD_TYPE");
                String CARD_TYPE = json.getString("CARD_TYPE");
                if("".equals(CARD_TYPE)){
                if("D".equals(CARD_TYPE)){
                    ssc = json.getString("CARD_NO");
                    ssc = json.getString("CARD_NO");
                }
                }
                sex = Integer.parseInt(json.getString("XB"));
                String xb = json.getString("XB");//性别
                sex = "女".equals(xb)?2:1;
            }
            }
//            "\tPAT_NO AS \"PAT_NO\",\n" +
//                    "\tSICK_ID AS \"SICK_ID\",\n" +
//                    "\tCARD_NO AS \"CARD_NO\",\n" +
//                    "\tCARD_STAT AS \"CARD_STAT\",\n" +
//                    "\tOP_DATE AS \"OP_DATE\",\n" +
//                    "\tCARD_TYPE AS \"CARD_TYPE\",\n" +
//                    "\tXM AS \"XM\",\n" +
//                    "\tXB AS \"XB\",\n" +
//                    "\tLXDH AS \"LXDH\",\n" +
//                    "\tZJHM AS \"ZJHM\",\n" +
//                    "\tZHYE AS \"ZHYE\" \n" +
            BasePatientDO patient = new BasePatientDO();
            BasePatientDO patient = new BasePatientDO();
            String salt = UUID.randomUUID().toString().substring(0,5);
            String salt = UUID.randomUUID().toString().substring(0,5);
            String pw = idcard.substring(idcard.length()-6);
            String pw = idcard.substring(idcard.length()-6);
            patient.setIdcard(idcard);
            patient.setIdcard(idcard);
            patient.setCardType("01");
            patient.setCardType("1");
            patient.setName(name);
            patient.setName(name);
            patient.setPassword(MD5.md5Hex(pw + "{" + salt + "}"));
            patient.setPassword(MD5.md5Hex(pw + "{" + salt + "}"));
            patient.setSalt(salt);
            patient.setSalt(salt);
@ -177,9 +210,32 @@ public class DsyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO,
            patient.setCreateTime(new Date());
            patient.setCreateTime(new Date());
            patient.setUpdateTime(new Date());
            patient.setUpdateTime(new Date());
            patient.setSsc(ssc);
            patient.setSsc(ssc);
            patient.setBirthday(IdCardUtil.getBirthdayForIdcard(idcard));
            try {
                patient.setBirthday(IdCardUtil.getBirthdayForIdcard(idcard));
            }catch (Exception e){
            }
            patient.setSex(sex);
            patient.setSex(sex);
            patient = patientDao.save(patient);
            patient = patientDao.save(patient);
            PatientMedicareCardDO medicareCardDO = new PatientMedicareCardDO();
            medicareCardDO.setDel("1");
            medicareCardDO.setParentType("A");
            medicareCardDO.setType("A_01");
            medicareCardDO.setCode(ssc);
            medicareCardDO.setPatientCode(patient.getId());
            basePatientMedicareCardDao.save(medicareCardDO);
            WlyyPatientFamilyMemberDO wlyyPatientFamilyMemberDO = new WlyyPatientFamilyMemberDO();
            wlyyPatientFamilyMemberDO.setIsDel(1);
            wlyyPatientFamilyMemberDO.setPatient(patient.getId());
            wlyyPatientFamilyMemberDO.setFamilyMember(patient.getId());
            wlyyPatientFamilyMemberDO.setFamilyRelation("7");
            wlyyPatientFamilyMemberDO.setFamilyRelationName("本人");
            if (StringUtils.isNoneBlank(idcard)) {
                wlyyPatientFamilyMemberDO.setCardNo(idcard);
            }
            familyMemberDao.save(wlyyPatientFamilyMemberDO);
            return patient;
            return patient;
        } catch (Exception e) {
        } catch (Exception e) {
            e.printStackTrace();
            e.printStackTrace();
@ -471,6 +527,9 @@ public class DsyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO,
        return dsyyEntranceService.findDrugs(chargeCode,pydm);
        return dsyyEntranceService.findDrugs(chargeCode,pydm);
    }
    }
    @Autowired
    private WlyyHospitalSysDictService sysDictService;
    /**
    /**
     * 获取频次字典
     * 获取频次字典
     *
     *
@ -478,7 +537,28 @@ public class DsyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO,
     * @throws Exception
     * @throws Exception
     */
     */
    public JSONArray getDrugFrequency() throws Exception {
    public JSONArray getDrugFrequency() throws Exception {
        return dsyyEntranceService.getDrugFrequency();
        JSONArray array = dsyyEntranceService.getDrugFrequency();
        if(array!=null&&array.size()>0){
            Map<String,Integer> frequencyMap = sysDictService.getDictValueSortMap("kf_frequency");
            array.sort((o1, o2) -> {
                String FREQ_NAME1 = ((JSONObject)o1).getString("FREQ_NAME");
                String FREQ_NAME2 = ((JSONObject)o2).getString("FREQ_NAME");
                if(frequencyMap.containsKey(FREQ_NAME1)){
                    ((JSONObject)o1).put("sort",frequencyMap.get(FREQ_NAME1));
                }else {
                    ((JSONObject)o1).put("sort",999);
                }
                if(frequencyMap.containsKey(FREQ_NAME2)){
                    ((JSONObject)o2).put("sort",frequencyMap.get(FREQ_NAME2));
                }else {
                    ((JSONObject)o2).put("sort",999);
                }
                int age1 = ((JSONObject)o1).getIntValue("sort");
                int age2 = ((JSONObject)o2).getIntValue("sort");
                return age1 - age2;
            });
        }
        return array;
    }
    }
    /**
    /**
@ -488,7 +568,28 @@ public class DsyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO,
     * @throws Exception
     * @throws Exception
     */
     */
    public JSONArray getDrugUse(String pydm) throws Exception {
    public JSONArray getDrugUse(String pydm) throws Exception {
        return dsyyEntranceService.getDrugUse(pydm);
        JSONArray array = dsyyEntranceService.getDrugUse(pydm);
        if(array!=null&&array.size()>0){
            Map<String,Integer> frequencyMap = sysDictService.getDictValueSortMap("kf_administration_method");
            array.sort((o1, o2) -> {
                String supply_name1 = ((JSONObject)o1).getString("supply_name");
                String supply_name2 = ((JSONObject)o2).getString("supply_name");
                if(frequencyMap.containsKey(supply_name1)){
                    ((JSONObject)o1).put("sort",frequencyMap.get(supply_name1));
                }else {
                    ((JSONObject)o1).put("sort",999);
                }
                if(frequencyMap.containsKey(supply_name2)){
                    ((JSONObject)o2).put("sort",frequencyMap.get(supply_name2));
                }else {
                    ((JSONObject)o2).put("sort",999);
                }
                int age1 = ((JSONObject)o1).getIntValue("sort");
                int age2 = ((JSONObject)o2).getIntValue("sort");
                return age1 - age2;
            });
        }
        return array;
    }
    }
@ -1510,14 +1611,17 @@ public class DsyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO,
    /**
    /**
     * 查询出院小结、门诊病历
     * 查询出院小结、门诊病历
     * serverCode 门诊病历 :JHIDS-USD-HLWMZBL-014  出院小结:JHIDS-USD-HLWCYXJ-013
     * serviceCode 门诊病历 :JHIDS-USD-HLWMZBL-014  出院小结:JHIDS-USD-HLWCYXJ-013
     * @return
     * @return
     */
     */
    public String selectReportInfo(String serverCode,String patientId,String visitNo,int page,int size) throws Exception {
    public String selectReportInfo(String serviceCode,String patientId,String visitNo,int page,int size) throws Exception {
        String url = entranceUrl +"selectReportInfo";
        String url = entranceUrl +"selectReportInfo";
        if("mlwTest".equals(springProfiles)){
            url = "https://hlw.xmdsyy.cn/hlw/visitBehind/open/exportExcel/selectReportInfo";
        }
        String object = "";
        String object = "";
        Map<String,Object> params = new HashedMap();
        Map<String,Object> params = new HashedMap();
        params.put("serverCode",serverCode);
        params.put("serviceCode",serviceCode);
        params.put("patientId",patientId);
        params.put("patientId",patientId);
        params.put("visitNo",visitNo);
        params.put("visitNo",visitNo);
        params.put("page",page);
        params.put("page",page);
@ -1529,6 +1633,9 @@ public class DsyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO,
        Integer status = rs.getInteger("status");
        Integer status = rs.getInteger("status");
        if (status==200){
        if (status==200){
            object = rs.getString("detailModelList");
            object = rs.getString("detailModelList");
            if("mlwTest".equals(springProfiles)){
                object = rs.getString("obj");
            }
        }
        }
        return object;
        return object;
    }
    }

文件差異過大導致無法顯示
+ 77 - 5
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/DsyyEntranceService.java