|  | @@ -1,6 +1,8 @@
 | 
	
		
			
				|  |  |  package thyyxxk.webserver.service.chronicDisease;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import cn.hutool.core.collection.CollUtil;
 | 
	
		
			
				|  |  | +import cn.hutool.core.date.DateUtil;
 | 
	
		
			
				|  |  | +import cn.hutool.core.util.IdcardUtil;
 | 
	
		
			
				|  |  |  import cn.hutool.core.util.StrUtil;
 | 
	
		
			
				|  |  |  import com.alibaba.fastjson.JSONArray;
 | 
	
		
			
				|  |  |  import com.alibaba.fastjson.JSONObject;
 | 
	
	
		
			
				|  | @@ -162,11 +164,11 @@ public class ChronicDiseaseService {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              // 根据证件号补充基本信息
 | 
	
		
			
				|  |  |              CrmVisitRecordVo data = crmEmrDao.selectCrmEmrPatientVoByMzCode(crmMi.getSocialNo());
 | 
	
		
			
				|  |  | -            if(null != data){
 | 
	
		
			
				|  |  | +            if(null != data && StringUtil.isBlank(crmMi.getHisMzNo())){
 | 
	
		
			
				|  |  |                  crmMi.setHisMzNo(data.getHisMzNo());
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              data = crmEmrDao.selectCrmEmrPatientVoByZyCode(crmMi.getSocialNo());
 | 
	
		
			
				|  |  | -            if(null != data){
 | 
	
		
			
				|  |  | +            if(null != data && StringUtil.isBlank(crmMi.getHisZyNo())){
 | 
	
		
			
				|  |  |                  crmMi.setHisZyNo(data.getHisZyNo());
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -224,12 +226,12 @@ public class ChronicDiseaseService {
 | 
	
		
			
				|  |  |              crmDictionary.put("getNation", createdDao.getNation());
 | 
	
		
			
				|  |  |              // 慢特病类型字典
 | 
	
		
			
				|  |  |              crmDictionary.put("getCrmClass", dao.getCrmClass());
 | 
	
		
			
				|  |  | -            // 省
 | 
	
		
			
				|  |  | -            crmDictionary.put("getProvince", dao.getProvince());
 | 
	
		
			
				|  |  | -            // 市
 | 
	
		
			
				|  |  | -            crmDictionary.put("getCity", dao.getCity(""));
 | 
	
		
			
				|  |  | -            // 区
 | 
	
		
			
				|  |  | -            crmDictionary.put("getArea", dao.getArea(""));
 | 
	
		
			
				|  |  | +//            // 省
 | 
	
		
			
				|  |  | +//            crmDictionary.put("getProvince", dao.getProvince());
 | 
	
		
			
				|  |  | +//            // 市
 | 
	
		
			
				|  |  | +//            crmDictionary.put("getCity", dao.getCity(""));
 | 
	
		
			
				|  |  | +//            // 区
 | 
	
		
			
				|  |  | +//            crmDictionary.put("getArea", dao.getArea(""));
 | 
	
		
			
				|  |  |              // 证件类型字典
 | 
	
		
			
				|  |  |              crmDictionary.put("getPsnCertType", dao.getPsnCertType());
 | 
	
		
			
				|  |  |              // 来源途径
 | 
	
	
		
			
				|  | @@ -340,10 +342,19 @@ public class ChronicDiseaseService {
 | 
	
		
			
				|  |  |          List<CrmVisitRecord> result;
 | 
	
		
			
				|  |  |          QueryWrapper<CrmVisitRecord> queryWrapper = new QueryWrapper<>();
 | 
	
		
			
				|  |  |          queryWrapper.eq("p_id", param.getPId());
 | 
	
		
			
				|  |  | -        String strTemplate = "第{}次慢病回访记录";
 | 
	
		
			
				|  |  | -        queryWrapper.ne("visit_times", param.getVisitTimes());
 | 
	
		
			
				|  |  | -        List<CrmVisitRecord> list = crmEmrDao.selectList(queryWrapper);
 | 
	
		
			
				|  |  | -        result = getTree(list, strTemplate);
 | 
	
		
			
				|  |  | +        List<CrmVisitRecord> list;
 | 
	
		
			
				|  |  | +        if (param.getType() == 2) {
 | 
	
		
			
				|  |  | +            if (null != param.getVisitTimes()) {
 | 
	
		
			
				|  |  | +                queryWrapper.eq("visit_times", param.getVisitTimes());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            list = crmEmrDao.selectList(queryWrapper);
 | 
	
		
			
				|  |  | +            return list;
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            String strTemplate = "第{}次慢病回访记录";
 | 
	
		
			
				|  |  | +            queryWrapper.ne("visit_times", param.getVisitTimes());
 | 
	
		
			
				|  |  | +            list = crmEmrDao.selectList(queryWrapper);
 | 
	
		
			
				|  |  | +            result = getTree(list, strTemplate);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          return result;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -391,7 +402,7 @@ public class ChronicDiseaseService {
 | 
	
		
			
				|  |  |          // 获取登录人信息
 | 
	
		
			
				|  |  |          UserInfo user = redisLikeService.getUserInfoByToken();
 | 
	
		
			
				|  |  |          mi.setUserIdCode(user.getCodeRs());
 | 
	
		
			
				|  |  | -        mi.setUserName(user.getName());
 | 
	
		
			
				|  |  | +        mi.setUserName(user.getName().trim());
 | 
	
		
			
				|  |  |          mi.setDeptCode(user.getDeptCode());
 | 
	
		
			
				|  |  |          mi.setDeptName(user.getDeptName());
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -401,6 +412,12 @@ public class ChronicDiseaseService {
 | 
	
		
			
				|  |  |          List<CodeName> way = dao.getAdmissWay();
 | 
	
		
			
				|  |  |          Optional<CodeName> w = way.stream().filter(codeName -> codeName.getCode().equals(mi.getPType())).findFirst();
 | 
	
		
			
				|  |  |          w.ifPresent(codeName -> mi.setPtName(codeName.getName()));
 | 
	
		
			
				|  |  | +        List<CodeName> disease = dao.getCrmClass();
 | 
	
		
			
				|  |  | +        String[] cd = mi.getChronicDiseaseType().split(",");
 | 
	
		
			
				|  |  | +        for(String diseaseType : cd){
 | 
	
		
			
				|  |  | +            Optional<CodeName> c = disease.stream().filter(codeName -> codeName.getCode().equals(diseaseType)).findFirst();
 | 
	
		
			
				|  |  | +            c.ifPresent(codeName -> mi.setChronicDiseaseName(codeName.getName()));
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          return ResultVoUtil.success(mi);
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -440,4 +457,43 @@ public class ChronicDiseaseService {
 | 
	
		
			
				|  |  |          return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION,"保存慢病电子病历成功!");
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * @Description 根据code查询病人的基本信息
 | 
	
		
			
				|  |  | +     * @Author hsh
 | 
	
		
			
				|  |  | +     * @param code 关键字
 | 
	
		
			
				|  |  | +     * @return CrmPatientMi等
 | 
	
		
			
				|  |  | +     * @Date 2023/12/18 9:33
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    public ResultVo<Map<String, Object>> selectBrInfoByCode(String code){
 | 
	
		
			
				|  |  | +        CrmPatientMi mi;
 | 
	
		
			
				|  |  | +        mi = cpmDao.selectCrmPatientMiMzByCode(code);
 | 
	
		
			
				|  |  | +        CrmPatientMi mi1 = cpmDao.selectCrmPatientMiZyByCode(code);
 | 
	
		
			
				|  |  | +        if(null != mi){
 | 
	
		
			
				|  |  | +            mi.setPType("1");
 | 
	
		
			
				|  |  | +            if(null != mi1){
 | 
	
		
			
				|  |  | +                mi.setHisZyNo(mi1.getHisZyNo());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            if(null != mi1){
 | 
	
		
			
				|  |  | +                mi1.setPType("2");
 | 
	
		
			
				|  |  | +                if (mi1.getAge() == null) {
 | 
	
		
			
				|  |  | +                    if (mi1.getBirthDate() != null) {
 | 
	
		
			
				|  |  | +                        mi1.setAge(String.valueOf(DateUtil.age(DateUtil.parse(mi1.getBirthDate(), "yyyy-MM-dd") , null)));
 | 
	
		
			
				|  |  | +                    } else {
 | 
	
		
			
				|  |  | +                        mi1.setAge(String.valueOf(DateUtil.age(IdcardUtil.getBirthDate(mi1.getSocialNo()),null)));
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                mi = mi1;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if(null == mi){
 | 
	
		
			
				|  |  | +            return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST, "没有病人的基本信息");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        Map<String, Object> resultMap = new HashMap<>();
 | 
	
		
			
				|  |  | +        resultMap.put("mi", mi);
 | 
	
		
			
				|  |  | +        return ResultVoUtil.success(resultMap);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  }
 |