Commit f56f4a109ad4e809279a73a0f4f0d90411d28a90

Authored by hujiaqi

Merge remote-tracking branch 'origin/master'

Showing 3 changed files

platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntExRecordService.java View file @ f56f4a1
... ... @@ -22,6 +22,7 @@
22 22 import java.util.ArrayList;
23 23 import java.util.Date;
24 24 import java.util.List;
  25 +import java.util.Map;
25 26  
26 27 /**
27 28 * 产检记录
28 29  
... ... @@ -38,8 +39,9 @@
38 39 private AntenatalExaminationService antExService;
39 40 @Autowired
40 41 private PatientsService patientsService;
  42 + @Autowired
  43 + private CommonService commonService;
41 44  
42   -
43 45 public List aggregateOne(AntExRecordQuery antExRecordQuery) {
44 46 return antExRecordDao.aggregateOne(antExRecordQuery.convertToQuery());
45 47 }
... ... @@ -56,7 +58,7 @@
56 58 antExQuery.setHospitalId(hospitalId);
57 59  
58 60 //复诊
59   - List<AntenatalExaminationModel> list = antExService.queryAntenatalExamination(antExQuery.convertToQuery().addOrder(Sort.Direction.DESC,"checkDate"));
  61 + List<AntenatalExaminationModel> list = antExService.queryAntenatalExamination(antExQuery.convertToQuery().addOrder(Sort.Direction.DESC, "checkDate"));
60 62 for (AntenatalExaminationModel antEx : list) {
61 63 AntExRecordModel record = convert(antEx);
62 64 if (null != record) {
63 65  
... ... @@ -96,13 +98,12 @@
96 98 }
97 99  
98 100  
99   -
100   - private void syncSingle(String pid){
  101 + private void syncSingle(String pid) {
101 102 AntExQuery antExQuery = new AntExQuery();
102 103 antExQuery.setYn(YnEnums.YES.getId());
103 104 antExQuery.setPid(pid);
104 105 //复诊
105   - List<AntenatalExaminationModel> list = antExService.queryAntenatalExamination(antExQuery.convertToQuery().addOrder(Sort.Direction.DESC,"checkDate"));
  106 + List<AntenatalExaminationModel> list = antExService.queryAntenatalExamination(antExQuery.convertToQuery().addOrder(Sort.Direction.DESC, "checkDate"));
106 107 for (AntenatalExaminationModel antEx : list) {
107 108 AntExRecordModel record = convert(antEx);
108 109 if (null != record) {
109 110  
... ... @@ -215,7 +216,22 @@
215 216 antExRecordModel.setBarCode(antEx.getBarCode());
216 217 antExRecordModel.setNextCheckTime(antEx.getNextCheckTime());
217 218 antExRecordModel.setCheckTime(antEx.getCheckDate());
  219 + antExRecordModel.sethScore(0);
  220 + //取当次产检的风险因素
  221 + List li = null;
  222 + try {
  223 + li = JsonUtil.toList(antEx.getRiskFactor(), List.class);
  224 + } catch (Exception e) {
  225 + }
  226 + if (null != li) {
  227 + antExRecordModel.sethRisk(li);
  228 + Map result = commonService.calculateRiskScore(li);
  229 + antExRecordModel.sethScore((Integer) result.get("score"));
  230 + antExRecordModel.sethLevel((List) result.get("levelList"));
  231 + }
  232 +
218 233 Patients patients = patientsService.findOnePatientById(antEx.getParentId());
  234 +
219 235 if (null != patients) {
220 236 if (patients.getType() == 1) {
221 237 antExRecordModel.setStatus(2);
222 238  
... ... @@ -236,9 +252,9 @@
236 252 antExRecordModel.setLastMenses(patients.getLastMenses());
237 253 antExRecordModel.setDueDate(patients.getDueDate());
238 254 antExRecordModel.setName(patients.getUsername());
239   - antExRecordModel.sethScore(null==patients.getRiskScore()?0:patients.getRiskScore());
  255 + /* antExRecordModel.sethScore(null==patients.getRiskScore()?0:patients.getRiskScore());
240 256 antExRecordModel.sethRisk(patients.getRiskFactorId());
241   - antExRecordModel.sethLevel(JsonUtil.toList(patients.getRiskLevelId(), List.class));
  257 + antExRecordModel.sethLevel(JsonUtil.toList(patients.getRiskLevelId(), List.class));*/
