|
@@ -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);
|
|
|
+ }
|
|
|
+
|
|
|
}
|