Commit 36736b29c4415bf12bd0c375e991cea7cd118e4c

Authored by shiyang
1 parent 5f130bc792

隆化-儿童管理-儿保检查高危自动结案功能。全部儿童高危结案筛选

Showing 6 changed files with 174 additions and 1 deletions

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 }