diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/PatientSerEnums.java b/platform-common/src/main/java/com/lyms/platform/common/enums/PatientSerEnums.java index b46fd24..d10f1f4 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/enums/PatientSerEnums.java +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/PatientSerEnums.java @@ -13,7 +13,7 @@ import java.util.Map; public class PatientSerEnums { //服务类型(1-高危精准指导、2-体重、3-血糖、4-血压、5-专家咨询) public enum SerTypeEnums { - bzfw(6, "标准服务"), + bzfw(6, "围产小助理"), yqjzzd(1, "精准医疗指导"), tz(2, "体重管理"), xt(3, "血糖管理"), diff --git a/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java index c6b4de3..b28cfbf 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/MatDeliverQuery.java @@ -45,6 +45,7 @@ public class MatDeliverQuery extends BaseQuery implements IConvertToNativeQuery private String deliveryModeQueryJson; private String fmHospital; private List fmHospitalList; + private String fsHospital; /** * 预约联系结果(1-成功、2-失败) */ @@ -78,6 +79,14 @@ public class MatDeliverQuery extends BaseQuery implements IConvertToNativeQuery */ private String matFollowId; + public String getFsHospital() { + return fsHospital; + } + + public void setFsHospital(String fsHospital) { + this.fsHospital = fsHospital; + } + public Integer getHloseBloodType() { return hloseBloodType; } @@ -295,11 +304,19 @@ public class MatDeliverQuery extends BaseQuery implements IConvertToNativeQuery condition = condition.and("matFollowId", matFollowId, MongoOper.IS); } if (CollectionUtils.isNotEmpty(fmHospitalList)) { - condition = condition.and("fmHospital", fmHospitalList, MongoOper.IN); + if(fsHospital!=null){ + condition.orCondition(MongoCondition.newInstance("fmHospital", fmHospitalList, MongoOper.IN),MongoCondition.newInstance("fsHospital", fsHospital, MongoOper.IS)); + }else { + condition = condition.and("fmHospital", fmHospitalList, MongoOper.IN); + } } if (null != fmHospital) { - condition = condition.and("fmHospital", fmHospital, MongoOper.IS); + if(fsHospital!=null){ + condition.orCondition(MongoCondition.newInstance("fmHospital", fmHospital, MongoOper.IS),MongoCondition.newInstance("fsHospital", fsHospital, MongoOper.IS)); + }else { + condition = condition.and("fmHospital", fmHospital, MongoOper.IS); + } } if (null != deliveryModeQueryJson) { condition = condition.and("deliveryMode", deliveryModeQueryJson, MongoOper.LIKE); diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java index e7a8985..8aaeb6e 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java @@ -563,7 +563,6 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { // 这个是分娩医院+建档医院的综合查询 private List fmHospitalQueryList; private List fmHospitalList; - private List fsHospitalList; // 分娩年龄 private Integer fmAgeStart; private Integer fmAgeEnd; @@ -586,6 +585,7 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { private String blNum; + public Date getIsNextCheckTime() { return isNextCheckTime; } @@ -1383,11 +1383,10 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { MongoCondition c = MongoCondition.newInstance(); MongoCondition con1 = MongoCondition.newInstance("hospitalId", fmHospitalQueryList, MongoOper.IN); MongoCondition con2 = MongoCondition.newInstance("fmHospital", fmHospitalQueryList, MongoOper.IN); - MongoCondition con3 = MongoCondition.newInstance("fsHospital", fsHospitalList, MongoOper.IN); if (c1 != null) { - c1 = c1.andOperator(c.orCondition(new MongoCondition[]{con1, con2,con3}).getCriteria()); + c1 = c1.andOperator(c.orCondition(new MongoCondition[]{con1, con2}).getCriteria()); } else { - c1 = c.orCondition(new MongoCondition[]{con1, con2,con3}).getCriteria(); + c1 = c.orCondition(new MongoCondition[]{con1, con2}).getCriteria(); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java index 97d8972..929f64e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java @@ -204,21 +204,31 @@ public class MatDeliverFacade { return new BaseResponse().setErrormsg("您已分娩").setErrorcode(ErrorCodeConstants.DATA_EXIST); } Patients patients2 = patientsService.findOnePatientById(deliverAddRequest.getParentId()); - if(CollectionUtils.isNotEmpty(patients2.getChildExtAddrs())){ + if (CollectionUtils.isNotEmpty(patients2.getChildExtAddrs())) { List childExts = patients2.getChildExtAddrs(); - String extId = childExts.get(childExts.size()-1); + String extId = childExts.get(childExts.size() - 1); PostVisitHospitalModelQuery postQuery = new PostVisitHospitalModelQuery(); postQuery.setHosptialId(hospitalId); postQuery.setAreaTiters(Arrays.asList(extId)); List postVisitHospitalModels = postVisitHospitalService.queryPostVisitHospitalModel(postQuery); - if(CollectionUtils.isNotEmpty(postVisitHospitalModels)){ - PostVisitHospitalModel postVisitHospitalModel = postVisitHospitalModels.get(postVisitHospitalModels.size()-1); + if (CollectionUtils.isNotEmpty(postVisitHospitalModels)) { + PostVisitHospitalModel postVisitHospitalModel = postVisitHospitalModels.get(postVisitHospitalModels.size() - 1); + String postHosptial = postVisitHospitalModel.getPostHosptial(); + maternalDeliverModel.setFsHospital(postHosptial); + } + } else { + String streetId = patients2.getStreetPostRestId(); + PostVisitHospitalModelQuery postQuery = new PostVisitHospitalModelQuery(); + postQuery.setHosptialId(hospitalId); + postQuery.setAreaTiters(Arrays.asList(streetId)); + List postVisitHospitalModels = postVisitHospitalService.queryPostVisitHospitalModel(postQuery); + if (CollectionUtils.isNotEmpty(postVisitHospitalModels)) { + PostVisitHospitalModel postVisitHospitalModel = postVisitHospitalModels.get(postVisitHospitalModels.size() - 1); String postHosptial = postVisitHospitalModel.getPostHosptial(); maternalDeliverModel.setFsHospital(postHosptial); } } - matDeliverQuery.setDueDate(deliverAddRequest.getDueDate()); matDeliverQuery.setParentId(null); matDeliverQuery.setPid(patients2.getPid()); @@ -315,8 +325,8 @@ public class MatDeliverFacade { maternalDeliverModel.setYn(YnEnums.YES.getId()); //可能baby保存失败,所以导致babyId为null,这里为了处理打印出生医学证明 - for(MaternalDeliverModel.Baby baby:maternalDeliverModel.getBaby()){ - if(StringUtils.isEmpty(baby.getId())){//如果是空则创建一个uuid,但是baby表还是没有数据,处理办法是医生手动去建档(泉渝说) + for (MaternalDeliverModel.Baby baby : maternalDeliverModel.getBaby()) { + if (StringUtils.isEmpty(baby.getId())) {//如果是空则创建一个uuid,但是baby表还是没有数据,处理办法是医生手动去建档(泉渝说) baby.setId(com.lyms.platform.common.utils.StringUtils.uuid()); } } @@ -434,8 +444,7 @@ public class MatDeliverFacade { addTrackDownInfo(userId, patients2); //出生证明打印前修改孕妇基本信息 - if (deliverAddRequest.getPatient() != null) - { + if (deliverAddRequest.getPatient() != null) { Patients patient = bookbuildingFacade.getPatientsData(deliverAddRequest.getPatient()); patient.setId(deliverAddRequest.getParentId()); patientsService.updatePatient(patient); @@ -557,7 +566,7 @@ public class MatDeliverFacade { int day = DateUtil.getDays(patients.getLastMenses(), DateUtil.parseYMD(deliverAddRequest.getDueDate())); babyModel.setDueWeek(day / 7); int dueDay = day % 7; - babyModel.setDueDay(dueDay == 0 ? null : dueDay); + babyModel.setDueDay(dueDay == 0 ? null : dueDay); } } // 产妇分娩建档 @@ -605,7 +614,8 @@ public class MatDeliverFacade { * @param list * @return */ - private List updateBaby(MatDeliverAddRequest deliverAddRequest, List list, Date lastMenses) { + private List updateBaby(MatDeliverAddRequest deliverAddRequest, List list, Date + lastMenses) { List babyList = new ArrayList<>(); for (MatDeliverAddRequest.Baby baby : list) { MaternalDeliverModel.Baby babyModel = baby.convertToDataModel(); @@ -622,8 +632,7 @@ public class MatDeliverFacade { //修改分娩后自动建档了 的原因修改成这样 20180703 if ((RenShenJieJuEnums.O.getId() + "").equals(baby.getPregnancyOut())) { //判断是否已经建档 - if (CollectionUtils.isNotEmpty(updateBaby) && updateBaby.get(0).getDataStatus() != null && updateBaby.get(0).getDataStatus() == 0) - { + if (CollectionUtils.isNotEmpty(updateBaby) && updateBaby.get(0).getDataStatus() != null && updateBaby.get(0).getDataStatus() == 0) { babyModel1.setYn(YnEnums.YES.getId()); if (CollectionUtils.isNotEmpty(updateBaby)) { @@ -637,9 +646,7 @@ public class MatDeliverFacade { } } } - } - else - { + } else { babyModel1.setYn(YnEnums.NO.getId()); if (CollectionUtils.isNotEmpty(updateBaby)) { for (BabyModel babydel : updateBaby) { @@ -748,7 +755,10 @@ public class MatDeliverFacade { * @param parentId * @param userName */ - private void handBaby(MatDeliverAddRequest deliverAddRequest, List babyList, MaternalDeliverModel maternalDeliverModel, List list, List babyIds, String parentId, String userName, Patients patients, String hospital) { + private void handBaby(MatDeliverAddRequest + deliverAddRequest, List babyList, MaternalDeliverModel + maternalDeliverModel, List list, List babyIds, String parentId, String + userName, Patients patients, String hospital) { List babyName = buildBabyName(list); @@ -923,7 +933,7 @@ public class MatDeliverFacade { //聊城东昌府分娩界面通过住院号从his中查询到孕妇的身份号码,然后用身份证号码作为院内系统的查询条件查询孕妇信息 if ("2100001305".equals(hospital) && StringUtils.isNotEmpty(deliverQueryRequest.getZhuYuanNo())) { - //if ("1000000116".equals(hospital) && StringUtils.isNotEmpty(deliverQueryRequest.getZhuYuanNo())) { + //if ("1000000116".equals(hospital) && StringUtils.isNotEmpty(deliverQueryRequest.getZhuYuanNo())) { lcdcfHisModel = lcdcfHisService.getHisPatientByZyh(deliverQueryRequest.getZhuYuanNo()); if (lcdcfHisModel != null && StringUtils.isNotEmpty(lcdcfHisModel.getIdCard())) { deliverQueryRequest.setCardNo(lcdcfHisModel.getIdCard()); @@ -1081,8 +1091,7 @@ public class MatDeliverFacade { matDeliverListResult.setTireNumber1(tTireNumber); //聊城东昌府医院通过住院号查询分娩信息 然后回填到分娩界面 - if (lcdcfHisModel != null && StringUtils.isNotEmpty(deliverQueryRequest.getZhuYuanNo())) - { + if (lcdcfHisModel != null && StringUtils.isNotEmpty(deliverQueryRequest.getZhuYuanNo())) { matDeliverListResult.setDeliverData(lcdcfFmService.queryFmPatient(deliverQueryRequest.getZhuYuanNo())); } @@ -1414,6 +1423,8 @@ public class MatDeliverFacade { BaseListResponse listResponse = new BaseListResponse(); List matdeliverFollowListResults = new ArrayList<>(); + //根据用户id获取医院ID + String hospitalId = autoMatchFacade.getHospitalId(matdeliverFollowRequest.getOperatorId()); // 构造医院id集合 List hospitalList = new ArrayList<>(); @@ -1421,8 +1432,7 @@ public class MatDeliverFacade { if (StringUtils.isNotEmpty(matdeliverFollowRequest.getHospitalId())) { hospitalList.add(matdeliverFollowRequest.getHospitalId()); } else { - //根据用户id获取医院ID - String hospitalId = autoMatchFacade.getHospitalId(matdeliverFollowRequest.getOperatorId()); + //默认添加当前医院 hospitalList.add(hospitalId); @@ -1531,6 +1541,7 @@ public class MatDeliverFacade { } matDeliverQuery.setFmHospitalList(hospitalList); + matDeliverQuery.setFsHospital(hospitalId); matDeliverQuery.setContactResult(matdeliverFollowRequest.getContactResult()); if (matdeliverFollowRequest.getContactReason() != null) { matDeliverQuery.setContactResult(PostpartumFollowMakeEnums.ResultEnum.SB.getId()); @@ -1795,17 +1806,15 @@ public class MatDeliverFacade { end = maternalDeliverModelList.size(); } List mlist = maternalDeliverModelList.subList(i, end); - Callable c = new MaterDeliverWorker( organizationService, usersService, - babyService, basicConfigService,childbirthManagerRequest.getInitQuery(), - mlist,patientsMap); + Callable c = new MaterDeliverWorker(organizationService, usersService, + babyService, basicConfigService, childbirthManagerRequest.getInitQuery(), + mlist, patientsMap); Future f = commonThreadPool.submit(c); futures.add(f); } - if (CollectionUtils.isNotEmpty(futures)) - { - for (Future f : futures) - { + if (CollectionUtils.isNotEmpty(futures)) { + for (Future f : futures) { try { childbirthManagerQueryModelList.addAll((List) f.get()); } catch (Exception e) { @@ -1815,7 +1824,6 @@ public class MatDeliverFacade { } - // for (MaternalDeliverModel maternalDeliverModel : maternalDeliverModelList) { // Patients patients = patientsMap.get(maternalDeliverModel.getParentId()); // // 开始封装数据