From 87bd72b39e786ad7815607e85766aa13aba2ae1f Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Tue, 10 May 2016 10:36:17 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A4=BE=E5=8C=BA=E6=9C=8D=E5=8A=A1-=E5=A6=82?= =?UTF-8?q?=E6=9E=9C=E4=BF=AE=E6=94=B9=E4=BA=86=E5=88=86=E5=A8=A9=E6=97=B6?= =?UTF-8?q?=E9=97=B4=EF=BC=88=E6=96=B0=E7=94=9F=E5=84=BF=E5=87=BA=E7=94=9F?= =?UTF-8?q?=E6=97=B6=E9=97=B4=EF=BC=89=EF=BC=8C=E5=88=99=E4=BA=A7=E5=A6=87?= =?UTF-8?q?=E5=92=8C=E6=96=B0=E7=94=9F=E5=84=BF=E7=9A=84=E6=AF=8F=E4=B8=AA?= =?UTF-8?q?=E8=AE=BF=E8=A7=86=E8=AE=B0=E5=BD=95=E7=9A=84=E6=A0=91=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E4=B8=AD=E7=9A=84=E5=A4=A9=E6=95=B0=E8=A6=81=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E6=9B=B4=E6=94=B9=E5=90=8E=E5=88=86=E5=A8=A9=E6=97=B6?= =?UTF-8?q?=E9=97=B4=EF=BC=88=E5=87=BA=E7=94=9F=E6=97=B6=E9=97=B4=EF=BC=89?= =?UTF-8?q?=E9=87=8D=E6=96=B0=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/operate/web/facade/VisitFacade.java | 121 ++++++++++++++++----- 1 file changed, 93 insertions(+), 28 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/VisitFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/VisitFacade.java index 37c3b83..c7fa4cd 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/VisitFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/VisitFacade.java @@ -7,6 +7,7 @@ import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.ExceptionUtils; import com.lyms.platform.operate.web.request.BabyVisitAddRequest; import com.lyms.platform.operate.web.request.VisitAddRequest; import com.lyms.platform.operate.web.request.VisitAddRequest.SimpleVisitPuerpera; @@ -74,14 +75,14 @@ public class VisitFacade { if (null != puerperaModel) { return doBiz(puerperaModel); } - BabyModelQuery babyModelQuery =new BabyModelQuery(); + BabyModelQuery babyModelQuery = new BabyModelQuery(); babyModelQuery.setYn(YnEnums.YES.getId()); babyModelQuery.setMphone(cardNo); - List babyModels = babyService.queryBabyWithQuery(babyModelQuery); + List babyModels = babyService.queryBabyWithQuery(babyModelQuery); - if(CollectionUtils.isNotEmpty(babyModels)){ + if (CollectionUtils.isNotEmpty(babyModels)) { VisitResult data = new VisitResult(); - BabyModel babyModel = babyModels.get(0); + BabyModel babyModel = babyModels.get(0); data.convertToResult1(babyModel, CommonsHelper.fullAddress(babyModel, basicConfigService)); data.setData(Collections.EMPTY_LIST); return new BaseObjectResponse().setData(data).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); @@ -144,7 +145,7 @@ public class VisitFacade { // 获取患者id String parentId = visitRequest.getParentId(); String checkTime = visitRequest.getCheckTime(); - if (StringUtils.isNotEmpty(checkTime)&&null!=visitRequest.getPatients().getDueDate()) { + if (StringUtils.isNotEmpty(checkTime) && null != visitRequest.getPatients().getDueDate()) { boolean f = DateUtil.parseYMD(checkTime).before(visitRequest.getPatients().getDueDate()); if (f) { return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("检查时间必须大于分娩时间"); @@ -162,7 +163,13 @@ public class VisitFacade { SimpleVisitPuerpera srcModel = visitRequest.new SimpleVisitPuerpera(model); // 和数据库里面的对象比较如果不等就表示有修改需存入到数据库中 if (!destModel.equals(srcModel)) { - Patients patients = visitRequest.getPatients(); + Patients patients = visitRequest.getPatients(); + //判断分娩日期是否修改 + if (null != model.getDueDate() && !visitRequest.getDueDate().equals(DateUtil.getyyyy_MM_dd(model.getDueDate()))) { + //修改访视后的天数 + updateVisitDays(model.getId(), patients.getDueDate()); + } + patients.setCreated(new Date()); patients.setModified(new Date()); patientsService.updatePatient(patients/*.build()*/); @@ -173,7 +180,7 @@ public class VisitFacade { } else { // 表示是新的产妇直接新增 // parentId = puerperaService.addPuerpera(visitRequest.getPuerpera().build()).getId(); - parentId= addOnePatients(visitRequest.getPatients()); + parentId = addOnePatients(visitRequest.getPatients()); } // 如果为空表示新增 @@ -187,7 +194,7 @@ public class VisitFacade { visitModel.setId(null); visitService.addVisit(visitModel); } else { - VisitModel visitModel = visitRequest.getRequestVisit(); + VisitModel visitModel = visitRequest.getRequestVisit(); visitModel.setModified(new Date()); visitService.updateVisit(visitModel); } @@ -200,28 +207,83 @@ public class VisitFacade { } /** + * 修改访视的天数 * + * @param parentId 产妇id + * @param dueDate 分娩日期 + */ + private void updateVisitDays(String parentId, Date dueDate) { + VisitQuery visitQuery = new VisitQuery(); + visitQuery.setParentId(parentId); + + List list = visitService.queryVisit(visitQuery); + if (CollectionUtils.isNotEmpty(list)) { + for (VisitModel visitModel : list) { + try { + visitModel.setDays((DateUtil.getDays(dueDate, DateUtil.parseYMD(visitModel.getChecktime())) + 1) + ""); + visitService.updateVisit(visitModel); + } catch (Exception e) { + ExceptionUtils.catchException(e, "updateVisitDays by parentId : " + parentId + " and visit model id:" + visitModel.getId()); + } + } + } + updateBabyVisitDays(parentId, dueDate, null); + } + + /** + * 修改小孩的访视天数 + */ + private void updateBabyVisitDays(String parentId, Date dueDate, String id) { + BabyModelQuery babyModelQuery = new BabyModelQuery(); + if (StringUtils.isNotEmpty(parentId)) { + babyModelQuery.setParentId(parentId); + } + if (StringUtils.isNotEmpty(id)) { + babyModelQuery.setId(id); + } + babyModelQuery.setYn(YnEnums.YES.getId()); + List babyModels = babyService.queryBabyWithQuery(babyModelQuery); + if (CollectionUtils.isNotEmpty(babyModels)) { + for (BabyModel babyModel : babyModels) { + List babyVisits = babyVisitService.findAllVisitByParentId(babyModel.getId()); + if (CollectionUtils.isNotEmpty(babyVisits)) { + for (BabyVisitModel babyVisitModel : babyVisits) { + babyVisitModel.setDays((DateUtil.getDays(dueDate, babyVisitModel.getCurrentVisit()) + 1) + ""); + babyVisitService.updateOneBabyVisit(babyVisitModel, babyVisitModel.getId()); + } + } + //id为空表示是产妇预产期修改引发的修改小孩,如果id不为空。表示小孩数据已修改 不用在修改小孩的数据 + if (StringUtils.isEmpty(id)) { + babyModel.setBirth(dueDate); + babyService.updateOneBaby(babyModel, babyModel.getId()); + } + } + } + } + + + /** * 增加一个患者并根据患者的手机号去关联小孩的数据 * * @param patients * @return */ - public String addOnePatients(Patients patients){ + public String addOnePatients(Patients patients) { patients.setType(3); patients.setYn(YnEnums.YES.getId()); patients.setId(null); patients.setCreated(new Date()); patients.setModified(new Date()); patients.setIsVisit(VisitStatusEnums.UNVISIT.getId()); - String parentId = patientsService.addPatient(patients).getId(); + String parentId = patientsService.addPatient(patients).getId(); BabyModelQuery babyModelQuery = new BabyModelQuery(); babyModelQuery.setMphone(patients.getPhone()); babyModelQuery.setYn(YnEnums.YES.getId()); BabyModel babyModel = new BabyModel(); babyModel.setParentId(parentId); - babyService.findAndModify(babyModelQuery.convertToQuery(),babyModel); - return parentId; + babyService.findAndModify(babyModelQuery.convertToQuery(), babyModel); + return parentId; } /** @@ -241,9 +303,9 @@ public class VisitFacade { String babyId = babyVisitAddRequest.getParentId(); String currentTime = babyVisitAddRequest.getCurrentVisit(); - if (StringUtils.isNotEmpty(currentTime)&&StringUtils.isNotEmpty(babyVisitAddRequest.getBirth())) { - Date currentVisit = DateUtil.parseYMD(babyVisitAddRequest.getCurrentVisit()); - Date birth = DateUtil.parseYMD(babyVisitAddRequest.getBirth()); + if (StringUtils.isNotEmpty(currentTime) && StringUtils.isNotEmpty(babyVisitAddRequest.getBirth())) { + Date currentVisit = DateUtil.parseYMD(babyVisitAddRequest.getCurrentVisit()); + Date birth = DateUtil.parseYMD(babyVisitAddRequest.getBirth()); boolean f = currentVisit.before(birth); if (f) { return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("检查时间必须大于小孩出生时间"); @@ -265,14 +327,18 @@ public class VisitFacade { babyModel.setVisitstatus(VisitStatusEnums.UNVISIT.getId()); babyId = babyService.addOneBaby(babyModel).getId(); } else { - BabyModel babyModel= babyVisitAddRequest.getBabyModel(); + BabyModel babyModel = babyVisitAddRequest.getBabyModel(); PatientsQuery patientsQuery = new PatientsQuery(); patientsQuery.setPhone(babyModel.getMphone()); patientsQuery.setType(3); List patientses = patientsService.queryPatient(patientsQuery); - if(CollectionUtils.isNotEmpty(patientses)){ + if (CollectionUtils.isNotEmpty(patientses)) { babyModel.setParentId(patientses.get(0).getId()); } + BabyModel babyModel1 = babyService.getOneBabyById(babyId); + if ((null != babyModel.getBirth() && null == babyModel1.getBirth()) || (!DateUtil.getyyyy_MM_dd(babyModel.getBirth()).equals(DateUtil.getyyyy_MM_dd(babyModel1.getBirth())))) { + updateBabyVisitDays(null, babyModel.getBirth(), babyModel1.getId()); + } //修改小孩基本信息 babyService.updateOneBaby(babyModel, babyId); } @@ -293,17 +359,16 @@ public class VisitFacade { return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } - public String getFindTips(String parentId,boolean isM) { + public String getFindTips(String parentId, boolean isM) { VisitQuery visitQuery = new VisitQuery(); visitQuery.setParentId(parentId); - int count =0; - if(isM){ + int count = 0; + if (isM) { - count= visitService.queryVisitCount(visitQuery); - }else - { - count=babyVisitService.queryVisitCount(visitQuery); + count = visitService.queryVisitCount(visitQuery); + } else { + count = babyVisitService.queryVisitCount(visitQuery); } return count <= 0 ? "未访视" : "访视" + count + "次"; @@ -327,15 +392,15 @@ public class VisitFacade { return findBabyVisit(babyModel); } - PatientsQuery patientsQuery =new PatientsQuery(); + PatientsQuery patientsQuery = new PatientsQuery(); patientsQuery.setYn(YnEnums.YES.getId()); patientsQuery.setType(3); patientsQuery.setPhone(cardNo); - List patientses = patientsService.queryPatient(patientsQuery); + List patientses = patientsService.queryPatient(patientsQuery); - if(CollectionUtils.isNotEmpty(patientses)){ - Patients patients = patientses.get(0); + if (CollectionUtils.isNotEmpty(patientses)) { + Patients patients = patientses.get(0); BabyVisitResult babyVisitResult = new BabyVisitResult(); babyVisitResult.convertToResult1(patients, CommonsHelper.fullAddress(patients, basicConfigService)); babyVisitResult.setData(Collections.EMPTY_LIST); -- 1.8.3.1