From f12a24867f21457fc9c7368efcb0bf2bfd973c0e Mon Sep 17 00:00:00 2001 From: liquanyu Date: Sat, 31 Mar 2018 09:42:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=8D=E8=AF=8A=E4=BF=AE=E6=94=B9=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lyms/platform/biz/dal/impl/PatientDaoImpl.java | 2 +- .../lyms/platform/biz/service/PatientsService.java | 6 +- .../web/facade/AntenatalExaminationFacade.java | 156 ++++++++++++--------- 3 files changed, 95 insertions(+), 69 deletions(-) diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientDaoImpl.java index b94d1c8..1903a79 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientDaoImpl.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PatientDaoImpl.java @@ -41,7 +41,7 @@ public class PatientDaoImpl extends BaseMongoDAOImpl implements IPatie public void updatePatientOneCol(String id, Object colValue) { this.mongoTemplate.updateFirst(new Query(Criteria.where("id").is(id)), Update.update("nextCheckTime", colValue), Patients.class); //为了使修改为空的时候能够同步到线上 - updatePatient( findById(id), id); + //updatePatient( findById(id), id); } @Override diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java index 065ba9f..c1575ba 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java @@ -160,7 +160,7 @@ public class PatientsService { //修改主档 if (null != patients && StringUtils.isNotEmpty(patients.getSource())) { Patients p = findOnePatientById(patients.getSource()); - updatePatientOneCol(p.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) == true ? null : DateUtil.parseYMD(nextCheckTime)); + updatePatientOneCol(p.getId(), StringUtils.isEmpty(nextCheckTime) == true ? null : DateUtil.parseYMD(nextCheckTime)); } else if (null != patients) { PatientsQuery patientsQuery1 = new PatientsQuery(); patientsQuery1.setSource(id); @@ -168,11 +168,11 @@ public class PatientsService { List list = queryPatient(patientsQuery1); if (CollectionUtils.isNotEmpty(list)) { for (Patients p : list) { - updatePatientOneCol(p.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) == true ? null : DateUtil.parseYMD(nextCheckTime)); + updatePatientOneCol(p.getId(), StringUtils.isEmpty(nextCheckTime) == true ? null : DateUtil.parseYMD(nextCheckTime)); } } } - updatePatientOneCol(id, com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) == true ? null : DateUtil.parseYMD(nextCheckTime)); + //updatePatientOneCol(id, com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) == true ? null : DateUtil.parseYMD(nextCheckTime)); } } 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 d4ce5b6..1ec01fc 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 @@ -29,10 +29,12 @@ import org.apache.commons.lang.math.NumberUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Component; import org.springframework.util.StopWatch; @@ -108,6 +110,10 @@ public class AntenatalExaminationFacade { private HosptialHighRiskFacade highRiskFacade; @Autowired + @Qualifier("commonThreadPool") + private ThreadPoolTaskExecutor commonThreadPool; + + @Autowired private MeasureInfoFacade measureInfoFacade; @Autowired @@ -213,13 +219,13 @@ public class AntenatalExaminationFacade { p1.setRiskFactorId(patients.getRiskFactorId()); p1.setRiskLevelId(patients.getRiskLevelId()); p1.setRiskScore(patients.getRiskScore()); - p1.setNextCheckTime(com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) ? null : DateUtil.parseYMD(nextCheckTime)); + //-- p1.setNextCheckTime(com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) ? null : DateUtil.parseYMD(nextCheckTime)); p1.setFmDate(patients.getFmDate()); p1.setServiceStatus(patients.getServiceStatus()); p1.setLastCheckEmployeeId(patients.getLastCheckEmployeeId()); patientsService.updatePatient(p1); - patientsService.updatePatientOneCol(masterPatients.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) ? null : DateUtil.parseYMD(nextCheckTime)); + //--patientsService.updatePatientOneCol(masterPatients.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) ? null : DateUtil.parseYMD(nextCheckTime)); } else { PatientsQuery patientsQuery1 = new PatientsQuery(); patientsQuery1.setSource(parentId); @@ -239,12 +245,12 @@ public class AntenatalExaminationFacade { p1.setRiskFactorId(patients.getRiskFactorId()); p1.setRiskLevelId(patients.getRiskLevelId()); p1.setRiskScore(patients.getRiskScore()); - p1.setNextCheckTime(com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) ? null : DateUtil.parseYMD(nextCheckTime)); + //--p1.setNextCheckTime(com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) ? null : DateUtil.parseYMD(nextCheckTime)); p1.setFmDate(patients.getFmDate()); p1.setServiceStatus(patients.getServiceStatus()); p1.setLastCheckEmployeeId(patients.getLastCheckEmployeeId()); patientsService.updatePatient(p1); - patientsService.updatePatientOneCol(p.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) ? null : DateUtil.parseYMD(nextCheckTime)); + //--patientsService.updatePatientOneCol(p.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) ? null : DateUtil.parseYMD(nextCheckTime)); } } } @@ -257,19 +263,15 @@ public class AntenatalExaminationFacade { * @param antExAddRequest * @return */ - public BaseResponse addOneAntEx(AntExAddRequest antExAddRequest, Integer userId) { - String hospitalId = autoMatchFacade.getHospitalId(userId); + public BaseResponse addOneAntEx(final AntExAddRequest antExAddRequest, Integer userId) { + final String hospitalId = autoMatchFacade.getHospitalId(userId); AntenatalExaminationModel model = antExAddRequest.convertToDataModel(); //表示区域的 if (StringUtils.isNotEmpty(groupsFacade.findByCurrentUserId(hospitalId))) { String parentId = handHideBuild(antExAddRequest.getPid(), antExAddRequest.getParentId(), userId, 1); - if (StringUtils.isEmpty(parentId)) { - //打印日志 - } model.setParentId(parentId); antExAddRequest.setParentId(parentId); Patients p = patientsService.findOnePatientById(parentId); - //加入产筛 patientsService.validata(p); } @@ -282,27 +284,32 @@ public class AntenatalExaminationFacade { //修改申请单状态 updateApplyOrder(model, antExAddRequest.getParentId()); - Patients patients = patientsService.findOnePatientById(antExAddRequest.getParentId()); + commonThreadPool.execute(new Runnable() { + @Override + public void run() { + //更新主档案或者子档案下次预约时间冗余到patient表的数据 + patientsService.updateNextCheckTime(antExAddRequest.getNextCheckTime(), antExAddRequest.getParentId()); - patients.setLastCheckEmployeeId(antExAddRequest.getCheckDoctor()); - patientsService.updateNextCheckTime(antExAddRequest.getNextCheckTime(), patients.getId()); - patientsService.updatePatient(patients); - patientsService.updatePatientOneCol(patients.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(antExAddRequest.getNextCheckTime()) ? null : DateUtil.parseYMD(antExAddRequest.getNextCheckTime())); - //修改孕妇高危等级 - updateLastRisk(antExAddRequest.getParentId()); + Patients patients = patientsService.findOnePatientById(antExAddRequest.getParentId()); + patients.setLastCheckEmployeeId(antExAddRequest.getCheckDoctor()); + patientsService.updatePatient(patients); - //修改本院最后一次定义高危 - updateLastRhTime(patients.getId(), hospitalId); - //修改最后一次检查时间 - setLashCTimes(antExAddRequest.getParentId()); + //修改孕妇高危等级 + updateLastRisk(antExAddRequest.getParentId()); + //修改本院最后一次定义高危 + updateLastRhTime(patients.getId(), hospitalId); + //修改最后一次检查时间 + setLashCTimes(antExAddRequest.getParentId()); - //修改数据 - syncMaster(antExAddRequest.getParentId(), antExAddRequest.getNextCheckTime()); - //复诊,修改产检管理 - antenatalExaminationService.updateAntExRecord(antExAddRequest.getId(), 2); + //修改数据 + syncMaster(antExAddRequest.getParentId(), antExAddRequest.getNextCheckTime()); + //复诊,修改产检管理 + antenatalExaminationService.updateAntExRecord(antExAddRequest.getId(), 2); + } + }); AntExQuery antExQuery = new AntExQuery(); antExQuery.setId(antExAddRequest.getId()); @@ -321,25 +328,6 @@ public class AntenatalExaminationFacade { return new BaseResponse().setErrorcode(ErrorCodeConstants.DATA_EXIST).setErrormsg("同一天只能建一次复诊"); } - Patients patients = patientsService.findOnePatientById(antExAddRequest.getParentId()); - Patients patients1 = new Patients(); - patients1.setId(patients.getId()); - patients1.setLastCheckEmployeeId(antExAddRequest.getCheckDoctor()); - - model.setPid(patients.getPid()); - if (StringUtils.isNotEmpty(patients.getEnable()) && "0".equals(patients.getEnable())) { - patients1.setEnable("1"); - } - - patientsService.updateNextCheckTime(antExAddRequest.getNextCheckTime(), patients.getId()); - patientsService.updatePatient(patients1); - patientsService.updatePatientOneCol(patients.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(antExAddRequest.getNextCheckTime()) ? null : DateUtil.parseYMD(antExAddRequest.getNextCheckTime())); - - antenatalExaminationService.addOneBabyAnt(model); - - - operateLogFacade.addAddOptLog(userId, Integer.parseInt(hospitalId), model, OptActionEnums.ADD.getId(), "添加复诊"); - /** 验证产检券是否可用 可用就改为已使用状态 */ if (StringUtils.isNotBlank(antExAddRequest.getCouponCode()) && antExAddRequest.getCouponType() != null) { BaseObjectResponse resp = couponService.validate(antExAddRequest.getCouponCode(), antExAddRequest.getCouponType(), autoMatchFacade.getHospitalId(userId)); @@ -350,22 +338,52 @@ public class AntenatalExaminationFacade { } } - //修改最后一次检查时间 - setLashCTimes(antExAddRequest.getParentId()); //修改申请单状态 updateApplyOrder(model, antExAddRequest.getParentId()); - //修改孕妇高危等级 -// updatePatientRiskLevel(model, patients); - //修改孕妇高危 - updateLastRisk(antExAddRequest.getParentId()); - //修改本院最后一次定义高危 - updateLastRhTime(patients.getId(), hospitalId); + final Patients patients = patientsService.findOnePatientById(antExAddRequest.getParentId()); + model.setPid(patients.getPid()); + + antenatalExaminationService.addOneBabyAnt(model); + + 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()); + + } + }); - //修改数据 - syncMaster(antExAddRequest.getParentId(), antExAddRequest.getNextCheckTime()); //复诊,修改产检管理 antenatalExaminationService.updateAntExRecord(model.getId(), 2); + + operateLogFacade.addAddOptLog(userId, Integer.parseInt(hospitalId), model, OptActionEnums.ADD.getId(), "添加复诊"); + if (null != patients.getBuildType() && patients.getBuildType() == 3) { ReferralApplyOrderQuery referralApplyOrderQuery = new ReferralApplyOrderQuery(); referralApplyOrderQuery.setParentId(patients.getId()); @@ -405,19 +423,27 @@ public class AntenatalExaminationFacade { } - public void updateApplyOrder(AntenatalExaminationModel antenatalExamination, String parentId) { - ReferralApplyOrderQuery referralApplyOrderQuery = new ReferralApplyOrderQuery(); - referralApplyOrderQuery.setParentId(parentId); + public void updateApplyOrder(final AntenatalExaminationModel antenatalExamination, final String parentId) { + + commonThreadPool.execute(new Runnable() { + @Override + public void run() { + ReferralApplyOrderQuery referralApplyOrderQuery = new ReferralApplyOrderQuery(); + referralApplyOrderQuery.setParentId(parentId); + + ReferralApplyOrderModel referralApplyOrderModel = new ReferralApplyOrderModel(); + referralApplyOrderModel.setScore(NumberUtils.toInt(antenatalExamination.getRiskScore())); + try { + List l = JsonUtil.toList(antenatalExamination.getRiskFactor(), List.class); + referralApplyOrderModel.setrRisk(queryRiskName(l)); + } catch (Exception e) { + } + + applyOrderService.updateByParentId(referralApplyOrderQuery, referralApplyOrderModel); + } + }); - ReferralApplyOrderModel referralApplyOrderModel = new ReferralApplyOrderModel(); - referralApplyOrderModel.setScore(NumberUtils.toInt(antenatalExamination.getRiskScore())); - try { - List l = JsonUtil.toList(antenatalExamination.getRiskFactor(), List.class); - referralApplyOrderModel.setrRisk(queryRiskName(l)); - } catch (Exception e) { - } - applyOrderService.updateByParentId(referralApplyOrderQuery, referralApplyOrderModel); } /** -- 1.8.3.1