242 258 } else {
243 259 logger.info("antex find patient by id is null. parentId:" + antEx.getParentId());
244 260 return null;
... ... @@ -258,6 +274,20 @@
258 274 antExRecordModel.setBarCode(antExChuModel.getBarCode());
259 275 antExRecordModel.setCheckTime(antExChuModel.getCheckTime());
260 276 antExRecordModel.setNextCheckTime(antExChuModel.getNextCheckTime());
  277 + //高危信息
  278 + List li = null;
  279 + try {
  280 + li = JsonUtil.toList(antExChuModel.getHighrisk(), List.class);
  281 + } catch (Exception e) {
  282 + }
  283 + antExRecordModel.sethScore(0);
  284 + if (null != li) {
  285 + antExRecordModel.sethRisk(li);
  286 + Map result = commonService.calculateRiskScore(li);
  287 + antExRecordModel.sethScore((Integer) result.get("score"));
  288 + antExRecordModel.sethLevel((List) result.get("levelList"));
  289 + }
  290 +
261 291 Patients patients = patientsService.findOnePatientById(antExChuModel.getParentId());
262 292 if (null != patients) {
263 293 if (patients.getType() == 1) {
264 294  
... ... @@ -279,9 +309,9 @@
279 309 antExRecordModel.setLastMenses(patients.getLastMenses());
280 310 antExRecordModel.setDueDate(patients.getDueDate());
281 311 antExRecordModel.setName(patients.getUsername());
282   - antExRecordModel.sethScore(null==patients.getRiskScore()?0:patients.getRiskScore());
  312 + /* antExRecordModel.sethScore(null==patients.getRiskScore()?0:patients.getRiskScore());
283 313 antExRecordModel.sethRisk(patients.getRiskFactorId());
284   - antExRecordModel.sethLevel(JsonUtil.toList(patients.getRiskLevelId(), List.class));
  314 + antExRecordModel.sethLevel(JsonUtil.toList(patients.getRiskLevelId(), List.class));*/
285 315 } else {
286 316 logger.info("antexc find patient by id is null. parentId:" + antExChuModel.getParentId());
287 317 return null;
... ... @@ -306,7 +336,7 @@
306 336 antExRecordQuery.mysqlBuild(antExRecordDao.count(query));
307 337 query.start(antExRecordQuery.getOffset()).end(antExRecordQuery.getLimit());
308 338 }
309   - return antExRecordDao.queryRecord(query.addOrder(Sort.Direction.DESC,"modified"));
  339 + return antExRecordDao.queryRecord(query.addOrder(Sort.Direction.DESC, "modified"));
310 340 }
311 341  
312 342  
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CommonService.java View file @ f56f4a1
1 1 package com.lyms.platform.biz.service;
2 2  
3 3 import com.lyms.platform.common.enums.RiskDefaultTypeEnum;
  4 +import com.lyms.platform.common.enums.YnEnums;
4 5 import com.lyms.platform.common.utils.ExceptionUtils;
5 6 import com.lyms.platform.common.utils.JsonUtil;
  7 +import com.lyms.platform.pojo.AntExChuModel;
  8 +import com.lyms.platform.pojo.AntenatalExaminationModel;
6 9 import com.lyms.platform.pojo.BasicConfig;
  10 +import com.lyms.platform.pojo.Patients;
  11 +import com.lyms.platform.query.PatientsQuery;
7 12 import org.apache.commons.collections.CollectionUtils;
8 13 import org.apache.commons.lang.StringUtils;
  14 +import org.apache.commons.lang.math.NumberUtils;
9 15 import org.springframework.beans.factory.annotation.Autowired;
10 16 import org.springframework.stereotype.Service;
11 17  
12   -import java.util.ArrayList;
13   -import java.util.HashMap;
14   -import java.util.List;
15   -import java.util.Map;
  18 +import java.util.*;
16 19  
17 20 /**
18 21 * Created by Administrator on 2016/12/26 0026.
... ... @@ -126,6 +129,36 @@
126 129 }
127 130 }
128 131 return list;
  132 + }
  133 +
  134 + /**
  135 + * 根据高危因素计算高危评分和风险等级
  136 + *
  137 + * @param riskList
  138 + * @return
  139 + */
  140 + public Map calculateRiskScore(List riskList ){
  141 + Map result = new HashMap();
  142 + int score=0;
  143 + List<String> levelList = new ArrayList<>() ;
  144 + for (int i = 0; i < riskList.size(); i++) {
  145 + Objects obj =(Objects)riskList.get(i);
  146 + if(null!=obj){
  147 + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(obj.toString());
  148 + if(null!=basicConfig){
  149 + if(null!=basicConfig.getScore()){
  150 + score += basicConfig.getScore();
  151 + }
  152 + basicConfig = basicConfigService.getOneBasicConfigById(basicConfig.getParentId());
  153 + if (null != basicConfig && !levelList.contains(basicConfig.getId())) {
  154 + levelList.add(basicConfig.getId());
  155 + }
  156 + }
  157 + }
  158 + }
  159 + result.put("score",score);
  160 + result.put("levelList",levelList);
  161 + return result;
129 162 }
130 163 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java View file @ f56f4a1
... ... @@ -511,112 +511,6 @@
511 511 }
512 512 }
513 513  
514   - //修改患者风险等级
515   - private void updatePatientRiskLevel(AntExChuModel antExChuModel, Patients patients) {
516   - List<String> list = new ArrayList<>();
517   - Integer score = 0;
518   - try {
519   - if (StringUtils.isNotEmpty(antExChuModel.getHighrisk()) && !"[]".equals(antExChuModel.getHighrisk())) {
520   - List l = JsonUtil.toList(antExChuModel.getHighrisk(), List.class);
521   - for (int i = 0; i < l.size(); i++) {
522   - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(l.get(i).toString());
523   - score += basicConfig.getScore();
524   - basicConfig = basicConfigService.getOneBasicConfigById(basicConfig.getParentId());
525   - if (null != basicConfig && !list.contains(basicConfig.getId())) {
526   - list.add(basicConfig.getId());
527   - }
528   - }
529   - }
530   - } catch (Exception e) {
531   - }
532   - try {
533   - if (StringUtils.isNotEmpty(antExChuModel.getOtherHighRisk()) && !"{}".equals(antExChuModel.getOtherHighRisk())) {
534   - Map map = JsonUtil.str2Obj(antExChuModel.getOtherHighRisk(), Map.class);
535   - String m = (String) map.get("fyyse");
536   - if (!list.contains(m)) {
537   - list.add(m);
538   - }
539   - //风险评分
540   - Object idObj = map.get("fxpf");
541   - if (null != idObj && !"null".equals(idObj.toString()) && !"".equals(idObj.toString())) {
542   - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(idObj.toString());
543   - score += NumberUtils.toInt(basicConfig.getName(), 0);
544   - }
545   - }
546   - } catch (Exception e) {
547   - }
548   - patientsService.updatePatient(patients);
549   - if (!list.isEmpty()) {
550   - Patients patients1 = new Patients();
551   - try {
552   - List list2 = JsonUtil.toList(antExChuModel.getHighrisk(), List.class);
553   - patients1.setRiskFactorId(list2);
554   - } catch (Exception e) {
555   - }
556   - patients1.setRiskScore(score);
557   - patients1.setRiskLevelId(JsonUtil.array2JsonString(list));
558   - patients1.setModified(new Date());
559   - PatientsQuery patientsQuery = new PatientsQuery();
560   - patientsQuery.setPid(patients.getPid());
561   - patientsQuery.setYn(YnEnums.YES.getId());
562   - patientsQuery.setType(1);
563   - patientsService.findAndModify(patientsQuery, patients1);
564   - }
565   - }
566   -
567   - //修改患者风险等级
568   - private void updatePatientRiskLevel(AntenatalExaminationModel antExChuModel, Patients patients) {
569   - List<String> list = new ArrayList<>();
570   - Integer score = 0;
571   - try {
572   - if (StringUtils.isNotEmpty(antExChuModel.getRiskFactor()) && !"[]".equals(antExChuModel.getRiskFactor())) {
573   - List l = JsonUtil.toList(antExChuModel.getRiskFactor(), List.class);
574   - for (int i = 0; i < l.size(); i++) {
575   - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(l.get(i).toString());
576   - score += basicConfig.getScore();
577   - basicConfig = basicConfigService.getOneBasicConfigById(basicConfig.getParentId());
578   - if (null != basicConfig && !list.contains(basicConfig.getId())) {
579   - list.add(basicConfig.getId());
580   - }
581   - }
582   - }
583   - } catch (Exception e) {
584   - }
585   - try {
586   - if (StringUtils.isNotEmpty(antExChuModel.getOtherRisk()) && !"{}".equals(antExChuModel.getOtherRisk())) {
587   - Map map = JsonUtil.str2Obj(antExChuModel.getOtherRisk(), Map.class);
588   - String m = (String) map.get("fyyse");
589   - if (!list.contains(m)) {
590   - list.add(m);
591   - }
592   - //风险评分
593   - Object idObj = map.get("fxpf");
594   - if (null != idObj && !"null".equals(idObj.toString()) && !"".equals(idObj.toString())) {
595   - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(idObj.toString());
596   - score += NumberUtils.toInt(basicConfig.getName(), 0);
597   - }
598   - }
599   - } catch (Exception e) {
600   - }
601   - patientsService.updatePatient(patients);
602   - if (!list.isEmpty()) {
603   - Patients patients1 = new Patients();
604   - try {
605   - List list2 = JsonUtil.toList(antExChuModel.getRiskFactor(), List.class);
606   - patients1.setRiskFactorId(list2);
607   - } catch (Exception e) {
608   - }
609   - patients1.setRiskScore(score);
610   - patients1.setModified(new Date());
611   - patients1.setRiskLevelId(JsonUtil.array2JsonString(list));
612   - PatientsQuery patientsQuery = new PatientsQuery();
613   - patientsQuery.setPid(patients.getPid());
614   - patientsQuery.setYn(YnEnums.YES.getId());
615   - patientsQuery.setType(1);
616   - patientsService.findAndModify(patientsQuery, patients1);
617   - }
618   - }
619   -
620 514 /**
621 515 * 获取最后一次高危产检的高危信息
622 516 * <p/>