Commit feb8b020032abb934c3ddd261df0f4ff80029df4

Authored by liquanyu
1 parent 1a8b53cf42
Exists in master and in 1 other branch dev

产筛

Showing 7 changed files with 419 additions and 18 deletions

platform-dal/src/main/java/com/lyms/platform/pojo/SieveApplyOrderModel.java View file @ feb8b02
... ... @@ -37,6 +37,137 @@
37 37 //申请时间
38 38 private Date applyTime;
39 39  
  40 +
  41 + private Date birth;
  42 +
  43 + private String weight;
  44 +
  45 + private Date lastMenses;
  46 +
  47 + //标本号
  48 + private String number;
  49 +
  50 + //采集医生
  51 + private String collectionDoctorId;
  52 +
  53 +
  54 + //采血日期
  55 + private Date collectionDate;
  56 +
  57 + //B超信息 CRL
  58 + private String crl;
  59 +
  60 + //B超信息 CRL
  61 + private String bpd;
  62 +
  63 + //B超检查日期
  64 + private Date bcCheckDate;
  65 +
  66 + //生育史
  67 + private String historyBirth;
  68 +
  69 + //既往史
  70 + private String pastHistory;
  71 +
  72 + //申请医院
  73 + private String applyHospitalId;
  74 +
  75 + public Date getBirth() {
  76 + return birth;
  77 + }
  78 +
  79 + public void setBirth(Date birth) {
  80 + this.birth = birth;
  81 + }
  82 +
  83 + public String getWeight() {
  84 + return weight;
  85 + }
  86 +
  87 + public void setWeight(String weight) {
  88 + this.weight = weight;
  89 + }
  90 +
  91 + public Date getLastMenses() {
  92 + return lastMenses;
  93 + }
  94 +
  95 + public void setLastMenses(Date lastMenses) {
  96 + this.lastMenses = lastMenses;
  97 + }
  98 +
  99 + public String getNumber() {
  100 + return number;
  101 + }
  102 +
  103 + public void setNumber(String number) {
  104 + this.number = number;
  105 + }
  106 +
  107 + public String getCollectionDoctorId() {
  108 + return collectionDoctorId;
  109 + }
  110 +
  111 + public void setCollectionDoctorId(String collectionDoctorId) {
  112 + this.collectionDoctorId = collectionDoctorId;
  113 + }
  114 +
  115 + public Date getCollectionDate() {
  116 + return collectionDate;
  117 + }
  118 +
  119 + public void setCollectionDate(Date collectionDate) {
  120 + this.collectionDate = collectionDate;
  121 + }
  122 +
  123 + public String getCrl() {
  124 + return crl;
  125 + }
  126 +
  127 + public void setCrl(String crl) {
  128 + this.crl = crl;
  129 + }
  130 +
  131 + public String getBpd() {
  132 + return bpd;
  133 + }
  134 +
  135 + public void setBpd(String bpd) {
  136 + this.bpd = bpd;
  137 + }
  138 +
  139 + public Date getBcCheckDate() {
  140 + return bcCheckDate;
  141 + }
  142 +
  143 + public void setBcCheckDate(Date bcCheckDate) {
  144 + this.bcCheckDate = bcCheckDate;
  145 + }
  146 +
  147 + public String getHistoryBirth() {
  148 + return historyBirth;
  149 + }
  150 +
  151 + public void setHistoryBirth(String historyBirth) {
  152 + this.historyBirth = historyBirth;
  153 + }
  154 +
  155 + public String getPastHistory() {
  156 + return pastHistory;
  157 + }
  158 +
  159 + public void setPastHistory(String pastHistory) {
  160 + this.pastHistory = pastHistory;
  161 + }
  162 +
  163 + public String getApplyHospitalId() {
  164 + return applyHospitalId;
  165 + }
  166 +
  167 + public void setApplyHospitalId(String applyHospitalId) {
  168 + this.applyHospitalId = applyHospitalId;
  169 + }
  170 +
40 171 public Date getApplyTime() {
41 172 return applyTime;
42 173 }
platform-dal/src/main/java/com/lyms/platform/pojo/SieveModel.java View file @ feb8b02
... ... @@ -72,6 +72,17 @@
72 72 //申请时间
73 73 private Date applyTime;
74 74  
  75 + //接收状态 1未接收 2接收
  76 + private Integer reviceStatus;
  77 +
  78 + public Integer getReviceStatus() {
  79 + return reviceStatus;
  80 + }
  81 +
  82 + public void setReviceStatus(Integer reviceStatus) {
  83 + this.reviceStatus = reviceStatus;
  84 + }
  85 +
