From f91988ed884e53ff070096c8e0f9bc76725b59fc Mon Sep 17 00:00:00 2001 From: yangfei Date: Thu, 24 May 2018 14:56:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E8=AF=8A=E3=80=81=E5=A4=8D=E8=AF=8A?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=AD=9B=E6=9F=A5=E7=BB=93=E6=9E=9C=EF=BC=8C?= =?UTF-8?q?=E5=86=97=E4=BD=99=E7=AD=9B=E6=9F=A5=E7=BB=93=E6=9E=9C=E5=88=B0?= =?UTF-8?q?patient=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/service/AntenatalExaminationService.java | 7 +- .../java/com/lyms/platform/pojo/AntExChuModel.java | 20 ++++- .../platform/pojo/AntenatalExaminationModel.java | 83 ++++++++++++------- .../main/java/com/lyms/platform/pojo/Patients.java | 11 ++- .../controller/PremaritalCheckupController.java | 1 + .../operate/web/controller/UsersController.java | 18 ++++- .../web/facade/AntenatalExaminationFacade.java | 93 ++++++++++++++-------- .../operate/web/request/AntExAddRequest.java | 26 +++++- .../operate/web/request/AntExcAddRequest.java | 28 +++++-- 9 files changed, 207 insertions(+), 80 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 19c63ec..908f262 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 @@ -14,13 +14,10 @@ import com.lyms.platform.pojo.Patients; import com.lyms.platform.query.AntExChuQuery; import com.lyms.platform.query.AntExRecordQuery; import com.lyms.platform.query.PatientsQuery; -import com.lyms.platform.query.VisitQuery; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.domain.Sort; -import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Service; import org.springframework.util.Assert; @@ -89,9 +86,9 @@ public class AntenatalExaminationService { } /** - * 增加一条新生儿访视记录 + * 增加复诊记录 * - * @param babyVisitModel 新生儿访视记录模型 + * @param babyVisitModel 增加复诊记录 * @return */ public AntenatalExaminationModel addOneBabyAnt(AntenatalExaminationModel babyVisitModel) { diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/AntExChuModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/AntExChuModel.java index 05aec1d..6188670 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/AntExChuModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/AntExChuModel.java @@ -37,7 +37,10 @@ public class AntExChuModel extends BaseModel { private String quicken; /** 胎动备注 */ private String quickenRemark; - + //筛查结果 + private List screenResult; + //结果补充 + private String resultSupple; //条码 private String barCode; private String id; @@ -341,6 +344,21 @@ public class AntExChuModel extends BaseModel { //操作人 private Integer operator; + public List getScreenResult() { + return screenResult; + } + + public void setScreenResult(List screenResult) { + this.screenResult = screenResult; + } + + public String getResultSupple() { + return resultSupple; + } + + public void setResultSupple(String resultSupple) { + this.resultSupple = resultSupple; + } public Integer getFirst() { return first; diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/AntenatalExaminationModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/AntenatalExaminationModel.java index e292b25..e632dc5 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/AntenatalExaminationModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/AntenatalExaminationModel.java @@ -10,7 +10,7 @@ import java.util.Map; /** * 产前检查(复诊) - * + *

* Created by Administrator on 2016/6/16 0016. */ @Document(collection = "lyms_antex") @@ -40,7 +40,9 @@ public class AntenatalExaminationModel extends BaseModel { this.genRemark = genRemark; } - /** 是否打印过 1=已打印 有这个字段就算打印 */ + /** + * 是否打印过 1=已打印 有这个字段就算打印 + */ private Integer isPrient; public Integer getIsPrient() { @@ -62,12 +64,18 @@ public class AntenatalExaminationModel extends BaseModel { this.mHighRiskReason = mHighRiskReason; } - /** 处理意见 */ + /** + * 处理意见 + */ private Map> treatmentOpinion2; private List treatmentOpinion2Types; - /** 胎动 */ + /** + * 胎动 + */ private String quicken; - /** 胎动备注 */ + /** + * 胎动备注 + */ private String quickenRemark; public String getQuicken() { @@ -110,28 +118,32 @@ public class AntenatalExaminationModel extends BaseModel { this.randomBloodSugar = randomBloodSugar; } + //筛查结果 + private List screenResult; + //结果补充 + private String resultSupple; private String id; private String barCode; private String pid; - private String parentId; + private String parentId; //末次月经 private Date lastMenses; - /* //名字 - private String name; - //年龄 - private String age; - //孕周 - private String dueWeek; - //预产期 - private String yChanQi; - //手机号 - private String phone; - //高危因素 - private String riskFactor; - //高危评分 - private String riskScore; - //备注 - private String remarks;*/ + /* //名字 + private String name; + //年龄 + private String age; + //孕周 + private String dueWeek; + //预产期 + private String yChanQi; + //手机号 + private String phone; + //高危因素 + private String riskFactor; + //高危评分 + private String riskScore; + //备注 + private String remarks;*/ // //检查报告列表 // private List reportList; @@ -170,11 +182,11 @@ public class AntenatalExaminationModel extends BaseModel { //血糖 private String bloodSugar; // 血糖2 - private String bloodSugar2; + private String bloodSugar2; // 血糖3 - private String bloodSugar3; + private String bloodSugar3; // 血糖4 - private String bloodSugar4; + private String bloodSugar4; //高危因素 private String riskFactor; // 高危评分 @@ -235,7 +247,7 @@ public class AntenatalExaminationModel extends BaseModel { //游离甲状腺素(FT4) public String freeThy; //促甲状腺激素(TSH) - public Map thyStim; + public Map thyStim; //抗甲状腺球蛋白抗体(TGA) public String antGlan; //抗甲状腺微粒体抗体(TMA) @@ -275,6 +287,22 @@ public class AntenatalExaminationModel extends BaseModel { //心电图 public String electr; + public List getScreenResult() { + return screenResult; + } + + + public void setScreenResult(List screenResult) { + this.screenResult = screenResult; + } + + public String getResultSupple() { + return resultSupple; + } + + public void setResultSupple(String resultSupple) { + this.resultSupple = resultSupple; + } public String getTtita() { return ttita; @@ -463,7 +491,6 @@ public class AntenatalExaminationModel extends BaseModel { /***新增辅助检查项***/ - public String getHighriskDesc() { return highriskDesc; } @@ -672,8 +699,6 @@ public class AntenatalExaminationModel extends BaseModel { this.bp = bp; } - - public String getCheckDoctor() { return checkDoctor; } 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 fb68515..58e3aba 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 @@ -26,7 +26,8 @@ public class Patients extends BaseModel { public void setShortCode(String shortCode) { this.shortCode = shortCode; } - + //筛查结果 + private List screenResult; // 纠正末次月经 (和末次月经反起存) private Date fuckLastMens; // 末次月经纠正依据 @@ -429,6 +430,14 @@ public class Patients extends BaseModel { this.fmType = fmType; } + public List getScreenResult() { + return screenResult; + } + + public void setScreenResult(List screenResult) { + this.screenResult = screenResult; + } + public String getSource() { return source; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PremaritalCheckupController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PremaritalCheckupController.java index 8c09950..0f2eb16 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PremaritalCheckupController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PremaritalCheckupController.java @@ -44,6 +44,7 @@ public class PremaritalCheckupController extends BaseController{ // 获取当前登录用户ID LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + return premaritalCheckupFacade.addPremaritalCheckup(addRequest , loginState.getId()); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java index da6a7b7..b4927c6 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java @@ -3,6 +3,7 @@ package com.lyms.platform.operate.web.controller; import com.lyms.hospitalapi.whfy.VirtualCallService; import com.lyms.platform.biz.service.BasicConfigService; +import com.lyms.platform.biz.service.ModularFunctionConfigService; import com.lyms.platform.biz.service.OrganizationGroupsService; import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; @@ -23,7 +24,9 @@ import com.lyms.platform.permission.model.*; import com.lyms.platform.permission.service.*; import com.lyms.platform.pojo.BasicConfig; import com.lyms.platform.pojo.DataPermissionsModel; +import com.lyms.platform.pojo.ModularFunctionConfigModel; import com.lyms.platform.pojo.OrganizationGroups; +import com.lyms.platform.query.ModularFunctionConfigQuery; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.math.NumberUtils; @@ -83,7 +86,8 @@ public class UsersController extends BaseController { private BasicConfigService basicConfigService; @Autowired private CouponService couponService; - + @Autowired + private ModularFunctionConfigService modularFunctionConfigServcie; @Autowired private OperateLogFacade operateLogFacade; @@ -489,6 +493,8 @@ public class UsersController extends BaseController { users = usersService.getUsers(loginContext.getId()); } + String hospitalId = autoMatchFacade.getHospitalId(users.getId()); + List permissions = null; List roles = new ArrayList<>(); //超级管理员拥有所有角色和权限 @@ -612,7 +618,15 @@ public class UsersController extends BaseController { map.put("roles", roles); map.put("permissions", permissions); map.put("types", types); - + ModularFunctionConfigQuery diagnoseConfigQuery = new ModularFunctionConfigQuery(); + diagnoseConfigQuery.setHospitalId(hospitalId); + //医院配置 + List configModels = modularFunctionConfigServcie.queryDiagnoseConfigs(diagnoseConfigQuery); + if (CollectionUtils.isNotEmpty(configModels)) + { + ModularFunctionConfigModel configModel = configModels.get(0); + map.put("modularFunction", configModel.getConfigs()); + } ResultUtils.buildSuccessResultAndWrite(response, map); } 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 4d0d853..6458fb0 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 @@ -24,6 +24,7 @@ import com.lyms.platform.pojo.*; import com.lyms.platform.query.*; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; +import org.apache.commons.collections.map.HashedMap; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.math.NumberUtils; import org.slf4j.Logger; @@ -285,7 +286,6 @@ public class AntenatalExaminationFacade { patientsService.validata(p); } - if (StringUtils.isNotEmpty(antExAddRequest.getId())) { model.setHospitalId(hospitalId); model.setOperator(userId); @@ -300,18 +300,20 @@ public class AntenatalExaminationFacade { 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()); @@ -337,7 +339,6 @@ public class AntenatalExaminationFacade { return new BaseResponse().setErrorcode(ErrorCodeConstants.DATA_EXIST).setErrormsg("同一天只能建一次复诊"); } - //修改申请单状态 updateApplyOrder(model, antExAddRequest.getParentId()); @@ -367,9 +368,9 @@ public class AntenatalExaminationFacade { Patients patients1 = new Patients(); patients1.setId(patients.getId()); + //最后一次产检医生 patients1.setLastCheckEmployeeId(antExAddRequest.getCheckDoctor()); - if (StringUtils.isNotEmpty(patients.getEnable()) && "0".equals(patients.getEnable())) { patients1.setEnable("1"); } @@ -913,6 +914,54 @@ public class AntenatalExaminationFacade { } /** + * 查询当前产程孕妇诊断结果 + * + * @param pid + * @return + */ + public Map getPatLastScreenResult(String pid) { + AntExQuery antExQuery = new AntExQuery(); + antExQuery.setParentId(pid); + antExQuery.setYn(YnEnums.YES.getId()); + List list = antenatalExaminationService.queryAntenatalExamination(antExQuery.convertToQuery().addOrder(Sort.Direction.DESC, "checkDate")); + Map highScoreResult = new HashedMap(); + boolean next = true; + if (CollectionUtils.isNotEmpty(list)) { + for (AntenatalExaminationModel model : list) { + if (!next) { + break; + } + highScoreResult.put("screenResult",model.getScreenResult()); + next = false; + } + } + + //初诊 + try { + if (next) { + AntExChuQuery antExChuQuery = new AntExChuQuery(); + antExChuQuery.setParentId(pid); + antExChuQuery.setYn(YnEnums.YES.getId()); + MongoQuery mongoQuery = antExChuQuery.convertToQuery(); + mongoQuery.addOrder(Sort.Direction.DESC, "checkTime"); + List list1 = antenatalExaminationService.queryAntExChu(mongoQuery); + if (CollectionUtils.isNotEmpty(list1)) { + for (AntExChuModel antExChuModel : list1) { + if (!next) { + break; + } + highScoreResult.put("screenResult",antExChuModel.getScreenResult()); + next = false; + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return highScoreResult; + } + + /** * 电子病历方法 * * @param exListQueryRequest @@ -1971,8 +2020,6 @@ public class AntenatalExaminationFacade { } } } - - return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } @@ -1999,6 +2046,12 @@ public class AntenatalExaminationFacade { patients1.setRiskLevelId(JsonUtil.array2JsonString(list)); //设置其他的高危因素 patients1.setoRiskFactor(StringUtils.isNotEmpty(highScoreResult.getOtherRisk()) ? highScoreResult.getOtherRisk() : ""); + + //查询最后一次产检筛查结果冗余到patient表 + Map map = getPatLastScreenResult(patients.getId()); + if(map!=null&&map.containsKey("screenResult")){ + patients1.setScreenResult((List) map.get("screenResult")); + } patientsService.findAndModify(patientsQuery1, patients1); } @@ -2642,7 +2695,6 @@ public class AntenatalExaminationFacade { m.put("textpjbc", text); m.put("s75gdgtt", s75gdgtt); m.put("jzxgn", jzxgn); - break; } } @@ -2679,8 +2731,6 @@ public class AntenatalExaminationFacade { } public BaseResponse getEnums(Integer userId) { - String hospitalId = autoMatchFacade.getHospitalId(userId); - Map map = new HashMap<>(); // 胎动情况 map.put("quickenEnum", EnumUtil.toJson(QuickenEnums.class)); @@ -2722,29 +2772,6 @@ public class AntenatalExaminationFacade { map.put("gwfz", basicConfigFacade.getBaseicConfigByParentId(SystemConfig.GWFZ)); map.put("organizations", convert()); map.put("cTime", DateUtil.getyyyy_MM_dd(new Date())); - ModularFunctionConfigQuery diagnoseConfigQuery = new ModularFunctionConfigQuery(); - diagnoseConfigQuery.setHospitalId(hospitalId); - //医院配置 - List configModels = modularFunctionConfigServcie.queryDiagnoseConfigs(diagnoseConfigQuery); - if (CollectionUtils.isNotEmpty(configModels)) - { - ModularFunctionConfigModel configModel = configModels.get(0); - map.put("modularFunction", configModel.getConfigs()); - } - - if (CollectionUtils.isEmpty(mainBasicConfigList)) { - BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); - basicConfigQuery.setEnable(1); - basicConfigQuery.setTypeId("5b023e73422b03d4ad2bf8af"); - - //所有数据 - List basicConfigList = basicConfigService.queryBasicConfig(basicConfigQuery); - //主节点数据 - basicConfigQuery.setTypeId(null); - basicConfigQuery.setParentId("5b023e73422b03d4ad2bf8af"); - mainBasicConfigList = basicConfigService.queryBasicConfig(basicConfigQuery); - BasicConfigFacade.dispNewHighRisk(basicConfigList, mainBasicConfigList); - } //筛查结果的基础数据 map.put("secrEnmum", mainBasicConfigList); return new BaseObjectResponse().setData(map).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AntExAddRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AntExAddRequest.java index fa1d71f..fdf6752 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AntExAddRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AntExAddRequest.java @@ -146,7 +146,11 @@ public class AntExAddRequest implements IBasicRequestConvert riskFactor; - // 高危评分 + //筛查结果 + private List screenResult; + //结果补充 + private String resultSupple; + //高危评分 private String riskScore; //其他高危 private List otherRisk; @@ -160,8 +164,6 @@ public class AntExAddRequest implements IBasicRequestConvert getScreenResult() { + return screenResult; + } + + public void setScreenResult(List screenResult) { + this.screenResult = screenResult; + } + + public String getResultSupple() { + return resultSupple; + } + + public void setResultSupple(String resultSupple) { + this.resultSupple = resultSupple; + } + @Override public AntenatalExaminationModel convertToDataModel() { AntenatalExaminationModel examinationModel = new AntenatalExaminationModel(); + examinationModel.setScreenResult(screenResult); + examinationModel.setResultSupple(resultSupple); examinationModel.setTtita(ttita); examinationModel.setTotalThy(totalThy); examinationModel.setFtita(ftita); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AntExcAddRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AntExcAddRequest.java index 8706200..e6c1120 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AntExcAddRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/AntExcAddRequest.java @@ -212,7 +212,10 @@ public class AntExcAddRequest implements IBasicRequestConvert { private Map cestationInfo; //丈夫健康情况 private Map hHealthInfo; - + //筛查结果 + private List secrFactor; + //结果补充 + private String resultRepl; //孕次 private Integer pregnancyTimes; // 产次 @@ -727,6 +730,22 @@ public class AntExcAddRequest implements IBasicRequestConvert { this.jzxgn = jzxgn; } + public List getSecrFactor() { + return secrFactor; + } + + public void setSecrFactor(List secrFactor) { + this.secrFactor = secrFactor; + } + + public String getResultRepl() { + return resultRepl; + } + + public void setResultRepl(String resultRepl) { + this.resultRepl = resultRepl; + } + //自然流产 private Integer abortionZR; //人工流产 @@ -1585,6 +1604,8 @@ public class AntExcAddRequest implements IBasicRequestConvert { @Override public AntExChuModel convertToDataModel() { AntExChuModel antExChuModel = new AntExChuModel(); + antExChuModel.setScreenResult(secrFactor); + antExChuModel.setResultSupple(resultRepl); antExChuModel.setTtita(ttita); antExChuModel.setTotalThy(totalThy); antExChuModel.setFtita(ftita); @@ -1608,9 +1629,6 @@ public class AntExcAddRequest implements IBasicRequestConvert { antExChuModel.setApolipa(apolipa); antExChuModel.setApolipb(apolipb); antExChuModel.setElectr(electr); - - - antExChuModel.setHighriskDesc(highriskDesc); antExChuModel.setLisCheckItems(lisCheckItems); antExChuModel.setGenRemark(genRemark); @@ -1619,10 +1637,8 @@ public class AntExcAddRequest implements IBasicRequestConvert { antExChuModel.setTreatmentOpinion2Types(treatmentOpinion2Types); antExChuModel.setQuicken(quicken); antExChuModel.setQuickenRemark(quickenRemark); - antExChuModel.setAntExcAddOthers(antExcAddOthers); antExChuModel.setSurvFetus(survFetus); - antExChuModel.setVulvaSele(vulvaSele); antExChuModel.setVaginaSele(vaginaSele); antExChuModel.setCervicalSele(cervicalSele); -- 1.8.3.1