Commit 36736b29c4415bf12bd0c375e991cea7cd118e4c
1 parent
5f130bc792
Exists in
master
and in
6 other branches
隆化-儿童管理-儿保检查高危自动结案功能。全部儿童高危结案筛选
Showing 6 changed files with 174 additions and 1 deletions
- platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java
- platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyManageRequest.java
platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java
View file @
36736b2
| ... | ... | @@ -739,6 +739,27 @@ |
| 739 | 739 | //滦平儿童建档下次检查项 |
| 740 | 740 | private String nextCheckItem; |
| 741 | 741 | |
| 742 | + //隆化-儿童建档-自动结案 1:未结案 2:已结案 | |
| 743 | + private Integer settleType; | |
| 744 | + //隆化-儿童建档-自动结案时间 | |
| 745 | + private Date settleTime; | |
| 746 | + | |
| 747 | + public Integer getSettleType() { | |
| 748 | + return settleType; | |
| 749 | + } | |
| 750 | + | |
| 751 | + public void setSettleType(Integer settleType) { | |
| 752 | + this.settleType = settleType; | |
| 753 | + } | |
| 754 | + | |
| 755 | + public Date getSettleTime() { | |
| 756 | + return settleTime; | |
| 757 | + } | |
| 758 | + | |
| 759 | + public void setSettleTime(Date settleTime) { | |
| 760 | + this.settleTime = settleTime; | |
| 761 | + } | |
| 762 | + | |
| 742 | 763 | public String getNextCheckItem() { |
| 743 | 764 | return nextCheckItem; |
| 744 | 765 | } |
platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java
View file @
36736b2
| ... | ... | @@ -594,6 +594,39 @@ |
| 594 | 594 | private String asphyxiaMStart; |
| 595 | 595 | private String asphyxiaMEnd; |
| 596 | 596 | |
| 597 | + /** | |
| 598 | + * 隆化儿保需求问题2022.1.4 | |
| 599 | + */ | |
| 600 | + //隆化-儿童建档-自动结案 1:未结案 2:已结案 | |
| 601 | + private Integer settleType; | |
| 602 | + //隆化-儿童建档-自动结案时间 | |
| 603 | + private Date settleTimeStart; | |
| 604 | + private Date settleTimeEnd; | |
| 605 | + | |
| 606 | + public Integer getSettleType() { | |
| 607 | + return settleType; | |
| 608 | + } | |
| 609 | + | |
| 610 | + public void setSettleType(Integer settleType) { | |
| 611 | + this.settleType = settleType; | |
| 612 | + } | |
| 613 | + | |
| 614 | + public Date getSettleTimeStart() { | |
| 615 | + return settleTimeStart; | |
| 616 | + } | |
| 617 | + | |
| 618 | + public void setSettleTimeStart(Date settleTimeStart) { | |
| 619 | + this.settleTimeStart = settleTimeStart; | |
| 620 | + } | |
| 621 | + | |
| 622 | + public Date getSettleTimeEnd() { | |
| 623 | + return settleTimeEnd; | |
| 624 | + } | |
| 625 | + | |
| 626 | + public void setSettleTimeEnd(Date settleTimeEnd) { | |
| 627 | + this.settleTimeEnd = settleTimeEnd; | |
| 628 | + } | |
| 629 | + | |
| 597 | 630 | public boolean isEncodedNe() { |
| 598 | 631 | return encodedNe; |
| 599 | 632 | } |
| ... | ... | @@ -1719,6 +1752,9 @@ |
| 1719 | 1752 | if (StringUtils.isNotEmpty(clzffs)) { |
| 1720 | 1753 | condition = condition.and("clzffs", clzffs, MongoOper.IS); |
| 1721 | 1754 | } |
| 1755 | + if (null!=settleType) { | |
| 1756 | + condition = condition.and("settleType", settleType, MongoOper.IS); | |
| 1757 | + } | |
| 1722 | 1758 | |
| 1723 | 1759 | Criteria c = null; |
| 1724 | 1760 | if (null != birthStart) { |
| ... | ... | @@ -1928,6 +1964,22 @@ |
| 1928 | 1964 | } |
| 1929 | 1965 | } |
| 1930 | 1966 | |
| 1967 | + /***高危结案时间查询***/ | |
| 1968 | + if (null != settleTimeStart) { | |
| 1969 | + if (null != c) { | |
| 1970 | + c = c.and("settleTime").gte(settleTimeStart); | |
| 1971 | + } else { | |
| 1972 | + c = Criteria.where("settleTime").gte(settleTimeStart); | |
| 1973 | + } | |
| 1974 | + } | |
| 1975 | + | |
| 1976 | + if (null != settleTimeEnd) { | |
| 1977 | + if (null != c) { | |
| 1978 | + c = c.lte(settleTimeEnd); | |
| 1979 | + } else { | |
| 1980 | + c = Criteria.where("settleTime").lte(settleTimeEnd); | |
| 1981 | + } | |
| 1982 | + } | |
| 1931 | 1983 | /***预约时间查询***/ |
| 1932 | 1984 | if (null != nextDateStart) { |
| 1933 | 1985 | if (null != c) { |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java
View file @
36736b2
| ... | ... | @@ -273,7 +273,9 @@ |
| 273 | 273 | @RequestParam(value = "moderateAnaemia", required = false) String moderateAnaemia, |
| 274 | 274 | @RequestParam(value = "heartMurmur", required = false) String heartMurmur, |
| 275 | 275 | @RequestParam(value = "cyNumType", required = false) Integer cyNumType, |
| 276 | - @RequestParam(value = "qcNumType", required = false) Integer qcNumType | |
| 276 | + @RequestParam(value = "qcNumType", required = false) Integer qcNumType, | |
| 277 | + @RequestParam(value = "settleType", required = false) Integer settleType, | |
| 278 | + @RequestParam(value = "settleTime", required = false) String settleTime | |
| 277 | 279 | ) { |
| 278 | 280 | |
| 279 | 281 | if (CollectionUtils.isNotEmpty(highRiskInfos)) { |
| ... | ... | @@ -391,6 +393,10 @@ |
| 391 | 393 | request.setCyNumType(cyNumType); |
| 392 | 394 | //龋齿状态 |
| 393 | 395 | request.setQcNumType(qcNumType); |
| 396 | + //高危结案状态 | |
| 397 | + request.setSettleType(settleType); | |
| 398 | + //高危结案时间 | |
| 399 | + request.setSettleTime(settleTime); | |
| 394 | 400 | return babyBookbuildingFacade.queryBabyList(request, loginState.getId()); |
| 395 | 401 | } |
| 396 | 402 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java
View file @
36736b2
| ... | ... | @@ -3239,6 +3239,20 @@ |
| 3239 | 3239 | babyQuery.setNextDateEnd(DateUtil.parseYMD(dates[1])); |
| 3240 | 3240 | } |
| 3241 | 3241 | } |
| 3242 | + //隆化-筛选高危结案状态 | |
| 3243 | + if(null!=request.getSettleType()){ | |
| 3244 | + babyQuery.setSettleType(request.getSettleType()); | |
| 3245 | + } | |
| 3246 | + //隆化-高危结案时间 | |
| 3247 | + if (StringUtils.isNotEmpty(request.getSettleTime())) { | |
| 3248 | + String settleTime = request.getSettleTime(); | |
| 3249 | + String[] dates = settleTime.split(" - "); | |
| 3250 | + | |
| 3251 | + babyQuery.setSettleTimeStart(DateUtil.parseYMD(dates[0])); | |
| 3252 | + if (dates.length == 2) { | |
| 3253 | + babyQuery.setSettleTimeEnd(DateUtil.parseYMD(dates[1])); | |
| 3254 | + } | |
| 3255 | + } | |
| 3242 | 3256 | //结案时间 |
| 3243 | 3257 | if (StringUtils.isNotEmpty(request.getEndCaseTime())) { |
| 3244 | 3258 | String endCaseTime = request.getEndCaseTime(); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java
View file @
36736b2
| ... | ... | @@ -165,7 +165,36 @@ |
| 165 | 165 | List <BabyCheckModel> models = babyCheckService.queryBabyCheckRecord(query); |
| 166 | 166 | babyCheckService.updateBabyCheck(model, request.getId()); |
| 167 | 167 | |
| 168 | + //隆化-如果上次是高危这次没有高危就结案(儿童档案增加高危结案状态1:未结案2:已结案) | |
| 169 | + if (StringUtils.isNotEmpty(model.getBuildId())) { | |
| 170 | + BabyCheckModelQuery query2 = new BabyCheckModelQuery(); | |
| 171 | + query2.setBuildId(model.getBuildId()); | |
| 172 | + query2.setYn(YnEnums.YES.getId()); | |
| 173 | + List<BabyCheckModel> babyCheckModels = babyCheckService.queryBabyCheckRecord(query2); | |
| 174 | + //保证上次有检查,本次是健康 | |
| 175 | + if(CollectionUtils.isNotEmpty(babyCheckModels) && babyCheckModels.size()>1 && 0==request.getHighRisk()){ | |
| 176 | + //最后一次检查的上次检查是高危才结案 | |
| 177 | + if(babyCheckModels.get(0).getId()==request.getId() && 1==babyCheckModels.get(1).getHighRisk()){ | |
| 178 | + try { | |
| 179 | + settleCase(model.getBuildId()); | |
| 180 | + } catch (Exception e) { | |
| 181 | + e.printStackTrace(); | |
| 182 | + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("结案失败"); | |
| 183 | + } | |
| 184 | + } | |
| 185 | + } | |
| 186 | + //本次是高危 | |
| 187 | + if(CollectionUtils.isNotEmpty(babyCheckModels) && 1==request.getHighRisk()) { | |
| 188 | + //只判断最后一次检查(儿童档案增加高危结案状态1:未结案2:已结案) | |
| 189 | + if(babyCheckModels.get(0).getId()==request.getId()){ | |
| 190 | + BabyModel bm = new BabyModel(); | |
| 191 | + bm.setSettleType(1); | |
| 192 | + babyBookbuildingService.updateBabyBuild(bm,request.getBuildId()); | |
| 193 | + } | |
| 194 | + } | |
| 195 | + } | |
| 168 | 196 | |
| 197 | + | |
| 169 | 198 | if (StringUtils.isNotEmpty(request.getNextDate())) { |
| 170 | 199 | saveCheckItem(model.getNextDate(), request.getBuildId(), request.getConfigItemId(), model.getId(), hospitalId); |
| 171 | 200 | |
| ... | ... | @@ -784,6 +813,10 @@ |
| 784 | 813 | } |
| 785 | 814 | bm.setLastCheckDoctor(request.getCheckDoctor()); |
| 786 | 815 | bm.setDiseases(request.getDiseases()); |
| 816 | + //隆化-高危儿结案(检查如果是高危,儿童档案增加高危结案状态1:未结案2:已结案) | |
| 817 | + if(request.getHighRisk()==1){ | |
| 818 | + bm.setSettleType(1); | |
| 819 | + } | |
| 787 | 820 | //秦皇岛-高危儿详情添加到儿童档案 |
| 788 | 821 | bm.setQhdHighRiskInfo(CollectionUtils.isNotEmpty(request.getQhdHighRiskInfo())?request.getQhdHighRiskInfo():new ArrayList<Map<String, String>>()); |
| 789 | 822 | babyBookbuildingService.updateBabyBuild(bm, request.getBuildId()); |
| ... | ... | @@ -792,6 +825,25 @@ |
| 792 | 825 | model.setHospitalId(hospitalId); |
| 793 | 826 | model.setCreated(new Date()); |
| 794 | 827 | model = babyCheckService.addBabyCheck(model); |
| 828 | + //隆化-如果上次是高危这次没有高危就结案(儿童档案增加高危结案状态1:未结案2:已结案) | |
| 829 | + if (StringUtils.isNotEmpty(model.getBuildId()) && 0==model.getHighRisk()) { | |
| 830 | + BabyCheckModelQuery query2 = new BabyCheckModelQuery(); | |
| 831 | + query2.setBuildId(model.getBuildId()); | |
| 832 | + query2.setYn(YnEnums.YES.getId()); | |
| 833 | + List<BabyCheckModel> babyCheckModels = babyCheckService.queryBabyCheckRecord(query2); | |
| 834 | + //保证上次有检查 | |
| 835 | + if(CollectionUtils.isNotEmpty(babyCheckModels) && babyCheckModels.size()>1){ | |
| 836 | + //上次检查是高危才结案 | |
| 837 | + if(1==babyCheckModels.get(1).getHighRisk()){ | |
| 838 | + try { | |
| 839 | + settleCase(model.getBuildId()); | |
| 840 | + } catch (Exception e) { | |
| 841 | + e.printStackTrace(); | |
| 842 | + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("结案失败"); | |
| 843 | + } | |
| 844 | + } | |
| 845 | + } | |
| 846 | + } | |
| 795 | 847 | |
| 796 | 848 | |
| 797 | 849 | //儿童检查自动诊断 |
| ... | ... | @@ -5222,6 +5274,13 @@ |
| 5222 | 5274 | cnames.put("checkDate", "检查时间"); |
| 5223 | 5275 | cnames.put("hemoglobin", "检查结果"); |
| 5224 | 5276 | ResponseUtil.responseExcel(cnames, results, response); |
| 5277 | + } | |
| 5278 | + //隆化-如果上次是高危这次没有高危就结案(儿童档案增加高危结案状态1:未结案2:已结案) | |
| 5279 | + public void settleCase(String buildId) throws Exception{ | |
| 5280 | + BabyModel bm = new BabyModel(); | |
| 5281 | + bm.setSettleType(2); | |
| 5282 | + bm.setSettleTime(new Date()); | |
| 5283 | + babyBookbuildingService.updateBabyBuild(bm,buildId); | |
| 5225 | 5284 | } |
| 5226 | 5285 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyManageRequest.java
View file @
36736b2
| ... | ... | @@ -129,6 +129,27 @@ |
| 129 | 129 | //龋齿状态 1:正常,2:异常 |
| 130 | 130 | private Integer qcNumType; |
| 131 | 131 | |
| 132 | + //高危结案状态 | |
| 133 | + private Integer settleType; | |
| 134 | + //高危结案时间 | |
| 135 | + private String settleTime; | |
| 136 | + | |
| 137 | + public Integer getSettleType() { | |
| 138 | + return settleType; | |
| 139 | + } | |
| 140 | + | |
| 141 | + public void setSettleType(Integer settleType) { | |
| 142 | + this.settleType = settleType; | |
| 143 | + } | |
| 144 | + | |
| 145 | + public String getSettleTime() { | |
| 146 | + return settleTime; | |
| 147 | + } | |
| 148 | + | |
| 149 | + public void setSettleTime(String settleTime) { | |
| 150 | + this.settleTime = settleTime; | |
| 151 | + } | |
| 152 | + | |
| 132 | 153 | public Integer getQcNumType() { |
| 133 | 154 | return qcNumType; |
| 134 | 155 | } |