From e86cb3549425b8dbc138135f5afa4245bc7ce1b5 Mon Sep 17 00:00:00 2001 From: yangfei Date: Wed, 30 May 2018 14:58:18 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=A7=E6=89=BF=E9=AB=98=E5=8D=B1=E5=9B=A0?= =?UTF-8?q?=E6=95=B0=E5=92=8C=E7=AD=9B=E6=9F=A5=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/service/AntenatalExaminationService.java | 4 +- .../main/java/com/lyms/platform/pojo/Patients.java | 2 +- .../web/facade/AntenatalExaminationFacade.java | 265 ++++++++++----------- 3 files changed, 123 insertions(+), 148 deletions(-) diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntenatalExaminationService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntenatalExaminationService.java index 908f262..acbbbbf 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntenatalExaminationService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntenatalExaminationService.java @@ -104,7 +104,7 @@ public class AntenatalExaminationService { * @param type 1 初诊 2 复诊 */ public void updateAntExRecord(String id, int type) { - AntExRecordModel antExRecordModel = null; + AntExRecordModel antExRecordModel; if (type == 2) { AntenatalExaminationModel ant = findOneById(id); antExRecordModel = antExRecordService.convert(ant); @@ -119,7 +119,6 @@ public class AntenatalExaminationService { if (CollectionUtils.isNotEmpty(list)) { antExRecordService.batchUpdate(antExRecordModel,antExRecordQuery); } else { -// antExRecordQuery.setfId(null); antExRecordQuery.setParentId(antExRecordModel.getParentId()); antExRecordQuery.setcId(antExRecordModel.getCheckDoctor()); Integer count = antExRecordService.count(antExRecordQuery); @@ -128,7 +127,6 @@ public class AntenatalExaminationService { antExRecordService.addOneRecord(antExRecordModel); } } - //产检节点统计孕妇范围首次计算 handleCheckPoint(antExRecordModel.getPid()); } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java b/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java index 89ba8be..7f11ee6 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/Patients.java @@ -331,7 +331,7 @@ public class Patients extends BaseModel { //person表主键 private String pid; - //是否隐藏 0 隐藏 1 显示 + //是否隐藏 0 隐藏 1 显示 更改为:0,转诊建档,待接收 1,转诊建档,已接收 private String enable; //最后一次高危时间 private Date lastRhTime; 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 c886836..23455c3 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 @@ -274,8 +274,8 @@ public class AntenatalExaminationFacade { * @param antExAddRequest * @return */ - public BaseResponse addOneAntEx(final AntExAddRequest antExAddRequest, Integer userId) { - final String hospitalId = autoMatchFacade.getHospitalId(userId); + public BaseResponse addOneAntEx(AntExAddRequest antExAddRequest, Integer userId) { + String hospitalId = autoMatchFacade.getHospitalId(userId); AntenatalExaminationModel model = antExAddRequest.convertToDataModel(); //表示区域的 if (StringUtils.isNotEmpty(groupsFacade.findByCurrentUserId(hospitalId))) { @@ -288,42 +288,10 @@ public class AntenatalExaminationFacade { patientsService.validata(p); } - //如果有:修改转诊申请单状态 - updateApplyOrder(model, antExAddRequest.getParentId()); - if (StringUtils.isNotEmpty(antExAddRequest.getId())) { model.setHospitalId(hospitalId); model.setOperator(userId); antenatalExaminationService.updateOneAnt(model, antExAddRequest.getId()); - commonThreadPool.execute(new Runnable() { - @Override - public void run() { - //更新主档案或者子档案下次预约时间冗余到patient表的数据 - patientsService.updateNextCheckTime(antExAddRequest.getNextCheckTime(), antExAddRequest.getParentId()); - - Patients patients = patientsService.findOnePatientById(antExAddRequest.getParentId()); - //最后一次产检医生 - patients.setLastCheckEmployeeId(antExAddRequest.getCheckDoctor()); - - patientsService.updatePatient(patients); - - //修改孕妇高危等级 - updateLastRisk(antExAddRequest.getParentId()); - - //修改本院最后一次定义高危时间 - updateLastRhTime(patients.getId(), hospitalId); - - //修改最后一次检查时间 - setLashCTimes(antExAddRequest.getParentId()); - - //修改数据 - syncMaster(antExAddRequest.getParentId(), antExAddRequest.getNextCheckTime()); - - //复诊,修改产检管理 - antenatalExaminationService.updateAntExRecord(antExAddRequest.getId(), 2); - } - }); - AntExQuery antExQuery = new AntExQuery(); antExQuery.setId(antExAddRequest.getId()); List list = antenatalExaminationService.queryAntenatalExamination(antExQuery.convertToQuery()); @@ -340,13 +308,11 @@ public class AntenatalExaminationFacade { if (CollectionUtils.isNotEmpty(list)) { return new BaseResponse().setErrorcode(ErrorCodeConstants.DATA_EXIST).setErrormsg("同一天只能建一次复诊"); } - - final Patients patients = patientsService.findOnePatientById(antExAddRequest.getParentId()); + Patients patients = patientsService.findOnePatientById(antExAddRequest.getParentId()); model.setPid(patients.getPid()); antenatalExaminationService.addOneBabyAnt(model); - /** 验证产检券是否可用 可用就改为已使用状态 */ if (StringUtils.isNotBlank(antExAddRequest.getCouponCode()) && antExAddRequest.getCouponType() != null) { BaseObjectResponse resp = couponService.validate(antExAddRequest.getCouponCode(), antExAddRequest.getCouponType(), autoMatchFacade.getHospitalId(userId)); @@ -356,126 +322,135 @@ public class AntenatalExaminationFacade { couponService.use(autoMatchFacade.getHospitalId(userId), antExAddRequest.getCouponCode(), userId, model.getId()); } } - - - final String antId = model.getId(); - - commonThreadPool.execute(new Runnable() { - @Override - public void run() { - patientsService.updateNextCheckTime(antExAddRequest.getNextCheckTime(), antExAddRequest.getParentId()); - - Patients patients1 = new Patients(); - patients1.setId(patients.getId()); - //最后一次产检医生 - patients1.setLastCheckEmployeeId(antExAddRequest.getCheckDoctor()); - - if (StringUtils.isNotEmpty(patients.getEnable()) && "0".equals(patients.getEnable())) { - patients1.setEnable("1"); - } - - patientsService.updatePatient(patients1); - - //修改最后一次检查时间 - setLashCTimes(antExAddRequest.getParentId()); - - //修改孕妇高危等级 - //updatePatientRiskLevel(model, patients); - //修改孕妇高危 - updateLastRisk(antExAddRequest.getParentId()); - - //修改本院最后一次定义高危 - updateLastRhTime(patients.getId(), hospitalId); - - //修改数据 - syncMaster(antExAddRequest.getParentId(), antExAddRequest.getNextCheckTime()); - - //复诊,修改产检管理 - antenatalExaminationService.updateAntExRecord(antId, 2); - } - }); - - operateLogFacade.addAddOptLog(userId, Integer.parseInt(hospitalId), model, OptActionEnums.ADD.getId(), "添加复诊"); - //添加复诊时添加追访信息 addTrackDownInfo(userId, patients); } - //处理自定义高危状态为已使用状态 - highRiskFacade.dispHospHighRiskUse(model.getOtherRisk()); - + //自动数据处理 + updateAutoData(model, hospitalId); return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } - - //修改转诊单高危及诊断信息 - public void updateApplyOrder(final AntenatalExaminationModel antenatalExamination, final String parentId) { - + public void updateAutoData(final AntenatalExaminationModel antExamModel, final String hospitalId) { commonThreadPool.execute(new Runnable() { @Override public void run() { + try { + //更新主档案或者子档案下次预约时间冗余到patient表的数据 + patientsService.updateNextCheckTime(DateUtil.getyyyy_MM_dd(antExamModel.getNextCheckTime()), antExamModel.getParentId()); + } catch (Exception e) { + e.printStackTrace(); + } + try { + //修改孕妇高危等级 + updateLastRisk(antExamModel.getParentId()); + } catch (Exception e) { + e.printStackTrace(); + } + try { + //修改本院最后一次定义高危时间 + updateLastRhTime(antExamModel.getParentId(), hospitalId); + } catch (Exception e) { + e.printStackTrace(); + } + try { + //修改最后一次检查时间 + setLashCTimes(antExamModel.getParentId()); + } catch (Exception e) { + e.printStackTrace(); + } + try { + //修改数据//复诊,修改产检管理 + syncMaster(antExamModel.getParentId(), DateUtil.getyyyy_MM_dd(antExamModel.getNextCheckTime())); + } catch (Exception e) { + e.printStackTrace(); + } + try { + //如果有:修改转诊申请单状态 + updateApplyOrder(antExamModel, antExamModel.getParentId()); + } catch (Exception e) { + e.printStackTrace(); + } + try { + //处理自定义高危状态为已使用状态 + highRiskFacade.dispHospHighRiskUse(antExamModel.getOtherRisk()); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } - Patients patients = patientsService.findOnePatientById(parentId); - //建档类型 0 未分娩建档 1儿童建档时建档 2 自动分娩类型 3 转诊自动建档 - if (null != patients.getBuildType() && patients.getBuildType() == 3) { - ReferralApplyOrderQuery referralApplyOrderQuery = new ReferralApplyOrderQuery(); - referralApplyOrderQuery.setParentId(patients.getId()); - //申请单状态 1 已转出 2 接收转诊 - //转诊单状态为待接收状态 - List orderModelList = applyOrderService.queryReferralApplyOrderWithQuery(referralApplyOrderQuery); - if (CollectionUtils.isNotEmpty(orderModelList)) { - ReferralApplyOrderModel referralApplyOrderModel = orderModelList.get(0); - String outHospitalId = referralApplyOrderModel.getOutHospitalId(); - //查询转入申请单 - ReferralApplyOrderQuery referralApplyOrderQuery1 = new ReferralApplyOrderQuery(); - referralApplyOrderQuery1.setOutHospitalId(outHospitalId); - referralApplyOrderQuery1.setTransferredHospital(patients.getHospitalId()); - referralApplyOrderQuery1.setPid(patients.getPid()); - ReferralApplyOrderModel model1 = new ReferralApplyOrderModel(); - if (referralApplyOrderModel.getStatus() == 1) { - //设置接收时间 - model1.setReceived(antenatalExamination.getCheckDate()); - model1.setRecDoctor(antenatalExamination.getCheckDoctor()); - model1.setStatus(2); - model1.setModified(new Date()); - } - - model1.setScore(NumberUtils.toInt(antenatalExamination.getRiskScore())); - //其他诊断 - model1.setOtherDiagn(antenatalExamination.getDiagnosisOther()); - model1.setDiagnosis(antenatalExamination.getDiagnosis()); - List rlevel = Collections.emptyList(); - //风险等级颜色 - if (StringUtils.isNotEmpty(patients.getRiskLevelId()) && !"[]".equals(patients.getRiskLevelId())) { - rlevel = JsonUtil.jkstr2Obj(patients.getRiskLevelId(), List.class); - com.lyms.platform.operate.web.utils.CollectionUtils.removeDuplicate(rlevel, true); - } - model1.setrLevel(rlevel); - try { - //风险名称 - model1.setrRisk(queryRiskName(patients.getRiskFactorId())); - //高危集合ID - model1.setRiskFactorId(patients.getRiskFactorId()); - System.out.println("待修改转诊信息:" + model1.toString()); - } catch (Exception e) { - e.printStackTrace(); - } - //设置转入申请单的状态为接收 - applyOrderService.updateByParentId(referralApplyOrderQuery1, model1); - - //查询转出申请单 - ReferralApplyOrderQuery referralApplyOrderQuery2 = new ReferralApplyOrderQuery(); - referralApplyOrderQuery2.setOutHospitalId(patients.getHospitalId()); - referralApplyOrderQuery2.setTransferredHospital(outHospitalId); - referralApplyOrderQuery2.setPid(patients.getPid()); - //设置转出申请单的状态为接收 - applyOrderService.updateByParentId(referralApplyOrderQuery2, model1); - System.out.println("查询转诊条件:" + referralApplyOrderQuery.convertToQuery().convertToMongoQuery()); + //修改转诊单/最后一次产检医生,高危及诊断信息 + public void updateApplyOrder(final AntenatalExaminationModel antenatalExamination, final String parentId) { + Patients patients = patientsService.findOnePatientById(parentId); + if (patients != null) { + //最后一次产检医生 + patients.setLastCheckEmployeeId(antenatalExamination.getCheckDoctor()); + //0,转诊建档,待接收 1,转诊建档,已接收 + if (StringUtils.isNotEmpty(patients.getEnable()) && "0".equals(patients.getEnable())) { + patients.setEnable("1"); + } + //更新patient表 + patientsService.updatePatient(patients); + //建档类型 0 未分娩建档 1儿童建档时建档 2 自动分娩类型 3 转诊自动建档 + if (null != patients.getBuildType() && patients.getBuildType() == 3) { + ReferralApplyOrderQuery referralApplyOrderQuery = new ReferralApplyOrderQuery(); + referralApplyOrderQuery.setParentId(patients.getId()); + //申请单状态 1 已转出 2 接收转诊 + //转诊单状态为待接收状态 + List orderModelList = applyOrderService.queryReferralApplyOrderWithQuery(referralApplyOrderQuery); + if (CollectionUtils.isNotEmpty(orderModelList)) { + ReferralApplyOrderModel referralApplyOrderModel = orderModelList.get(0); + String outHospitalId = referralApplyOrderModel.getOutHospitalId(); + //查询转入申请单 + ReferralApplyOrderQuery referralApplyOrderQuery1 = new ReferralApplyOrderQuery(); + referralApplyOrderQuery1.setOutHospitalId(outHospitalId); + referralApplyOrderQuery1.setTransferredHospital(patients.getHospitalId()); + referralApplyOrderQuery1.setPid(patients.getPid()); + ReferralApplyOrderModel model1 = new ReferralApplyOrderModel(); + if (referralApplyOrderModel.getStatus() == 1) { + //设置接收时间 + model1.setReceived(antenatalExamination.getCheckDate()); + model1.setRecDoctor(antenatalExamination.getCheckDoctor()); + model1.setStatus(2); + model1.setModified(new Date()); + } + model1.setScore(NumberUtils.toInt(antenatalExamination.getRiskScore())); + //其他诊断 + model1.setOtherDiagn(antenatalExamination.getDiagnosisOther()); + model1.setDiagnosis(antenatalExamination.getDiagnosis()); + List rlevel = Collections.emptyList(); + //风险等级颜色 + if (StringUtils.isNotEmpty(patients.getRiskLevelId()) && !"[]".equals(patients.getRiskLevelId())) { + rlevel = JsonUtil.jkstr2Obj(patients.getRiskLevelId(), List.class); + com.lyms.platform.operate.web.utils.CollectionUtils.removeDuplicate(rlevel, true); + } + model1.setrLevel(rlevel); + try { + //风险名称 + model1.setrRisk(queryRiskName(patients.getRiskFactorId())); + //高危集合ID + model1.setRiskFactorId(patients.getRiskFactorId()); + System.out.println("待修改转诊信息:" + model1.toString()); + } catch (Exception e) { + e.printStackTrace(); } + //设置转入申请单的状态为接收 + applyOrderService.updateByParentId(referralApplyOrderQuery1, model1); + + //查询转出申请单 + ReferralApplyOrderQuery referralApplyOrderQuery2 = new ReferralApplyOrderQuery(); + referralApplyOrderQuery2.setOutHospitalId(patients.getHospitalId()); + referralApplyOrderQuery2.setTransferredHospital(outHospitalId); + referralApplyOrderQuery2.setPid(patients.getPid()); + //设置转出申请单的状态为接收 + applyOrderService.updateByParentId(referralApplyOrderQuery2, model1); + System.out.println("查询转诊条件:" + referralApplyOrderQuery.convertToQuery().convertToMongoQuery()); } } - }); + } } /** @@ -1239,7 +1214,8 @@ public class AntenatalExaminationFacade { /** * 处理自动分娩或终止妊娠的情况 */ - private void updateAutoMatdel(List patientses, List list, int i, Date dueDate, List sortList, List listDate, Map map) { + private void updateAutoMatdel(List patientses, List list, int i, Date dueDate, List + sortList, List listDate, Map map) { Iterator iterator = patientses.iterator(); Organization organization = null; String pid = ""; @@ -2099,7 +2075,8 @@ public class AntenatalExaminationFacade { * @param type 类型 1 孕妇 3 产妇 -1 不区分 * @param outHospital 是否需要查外院 */ - public Patients findOnePatient(String cardNo, String vcCardNo, String id, List hospitalId, Integer type, boolean outHospital, String pid, boolean isEnable) { + public Patients findOnePatient(String cardNo, String vcCardNo, String id, List hospitalId, Integer + type, boolean outHospital, String pid, boolean isEnable) { PatientsQuery patientsQuery = new PatientsQuery(); if (StringUtils.isNotEmpty(cardNo)) { patientsQuery.setCardNo(cardNo); -- 1.8.3.1