From d18fa625a963c0d83f99ffc01ca9b3304078a2ab Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Fri, 16 Jun 2017 16:15:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../query/DischargeAbstractMotherQuery.java | 86 +++++++++++++++++++++- .../controller/DischargeAbstractController.java | 5 ++ .../web/facade/AntenatalExaminationFacade.java | 52 ++++++++++++- .../web/facade/DischargeAbstractFacade.java | 18 +++++ .../lyms/platform/operate/web/result/AntData.java | 14 +++- 5 files changed, 167 insertions(+), 8 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/query/DischargeAbstractMotherQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/DischargeAbstractMotherQuery.java index 0769afe..a5532e5 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/DischargeAbstractMotherQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/DischargeAbstractMotherQuery.java @@ -3,9 +3,12 @@ package com.lyms.platform.query; import com.lyms.platform.common.base.IConvertToNativeQuery; import com.lyms.platform.common.dao.BaseQuery; import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; import com.lyms.platform.common.dao.operator.MongoQuery; import org.springframework.data.mongodb.core.query.Criteria; +import java.util.Date; + /** * @auther HuJiaqi * @createTime 2016年12月06日 13时48分 @@ -20,6 +23,45 @@ public class DischargeAbstractMotherQuery extends BaseQuery implements IConvertT */ private String patientId; + private String pid; + + private Date start; + private Date end; + + private int yn=-1; + + public Date getStart() { + return start; + } + + public void setStart(Date start) { + this.start = start; + } + + public Date getEnd() { + return end; + } + + public void setEnd(Date end) { + this.end = end; + } + + public String getPid() { + return pid; + } + + public void setPid(String pid) { + this.pid = pid; + } + + public int getYn() { + return yn; + } + + public void setYn(int yn) { + this.yn = yn; + } + public String getPatientId() { return patientId; } @@ -30,8 +72,46 @@ public class DischargeAbstractMotherQuery extends BaseQuery implements IConvertT @Override public MongoQuery convertToQuery() { - Criteria criteria = new Criteria(); - criteria.and("patientId").is(patientId); - return new MongoCondition(criteria).toMongoQuery(); + MongoCondition condition = new MongoCondition(); + if (patientId != null) { + condition = condition.and("patientId", patientId, MongoOper.IS); + } + if (yn != -1) { + condition = condition.and("yn", yn, MongoOper.IS); + } + + if(pid!= null){ + condition = condition.and("pid", pid, MongoOper.IS); + } + + boolean isBirthStart = false; + Criteria c1 = condition.getCriteria(); + if (null != start) { + isBirthStart = true; + if (null != c1) { + c1 = c1.and("leaveHospitalDate").gte(start); + } else { + c1 = Criteria.where("leaveHospitalDate").gte(start); + } + } + + if (null != end) { + if (null != c1) { + if (isBirthStart) + { + c1 = c1.lte(end); + } + else + { + c1 = c1.and("leaveHospitalDate").lte(end); + } + } else { + c1 = Criteria.where("leaveHospitalDate").lte(end); + } + } + if (null != c1) { + condition = condition.andCondition(new MongoCondition(c1)); + } + return condition.toMongoQuery(); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/DischargeAbstractController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/DischargeAbstractController.java index 230ba75..da389ad 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/DischargeAbstractController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/DischargeAbstractController.java @@ -101,4 +101,9 @@ public class DischargeAbstractController extends BaseController { public BaseResponse delDisCharge(@RequestParam("id")String id){ return dischargeAbstractFacade.delDisCharge(id); } + + @RequestMapping(value = "correct", method = RequestMethod.GET) + public BaseResponse correctDisCharge(){ + return dischargeAbstractFacade.correctDisCharge(); + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java index dfce9a6..c6207e9 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java @@ -74,8 +74,10 @@ public class AntenatalExaminationFacade { @Autowired private CouponService couponService; -@Autowired + @Autowired private SieveService sieveService; + @Autowired + private DischargeAbstractMotherService dischargeAbstractMotherService; /** * 处理区域隐藏建档 * @@ -925,7 +927,6 @@ public class AntenatalExaminationFacade { List listData = new ArrayList(); Organization organization = null; PatientsQuery patientsQuery1 = new PatientsQuery(); -// patientsQuery1.setBookbuildingDateEnd(end); patientsQuery1.setLastMensesEnd(end); patientsQuery1.setBuildType(1); //在区域组的时候不用查询隐藏档案 @@ -934,7 +935,6 @@ public class AntenatalExaminationFacade { } if (listDate.size() > i + 1) { -// patientsQuery1.setBookbuildingDateStart(new Date(listDate.get(i + 1).getDate().getTime() + 86398000)); patientsQuery1.setLastMensesStart(new Date(listDate.get(i + 1).getDate().getTime() + 86398000)); } pid = list.get(0).getPid(); @@ -983,6 +983,29 @@ public class AntenatalExaminationFacade { listData.add(new AntData(stopPregs.get(0), patientses.get(0).getLastMenses(), null != organization ? organization.getName() : "")); } + + DischargeAbstractMotherQuery dischargeAbstractMotherQuery = new DischargeAbstractMotherQuery(); + dischargeAbstractMotherQuery.setPid(pid); + dischargeAbstractMotherQuery.setYn(YnEnums.YES.getId()); + if (list.size() - 1 > i) { + dischargeAbstractMotherQuery.setStart(dueDate); + if (CollectionUtils.isNotEmpty(listDate)) { + //下次建档记录前都是产后复查,如果没有下个产程的数据就直接显示 + if (listDate.size() > 1 && i > 1) { + dischargeAbstractMotherQuery.setEnd(listDate.get(i - 1).getDate()); + } + } + } + + List dischargeAbstractMotherModels=dischargeAbstractMotherService.query(dischargeAbstractMotherQuery); + + if(CollectionUtils.isNotEmpty(dischargeAbstractMotherModels)){ + for(DischargeAbstractMotherModel model:dischargeAbstractMotherModels){ + listData.add(new AntData(model, null != organization ? organization.getName() : "",dueDate)); + } + } + + //产后复查记录 List reviewModels = postReviewService.findWithList(postReviewQuery); if (CollectionUtils.isNotEmpty(reviewModels)) { @@ -1008,7 +1031,6 @@ public class AntenatalExaminationFacade { PatientsQuery patientsQuery1 = new PatientsQuery(); patientsQuery1.setYn(YnEnums.YES.getId()); patientsQuery1.setPid(pid); -// patientsQuery1.setBookbuildingDateStart(new Date(listDate.get(0).getDate().getTime())); patientsQuery1.setLastMensesStart(new Date(listDate.get(0).getDate().getTime())); patientsQuery1.setType(1); patientsQuery1.setBuildType(1); @@ -1159,6 +1181,28 @@ public class AntenatalExaminationFacade { listData.add(new AntData((MaternalDeliverModel) obj, patientses.get(0).getLastMenses(), null != organization ? organization.getName() : "")); } } + + DischargeAbstractMotherQuery dischargeAbstractMotherQuery = new DischargeAbstractMotherQuery(); + dischargeAbstractMotherQuery.setPid(pid); + dischargeAbstractMotherQuery.setYn(YnEnums.YES.getId()); + if (list.size() - 1 > i) { + dischargeAbstractMotherQuery.setStart(dueDate); + if (CollectionUtils.isNotEmpty(listDate)) { + //下次建档记录前都是产后复查,如果没有下个产程的数据就直接显示 + if (listDate.size() > 1 && i > 1) { + dischargeAbstractMotherQuery.setEnd(listDate.get(i - 1).getDate()); + } + } + } + + List dischargeAbstractMotherModels=dischargeAbstractMotherService.query(dischargeAbstractMotherQuery); + + if(CollectionUtils.isNotEmpty(dischargeAbstractMotherModels)){ + for(DischargeAbstractMotherModel model:dischargeAbstractMotherModels){ + listData.add(new AntData(model, null != organization ? organization.getName() : "",dueDate)); + } + } + //终止妊娠的情况 if(null!=patients.getDueStatus()&&1==patients.getDueStatus()){ StopPregQuery stopPregQuery=new StopPregQuery(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DischargeAbstractFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DischargeAbstractFacade.java index 35ac06b..94a1113 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DischargeAbstractFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DischargeAbstractFacade.java @@ -308,4 +308,22 @@ public class DischargeAbstractFacade { dischargeAbstractMotherService.update(dischargeAbstractMotherQueryModel); return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } + + + public BaseResponse correctDisCharge(){ + DischargeAbstractMotherQuery dischargeAbstractMotherQuery = new DischargeAbstractMotherQuery(); + dischargeAbstractMotherQuery.setYn(YnEnums.YES.getId()); + List models = dischargeAbstractMotherService.query(dischargeAbstractMotherQuery); + if(CollectionUtils.isNotEmpty(models)){ + for(DischargeAbstractMotherModel mode:models){ + Patients patients = patientsService.findOnePatientById(mode.getPatientId()); + if(null!=patients){ + mode.setHospitalId(patients.getHospitalId()); + mode.setpId(patients.getPid()); + dischargeAbstractMotherService.update(mode); + } + } + } + return new BaseResponse().setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION).setErrorcode(ErrorCodeConstants.SUCCESS); + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/AntData.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/AntData.java index 0b902ef..f12ded2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/AntData.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/AntData.java @@ -144,6 +144,18 @@ public class AntData extends BaseModel{ this.checkTime=DateUtil.getyyyy_MM_dd(postReviewModel.getCheckTime()); this.created=postReviewModel.getCheckTime(); this.title="产后复查"; + this.type="6"; + this.hospitalName=hospitalName; + this.hospitalId=postReviewModel.getHospitalId(); + } + public AntData(DischargeAbstractMotherModel postReviewModel,String hospitalName,Date dueDate) { + this.id=postReviewModel.getId(); + int days = DateUtil.daysBetween(dueDate,postReviewModel.getLeaveHospitalDate()); + this.dueWeek= "产后"+days+"天"; + this.dueDate=DateUtil.getyyyy_MM_dd(dueDate); + this.checkTime=DateUtil.getyyyy_MM_dd(postReviewModel.getLeaveHospitalDate()); + this.created=postReviewModel.getLeaveHospitalDate(); + this.title="出院小结"; this.type="5"; this.hospitalName=hospitalName; this.hospitalId=postReviewModel.getHospitalId(); @@ -156,7 +168,7 @@ public class AntData extends BaseModel{ this.checkTime=DateUtil.getyyyy_MM_dd(postReviewModel.getStopDate()); this.created=postReviewModel.getStopDate(); this.title="终止妊娠"; - this.type="6"; + this.type="7"; this.hospitalName=hospitalName; this.hospitalId=postReviewModel.getHospitalId(); } -- 1.8.3.1