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 2fc38ec..dc81083 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 @@ -1103,7 +1103,7 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { if (StringUtils.isNotEmpty(rFactor)) { - condition = condition.and("riskFactorId", rFactor, MongoOper.LIKE); + condition = condition.and("riskFactorId", rFactor, MongoOper.IN); } else if(norFactor){ condition = condition.and("riskFactorId", new ArrayList(), MongoOper.NE); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ViewController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ViewController.java index 1744cfd..aad6b1a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ViewController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ViewController.java @@ -138,5 +138,16 @@ public class ViewController extends BaseController{ return viewFacade.getBabyCheckPageInfo(id); } + /** + * 妇女查看页面 + * @param id + * @return + */ + @RequestMapping(value = "/getResidentsPageById/{id}", method = RequestMethod.GET) + @ResponseBody + public BaseObjectResponse getResidentsPageById(@PathVariable("id")String id){ + return viewFacade.getResidentsPageById(id); + } + } 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 85533e6..5c8c273 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 @@ -217,6 +217,22 @@ public class PatientFacade { PatientsQuery patientsQuery = new PatientsQuery(); patientsQuery.setPhone(riskPatientsQueryRequest.getPhone()); patientsQuery.setCardNo(riskPatientsQueryRequest.getCardNo()); + + //add lqy 高危孕产妇统计需求 + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(riskPatientsQueryRequest.getType())) + { + if ("2".equals(riskPatientsQueryRequest.getType())) + { + //1孕妇 + patientsQuery.setType(1); + } + else if ("3".equals(riskPatientsQueryRequest.getType())) + { + //3产妇 + patientsQuery.setType(3); + } + } + //设置为孕妇 patientsQuery.setType(type); patientsQuery.setLikeName(riskPatientsQueryRequest.getName()); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RiskReportFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RiskReportFacade.java index 8c553d2..d9a96e1 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RiskReportFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RiskReportFacade.java @@ -63,10 +63,22 @@ public class RiskReportFacade { patientsQuery.setBuildTypeList(buildType); patientsQuery.setHospitalId(hospitalId); - //1孕妇 -// patientsQuery.setType(1); + if (StringUtils.isNotEmpty(riskPatientsQueryRequest.getType())) + { + if ("2".equals(riskPatientsQueryRequest.getType())) + { + //1孕妇 + patientsQuery.setType(1); + } + else if ("3".equals(riskPatientsQueryRequest.getType())) + { + //3产妇 + patientsQuery.setType(3); + } + } + // 0未终止妊娠 1终止妊娠 - patientsQuery.setDueStatus(0); + // patientsQuery.setDueStatus(0); //预产期 if (org.apache.commons.lang.StringUtils.isNotEmpty(riskPatientsQueryRequest.getDueDate())) { 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 b41f0de..b9b9bf4 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 @@ -9,10 +9,7 @@ import com.lyms.platform.common.utils.ExceptionUtils; import com.lyms.platform.common.utils.JsonUtil; import com.lyms.platform.common.utils.SystemConfig; import com.lyms.platform.operate.web.request.MatDeliverAddRequest; -import com.lyms.platform.operate.web.result.BabyCheckPageResult; -import com.lyms.platform.operate.web.result.BabyCheckResult; -import com.lyms.platform.operate.web.result.BabyPageResult; -import com.lyms.platform.operate.web.result.HighScoreResult; +import com.lyms.platform.operate.web.result.*; import com.lyms.platform.operate.web.utils.*; import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.Users; @@ -67,6 +64,9 @@ public class ViewFacade { @Autowired private BabyCheckService babyCheckService; + @Autowired + private ResidentsArchiveService residentsArchiveService; + /** * 建档查询 * @param id @@ -1604,7 +1604,20 @@ public class ViewFacade { checkModels = babyCheckService.queryBabyCheckRecord(query); if (checkModels != null && checkModels.size() > 0) { BabyCheckModel checkModel = checkModels.get(0); - result = getBabyCheckResult(checkModel); + + + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setId(checkModel.getBuildId()); + babyQuery.setYn(YnEnums.YES.getId()); + BabyModel babyModel = null; + List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); + if (CollectionUtils.isNotEmpty(models)) + { + babyModel = models.get(0); + } + result = getBabyCheckResult(checkModel,babyModel); + + } } br.setData(result); @@ -1614,13 +1627,83 @@ public class ViewFacade { } - private BabyCheckPageResult getBabyCheckResult(BabyCheckModel checkModel) { + private BabyCheckPageResult getBabyCheckResult(BabyCheckModel checkModel,BabyModel babyModel) { BabyCheckPageResult model = new BabyCheckPageResult(); + + if (babyModel != null) + { + model.setBabyName(babyModel.getName()); + model.setBabyBirthday(DateUtil.getyyyy_MM_dd(babyModel.getBirth())); + model.setMonthAge(DateUtil.getBabyMonthAge(babyModel.getBirth(), new Date())); + model.setMommyPhone(babyModel.getMphone()); + model.setMommyName(babyModel.getMname()); + model.setRemark(babyModel.getMremark()); + + model.setSex(SexEnum.getTextById(babyModel.getSex())); + + model.setMonthAge(DateUtil.getBabyMonthAge(babyModel.getBirth(), new Date())); + model.setCheckMonthAge(DateUtil.getBabyMonthAge(babyModel.getBirth(), checkModel.getCheckDate())); + + String buildDiagnose = ""; + + String buildDiagnoseStr = checkModel.getDiagnose(); + if (!com.lyms.platform.common.utils.StringUtils.isEmpty(buildDiagnoseStr)) { + List diagnoses = JsonUtil.toList(buildDiagnoseStr, List.class); + for (int i = 0 ;i < diagnoses.size();i++) { + if (diagnoses.get(i) != null) { + BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); + basicConfigQuery.setYn(YnEnums.YES.getId()); + basicConfigQuery.setParentId(SystemConfig.DIAGNOSE_TYPE_ID); + basicConfigQuery.setId(String.valueOf(diagnoses.get(i))); + List datas = basicConfigService.queryBasicConfig(basicConfigQuery); + if (CollectionUtils.isNotEmpty(datas)) { + if (i != diagnoses.size() - 1) + { + buildDiagnose+=datas.get(0).getName()+","; + } + else + { + buildDiagnose+=datas.get(0).getName(); + } + } + } + + } + } + + model.setBuildDiagnose(buildDiagnose); + + //母亲是否高危 + if (!com.lyms.platform.common.utils.StringUtils.isEmpty(babyModel.getMcertNo())) { + + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setCardNo(babyModel.getMcertNo()); + patientsQuery.setYn(YnEnums.YES.getId()); + + List list = patientsService.queryPatient(patientsQuery); + if (CollectionUtils.isNotEmpty(list)) { + HighScoreResult res = antenatalExaminationFacade.getPatLastRiskByDate(list.get(0).getPid(), false, list.get(0).getLastMenses(), babyModel.getBirth()); + List listHighRisk = res.getHighRisk(); + + if (CollectionUtils.isNotEmpty(listHighRisk)) { + if (listHighRisk.contains("健康")) { + model.setMommyHighRisk("健康"); + } else { + model.setMommyHighRisk("高危"); + } + } else { + model.setMommyHighRisk("健康"); + } + } + + } + } + model.setId(checkModel.getId()); model.setBuildId(checkModel.getBuildId()); - model.setMainFoster(checkModel.getMainFoster()); - model.setFeedType(checkModel.getFeedType()); + model.setMainFoster(StringUtils.isNotEmpty(checkModel.getMainFoster()) ? FyTypeEnums.getNameById(Integer.valueOf(checkModel.getMainFoster())) : ""); + model.setFeedType(StringUtils.isNotEmpty(checkModel.getFeedType()) ? WyTypeEnums.getNameById(Integer.valueOf(checkModel.getFeedType())) : ""); model.setPee(checkModel.getPee()); model.setExcrement(checkModel.getExcrement()); model.setSleep(checkModel.getSleep()); @@ -1663,17 +1746,17 @@ public class ViewFacade { String bilirubin = ""; if (StringUtils.isNotEmpty(checkModel.getBilirubinHead())) { - bilirubin+="头"+checkModel.getBilirubinHead()+"mg/dl"; + bilirubin+=" 头"+checkModel.getBilirubinHead()+" mg/dl"; } if (StringUtils.isNotEmpty(checkModel.getBilirubinChest())) { - bilirubin+="胸"+checkModel.getBilirubinChest()+"mg/dl"; + bilirubin+=" 胸"+checkModel.getBilirubinChest()+" mg/dl"; } if (StringUtils.isNotEmpty(checkModel.getBilirubinBelly())) { - bilirubin+="腹"+checkModel.getBilirubinBelly()+"mg/dl"; + bilirubin+=" 腹"+checkModel.getBilirubinBelly()+" mg/dl"; } model.setBilirubin(bilirubin); @@ -1773,24 +1856,21 @@ public class ViewFacade { } + if (StringUtils.isNotEmpty(checkModel.getHospitalId())) + { + Organization organization = organizationService.getOrganization(Integer.parseInt(checkModel.getHospitalId())); + if (organization!=null && organization.getYn()==YnEnums.YES.getId()){ + model.setCheckHospital(organization.getName()); + } + } + model.setNextCheckDate(DateUtil.getyyyy_MM_dd(checkModel.getNextDate())); - model.setHighRisk(checkModel.getHighRisk() == 1 ? "是" : "否" ); + model.setHighRisk(checkModel.getHighRisk() == 1 ? "是" : "否"); model.setCheckDate(DateUtil.getyyyy_MM_dd(checkModel.getCheckDate())); - BabyModelQuery babyQuery = new BabyModelQuery(); - babyQuery.setId(checkModel.getBuildId()); - babyQuery.setYn(YnEnums.YES.getId()); - - List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); - if (CollectionUtils.isNotEmpty(models)) { - model.setMonthAge(DateUtil.getBabyMonthAge(models.get(0).getBirth(), checkModel.getCheckDate())); - } - if (StringUtils.isNotEmpty(checkModel.getDrugGllergic())) - { - } String drugGllergic = ""; if (StringUtils.isNotEmpty(checkModel.getDrugGllergic())) { @@ -1840,4 +1920,34 @@ public class ViewFacade { } + /** + * 妇女查看页面 + * @param id + * @return + */ + public BaseObjectResponse getResidentsPageById(String id) { + BaseObjectResponse br = new BaseObjectResponse(); + ResidentsArchiveResult result = new ResidentsArchiveResult(); + + ResidentsArchiveQuery query = new ResidentsArchiveQuery(); + query.setYn(YnEnums.YES.getId()); + query.setId(id); + List modelList = residentsArchiveService.queryResident(query); + if (CollectionUtils.isNotEmpty(modelList)){ + ResidentsArchiveModel model = modelList.get(0); + //建档详情 + result = getResidentsPageResult(model); + } + + br.setData(result); + br.setErrorcode(ErrorCodeConstants.SUCCESS); + br.setErrormsg("成功"); + return br; + } + + private ResidentsArchiveResult getResidentsPageResult(ResidentsArchiveModel model) { + ResidentsPageResult result = new ResidentsPageResult(); + + return null; + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java index bef9e2c..b9174e4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/RiskPatientsQueryRequest.java @@ -107,6 +107,17 @@ public class RiskPatientsQueryRequest extends BasePageQueryRequest { //产检医生 private String lastCheckDoctorId; + //1. 全部孕产妇 2.全部孕妇 3. 全部产妇 + private String type; + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + public String getQueryNo() { return queryNo; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/ResidentsPageResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/ResidentsPageResult.java new file mode 100644 index 0000000..20d7534 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/ResidentsPageResult.java @@ -0,0 +1,282 @@ +package com.lyms.platform.operate.web.result; + + + + +public class ResidentsPageResult { + + /************基本信息*************/ + + //姓名 + private String username; + //性别 + private String sex; + //出生日期 + private String birthday; + //国籍 + private String country; + //民族Id + private String nation; + //婚姻状况 + private String marriage; + //证件类型Id + private String certificateType; + //证件号 + private String certificateNum; + //户籍类型 + private String censusType; + //居住类别 + private String liveType; + //文化程度 + private String levelType; + //职业类别 + private String professionType; + //年龄 + private Integer age; + + /************联系方式*************/ + + //手机号 + private String phone; + //工作单位 + private String workUnit; + //居住地 + private String liveAddress; + //户籍地址 + private String addressRegister; + + /************病史信息*************/ + + //既往史 + private String pastHistory; + //家族史 + private String familyHistory; + //个人史 + private String personalHistory; + //药物过敏史 + private String ywgmHistory; + //现病史 + private String presentHistory; + + /************院内信息*************/ + + //就诊卡号 + private String vcCardNo; + //建档人 + private String buildDoctor; + //建档日期 + private String buildDate; + + /* table info */ + + //建档号 + private String id; + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getSex() { + return sex; + } + + public void setSex(String sex) { + this.sex = sex; + } + + public String getBirthday() { + return birthday; + } + + public void setBirthday(String birthday) { + this.birthday = birthday; + } + + public String getCountry() { + return country; + } + + public void setCountry(String country) { + this.country = country; + } + + public String getNation() { + return nation; + } + + public void setNation(String nation) { + this.nation = nation; + } + + public String getMarriage() { + return marriage; + } + + public void setMarriage(String marriage) { + this.marriage = marriage; + } + + public String getCertificateType() { + return certificateType; + } + + public void setCertificateType(String certificateType) { + this.certificateType = certificateType; + } + + public String getCertificateNum() { + return certificateNum; + } + + public void setCertificateNum(String certificateNum) { + this.certificateNum = certificateNum; + } + + public String getCensusType() { + return censusType; + } + + public void setCensusType(String censusType) { + this.censusType = censusType; + } + + public String getLiveType() { + return liveType; + } + + public void setLiveType(String liveType) { + this.liveType = liveType; + } + + public String getLevelType() { + return levelType; + } + + public void setLevelType(String levelType) { + this.levelType = levelType; + } + + public String getProfessionType() { + return professionType; + } + + public void setProfessionType(String professionType) { + this.professionType = professionType; + } + + public Integer getAge() { + return age; + } + + public void setAge(Integer age) { + this.age = age; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getWorkUnit() { + return workUnit; + } + + public void setWorkUnit(String workUnit) { + this.workUnit = workUnit; + } + + public String getLiveAddress() { + return liveAddress; + } + + public void setLiveAddress(String liveAddress) { + this.liveAddress = liveAddress; + } + + public String getAddressRegister() { + return addressRegister; + } + + public void setAddressRegister(String addressRegister) { + this.addressRegister = addressRegister; + } + + public String getPastHistory() { + return pastHistory; + } + + public void setPastHistory(String pastHistory) { + this.pastHistory = pastHistory; + } + + public String getFamilyHistory() { + return familyHistory; + } + + public void setFamilyHistory(String familyHistory) { + this.familyHistory = familyHistory; + } + + public String getPersonalHistory() { + return personalHistory; + } + + public void setPersonalHistory(String personalHistory) { + this.personalHistory = personalHistory; + } + + public String getYwgmHistory() { + return ywgmHistory; + } + + public void setYwgmHistory(String ywgmHistory) { + this.ywgmHistory = ywgmHistory; + } + + public String getPresentHistory() { + return presentHistory; + } + + public void setPresentHistory(String presentHistory) { + this.presentHistory = presentHistory; + } + + public String getVcCardNo() { + return vcCardNo; + } + + public void setVcCardNo(String vcCardNo) { + this.vcCardNo = vcCardNo; + } + + public String getBuildDoctor() { + return buildDoctor; + } + + public void setBuildDoctor(String buildDoctor) { + this.buildDoctor = buildDoctor; + } + + public String getBuildDate() { + return buildDate; + } + + public void setBuildDate(String buildDate) { + this.buildDate = buildDate; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/HiskCountTask.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/HiskCountTask.java index ffdab2a..c1fd2c6 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/HiskCountTask.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/HiskCountTask.java @@ -90,6 +90,9 @@ public class HiskCountTask implements Callable { query.setBookbuildingDateEnd(patientsQuery.getBookbuildingDateEnd()); query.setrFactor(config.getId()); + + query.setType(patientsQuery.getType()); + //单个高危因素孕产妇条数 int riskPatientCount = patientsService.queryPatientCount(query); if (riskPatientCount > 0)