75 86 public Date getResultTime() {
76 87 return resultTime;
77 88 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveController.java View file @ feb8b02
... ... @@ -71,8 +71,24 @@
71 71 @RequestMapping(value = "/cqsieve",method = RequestMethod.POST)
72 72 public BaseResponse addOneChanQianDiaSieve(@RequestBody @Valid ChanQianDiaAddRequest chanQianDiaAddRequest,HttpServletRequest request) {
73 73 LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
74   - return sieveFacade.addOneChanQianDiaSieve(chanQianDiaAddRequest,loginState.getId());
  74 + return sieveFacade.addOneChanQianDiaSieve(chanQianDiaAddRequest, loginState.getId());
75 75 }
  76 +
  77 + /**
  78 + * 添加查询前 查询孕妇基本信息 如果孕妇没有在本院建档就添加隐藏档案
  79 + *
  80 + * @param request
  81 + * @return
  82 + */
  83 + @ResponseBody
  84 + @TokenRequired
  85 + @RequestMapping(value = "/querySievePatientInfo",method = RequestMethod.GET)
  86 + public BaseResponse querySievePatientInfo(@RequestParam("cardNo")String cardNo,HttpServletRequest request) {
  87 + LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
  88 + return sieveFacade.querySievePatientInfo(cardNo, loginState.getId());
  89 + }
  90 +
  91 +
76 92  
77 93 /**
78 94 * 产前诊断
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java View file @ feb8b02
... ... @@ -413,6 +413,7 @@
413 413 List<SieveModel> modelList = sieveService.queryList(sieveQuery);
414 414 if (CollectionUtils.isEmpty(modelList)) {
415 415 SieveModel sieveModel = patientsService.convertToModel(patients);
  416 + sieveModel.setReviceStatus(sieveApplyOrderAddRequest.getReviceStatus());
416 417 sieveModel.setFrom("2");
417 418 sieveModel.setHospitalId(orderModel.getHospitalId());
418 419 SieveService.handOrder(sieveModel);
... ... @@ -425,7 +426,8 @@
425 426 }
426 427 SieveApplyOrderModel sieveApplyOrderModel1 = new SieveApplyOrderModel();
427 428 sieveApplyOrderModel1.setStatus(1);
428   - for (String str : idList) {
  429 + for (String str : idList)
  430 + {
429 431 sieveApplyOrderModel1.setId(str);
430 432 sieveApplyOrderModel1.setModified(new Date());
431 433 sieveApplyOrderModel1.setStatus(1);
432 434  
... ... @@ -440,8 +442,12 @@
440 442 sieveQuery.setYn(YnEnums.YES.getId());
441 443 sieveQuery.setParentId(sieveApplyOrderAddRequest.getParentId());
442 444 List<SieveModel> sieveModels = sieveService.queryList(sieveQuery);
443   - if (CollectionUtils.isNotEmpty(sieveModels)) {
  445 + if (CollectionUtils.isNotEmpty(sieveModels))
  446 + {
444 447 SieveModel sieveModel = sieveModels.get(0);
  448 +
  449 + sieveModel.setReviceStatus(sieveApplyOrderAddRequest.getReviceStatus());
  450 +
445 451 sieveModel.setApplyTime(sieveApplyOrderModel.getApplyTime());
446 452 sieveModel.setStatus(2);
447 453 if (StringUtils.isNotEmpty(sieveApplyOrderModel.getCheckDate())) {
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java View file @ feb8b02
... ... @@ -2,6 +2,7 @@
2 2  
3 3 import com.lyms.platform.biz.service.*;
4 4 import com.lyms.platform.common.constants.ErrorCodeConstants;
  5 +import com.lyms.platform.common.dao.operator.MongoQuery;
5 6 import com.lyms.platform.common.enums.OptActionEnums;
6 7 import com.lyms.platform.common.enums.SieveEnums;
7 8 import com.lyms.platform.common.enums.TrackDownDateEnums;
8 9  
9 10  
... ... @@ -16,23 +17,20 @@
16 17 import com.lyms.platform.operate.web.request.ChanQianDiaAddRequest;
17 18 import com.lyms.platform.operate.web.request.CqSieveQueryRequest;
18 19 import com.lyms.platform.operate.web.request.SieveAddRequest;
19   -import com.lyms.platform.operate.web.result.SieveDetailResult;
20   -import com.lyms.platform.operate.web.result.SieveListResult;
21   -import com.lyms.platform.operate.web.result.SieveResult;
  20 +import com.lyms.platform.operate.web.result.*;
22 21 import com.lyms.platform.operate.web.service.ITrackDownService;
23 22 import com.lyms.platform.operate.web.worker.SieveWorker;
24 23 import com.lyms.platform.permission.model.Organization;
25 24 import com.lyms.platform.permission.service.OrganizationService;
26 25 import com.lyms.platform.pojo.*;
27   -import com.lyms.platform.query.SieveApplyOrderQuery;
28   -import com.lyms.platform.query.SieveQuery;
29   -import com.lyms.platform.query.SieveResultQuery;
30   -import com.lyms.platform.query.TrackDownRecordQuery;
  26 +import com.lyms.platform.query.*;
  27 +import javafx.beans.binding.ObjectExpression;
31 28 import org.apache.commons.collections.CollectionUtils;
32 29 import org.apache.commons.lang.StringUtils;
33 30 import org.apache.commons.lang.math.NumberUtils;
34 31 import org.springframework.beans.factory.annotation.Autowired;
35 32 import org.springframework.beans.factory.annotation.Qualifier;
  33 +import org.springframework.data.domain.Sort;
36 34 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
37 35 import org.springframework.stereotype.Component;
38 36  
... ... @@ -51,7 +49,6 @@
51 49 public class SieveFacade {
52 50 @Autowired
53 51 private SieveService sieveService;
54   -
55 52 @Autowired
56 53 private AutoMatchFacade autoMatchFacade;
57 54 @Autowired
... ... @@ -64,6 +61,9 @@
64 61 private PatientsService patientsService;
65 62  
66 63 @Autowired
  64 + private OrganizationGroupsFacade groupsFacade;
  65 +
  66 + @Autowired
67 67 private OperateLogFacade operateLogFacade;
68 68  
69 69 @Autowired
... ... @@ -75,6 +75,10 @@
75 75 @Autowired
76 76 private TrackDownRecordService trackDownRecordService;
77 77  
  78 +
  79 + @Autowired
  80 + private AntenatalExaminationFacade antenatalExaminationFacade;
  81 +
78 82 /**
79 83 *
80 84 * 增加一条产筛结果记录
... ... @@ -565,6 +569,68 @@
565 569 }
566 570 }
567 571 }
  572 + }
  573 +
  574 + /**
  575 + * 添加查询前 查询孕妇基本信息 如果孕妇没有在本院建档就添加隐藏档案
  576 + * @param cardNo
  577 + * @param userId
  578 + * @return
  579 + */
  580 + public BaseResponse querySievePatientInfo(String cardNo, Integer userId) {
  581 +
  582 + String hospitalId = autoMatchFacade.getHospitalId(userId);
  583 +
  584 + PatientsQuery patientsQuery = new PatientsQuery();
  585 + patientsQuery.setHospitalId(hospitalId);
  586 + patientsQuery.setYn(YnEnums.YES.getId());
  587 + patientsQuery.setPhoneOrCert(cardNo);
  588 +
  589 + List<Patients> localPatients = patientsService.queryPatient(patientsQuery);
  590 + Patients pat = null;
  591 + if (CollectionUtils.isNotEmpty(localPatients))
  592 + {
  593 + pat = localPatients.get(0);
  594 + }
  595 + else
  596 + {
  597 + patientsQuery.setHospitalId(null);
  598 + List<Patients> areaPatients = patientsService.queryPatient(patientsQuery);
  599 + if (CollectionUtils.isNotEmpty(areaPatients)) {
  600 + pat = areaPatients.get(0);
  601 + if (StringUtils.isNotEmpty(groupsFacade.findByCurrentUserId(hospitalId))) {
  602 + //建立隐藏档案
  603 + String id = antenatalExaminationFacade.handHideBuild(pat.getPid(), pat.getId(), userId, 1);
  604 +
  605 + pat = patientsService.findOnePatientById(id);
  606 + }
  607 + else
  608 + {
  609 + return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("没有档案,请建档后申请产筛");
  610 + }
  611 + }
  612 + }
  613 +
  614 + HighScoreResult highScoreResult = antenatalExaminationFacade.findLastRisk(pat.getPid(), false);
  615 + PatientBaseResult patientBaseResult = new PatientBaseResult();
  616 + if (null != pat) {
  617 + patientBaseResult.convert(pat);
  618 + }
  619 + patientBaseResult.setRiskFactor(highScoreResult.getHighRisk());
  620 + patientBaseResult.setRiskScore(highScoreResult.getScoreStr());
  621 +
  622 + AntExChuQuery antExChuQuery = new AntExChuQuery();
  623 + antExChuQuery.setParentId(pat.getId());
  624 + antExChuQuery.setYn(YnEnums.YES.getId());
  625 +
  626 + List<AntExChuModel> list = antenatalExaminationService.queryAntExChu(antExChuQuery);
  627 + if (CollectionUtils.isNotEmpty(list))
  628 + {
  629 + AntExChuModel chuModel = list.get(0);
  630 + patientBaseResult.setWeight(chuModel.getYqWeight());
  631 + }
  632 +
  633 + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(patientBaseResult);
568 634 }
569 635 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/SieveApplyOrderAddRequest.java View file @ feb8b02
... ... @@ -5,9 +5,11 @@
5 5 import com.lyms.platform.common.core.annotation.form.Form;
6 6 import com.lyms.platform.common.utils.DateUtil;
7 7 import com.lyms.platform.common.utils.JsonUtil;
  8 +import com.lyms.platform.common.utils.StringUtils;
8 9 import com.lyms.platform.pojo.SieveApplyOrderModel;
9 10  
10 11 import java.util.List;
  12 +import java.util.Map;
11 13  
12 14 /**
13 15 * 产筛申请
14 16  
15 17  
16 18  
17 19  
... ... @@ -29,16 +31,45 @@
29 31 //申请时间
30 32 private String applyTime;
31 33  
  34 + private String birth;
32 35  
  36 + private String weight;
33 37  
34   - public String getPid() {
35   - return pid;
36   - }
  38 + private String lastMenses;
37 39  
38   - public void setPid(String pid) {
39   - this.pid = pid;
40   - }
  40 + //标本号
  41 + private String number;
41 42  
  43 + //采集医生
  44 + private String collectionDoctorId;
  45 +
  46 +
  47 + //采血日期
  48 + private String collectionDate;
  49 +
  50 + //B超信息 CRL
  51 + private String crl;
  52 +
  53 + //B超信息 CRL
  54 + private String bpd;
  55 +
  56 + //B超检查日期
  57 + private String bcCheckDate;
  58 +
  59 + //生育史
  60 + private Map<String,String> historyBirth;
  61 +
  62 + //既往史
  63 + private String pastHistory;
  64 +
  65 + //申请医院
  66 + private String applyHospitalId;
  67 +
  68 + //接收状态 1未接收 2接收
  69 + private Integer reviceStatus;
  70 +
  71 +
  72 +
42 73 @Override
43 74 public SieveApplyOrderModel convertToDataModel() {
44 75 SieveApplyOrderModel sieveApplyOrderModel = new SieveApplyOrderModel();
45 76  
... ... @@ -48,7 +79,134 @@
48 79 sieveApplyOrderModel.setCheckDate(checkDate);
49 80 sieveApplyOrderModel.setGuide(guide);
50 81 sieveApplyOrderModel.setApplyTime(DateUtil.parseYMD(applyTime));
  82 +
  83 +
  84 + sieveApplyOrderModel.setBirth(StringUtils.isNotEmpty(birth) ? DateUtil.parseYMD(birth) : null);
  85 + sieveApplyOrderModel.setWeight(weight);
  86 + sieveApplyOrderModel.setLastMenses(StringUtils.isNotEmpty(lastMenses) ? DateUtil.parseYMD(lastMenses) : null);
  87 + sieveApplyOrderModel.setNumber(number);
  88 + sieveApplyOrderModel.setCollectionDoctorId(collectionDoctorId);
  89 + sieveApplyOrderModel.setCollectionDate(StringUtils.isNotEmpty(collectionDate) ? DateUtil.parseYMD(collectionDate) : null);
  90 + sieveApplyOrderModel.setCrl(crl);
  91 + sieveApplyOrderModel.setBpd(bpd);
  92 + sieveApplyOrderModel.setBcCheckDate(StringUtils.isNotEmpty(bcCheckDate) ? DateUtil.parseYMD(bcCheckDate) : null);
  93 + sieveApplyOrderModel.setHistoryBirth(historyBirth != null ? JsonUtil.obj2Str(historyBirth) : null);
  94 + sieveApplyOrderModel.setPastHistory(pastHistory);
  95 + sieveApplyOrderModel.setApplyHospitalId(applyHospitalId);
  96 +
51 97 return sieveApplyOrderModel;
  98 + }
  99 +
  100 + public Integer getReviceStatus() {
  101 + return reviceStatus;
  102 + }
  103 +
  104 + public void setReviceStatus(Integer reviceStatus) {
  105 + this.reviceStatus = reviceStatus;
  106 + }
  107 +
  108 + public String getPid() {
  109 + return pid;
  110 + }
  111 +
  112 + public void setPid(String pid) {
  113 + this.pid = pid;
  114 + }
  115 +
  116 + public String getBirth() {
  117 + return birth;
  118 + }
  119 +
  120 + public void setBirth(String birth) {
  121 + this.birth = birth;
  122 + }
  123 +
  124 + public String getWeight() {
  125 + return weight;
  126 + }
  127 +
  128 + public void setWeight(String weight) {
  129 + this.weight = weight;
  130 + }
  131 +
  132 + public String getLastMenses() {
  133 + return lastMenses;
  134 + }
  135 +
  136 + public void setLastMenses(String lastMenses) {
  137 + this.lastMenses = lastMenses;
  138 + }
  139 +
  140 + public String getNumber() {
  141 + return number;
  142 + }
  143 +
  144 + public void setNumber(String number) {
  145 + this.number = number;
  146 + }
  147 +
  148 + public String getCollectionDoctorId() {
  149 + return collectionDoctorId;
  150 + }
  151 +
  152 + public void setCollectionDoctorId(String collectionDoctorId) {
  153 + this.collectionDoctorId = collectionDoctorId;
  154 + }
  155 +
  156 + public String getCollectionDate() {
  157 + return collectionDate;
  158 + }
  159 +
  160 + public void setCollectionDate(String collectionDate) {
  161 + this.collectionDate = collectionDate;
  162 + }
  163 +
  164 + public String getCrl() {
  165 + return crl;
  166 + }
  167 +
  168 + public void setCrl(String crl) {
  169 + this.crl = crl;
  170 + }
  171 +
  172 + public String getBpd() {
  173 + return bpd;
  174 + }
  175 +
  176 + public void setBpd(String bpd) {
  177 + this.bpd = bpd;
  178 + }
  179 +
  180 + public String getBcCheckDate() {
  181 + return bcCheckDate;
  182 + }
  183 +
  184 + public void setBcCheckDate(String bcCheckDate) {
  185 + this.bcCheckDate = bcCheckDate;
  186 + }
  187 +
  188 + public Map<String, String> getHistoryBirth() {
  189 + return historyBirth;
  190 + }
  191 +
  192 + public void setHistoryBirth(Map<String, String> historyBirth) {
  193 + this.historyBirth = historyBirth;
  194 + }
  195 +
  196 + public String getPastHistory() {
  197 + return pastHistory;
  198 + }
  199 +
  200 + public void setPastHistory(String pastHistory) {
  201 + this.pastHistory = pastHistory;
  202 + }
  203 +
  204 + public String getApplyHospitalId() {
  205 + return applyHospitalId;
  206 + }
  207 +
  208 + public void setApplyHospitalId(String applyHospitalId) {
  209 + this.applyHospitalId = applyHospitalId;
52 210 }
53 211  
54 212 public String getApplyTime() {
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/PatientBaseResult.java View file @ feb8b02
... ... @@ -51,6 +51,16 @@
51 51 //体重
52 52 private String weight ;
53 53  
  54 + private String birth;
  55 +
  56 + public String getBirth() {
  57 + return birth;
  58 + }
  59 +
  60 + public void setBirth(String birth) {
  61 + this.birth = birth;
  62 + }
  63 +
54 64 public List<Map<String, Object>> getScreenResult() {
55 65 return screenResult;
56 66 }
57 67  
58 68  
59 69  
... ... @@ -196,12 +206,15 @@
196 206 }else{
197 207 setIsGravida("1");
198 208 }
  209 + setBirth(DateUtil.getyyyy_MM_dd(patients.getBirth()));
199 210  
200   -
201 211 if (null != patients.getLastMenses()) {
202 212 int days = DateUtil.daysBetween(patients.getLastMenses(), new Date());
203 213 this.dueWeek = StringUtils.dueWeek(days);
  214 +
  215 + setLastMenses(DateUtil.getyyyy_MM_dd(patients.getLastMenses()));
204 216 }
  217 +
205 218  
206 219 return this;
207 220 }