diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java index f8ea7cd..482ff0c 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java @@ -739,6 +739,27 @@ public class BabyModel extends BaseModel { //滦平儿童建档下次检查项 private String nextCheckItem; + //隆化-儿童建档-自动结案 1:未结案 2:已结案 + private Integer settleType; + //隆化-儿童建档-自动结案时间 + private Date settleTime; + + public Integer getSettleType() { + return settleType; + } + + public void setSettleType(Integer settleType) { + this.settleType = settleType; + } + + public Date getSettleTime() { + return settleTime; + } + + public void setSettleTime(Date settleTime) { + this.settleTime = settleTime; + } + public String getNextCheckItem() { return nextCheckItem; } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java index 379c736..914a83b 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java @@ -594,6 +594,39 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { private String asphyxiaMStart; private String asphyxiaMEnd; + /** + * 隆化儿保需求问题2022.1.4 + */ + //隆化-儿童建档-自动结案 1:未结案 2:已结案 + private Integer settleType; + //隆化-儿童建档-自动结案时间 + private Date settleTimeStart; + private Date settleTimeEnd; + + public Integer getSettleType() { + return settleType; + } + + public void setSettleType(Integer settleType) { + this.settleType = settleType; + } + + public Date getSettleTimeStart() { + return settleTimeStart; + } + + public void setSettleTimeStart(Date settleTimeStart) { + this.settleTimeStart = settleTimeStart; + } + + public Date getSettleTimeEnd() { + return settleTimeEnd; + } + + public void setSettleTimeEnd(Date settleTimeEnd) { + this.settleTimeEnd = settleTimeEnd; + } + public boolean isEncodedNe() { return encodedNe; } @@ -1719,6 +1752,9 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { if (StringUtils.isNotEmpty(clzffs)) { condition = condition.and("clzffs", clzffs, MongoOper.IS); } + if (null!=settleType) { + condition = condition.and("settleType", settleType, MongoOper.IS); + } Criteria c = null; if (null != birthStart) { @@ -1928,6 +1964,22 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { } } + /***高危结案时间查询***/ + if (null != settleTimeStart) { + if (null != c) { + c = c.and("settleTime").gte(settleTimeStart); + } else { + c = Criteria.where("settleTime").gte(settleTimeStart); + } + } + + if (null != settleTimeEnd) { + if (null != c) { + c = c.lte(settleTimeEnd); + } else { + c = Criteria.where("settleTime").lte(settleTimeEnd); + } + } /***预约时间查询***/ if (null != nextDateStart) { if (null != c) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java index 05365a4..30a7e7d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBuildController.java @@ -273,7 +273,9 @@ public class BabyBuildController extends BaseController { @RequestParam(value = "moderateAnaemia", required = false) String moderateAnaemia, @RequestParam(value = "heartMurmur", required = false) String heartMurmur, @RequestParam(value = "cyNumType", required = false) Integer cyNumType, - @RequestParam(value = "qcNumType", required = false) Integer qcNumType + @RequestParam(value = "qcNumType", required = false) Integer qcNumType, + @RequestParam(value = "settleType", required = false) Integer settleType, + @RequestParam(value = "settleTime", required = false) String settleTime ) { if (CollectionUtils.isNotEmpty(highRiskInfos)) { @@ -391,6 +393,10 @@ public class BabyBuildController extends BaseController { request.setCyNumType(cyNumType); //龋齿状态 request.setQcNumType(qcNumType); + //高危结案状态 + request.setSettleType(settleType); + //高危结案时间 + request.setSettleTime(settleTime); return babyBookbuildingFacade.queryBabyList(request, loginState.getId()); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java index 757b03c..4470079 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java @@ -3239,6 +3239,20 @@ public class BabyBookbuildingFacade { babyQuery.setNextDateEnd(DateUtil.parseYMD(dates[1])); } } + //隆化-筛选高危结案状态 + if(null!=request.getSettleType()){ + babyQuery.setSettleType(request.getSettleType()); + } + //隆化-高危结案时间 + if (StringUtils.isNotEmpty(request.getSettleTime())) { + String settleTime = request.getSettleTime(); + String[] dates = settleTime.split(" - "); + + babyQuery.setSettleTimeStart(DateUtil.parseYMD(dates[0])); + if (dates.length == 2) { + babyQuery.setSettleTimeEnd(DateUtil.parseYMD(dates[1])); + } + } //结案时间 if (StringUtils.isNotEmpty(request.getEndCaseTime())) { String endCaseTime = request.getEndCaseTime(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java index 8f9d78f..b58c87a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java @@ -165,6 +165,35 @@ public class BabyCheckFacade extends BaseServiceImpl { List models = babyCheckService.queryBabyCheckRecord(query); babyCheckService.updateBabyCheck(model, request.getId()); + //隆化-如果上次是高危这次没有高危就结案(儿童档案增加高危结案状态1:未结案2:已结案) + if (StringUtils.isNotEmpty(model.getBuildId())) { + BabyCheckModelQuery query2 = new BabyCheckModelQuery(); + query2.setBuildId(model.getBuildId()); + query2.setYn(YnEnums.YES.getId()); + List babyCheckModels = babyCheckService.queryBabyCheckRecord(query2); + //保证上次有检查,本次是健康 + if(CollectionUtils.isNotEmpty(babyCheckModels) && babyCheckModels.size()>1 && 0==request.getHighRisk()){ + //最后一次检查的上次检查是高危才结案 + if(babyCheckModels.get(0).getId()==request.getId() && 1==babyCheckModels.get(1).getHighRisk()){ + try { + settleCase(model.getBuildId()); + } catch (Exception e) { + e.printStackTrace(); + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("结案失败"); + } + } + } + //本次是高危 + if(CollectionUtils.isNotEmpty(babyCheckModels) && 1==request.getHighRisk()) { + //只判断最后一次检查(儿童档案增加高危结案状态1:未结案2:已结案) + if(babyCheckModels.get(0).getId()==request.getId()){ + BabyModel bm = new BabyModel(); + bm.setSettleType(1); + babyBookbuildingService.updateBabyBuild(bm,request.getBuildId()); + } + } + } + if (StringUtils.isNotEmpty(request.getNextDate())) { saveCheckItem(model.getNextDate(), request.getBuildId(), request.getConfigItemId(), model.getId(), hospitalId); @@ -784,6 +813,10 @@ public class BabyCheckFacade extends BaseServiceImpl { } bm.setLastCheckDoctor(request.getCheckDoctor()); bm.setDiseases(request.getDiseases()); + //隆化-高危儿结案(检查如果是高危,儿童档案增加高危结案状态1:未结案2:已结案) + if(request.getHighRisk()==1){ + bm.setSettleType(1); + } //秦皇岛-高危儿详情添加到儿童档案 bm.setQhdHighRiskInfo(CollectionUtils.isNotEmpty(request.getQhdHighRiskInfo())?request.getQhdHighRiskInfo():new ArrayList>()); babyBookbuildingService.updateBabyBuild(bm, request.getBuildId()); @@ -792,6 +825,25 @@ public class BabyCheckFacade extends BaseServiceImpl { model.setHospitalId(hospitalId); model.setCreated(new Date()); model = babyCheckService.addBabyCheck(model); + //隆化-如果上次是高危这次没有高危就结案(儿童档案增加高危结案状态1:未结案2:已结案) + if (StringUtils.isNotEmpty(model.getBuildId()) && 0==model.getHighRisk()) { + BabyCheckModelQuery query2 = new BabyCheckModelQuery(); + query2.setBuildId(model.getBuildId()); + query2.setYn(YnEnums.YES.getId()); + List babyCheckModels = babyCheckService.queryBabyCheckRecord(query2); + //保证上次有检查 + if(CollectionUtils.isNotEmpty(babyCheckModels) && babyCheckModels.size()>1){ + //上次检查是高危才结案 + if(1==babyCheckModels.get(1).getHighRisk()){ + try { + settleCase(model.getBuildId()); + } catch (Exception e) { + e.printStackTrace(); + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("结案失败"); + } + } + } + } //儿童检查自动诊断 @@ -5223,4 +5275,11 @@ public class BabyCheckFacade extends BaseServiceImpl { cnames.put("hemoglobin", "检查结果"); ResponseUtil.responseExcel(cnames, results, response); } + //隆化-如果上次是高危这次没有高危就结案(儿童档案增加高危结案状态1:未结案2:已结案) + public void settleCase(String buildId) throws Exception{ + BabyModel bm = new BabyModel(); + bm.setSettleType(2); + bm.setSettleTime(new Date()); + babyBookbuildingService.updateBabyBuild(bm,buildId); + } } \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyManageRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyManageRequest.java index 1c5db77..28d7918 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyManageRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyManageRequest.java @@ -129,6 +129,27 @@ public class BabyManageRequest extends BaseQuery { //龋齿状态 1:正常,2:异常 private Integer qcNumType; + //高危结案状态 + private Integer settleType; + //高危结案时间 + private String settleTime; + + public Integer getSettleType() { + return settleType; + } + + public void setSettleType(Integer settleType) { + this.settleType = settleType; + } + + public String getSettleTime() { + return settleTime; + } + + public void setSettleTime(String settleTime) { + this.settleTime = settleTime; + } + public Integer getQcNumType() { return qcNumType; }