Commit ff1e434954ec253db942d73134951ef724da2b97
1 parent
4488d6fd6e
Exists in
master
and in
6 other branches
体重报告限制一周功能
Showing 9 changed files with 179 additions and 25 deletions
- platform-dal/src/main/java/com/lyms/platform/pojo/PatientWeight.java
- platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryWeightModel.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/TrackDownQueryRequest.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryWeightServiceImpl.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java
platform-dal/src/main/java/com/lyms/platform/pojo/PatientWeight.java
View file @
ff1e434
... | ... | @@ -10,7 +10,7 @@ |
10 | 10 | /** |
11 | 11 | * 孕产妇体重管理 |
12 | 12 | */ |
13 | -@Document(collection="lyms_patient_weight") | |
13 | +@Document(collection = "lyms_patient_weight") | |
14 | 14 | public class PatientWeight extends BaseModel { |
15 | 15 | |
16 | 16 | @Transient |
... | ... | @@ -129,6 +129,18 @@ |
129 | 129 | |
130 | 130 | //0 未推送 1已经推送 |
131 | 131 | private Integer sevenSend; |
132 | + | |
133 | + //打印时间 | |
134 | + private Date printingTime; | |
135 | + | |
136 | + | |
137 | + public Date getPrintingTime() { | |
138 | + return printingTime; | |
139 | + } | |
140 | + | |
141 | + public void setPrintingTime(Date printingTime) { | |
142 | + this.printingTime = printingTime; | |
143 | + } | |
132 | 144 | |
133 | 145 | public Integer getExceptionSend() { |
134 | 146 | return exceptionSend; |
platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryWeightModel.java
View file @
ff1e434
... | ... | @@ -33,6 +33,16 @@ |
33 | 33 | |
34 | 34 | private String temporaryUserId; |
35 | 35 | |
36 | + private Date printingTime; | |
37 | + | |
38 | + public Date getPrintingTime() { | |
39 | + return printingTime; | |
40 | + } | |
41 | + | |
42 | + public void setPrintingTime(Date printingTime) { | |
43 | + this.printingTime = printingTime; | |
44 | + } | |
45 | + | |
36 | 46 | // 存储 key=年月日 value=时间+医院+体重 |
37 | 47 | private List<Map<String, Object>> dayWeights2 = new ArrayList<>(); |
38 | 48 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java
View file @
ff1e434
... | ... | @@ -84,8 +84,8 @@ |
84 | 84 | @ResponseBody |
85 | 85 | @TokenRequired |
86 | 86 | @RequestMapping(value = "/all", method = RequestMethod.GET) |
87 | - public BaseResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer type, @RequestParam Integer page, @RequestParam Integer limit, HttpServletRequest request) { | |
88 | - return trackDownService.all(buildStart, buildEnd, checkStart, checkEnd, fmStart, fmEnd, key, page, limit, getUserId(request), type); | |
87 | + public BaseResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer type, @RequestParam Integer page, @RequestParam Integer limit, HttpServletRequest request, Integer check) { | |
88 | + return trackDownService.all(buildStart, buildEnd, checkStart, checkEnd, fmStart, fmEnd, key, page, limit, getUserId(request), type, check); | |
89 | 89 | } |
90 | 90 | |
91 | 91 | @ResponseBody |
... | ... | @@ -111,6 +111,7 @@ |
111 | 111 | |
112 | 112 | /** |
113 | 113 | * 手动执行自动任务 |
114 | + * | |
114 | 115 | * @return |
115 | 116 | */ |
116 | 117 | @ResponseBody |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java
View file @
ff1e434
... | ... | @@ -1308,6 +1308,12 @@ |
1308 | 1308 | Organization org = organizationService.getOrganization(Integer.parseInt(hospitalId)); |
1309 | 1309 | map.put("hospitalName", org.getName()); |
1310 | 1310 | map.put("reportMonthAge", StringUtils.emptyDeal(DateUtil.getBabyMonthAge(baby.getBirth(), model.getNutritiTime()))); |
1311 | + //体重评价 | |
1312 | + String weightEvaluate = babyCheckFacade.getGrowthValue(DateUtil.getyyyy_MM_dd(baby.getBirth()), model.getWeight(), baby.getSex(), null, null, DateUtil.getyyyy_MM_dd(baby.getCreated())); | |
1313 | + map.put("weightEvaluate", weightEvaluate); | |
1314 | + //身高评价 | |
1315 | + String heightEvaluate = babyCheckFacade.getGrowthValue1(DateUtil.getyyyy_MM_dd(baby.getBirth()), model.getHeight(), baby.getSex(), 1, null, DateUtil.getyyyy_MM_dd(baby.getCreated())); | |
1316 | + map.put("heightEvaluate", heightEvaluate); | |
1311 | 1317 | |
1312 | 1318 | int month = DateUtil.getMonth(baby.getBirth(), model.getNutritiTime()); |
1313 | 1319 | if (month > 36) { |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/TrackDownQueryRequest.java
View file @
ff1e434
... | ... | @@ -14,7 +14,7 @@ |
14 | 14 | * @version BME V100R001 2018-01-17 17:05 |
15 | 15 | * @since BME V100R001C40B104 |
16 | 16 | */ |
17 | -public class TrackDownQueryRequest extends BasePageQueryRequest{ | |
17 | +public class TrackDownQueryRequest extends BasePageQueryRequest { | |
18 | 18 | private String provinceId; |
19 | 19 | private String cityId; |
20 | 20 | private String areaId; |
... | ... | @@ -45,6 +45,70 @@ |
45 | 45 | private Date startDueDate; |
46 | 46 | //开始预产期 |
47 | 47 | private Date endDueDate; |
48 | + | |
49 | + /** | |
50 | + * 新加查询条件 | |
51 | + */ | |
52 | + //追访日期 | |
53 | + private Date startChaseVisit; | |
54 | + private Date endChaseVisit; | |
55 | + | |
56 | + //逾期天数 | |
57 | + private Integer startBeOverdue; | |
58 | + private Integer endBeOverdue; | |
59 | + //流程状态 | |
60 | + private Integer processState; | |
61 | + //追访方式 | |
62 | + private Integer ChaseVisitMode; | |
63 | + | |
64 | + | |
65 | + public Date getStartChaseVisit() { | |
66 | + return startChaseVisit; | |
67 | + } | |
68 | + | |
69 | + public void setStartChaseVisit(Date startChaseVisit) { | |
70 | + this.startChaseVisit = startChaseVisit; | |
71 | + } | |
72 | + | |
73 | + public Date getEndChaseVisit() { | |
74 | + return endChaseVisit; | |
75 | + } | |
76 | + | |
77 | + public void setEndChaseVisit(Date endChaseVisit) { | |
78 | + this.endChaseVisit = endChaseVisit; | |
79 | + } | |
80 | + | |
81 | + public Integer getStartBeOverdue() { | |
82 | + return startBeOverdue; | |
83 | + } | |
84 | + | |
85 | + public void setStartBeOverdue(Integer startBeOverdue) { | |
86 | + this.startBeOverdue = startBeOverdue; | |
87 | + } | |
88 | + | |
89 | + public Integer getEndBeOverdue() { | |
90 | + return endBeOverdue; | |
91 | + } | |
92 | + | |
93 | + public void setEndBeOverdue(Integer endBeOverdue) { | |
94 | + this.endBeOverdue = endBeOverdue; | |
95 | + } | |
96 | + | |
97 | + public Integer getProcessState() { | |
98 | + return processState; | |
99 | + } | |
100 | + | |
101 | + public void setProcessState(Integer processState) { | |
102 | + this.processState = processState; | |
103 | + } | |
104 | + | |
105 | + public Integer getChaseVisitMode() { | |
106 | + return ChaseVisitMode; | |
107 | + } | |
108 | + | |
109 | + public void setChaseVisitMode(Integer chaseVisitMode) { | |
110 | + ChaseVisitMode = chaseVisitMode; | |
111 | + } | |
48 | 112 | |
49 | 113 | public String getCheckDoctor() { |
50 | 114 | return checkDoctor; |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java
View file @
ff1e434
... | ... | @@ -8,17 +8,17 @@ |
8 | 8 | import javax.servlet.http.HttpServletResponse; |
9 | 9 | import java.util.Date; |
10 | 10 | |
11 | -public interface ITrackDownService extends IBaseService { | |
11 | +public interface ITrackDownService extends IBaseService { | |
12 | 12 | //新增或更新追访状态 |
13 | - boolean addOrupdateTrackDownRecord(Integer userId,TrackDownRecord trackDownRecord); | |
13 | + boolean addOrupdateTrackDownRecord(Integer userId, TrackDownRecord trackDownRecord); | |
14 | 14 | |
15 | 15 | BaseResponse add(Integer userId, TrackDown trackDown); |
16 | 16 | |
17 | 17 | BaseObjectResponse list(String provinceId, String cityId, String areaId, String streetId, String key, Integer trackType, Integer page, Integer limit, Integer userId); |
18 | 18 | |
19 | - BaseObjectResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer page, Integer limit, Integer userId,Integer type); | |
19 | + BaseObjectResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer page, Integer limit, Integer userId, Integer type, Integer check); | |
20 | 20 | |
21 | - BaseObjectResponse info(String patientId, Integer trackType,Integer buildType); | |
21 | + BaseObjectResponse info(String patientId, Integer trackType, Integer buildType); | |
22 | 22 | |
23 | 23 | BaseObjectResponse init(); |
24 | 24 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java
View file @
ff1e434
... | ... | @@ -362,6 +362,16 @@ |
362 | 362 | } else { |
363 | 363 | map.put("isShow", false); |
364 | 364 | } |
365 | + if (null != patientWeight.getPrintingTime()) { | |
366 | + int hasPrint = DateUtil.getDays(patientWeight.getPrintingTime(), new Date()); | |
367 | + if (hasPrint > 7) { | |
368 | + map.put("hasPrintInWeek", false); | |
369 | + } else { | |
370 | + map.put("hasPrintInWeek", true); | |
371 | + } | |
372 | + } else { | |
373 | + map.put("hasPrintInWeek", false); | |
374 | + } | |
365 | 375 | |
366 | 376 | setReport(map, weights, patientWeight.getBeforeWeight(), patientWeight.getBmi(), patientWeight.getDayWeights(), patientWeight.getBregmatic()); |
367 | 377 | |
... | ... | @@ -653,7 +663,7 @@ |
653 | 663 | setYYZN(map, ComputeKulServiceManager.getPatientGuideMap().get(rid + nsArea)); |
654 | 664 | |
655 | 665 | } |
656 | - map.put("state",kmap.get("status")); | |
666 | + map.put("state", kmap.get("status")); | |
657 | 667 | |
658 | 668 | } |
659 | 669 | } |
... | ... | @@ -673,6 +683,10 @@ |
673 | 683 | String doctorId = getDoctorId(dayWeights2); |
674 | 684 | |
675 | 685 | healthChargeFacade.addHealthCharge(hospitalId, 1, patientWeight.getPatientId(), 1, 1, userId, doctorId, false); |
686 | + PatientWeight patientWeight1 = new PatientWeight(); | |
687 | + patientWeight1.setPrintingTime(new Date()); | |
688 | + patientWeightService2.update(Query.query(Criteria.where("_id").is(id)), patientWeight1); | |
689 | + | |
676 | 690 | return RespBuilder.buildSuccess(map); |
677 | 691 | } |
678 | 692 | return RespBuilder.buildSuccess(); |
... | ... | @@ -2161,6 +2175,10 @@ |
2161 | 2175 | } |
2162 | 2176 | } |
2163 | 2177 | healthChargeFacade.addHealthCharge(patientWeight.getHospitalId(), 1, patientWeight.getPatientId(), 2, 1, userId, doctorId, false); |
2178 | + | |
2179 | + PatientWeight patientWeight1 = new PatientWeight(); | |
2180 | + patientWeight1.setPrintingTime(new Date()); | |
2181 | + patientWeightService2.update(Query.query(Criteria.where("_id").is(pid)), patientWeight1); | |
2164 | 2182 | return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(this.getFirstOrNull(datas)); |
2165 | 2183 | } |
2166 | 2184 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryWeightServiceImpl.java
View file @
ff1e434
... | ... | @@ -369,6 +369,18 @@ |
369 | 369 | } else { |
370 | 370 | map.put("isShow", false); |
371 | 371 | } |
372 | + //限制一周能打印 | |
373 | + if (null != template.getPrintingTime()) { | |
374 | + int hasPrint = DateUtil.getDays(template.getPrintingTime(), new Date()); | |
375 | + if (hasPrint > 7) { | |
376 | + map.put("hasPrintInWeek", false); | |
377 | + } else { | |
378 | + map.put("hasPrintInWeek", true); | |
379 | + } | |
380 | + } else { | |
381 | + map.put("hasPrintInWeek", false); | |
382 | + } | |
383 | + | |
372 | 384 | patientWeightService.setReport(map, weights, temporaryUser.getBeforeWeight(), template.getBmi(), template.getDayWeights(), temporaryUser.getBregmatic()); |
373 | 385 | |
374 | 386 | //高危报告权限判断 |
375 | 387 | |
... | ... | @@ -490,8 +502,12 @@ |
490 | 502 | CollectionUtils.removeNullValue(map); |
491 | 503 | List<Map<String, Object>> dayWeights2 = temporaryWeight.getDayWeights2(); |
492 | 504 | String doctorId = patientWeightService.getDoctorId(dayWeights2); |
493 | - | |
494 | 505 | healthChargeFacade.addHealthCharge(hospitalId, 1, temporaryWeight.getTemporaryUserId(), 1, 2, userId, doctorId, false); |
506 | + | |
507 | + TemporaryWeightModel patientWeight1 = new TemporaryWeightModel(); | |
508 | + patientWeight1.setPrintingTime(new Date()); | |
509 | + temporaryWeightDao.updateTemporaryWeight(Query.query(Criteria.where("_id").is(id)), patientWeight1); | |
510 | + | |
495 | 511 | return RespBuilder.buildSuccess(map); |
496 | 512 | } |
497 | 513 | return RespBuilder.buildSuccess(); |
... | ... | @@ -838,6 +854,9 @@ |
838 | 854 | String doctorId = patientWeightService.getDoctorId(dayWeights2); |
839 | 855 | |
840 | 856 | healthChargeFacade.addHealthCharge(hospitalId, 1, temporary.getTemporaryUserId(), 2, 2, userId, doctorId, false); |
857 | + TemporaryWeightModel patientWeight1 = new TemporaryWeightModel(); | |
858 | + patientWeight1.setPrintingTime(new Date()); | |
859 | + temporaryWeightDao.updateTemporaryWeight(Query.query(Criteria.where("_id").is(id)), patientWeight1); | |
841 | 860 | return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(this.getFirstOrNull(datas)); |
842 | 861 | } |
843 | 862 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java
View file @
ff1e434
... | ... | @@ -67,7 +67,7 @@ |
67 | 67 | * @return |
68 | 68 | */ |
69 | 69 | @Override |
70 | - public BaseObjectResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer page, Integer limit, Integer userId, Integer type) { | |
70 | + public BaseObjectResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer page, Integer limit, Integer userId, Integer type, Integer check) { | |
71 | 71 | String hospitalId = autoMatchFacade.getHospitalId(userId); |
72 | 72 | List<Map<String, Object>> restList = new ArrayList<>(); |
73 | 73 | Integer archiveModelCount = 0; |
74 | 74 | |
75 | 75 | |
... | ... | @@ -89,15 +89,39 @@ |
89 | 89 | // StopWatch stopWatch = new StopWatch("妇女建档主数据"); |
90 | 90 | //优化前 |
91 | 91 | // stopWatch.start("妇女建档优化前"); |
92 | - restList = getResidentMainData(modelList); | |
92 | + if (null != check) { | |
93 | + List<Map<String, Object>> checkList = getResidentMainData(modelList); | |
94 | + //婚检过 | |
95 | + if (check == 1) { | |
96 | + for (Map<String, Object> checkMap : checkList) { | |
97 | + if ((int) checkMap.get("check") == 1) { | |
98 | + restList.add(checkMap); | |
99 | + } | |
100 | + } | |
101 | + | |
102 | + } else if (check == 2) { | |
103 | + for (Map<String, Object> checkMap : checkList) { | |
104 | + if ((int) checkMap.get("check") == 2) { | |
105 | + restList.add(checkMap); | |
106 | + } | |
107 | + } | |
108 | + } | |
109 | + | |
110 | + } else { | |
111 | + restList = getResidentMainData(modelList); | |
112 | + } | |
113 | + | |
114 | + | |
93 | 115 | // stopWatch.stop(); |
94 | 116 | //优化后 |
95 | 117 | // stopWatch.start("妇女建档优化后"); |
96 | 118 | // restList = dispResidentMainData(modelList,hospitalId); |
97 | 119 | // stopWatch.stop(); |
98 | - // archiveModelCount = query.getCount(); | |
120 | + archiveModelCount = query.getCount(); | |
99 | 121 | // |
100 | 122 | // System.out.println(stopWatch.toString()); |
123 | + | |
124 | + | |
101 | 125 | } else {//孕妇建档主数据 |
102 | 126 | PatientsQuery patientsQuery = new PatientsQuery(); |
103 | 127 | patientsQuery.setBookbuildingDateStart(checkStart); |
... | ... | @@ -121,7 +145,7 @@ |
121 | 145 | // System.out.println(stopWatch.toString()); |
122 | 146 | //优化后 |
123 | 147 | stopWatch.start("孕妇建档优化后"); |
124 | - restList = dispPatient(patientsList,hospitalId); | |
148 | + restList = dispPatient(patientsList, hospitalId); | |
125 | 149 | stopWatch.stop(); |
126 | 150 | System.out.println(stopWatch.toString()); |
127 | 151 | |
128 | 152 | |
... | ... | @@ -191,10 +215,10 @@ |
191 | 215 | trackDownRecord = records.get(0); |
192 | 216 | } |
193 | 217 | } |
194 | - if(checkNum>0){ | |
218 | + if (checkNum > 0) { | |
195 | 219 | temp.put("check", 1); // 婚检 1=勾勾 2=叉叉 |
196 | - }else{ | |
197 | - if (trackDownRecord!=null && trackDownRecord.getTrackType() > TrackDownDateEnums.A.getId()) { | |
220 | + } else { | |
221 | + if (trackDownRecord != null && trackDownRecord.getTrackType() > TrackDownDateEnums.A.getId()) { | |
198 | 222 | temp.put("check", checkNum > 0 ? 1 : 2); // 婚检 1=勾勾 2=叉叉 |
199 | 223 | } |
200 | 224 | } |
201 | 225 | |
... | ... | @@ -315,10 +339,10 @@ |
315 | 339 | } |
316 | 340 | } |
317 | 341 | |
318 | - if(checkNum>0){ | |
342 | + if (checkNum > 0) { | |
319 | 343 | temp.put("check", 1); // 婚检 1=勾勾 2=叉叉 |
320 | - }else{ | |
321 | - if (trackDownRecord!=null && trackDownRecord.getTrackType() > TrackDownDateEnums.A.getId()) { | |
344 | + } else { | |
345 | + if (trackDownRecord != null && trackDownRecord.getTrackType() > TrackDownDateEnums.A.getId()) { | |
322 | 346 | temp.put("check", checkNum > 0 ? 1 : 2); // 婚检 1=勾勾 2=叉叉 |
323 | 347 | } |
324 | 348 | } |
... | ... | @@ -366,7 +390,7 @@ |
366 | 390 | /** 生产方式 */ |
367 | 391 | temp.put("fmType", "自动分娩"); |
368 | 392 | temp.put("fm", 2); // 分娩 1=勾勾 2=叉叉 |
369 | - }else if(patient.getType() == 3){//可能本院分娩或外院分娩 | |
393 | + } else if (patient.getType() == 3) {//可能本院分娩或外院分娩 | |
370 | 394 | temp.put("fm", 2); // 默认外院分娩 |
371 | 395 | } |
372 | 396 | } |
373 | 397 | |
... | ... | @@ -385,13 +409,13 @@ |
385 | 409 | if (patient.getType() == 3) {//已经分娩,就是X |
386 | 410 | temp.put("cqsc", 2);//产前筛查){ |
387 | 411 | } else {//未分娩 |
388 | - if(patient.getLastMenses()!=null){ | |
412 | + if (patient.getLastMenses() != null) { | |
389 | 413 | int week = DateUtil.getWeek2(patient.getLastMenses(), new Date()); |
390 | 414 | if (week > 20) {//不能做产前筛查追访,产前检查追访 |
391 | 415 | temp.put("cqsc", 2);//未做产筛 |
392 | 416 | } |
393 | - }else{ | |
394 | - System.out.println("没有末次月经的建档:"+patient.getId()); | |
417 | + } else { | |
418 | + System.out.println("没有末次月经的建档:" + patient.getId()); | |
395 | 419 | } |
396 | 420 | } |
397 | 421 | |
... | ... | @@ -690,7 +714,7 @@ |
690 | 714 | TrackDownRecord trackDownRecord1 = trackDownRecordService.getTrackDown(trackDownRecord.getId()); |
691 | 715 | if (trackDownRecord1 != null) { |
692 | 716 | //流程只能往下流转,不能往上回退,,因为9,10,11,12,是后面加入的产筛转出流程所以不做判断 |
693 | - if (trackDownRecord.getTrackType() != null && trackDownRecord1.getTrackType()!=8 && trackDownRecord1.getTrackType()!=9 && trackDownRecord1.getTrackType()!=10&&trackDownRecord1.getTrackType()!=11 && trackDownRecord.getTrackType() < trackDownRecord1.getTrackType().intValue()) { | |
717 | + if (trackDownRecord.getTrackType() != null && trackDownRecord1.getTrackType() != 8 && trackDownRecord1.getTrackType() != 9 && trackDownRecord1.getTrackType() != 10 && trackDownRecord1.getTrackType() != 11 && trackDownRecord.getTrackType() < trackDownRecord1.getTrackType().intValue()) { | |
694 | 718 | //用以前追访的类型和来源id |
695 | 719 | trackDownRecord.setTrackType(trackDownRecord1.getTrackType()); |
696 | 720 | trackDownRecord.setSource(trackDownRecord1.getSource()); |