From b9cead890fe8ed15a0b79a440f193da58e3fef65 Mon Sep 17 00:00:00 2001 From: wtt Date: Mon, 9 Nov 2020 15:25:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=BB=A6=E5=B9=B3=E5=88=86=E5=A8=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/enums/FetalPositionCDEnums.java | 89 ++++++++++++++++++++++ .../lyms/platform/pojo/MaternalDeliverModel.java | 11 +++ .../main/java/com/lyms/platform/pojo/Patients.java | 10 +++ .../com/lyms/platform/query/PatientsQuery.java | 15 +++- .../operate/web/facade/MatDeliverFacade.java | 27 ++++++- .../platform/operate/web/facade/PatientFacade.java | 2 +- .../platform/operate/web/facade/ViewFacade.java | 13 ++++ .../operate/web/request/MatDeliverAddRequest.java | 11 ++- .../web/request/RiskPatientsQueryRequest.java | 10 +++ .../operate/web/result/MaternalDeliverResult.java | 10 +++ .../operate/web/result/QuanChanResult.java | 11 +++ .../operate/web/worker/QuanChanPatientWorker.java | 41 +++++----- 12 files changed, 229 insertions(+), 21 deletions(-) create mode 100644 platform-common/src/main/java/com/lyms/platform/common/enums/FetalPositionCDEnums.java diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/FetalPositionCDEnums.java b/platform-common/src/main/java/com/lyms/platform/common/enums/FetalPositionCDEnums.java new file mode 100644 index 0000000..8b4e0bf --- /dev/null +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/FetalPositionCDEnums.java @@ -0,0 +1,89 @@ +package com.lyms.platform.common.enums; + +import org.apache.commons.lang.StringUtils; + +/** + * + * 胎方位枚举 + * + * Created by Administrator on 2016/6/21 0021. + */ +public enum FetalPositionCDEnums { + ONE1("左枕前","1"), + ONE2("左枕横","2"), + ONE3("左枕后","3"), + ONE4("右枕前","4"), + ONE5("右枕横","5"), + ONE6("右枕后","6"), + ONE7("左颏前","7"), + ONE8("左颏横","8"), + ONE9("左颏后","9"), + ONE10("右颏前","10"), + ONE11("右颏横","11"), + ONE12("右颏后","12"), + ONE13("额后位","13"), + ONE24("额前位","24"), + ONE14("左骶前","14"), + ONE15("左骶横","15"), + ONE16("左骶后","16"), + ONE17("右骶前","17"), + ONE18("右骶横","18"), + ONE19("右骶后","19"), + ONE20("左肩前","20"), + ONE21("左肩后","21"), + ONE22("右肩前","22"), + ONE23("右肩后","23"), + ONE31("左枕前复合左手","31"), + ONE26("左枕前复合右手","26"), + ONE27("右枕前复合左手","27"), + ONE28("右枕前复合右手","28"), + ONE29("正枕前位","29"), + ONE30("正枕后位","30"), + ONE25("不详","25"); + + public static String getTitle(String id){ + if (StringUtils.isNotEmpty(id)){ + for (FetalPositionCDEnums fetalPositionEnums: FetalPositionCDEnums.values()){ + if (fetalPositionEnums.getId().equals(id)){ + return fetalPositionEnums.getName(); + } + } + } + return null; + } + + public static String getTitle2(String id){ + if (StringUtils.isNotEmpty(id)){ + for (FetalPositionCDEnums fetalPositionEnums: FetalPositionCDEnums.values()){ + if (fetalPositionEnums.getId().equals(id)){ + return fetalPositionEnums.getName(); + } + } + } + return "--"; + } + + + private FetalPositionCDEnums(String name, String id){ + this.name=name; + this.id=id; + } + private String name; + private String id; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java index e276ce5..1b5a8e8 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java @@ -21,6 +21,9 @@ public class MaternalDeliverModel extends BaseModel { private static final long serialVersionUID = SerialIdEnum.MaternalDeliverModel.getCid(); private String id; + //分娩记录加住院管床大夫 + private String gcdfDoctorId; + /** * 新加字段 ***/ @@ -208,6 +211,14 @@ public class MaternalDeliverModel extends BaseModel { this.addressPostRest = addressPostRest; } + public String getGcdfDoctorId() { + return gcdfDoctorId; + } + + public void setGcdfDoctorId(String gcdfDoctorId) { + this.gcdfDoctorId = gcdfDoctorId; + } + public String getStreetRegisterId() { return streetRegisterId; } 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 d9e6e37..64f6942 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 @@ -276,6 +276,8 @@ public class Patients extends BaseModel { // 分娩相关信息 // 分娩医院 private String fmHospital; + //分娩记录加住院管床大夫 + private String gcdfDoctorId; // 分娩年龄 private Integer fmAge; // 分娩孕周 @@ -418,6 +420,14 @@ public class Patients extends BaseModel { return marriageCheck; } + public String getGcdfDoctorId() { + return gcdfDoctorId; + } + + public void setGcdfDoctorId(String gcdfDoctorId) { + this.gcdfDoctorId = gcdfDoctorId; + } + public void setMarriageCheck(Integer marriageCheck) { this.marriageCheck = marriageCheck; } 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 7a7a862..64bfb68 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 @@ -308,6 +308,8 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { // 分娩相关信息 // 分娩医院 private String fmHospital; + //分娩记录加住院管床大夫 + private String gcdfDoctorId; // 这个是分娩医院+建档医院的综合查询 private List fmHospitalQueryList; private List fmHospitalList; @@ -416,6 +418,14 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { this.noRlevel = noRlevel; } + public String getGcdfDoctorId() { + return gcdfDoctorId; + } + + public void setGcdfDoctorId(String gcdfDoctorId) { + this.gcdfDoctorId = gcdfDoctorId; + } + public boolean isHistory() { return isHistory; } @@ -841,7 +851,10 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { if (CollectionUtils.isNotEmpty(fmHospitalList)) { condition = condition.and("fmHospital", fmHospitalList, MongoOper.IN); } - + //分娩记录加住院管床大夫 + if (StringUtils.isNotEmpty(gcdfDoctorId)) { + condition = condition.and("gcdfDoctorId", gcdfDoctorId, MongoOper.IS); + } if (StringUtils.isNotEmpty(normal)) { if ("1".equals(normal)) 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 151e970..a1748dc 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 @@ -243,6 +243,7 @@ public class MatDeliverFacade { List babyList = new ArrayList <>(); MaternalDeliverModel maternalDeliverModel = deliverAddRequest.convertToDataModel(); + maternalDeliverModel.setGcdfDoctorId(deliverAddRequest.getGcdfDoctorId()); //分娩记录加住院管床大夫 //非卫计委出修改做区域隐藏建档 if (deliverAddRequest.getPatient() == null) { @@ -398,6 +399,7 @@ public class MatDeliverFacade { System.out.println(patients1.getId() + ":这条数据的末日月经和分娩时间异常"); // 跳过 } + patientsLocal.setGcdfDoctorId(deliverAddRequest.getGcdfDoctorId());//全部产妇管理要使用作为查询条件 // HuJiaqi添加结束 patientsService.updatePatient(patientsLocal); @@ -544,6 +546,7 @@ public class MatDeliverFacade { patients1.setModified(new Date()); patients1.setId(deliverAddRequest.getParentId()); patients1.setFmDate(fmDate); + patients1.setGcdfDoctorId(deliverAddRequest.getGcdfDoctorId());//全部产妇管理要使用作为查询条件 // HuJiaqi添加开始,这里冗余了分娩分娩医院,分娩年龄,分娩孕周,分娩方式,并将状态更改为产妇 patients1.setType(3); patients1.setIsAutoFm(YnEnums.NO.getId()); @@ -1553,9 +1556,19 @@ public class MatDeliverFacade { map.put("id", "-1"); map.put("name", doctorId); } + maternalDeliverResult.setDeliverDoctor(map); + //分娩记录加住院管床大夫 + if (StringUtils.isNotEmpty(deliverModel.getGcdfDoctorId())) { + Users users = usersService.getUsers(Integer.valueOf(deliverModel.getGcdfDoctorId())); + Map map1 = new HashMap<>(); + if (null != users) { + map1.put("id", users.getId() + ""); + map1.put("name", users.getName()); + } + maternalDeliverResult.setGcdfDoctorId(map1); + } - maternalDeliverResult.setDeliverDoctor(map); //督导医生 String supervisorDoctorId = deliverModel.getSupervisorDoctor(); if (StringUtils.isNotEmpty(supervisorDoctorId)) { @@ -1612,6 +1625,7 @@ public class MatDeliverFacade { map.put("getDeathCauseEnums", getDeathCauseEnums()); map.put("getTpmcTypeEnums", getTpmcTypeEnums()); map.put("getFetPosition", getFetPosition()); + map.put("getFetPositionCDDZ", getFetPositionCDDZ()); map.put("getFetal", getFetal()); map.put("getTaiShu", getTaiShu()); map.put("getTaiPan", getTaiPan()); @@ -1653,6 +1667,17 @@ public class MatDeliverFacade { return list; } + //胎方位(承德滦平定制) + public List getFetPositionCDDZ() { + List list = new ArrayList <>(); + for (FetalPositionCDEnums enums : FetalPositionCDEnums.values()) { + Map resultMap = new HashMap <>(); + resultMap.put("id", enums.getId()); + resultMap.put("name", enums.getName()); + list.add(resultMap); + } + return list; + } //胎先露 public List getFetal() { List list = new ArrayList <>(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java index fc6d923..b323dbc 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java @@ -659,7 +659,7 @@ public class PatientFacade { public BaseResponse queryHighRisk(RiskPatientsQueryRequest riskPatientsQueryRequest, Boolean isHighRisk, Integer type, Integer userId, String needPage, boolean isRegion) { //组合请求 PatientsQuery patientsQuery = complayRequest(riskPatientsQueryRequest, isHighRisk, type, userId, needPage, isRegion); - + patientsQuery.setGcdfDoctorId( riskPatientsQueryRequest.getGcdfDoctorId());//分娩记录加住院管床大夫 String hospital = autoMatchFacade.getHospitalId(userId); //查询符合条件的孕妇 StopWatch stopWatch = new StopWatch("queryPatient1 -" + hospital); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java index e7e2e3a..b844baf 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java @@ -3626,6 +3626,19 @@ public class ViewFacade { Map map = new HashMap <>(); map.put("id", data.getId()); + if (StringUtils.isNotEmpty(data.getGcdfDoctorId())) { + Users users = usersService.getUsers(Integer.valueOf(data.getGcdfDoctorId())); + Map map1 = new HashMap<>(); + if (null != users) { + map.put("gcdfDoctorId", users.getName()); + } + } + if (StringUtils.isNotEmpty( data.getGcdfDoctorId())) { + Users users = usersService.getUsers(Integer.valueOf( data.getGcdfDoctorId())); + if (null != users) { + map.put("gcdfDoctorId", users.getName()); + } + } if (StringUtils.isNotEmpty(data.getFmType())) { map.put("fmType", FmTypeEnums.getFmDzNameById(data.getFmType())); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatDeliverAddRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatDeliverAddRequest.java index 82ba7a9..be34dd8 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatDeliverAddRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/MatDeliverAddRequest.java @@ -30,7 +30,8 @@ public class MatDeliverAddRequest implements IBasicRequestConvert fmHospital; //接生医生 private Map deliverDoctor; + //分娩记录加住院管床大夫 + private Map gcdfDoctorId; //督导医生 private Map supervisorDoctor; @@ -128,6 +130,14 @@ public class MaternalDeliverResult { return handDueWeek; } + public Map getGcdfDoctorId() { + return gcdfDoctorId; + } + + public void setGcdfDoctorId(Map gcdfDoctorId) { + this.gcdfDoctorId = gcdfDoctorId; + } + public void setHandDueWeek(Map handDueWeek) { this.handDueWeek = handDueWeek; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/QuanChanResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/QuanChanResult.java index d51cb86..e7519f4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/QuanChanResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/QuanChanResult.java @@ -16,6 +16,9 @@ import java.util.Map; */ public class QuanChanResult implements IBasicResultConvert { public static final String SPIT = "-"; + //分娩记录加住院管床大夫 + private String gcdfDoctorId; + private String id; //名称 private String name; @@ -107,6 +110,14 @@ public class QuanChanResult implements IBasicResultConvert * Created by Administrator on 2016/10/13 0013. */ -public class QuanChanPatientWorker implements Callable> { +public class QuanChanPatientWorker implements Callable > { private static final Logger logger = LoggerFactory.getLogger(PatientFacade.class); - private List patientses; + private List patientses; private PatientsService patientsService; @@ -55,7 +55,7 @@ public class QuanChanPatientWorker implements Callable> { private DischargeAbstractMotherService dischargeAbstractMotherService; private MatDeliverFollowService matDeliverFollowService; - public QuanChanPatientWorker(List patientses, + public QuanChanPatientWorker(List patientses, String hospital, UsersService usersService, PostReviewService postReviewService, @@ -78,8 +78,8 @@ public class QuanChanPatientWorker implements Callable> { @Override - public List call() throws Exception { - List data = new ArrayList<>(); + public List call() throws Exception { + List data = new ArrayList <>(); AntExQuery antExQuery = new AntExQuery(); AntExChuQuery antExChuQuery1 = new AntExChuQuery();//初诊 antExChuQuery1.setYn(YnEnums.YES.getId()); @@ -102,9 +102,9 @@ public class QuanChanPatientWorker implements Callable> { //antExChuQuery1.setParentId(patients.getId()); //增加查询本次产程条数 antExChuQuery1.setStart(patients.getLastMenses()); - List chu = antExService.queryAntExChu(antExChuQuery1.convertToQuery()); + List chu = antExService.queryAntExChu(antExChuQuery1.convertToQuery()); //复诊次数 - List ant = null; + List ant = null; int i = 0; if (CollectionUtils.isNotEmpty(chu)) { for (AntExChuModel a : chu) {//唐山滦县导出判断初诊是否是本院 @@ -162,7 +162,7 @@ public class QuanChanPatientWorker implements Callable> { DischargeAbstractMotherQuery dischargeAbstractMotherQuery = new DischargeAbstractMotherQuery(); dischargeAbstractMotherQuery.setYn(YnEnums.YES.getId()); dischargeAbstractMotherQuery.setPatientId(patients.getId()); - List dischargeAbstractMotherModels = dischargeAbstractMotherService.query(dischargeAbstractMotherQuery); + List dischargeAbstractMotherModels = dischargeAbstractMotherService.query(dischargeAbstractMotherQuery); if (dischargeAbstractMotherModels != null && dischargeAbstractMotherModels.size() > 0) { chanResult.setCyxj("有"); } else { @@ -171,7 +171,7 @@ public class QuanChanPatientWorker implements Callable> { //产后访视 MatDeliverFollowQuery mfQuery = new MatDeliverFollowQuery(); mfQuery.setPid(patients.getPid()); - List maternalDeliverList = matDeliverFollowService.query(mfQuery); + List maternalDeliverList = matDeliverFollowService.query(mfQuery); if (maternalDeliverList != null && maternalDeliverList.size() > 0) { chanResult.setChfs("有"); } else { @@ -181,7 +181,7 @@ public class QuanChanPatientWorker implements Callable> { pReviewQuery.setYn(YnEnums.YES.getId()); pReviewQuery.setParentId(patients.getId()); //产后复查记录 - List reviewModels = postReviewService.findWithList(pReviewQuery); + List reviewModels = postReviewService.findWithList(pReviewQuery); if (reviewModels != null && reviewModels.size() > 0) { chanResult.setChfc("有"); } else { @@ -222,7 +222,7 @@ public class QuanChanPatientWorker implements Callable> { matDeliverQuery.setCreatedStart(patients.getLastMenses()); matDeliverQuery.setYn(YnEnums.YES.getId()); stopWatch.start("query matdeliver"); - List maternalDeliverModels = matDeliverService.query(matDeliverQuery); + List maternalDeliverModels = matDeliverService.query(matDeliverQuery); if (CollectionUtils.isNotEmpty(maternalDeliverModels)) { chanResult.setTireNumber(TaiShuEnums.getTitle(maternalDeliverModels.get(0).getTireNumber() + "")); try { @@ -230,6 +230,14 @@ public class QuanChanPatientWorker implements Callable> { } catch (Exception e) { chanResult.setfCh(""); } + if (StringUtils.isNotEmpty(maternalDeliverModels.get(0).getGcdfDoctorId())) { + Users users = usersService.getUsers(Integer.valueOf(maternalDeliverModels.get(0).getGcdfDoctorId())); + Map map1 = new HashMap <>(); + if (null != users) { + chanResult.setGcdfDoctorId(users.getName());//分娩时的管床大夫 + } + } + } stopWatch.stop(); //复查次数 @@ -243,13 +251,13 @@ public class QuanChanPatientWorker implements Callable> { patientsQuery.setYn(YnEnums.YES.getId()); patientsQuery.setPid(patients.getPid()); patientsQuery.setLastMensesStart(patients.getFmDate()); - List patientses = patientsService.queryPatient(patientsQuery); + List patientses = patientsService.queryPatient(patientsQuery); if (CollectionUtils.isNotEmpty(patientses)) { postReviewQuery.setEnd(patientses.get(0).getLastMenses()); } stopWatch.start("query postreview list"); - List withList = postReviewService.findWithList(postReviewQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); + List withList = postReviewService.findWithList(postReviewQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); if (CollectionUtils.isNotEmpty(withList)) { Users users = usersService.getUsers(NumberUtils.toInt(withList.get(0).getProdDoctor())); if (null != users) { @@ -286,7 +294,7 @@ public class QuanChanPatientWorker implements Callable> { //高危因素 - List factor = patients.getRiskFactorId(); + List factor = patients.getRiskFactorId(); if (CollectionUtils.isNotEmpty(factor)) { StringBuilder sb = new StringBuilder(56); for (String srt : factor) { @@ -314,7 +322,7 @@ public class QuanChanPatientWorker implements Callable> { List level = new ArrayList(); if (StringUtils.isNotEmpty(patients.getRiskLevelId())) { try { - List list = JsonUtil.jkstr2Obj(patients.getRiskLevelId(), List.class); + List list = JsonUtil.jkstr2Obj(patients.getRiskLevelId(), List.class); for (String str : list) { BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(str); if (null != basicConfig) { @@ -339,8 +347,7 @@ public class QuanChanPatientWorker implements Callable> { data.add(chanResult); logger.debug(stopWatch.toString()); } - }catch (Exception e) - { + } catch (Exception e) { ExceptionUtils.catchException(e, "convertToQuanCPatient get result error."); } -- 1.8.3.1