Commit 654570ead3c36d874202bcda0dbf4dc87f94fd73

Authored by jiangjiazhi
1 parent 2492592b45

修改产检删除

Showing 3 changed files with 68 additions and 120 deletions

platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntExRecordService.java View file @ 654570e
... ... @@ -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,21 @@
215 216 antExRecordModel.setBarCode(antEx.getBarCode());
216 217 antExRecordModel.setNextCheckTime(antEx.getNextCheckTime());
217 218 antExRecordModel.setCheckTime(antEx.getCheckDate());
  219 + //取当次产检的风险因素
  220 + List li = null;
  221 + try {
  222 + li = JsonUtil.toList(antEx.getRiskFactor(), List.class);
  223 + } catch (Exception e) {
  224 + }
  225 + if (null != li) {
  226 + antExRecordModel.sethRisk(li);
  227 + Map result = commonService.calculateRiskScore(li);
  228 + antExRecordModel.sethScore((Integer) result.get("result"));
  229 + antExRecordModel.sethLevel((List) result.get("levelList"));
  230 + }
  231 +
218 232 Patients patients = patientsService.findOnePatientById(antEx.getParentId());
  233 +
219 234 if (null != patients) {
220 235 if (patients.getType() == 1) {
221 236 antExRecordModel.setStatus(2);
222 237  
... ... @@ -236,9 +251,9 @@
236 251 antExRecordModel.setLastMenses(patients.getLastMenses());
237 252 antExRecordModel.setDueDate(patients.getDueDate());
238 253 antExRecordModel.setName(patients.getUsername());
239   - antExRecordModel.sethScore(null==patients.getRiskScore()?0:patients.getRiskScore());
  254 + /* antExRecordModel.sethScore(null==patients.getRiskScore()?0:patients.getRiskScore());
240 255 antExRecordModel.sethRisk(patients.getRiskFactorId());
241   - antExRecordModel.sethLevel(JsonUtil.toList(patients.getRiskLevelId(), List.class));
  256 + antExRecordModel.sethLevel(JsonUtil.toList(patients.getRiskLevelId(), List.class));*/
242 257 } else {
243 258 logger.info("antex find patient by id is null. parentId:" + antEx.getParentId());
244 259 return null;
... ... @@ -258,6 +273,19 @@
258 273 antExRecordModel.setBarCode(antExChuModel.getBarCode());
259 274 antExRecordModel.setCheckTime(antExChuModel.getCheckTime());
260 275 antExRecordModel.setNextCheckTime(antExChuModel.getNextCheckTime());
  276 + //高危信息
  277 + List li = null;
  278 + try {
  279 + li = JsonUtil.toList(antExChuModel.getHighrisk(), List.class);
  280 + } catch (Exception e) {
  281 + }
  282 + if (null != li) {
  283 + antExRecordModel.sethRisk(li);
  284 + Map result = commonService.calculateRiskScore(li);
  285 + antExRecordModel.sethScore((Integer) result.get("result"));
  286 + antExRecordModel.sethLevel((List) result.get("levelList"));
  287 + }
  288 +
261 289 Patients patients = patientsService.findOnePatientById(antExChuModel.getParentId());
262 290 if (null != patients) {
263 291 if (patients.getType() == 1) {
264 292  
... ... @@ -279,9 +307,9 @@
279 307 antExRecordModel.setLastMenses(patients.getLastMenses());
280 308 antExRecordModel.setDueDate(patients.getDueDate());
281 309 antExRecordModel.setName(patients.getUsername());
282   - antExRecordModel.sethScore(null==patients.getRiskScore()?0:patients.getRiskScore());
  310 + /* antExRecordModel.sethScore(null==patients.getRiskScore()?0:patients.getRiskScore());
283 311 antExRecordModel.sethRisk(patients.getRiskFactorId());
284   - antExRecordModel.sethLevel(JsonUtil.toList(patients.getRiskLevelId(), List.class));
  312 + antExRecordModel.sethLevel(JsonUtil.toList(patients.getRiskLevelId(), List.class));*/
285 313 } else {
286 314 logger.info("antexc find patient by id is null. parentId:" + antExChuModel.getParentId());
287 315 return null;
... ... @@ -306,7 +334,7 @@
306 334 antExRecordQuery.mysqlBuild(antExRecordDao.count(query));
307 335 query.start(antExRecordQuery.getOffset()).end(antExRecordQuery.getLimit());
308 336 }
309   - return antExRecordDao.queryRecord(query.addOrder(Sort.Direction.DESC,"modified"));
  337 + return antExRecordDao.queryRecord(query.addOrder(Sort.Direction.DESC, "modified"));
310 338 }
311 339  
312 340  
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CommonService.java View file @ 654570e
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,29 @@
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 + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(riskList.get(i).toString());
  146 + score += basicConfig.getScore();
  147 + basicConfig = basicConfigService.getOneBasicConfigById(basicConfig.getParentId());
  148 + if (null != basicConfig && !levelList.contains(basicConfig.getId())) {
  149 + levelList.add(basicConfig.getId());
  150 + }
  151 + }
  152 + result.put("score",score);
  153 + result.put("levelList",levelList);
  154 + return result;
129 155 }
130 156 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java View file @ 654570e
... ... @@ -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/>