From db8041c469bc99f2492ced52525ddf39c9bb7a22 Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Wed, 8 Feb 2017 17:04:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=84=BF=E7=AB=A5=E5=8C=BA=E5=9F=9F=E9=9A=90?= =?UTF-8?q?=E8=97=8F=E5=BB=BA=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/service/BabyBookbuildingService.java | 27 ++ .../java/com/lyms/platform/pojo/BabyModel.java | 12 + .../com/lyms/platform/query/BabyModelQuery.java | 26 ++ .../operate/web/facade/BabyBookbuildingFacade.java | 89 ++++ .../operate/web/facade/BabyCheckFacade.java | 463 +++++++++------------ .../operate/web/request/BabyCheckRequest.java | 10 + .../operate/web/result/BabyBuildResult.java | 11 + 7 files changed, 378 insertions(+), 260 deletions(-) diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyBookbuildingService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyBookbuildingService.java index 6f6e05f..57ad7d9 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyBookbuildingService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BabyBookbuildingService.java @@ -2,8 +2,11 @@ package com.lyms.platform.biz.service; import com.lyms.platform.common.dao.operator.MongoQuery; import com.lyms.platform.pojo.BabyCheckModel; +import com.lyms.platform.pojo.Patients; import com.lyms.platform.pojo.PostReviewModel; import com.lyms.platform.query.BabyModelQuery; +import com.lyms.platform.query.PatientsQuery; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; @@ -21,6 +24,8 @@ public class BabyBookbuildingService { @Autowired private IBabyBookBuildingDao babyBookBuildingDao; + @Autowired + private PatientsService patientsService; public BabyModel addBabyBookbuilding(BabyModel babyModel) { @@ -40,6 +45,28 @@ public class BabyBookbuildingService { babyBookBuildingDao.updateBaby(model, id); } + /** + * 修改非建档医院基本信息 + */ + public void updateBaseData(BabyModel babyModel){ + BabyModelQuery babyModelQuery=new BabyModelQuery(); + babyModelQuery.setPid(babyModel.getPid()); + babyModelQuery.setEnable("2"); + babyModelQuery.setSource(babyModel.getId()); + //查询出其他医院的隐藏建档 + List patientses=queryBabyBuildByCond(babyModelQuery); + if(CollectionUtils.isNotEmpty(patientses)){ + for(BabyModel patients1:patientses){ + babyModel.setId(patients1.getId()); + babyModel.setBuildDate(patients1.getBuildDate()); + babyModel.setHospitalId(patients1.getHospitalId()); + babyModel.setBuildDoctor(patients1.getBuildDoctor()); + babyModel.setCreated(patients1.getCreated()); + patientsService.updateRefer(babyModel); + } + } + } + public List queryBabyBuildByCond(BabyModelQuery babyQuery) { MongoQuery query = babyQuery.convertToQuery(); if (StringUtils.isNotEmpty(babyQuery.getNeed())) { diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java index 5203564..3a1a2a3 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BabyModel.java @@ -19,6 +19,17 @@ public class BabyModel extends BaseModel { private static final long serialVersionUID = SerialIdEnum.BabyModel.getCid(); private String id; + //来源id + private String source; + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + // 编号 private String sNumber; @@ -203,6 +214,7 @@ public class BabyModel extends BaseModel { //分娩孕周 private Integer dueWeek; + //1 隐藏不显示 2 区域隐藏建档 private String enable; //操作人 private Integer operator; diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java index 7f2d2e7..d9eaec1 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java @@ -51,6 +51,25 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { private String buildDoctor; + private String enable; + private String source; + + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public String getEnable() { + return enable; + } + + public void setEnable(String enable) { + this.enable = enable; + } + public String getBuildDoctor() { return buildDoctor; } @@ -486,6 +505,9 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { if (null != id) { condition = condition.and("id", id, MongoOper.IS); } + if (null != source) { + condition = condition.and("source", source, MongoOper.IS); + } if (-1 != yn) { condition = condition.and("yn", yn, MongoOper.IS); } @@ -501,6 +523,10 @@ public class BabyModelQuery extends BaseQuery implements IConvertToNativeQuery { if (null != areaId) { condition = condition.and("areaId", areaId, MongoOper.IS); } + + if (null != enable) { + condition = condition.and("enable", enable, MongoOper.IS); + } if (null != communityId) { condition = condition.and("communityId", communityId, MongoOper.IS); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java index 652fea0..31a3c52 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java @@ -11,6 +11,7 @@ import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.*; +import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.request.*; import com.lyms.platform.operate.web.result.*; import com.lyms.platform.operate.web.utils.BabyListTask; @@ -24,7 +25,9 @@ import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.*; import com.lyms.platform.query.*; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang.*; import org.apache.commons.lang.math.*; +import org.apache.commons.lang.math.NumberUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Component; @@ -105,6 +108,8 @@ public class BabyBookbuildingFacade { private DataPermissionService dataPermissionService; @Autowired private AutoMatchFacade autoMatchFacade; + @Autowired + private OrganizationGroupsFacade groupsFacade; @@ -121,6 +126,83 @@ public class BabyBookbuildingFacade { } /** + * 查询符合条件的小孩 + * + * @param babyModelQuery + * @param hospitalId + * @param isEnable + * @return + */ + private BabyModel findBabyCond(BabyModelQuery babyModelQuery,List hospitalId,boolean isEnable){ + babyModelQuery.setHospitalIdList(hospitalId); + if(isEnable){ + babyModelQuery.setEnable("2"); + } + + List babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); + if(CollectionUtils.isNotEmpty(babyModels)){ + return babyModels.get(0); + } + return null; + } + + + /** + * 处理区域隐藏建档 + * + * @param pid 系统中 + * @param parentId + * @param userId + * @return + */ + public String handHideBuild(String pid, String parentId, Integer userId, int type) { + String hospitalId = autoMatchFacade.getHospitalId(userId); + BabyModel babyModel = null; + BabyModel babyModel1 = null; + if(org.apache.commons.lang.StringUtils.isNotEmpty(parentId)){ + BabyModelQuery babyModelQuery=new BabyModelQuery(); + babyModelQuery.setParentId(parentId); + List patients1 = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); + if(CollectionUtils.isNotEmpty(patients1)){ + babyModel1=patients1.get(0); + } + if (org.apache.commons.lang.StringUtils.isEmpty(pid)) { + pid = babyModel1.getPid(); + } + } + + BabyModelQuery babyModelQuery=new BabyModelQuery(); + + babyModelQuery.setParentId(parentId); + + List li = new ArrayList(); + li.add(hospitalId); + babyModel = findBabyCond(babyModelQuery,li, true); + //表示本院已经有隐藏建档 + if (null != babyModel) { + return babyModel.getId(); + } + if (babyModel1.getHospitalId().equals(hospitalId)) { + return babyModel1.getId(); + } + + //表示区域的 + if (org.apache.commons.lang.StringUtils.isNotEmpty(groupsFacade.findByCurrentUserId(hospitalId)) && org.apache.commons.lang.StringUtils.isNotEmpty(pid)) { + babyModelQuery.setParentId(null); + babyModelQuery.setPid(pid); + babyModel= findBabyCond(babyModelQuery,li, false); + babyModel.setSource(babyModel.getId()); + babyModel.setId(null); + babyModel.setHospitalId(hospitalId); + babyModel.setCreated(new Date()); + babyModel.setEnable("2"); + babyBookbuildingService.addBabyBookbuilding(babyModel); + return babyModel.getId(); + } + return null; + } + + /** * 儿童电子病历 * * @return @@ -278,6 +360,12 @@ public class BabyBookbuildingFacade { babyBookbuildingService.updateBabyBuild(model, request.getId()); patientsService.updateRefer(model); + + //如果当前是建档医院,那么需要修改其他非建档医院的数据 + if (autoMatchFacade.checkBStatus(userId)) { + babyBookbuildingService.updateBaseData(model); + } + return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } @@ -897,6 +985,7 @@ public class BabyBookbuildingFacade { private BabyBuildResult getBabyBuildResult(BabyModel model) { BabyBuildResult result = new BabyBuildResult(); result.setId(model.getId()); + result.setPid(model.getPid()); //母亲信息 result.setMommyName(model.getMname()); result.setMommyCertificateTypeId(model.getMcertTypeId()); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java index 723eb8a..f0bb513 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java @@ -55,6 +55,14 @@ public class BabyCheckFacade { @Autowired private AntenatalExaminationFacade antenatalExaminationFacade; + + @Autowired + private BabyBookbuildingFacade babyBookbuildingFacade; + @Autowired + private OrganizationGroupsFacade groupsFacade; + @Autowired + private AutoMatchFacade autoMatchFacade; + /** * 更新检查 * @@ -72,14 +80,11 @@ public class BabyCheckFacade { bm.setModified(new Date()); if (request.getHighRisk() == null) { bm.setLastHighRisk(0); - } - else - { + } else { bm.setLastHighRisk(request.getHighRisk()); } bm.setNextDate(DateUtil.parseYMD(request.getNextDate())); - if (CollectionUtils.isNotEmpty(request.getDiagnose())) - { + if (CollectionUtils.isNotEmpty(request.getDiagnose())) { BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); basicConfigQuery.setYn(YnEnums.YES.getId()); basicConfigQuery.setParentId(SystemConfig.DIAGNOSE_TYPE_ID); @@ -174,11 +179,9 @@ public class BabyCheckFacade { model.setNextDate(DateUtil.parseYMD(request.getNextDate())); - if (request.getHighRisk() == null){ + if (request.getHighRisk() == null) { model.setHighRisk(0); - } - else - { + } else { model.setHighRisk(request.getHighRisk()); } @@ -189,14 +192,13 @@ public class BabyCheckFacade { model.setHeadEvaluate(request.getHeadEvaluate()); model.setHeightEvaluate(request.getHeightEvaluate()); - if (StringUtils.isNotEmpty(request.getBuildId())) - { - BabyModelQuery babyModelQuery=new BabyModelQuery(); + if (StringUtils.isNotEmpty(request.getBuildId())) { + BabyModelQuery babyModelQuery = new BabyModelQuery(); babyModelQuery.setId(request.getBuildId()); babyModelQuery.setYn(YnEnums.YES.getId()); - List babyModelList= babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); - if(CollectionUtils.isNotEmpty(babyModelList)){ - model.setCheckMonth(DateUtil.getBabyAgeMonth(babyModelList.get(0).getBirth(),DateUtil.parseYMD(request.getCheckDate()))); + List babyModelList = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); + if (CollectionUtils.isNotEmpty(babyModelList)) { + model.setCheckMonth(DateUtil.getBabyAgeMonth(babyModelList.get(0).getBirth(), DateUtil.parseYMD(request.getCheckDate()))); } } @@ -209,37 +211,30 @@ public class BabyCheckFacade { * @param request * @return */ - public BaseResponse addBabyCheck(BabyCheckRequest request,Integer userId) { + public BaseResponse addBabyCheck(BabyCheckRequest request, Integer userId) { + + String hospitalId = autoMatchFacade.getHospitalId(userId); + //表示区域的 + if (org.apache.commons.lang.StringUtils.isNotEmpty(groupsFacade.findByCurrentUserId(hospitalId))) { + String parentId = babyBookbuildingFacade.handHideBuild(request.getPid(), request.getBuildId(), userId, 1); + if (org.apache.commons.lang.StringUtils.isEmpty(parentId)) { + //打印日志 + } + request.setBuildId(parentId); + } //儿童体检后 更新下次预约时间和是否高危 在基础数据表里面 BabyModel bm = new BabyModel(); bm.setModified(new Date()); - if (request.getHighRisk() == null) - { + if (request.getHighRisk() == null) { bm.setLastHighRisk(0); - } - else - { + } else { bm.setLastHighRisk(request.getHighRisk()); } bm.setNextDate(DateUtil.parseYMD(request.getNextDate())); - - String hospitalId = ""; - - //得到当前登录的医院id - if (userId != null) - { - Users dbuser = usersService.getUsers(userId); - if (dbuser != null) { - hospitalId = String.valueOf(dbuser.getOrgId()); - } - } - - - if (CollectionUtils.isNotEmpty(request.getDiagnose())) - { + if (CollectionUtils.isNotEmpty(request.getDiagnose())) { BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); basicConfigQuery.setYn(YnEnums.YES.getId()); basicConfigQuery.setParentId(SystemConfig.DIAGNOSE_TYPE_ID); @@ -255,7 +250,7 @@ public class BabyCheckFacade { } babyBookbuildingService.updateBabyBuild(bm, request.getBuildId()); - + syncMaster(request.getBuildId()); BabyCheckModel model = getBabyCheckModel(request); model.setHospitalId(hospitalId); model.setCreated(new Date()); @@ -266,20 +261,20 @@ public class BabyCheckFacade { br.setErrormsg("失败"); } - BabyModelQuery babyModelQuery=new BabyModelQuery(); + BabyModelQuery babyModelQuery = new BabyModelQuery(); babyModelQuery.setId(request.getBuildId()); babyModelQuery.setYn(YnEnums.YES.getId()); babyModelQuery.setBuildType(3); - List babyModelList= babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); - if(CollectionUtils.isNotEmpty(babyModelList)){ + List babyModelList = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); + if (CollectionUtils.isNotEmpty(babyModelList)) { BabyModel babyModel = new BabyModel(); babyModel.setEnable("1"); - babyBookbuildingService.updateBabyBuild(babyModel,babyModelList.get(0).getId()); + babyBookbuildingService.updateBabyBuild(babyModel, babyModelList.get(0).getId()); ReferralApplyOrderQuery referralApplyOrderQuery = new ReferralApplyOrderQuery(); referralApplyOrderQuery.setParentId(request.getBuildId()); - String hospital =babyModelList.get(0).getHospitalId(); + String hospital = babyModelList.get(0).getHospitalId(); referralApplyOrderQuery.setHospitalId(hospital); referralApplyOrderQuery.setStatus(1); List orderModelList = applyOrderService.queryReferralApplyOrderWithQuery(referralApplyOrderQuery); @@ -316,9 +311,43 @@ public class BabyCheckFacade { return br; } + private void syncMaster(String id) { + BabyModelQuery babyModelQuery = new BabyModelQuery(); + babyModelQuery.setId(id); + babyModelQuery.setYn(YnEnums.YES.getId()); + List babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); + BabyModel babyModel = null; + if (CollectionUtils.isNotEmpty(babyModels)) { + babyModel = babyModels.get(0); + } + //表示这个记录是子档 + if(babyModel!=null&&org.apache.commons.lang.StringUtils.isNotEmpty(babyModel.getSource())){ + BabyModel babyModel1=new BabyModel(); + babyModel1.setNextDate(babyModel.getNextDate()); + babyModel1.setLastHighRisk(babyModel.getLastHighRisk()); + babyModel1.setLastDiagnose(babyModel.getLastDiagnose()); + babyModel1.setId(babyModel.getSource()); + babyBookbuildingService.updateBabyBuild(babyModel1,babyModel.getSource()); + }else if(babyModel!=null){ + babyModelQuery.setId(null); + babyModelQuery.setSource(id); + babyModelQuery.setYn(YnEnums.YES.getId()); + babyModels = babyBookbuildingService.queryBabyBuildByCond(babyModelQuery); + if(CollectionUtils.isNotEmpty(babyModels)){ + for(BabyModel baby:babyModels){ + BabyModel babyModel1=new BabyModel(); + babyModel1.setNextDate(babyModel.getNextDate()); + babyModel1.setLastHighRisk(babyModel.getLastHighRisk()); + babyModel1.setLastDiagnose(babyModel.getLastDiagnose()); + babyModel1.setId(baby.getId()); + babyBookbuildingService.updateBabyBuild(babyModel1,baby.getId()); + } + } + } + } - public void updateLastGrowth(BabyCheckModel model) - { + + public void updateLastGrowth(BabyCheckModel model) { babyBookbuildingService.updateBabyLastGrowth(model); } @@ -333,16 +362,14 @@ public class BabyCheckFacade { query.setYn(YnEnums.YES.getId()); query.setId(id); //查询儿童的检查记录 - List checkModels = babyCheckService.queryBabyCheckRecord(query,"checkDate", Sort.Direction.DESC); + List checkModels = babyCheckService.queryBabyCheckRecord(query, "checkDate", Sort.Direction.DESC); babyCheckService.deleteBabyCheckById(id); - if (CollectionUtils.isNotEmpty(checkModels)) - { + if (CollectionUtils.isNotEmpty(checkModels)) { query.setId(null); query.setBuildId(checkModels.get(0).getBuildId()); - checkModels = babyCheckService.queryBabyCheckRecord(query,"checkDate", Sort.Direction.DESC); - if (CollectionUtils.isNotEmpty(checkModels)) - { + checkModels = babyCheckService.queryBabyCheckRecord(query, "checkDate", Sort.Direction.DESC); + if (CollectionUtils.isNotEmpty(checkModels)) { updateLastGrowth(checkModels.get(0)); } } @@ -360,7 +387,7 @@ public class BabyCheckFacade { BaseObjectResponse br = new BaseObjectResponse(); BabyBasicResult base = new BabyBasicResult(); Map resMap = new HashMap<>(); - BabyModel model = getBabyModel(id, base); + BabyModel model = getBabyModel(id, base); BabyModelQuery babyQuery = new BabyModelQuery(); babyQuery.setPid(model.getPid()); @@ -377,12 +404,11 @@ public class BabyCheckFacade { personModelQuery.setYn(YnEnums.YES.getId()); personModelQuery.setId(model.getPid()); - List personModels = personService.queryPersons(personModelQuery); + List personModels = personService.queryPersons(personModelQuery); int len = models.size(); String[] buildIds = new String[len]; - for(int i = 0;i < len ; i++) - { + for (int i = 0; i < len; i++) { buildIds[i] = models.get(i).getId(); } @@ -405,10 +431,9 @@ public class BabyCheckFacade { query.setYn(YnEnums.YES.getId()); query.setBuildIds(ids); //查询儿童的检查记录 - checkModels = babyCheckService.queryBabyCheckRecord(query,"checkDate", Sort.Direction.DESC); + checkModels = babyCheckService.queryBabyCheckRecord(query, "checkDate", Sort.Direction.DESC); Date babyBirth = personModel.getBirth(); - if (CollectionUtils.isNotEmpty(checkModels)) - { + if (CollectionUtils.isNotEmpty(checkModels)) { for (BabyCheckModel cmodel : checkModels) { @@ -423,16 +448,15 @@ public class BabyCheckFacade { Map checkRecord = new HashMap<>(); Date checkDate = cmodel.getCheckDate(); String monthAge = ""; - if(babyBirth != null && checkDate != null) - { + if (babyBirth != null && checkDate != null) { monthAge = DateUtil.getBabyMonthAge(babyBirth, checkDate); } - checkRecord.put("parentId",cmodel.getBuildId()); + checkRecord.put("parentId", cmodel.getBuildId()); checkRecord.put("id", cmodel.getId()); checkRecord.put("checkDate", DateUtil.getyyyy_MM_dd(checkDate)); checkRecord.put("monthAge", monthAge); checkRecord.put("buildId", cmodel.getBuildId()); - checkRecord.put("type","2"); + checkRecord.put("type", "2"); checkRecord.put("hospitalId", models.get(0).getHospitalId()); //查询建档医院 @@ -460,25 +484,23 @@ public class BabyCheckFacade { //查询儿童的检查记录 checkModels = babyCheckService.queryBabyCheckRecord(query); Date babyBirth = model.getBirth(); - if (CollectionUtils.isNotEmpty(checkModels)) - { + if (CollectionUtils.isNotEmpty(checkModels)) { for (BabyCheckModel cmodel : checkModels) { Map checkRecord = new HashMap<>(); Date checkDate = cmodel.getCheckDate(); String monthAge = ""; - if(babyBirth != null && checkDate != null) - { + if (babyBirth != null && checkDate != null) { monthAge = DateUtil.getBabyMonthAge(babyBirth, checkDate); } - checkRecord.put("parentId",cmodel.getBuildId()); + checkRecord.put("parentId", cmodel.getBuildId()); checkRecord.put("id", cmodel.getId()); checkRecord.put("checkDate", DateUtil.getyyyy_MM_dd(checkDate)); checkRecord.put("monthAge", monthAge); checkRecord.put("buildId", cmodel.getBuildId()); - checkRecord.put("type","2"); + checkRecord.put("type", "2"); - checkRecord.put("hospitalId",model.getHospitalId()); + checkRecord.put("hospitalId", model.getHospitalId()); //查询建档医院 Organization org = organizationService.getOrganization(Integer.valueOf(model.getHospitalId())); if (org != null) { @@ -496,7 +518,7 @@ public class BabyCheckFacade { public BabyModel getBabyModel(String id, BabyBasicResult base) { - BabyModel model=null; + BabyModel model = null; if (!StringUtils.isEmpty(id)) { BabyModelQuery babyQuery = new BabyModelQuery(); babyQuery.setId(id); @@ -512,10 +534,9 @@ public class BabyCheckFacade { base.setCardNo(model.getMcertNo()); base.setMonthAge(DateUtil.getBabyMonthAge(model.getBirth(), new Date())); base.setBirthday(DateUtil.getyyyy_MM_dd(model.getBirth())); - if (model.getPid() != null) - { + if (model.getPid() != null) { //诊断 - List list = getBabyLastDiagnose(model.getPid()); + List list = getBabyLastDiagnose(model.getPid()); List dlist = new ArrayList<>(); if (CollectionUtils.isNotEmpty(list)) { for (Object did : list) { @@ -537,32 +558,24 @@ public class BabyCheckFacade { //母亲是否高危 - if (!StringUtils.isEmpty(model.getMcertNo())) - { + if (!StringUtils.isEmpty(model.getMcertNo())) { PatientsQuery patientsQuery = new PatientsQuery(); patientsQuery.setCardNo(model.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() ,model.getBirth()); - List listHighRisk = res.getHighRisk(); - - if (CollectionUtils.isNotEmpty(listHighRisk)) - { - if (listHighRisk.contains("健康")) - { + if (CollectionUtils.isNotEmpty(list)) { + HighScoreResult res = antenatalExaminationFacade.getPatLastRiskByDate(list.get(0).getPid(), false, list.get(0).getLastMenses(), model.getBirth()); + List listHighRisk = res.getHighRisk(); + + if (CollectionUtils.isNotEmpty(listHighRisk)) { + if (listHighRisk.contains("健康")) { base.setHighRisk("健康"); - } - else - { + } else { base.setHighRisk("高危"); } - } - else - { + } else { base.setHighRisk("健康"); } } @@ -580,33 +593,27 @@ public class BabyCheckFacade { /** * 获取儿童最后一次是否高危 + * * @param pid * @return */ - public Integer getBabyLastHighRisk(String pid) - { + public Integer getBabyLastHighRisk(String pid) { Integer highRisk = null; List ids = new ArrayList<>(); BabyModelQuery babyQuery = new BabyModelQuery(); babyQuery.setPid(pid); babyQuery.setYn(YnEnums.YES.getId()); //查询儿童的基本信息 - List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery,"created", Sort.Direction.DESC); - if (CollectionUtils.isNotEmpty(models)) - { - for(BabyModel model : models) - { + List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery, "created", Sort.Direction.DESC); + if (CollectionUtils.isNotEmpty(models)) { + for (BabyModel model : models) { ids.add(model.getId()); } - if (CollectionUtils.isNotEmpty(ids)) - { + if (CollectionUtils.isNotEmpty(ids)) { List checkModels = babyCheckService.queryLastCheck(ids); - if (CollectionUtils.isNotEmpty(checkModels) && checkModels.get(0) != null) - { + if (CollectionUtils.isNotEmpty(checkModels) && checkModels.get(0) != null) { highRisk = checkModels.get(0).getHighRisk(); - } - else - { + } else { highRisk = models.get(0).getHighRisk(); } } @@ -649,12 +656,12 @@ public class BabyCheckFacade { /** * 获取儿童最后一次检查诊断因素 所有医院 + * * @param pid person表的id * @return */ - public List getBabyLastDiagnose(String pid) - { - //诊断 + public List getBabyLastDiagnose(String pid) { + //诊断 List list = null; String diagnose = null; List ids = new ArrayList<>(); @@ -663,30 +670,23 @@ public class BabyCheckFacade { babyQuery.setYn(YnEnums.YES.getId()); //查询儿童的基本信息 List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); - if (CollectionUtils.isNotEmpty(models)) - { - for(BabyModel model : models) - { + if (CollectionUtils.isNotEmpty(models)) { + for (BabyModel model : models) { ids.add(model.getId()); } - if (CollectionUtils.isNotEmpty(ids)) - { + if (CollectionUtils.isNotEmpty(ids)) { List checkModels = babyCheckService.queryLastDiagnoseCheck(ids); - if (CollectionUtils.isNotEmpty(checkModels) && checkModels.get(0) != null) - { + if (CollectionUtils.isNotEmpty(checkModels) && checkModels.get(0) != null) { diagnose = checkModels.get(0).getDiagnose(); - } - else - { + } else { diagnose = models.get(0).getDiagnose(); } } } - if (StringUtils.isNotEmpty(diagnose)) - { - list = JsonUtil.toList(diagnose, List.class); + if (StringUtils.isNotEmpty(diagnose)) { + list = JsonUtil.toList(diagnose, List.class); } return list; } @@ -699,7 +699,7 @@ public class BabyCheckFacade { * @param cardNo * @return */ - public BaseObjectResponse queryChooseBabys(String vcCardNo, String cardNo,Integer userId) { + public BaseObjectResponse queryChooseBabys(String vcCardNo, String cardNo, Integer userId) { Map map = new HashMap(); @@ -707,11 +707,10 @@ public class BabyCheckFacade { String hospitalId = ""; //得到当前登录的医院id - if (userId != null) - { + if (userId != null) { Users dbuser = usersService.getUsers(userId); if (dbuser != null) { - hospitalId = String.valueOf(dbuser.getOrgId()); + hospitalId = String.valueOf(dbuser.getOrgId()); } } @@ -728,8 +727,7 @@ public class BabyCheckFacade { List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); for (BabyModel model : models) { - if (model != null && model.getHospitalId() != null && model.getHospitalId().equals(hospitalId)) - { + if (model != null && model.getHospitalId() != null && model.getHospitalId().equals(hospitalId)) { isBuild = true; } BabyChooseResult result = new BabyChooseResult(); @@ -809,7 +807,7 @@ public class BabyCheckFacade { model.setWeight(checkModel.getWeight()); model.setHead(checkModel.getHead()); model.setHeightWeight(checkModel.getHeightWeight()); - model.setGrowthEvaluate(JsonUtil.toList(checkModel.getGrowthEvaluate(),String.class)); + model.setGrowthEvaluate(JsonUtil.toList(checkModel.getGrowthEvaluate(), String.class)); model.setBilirubinHead(checkModel.getBilirubinHead()); @@ -847,23 +845,19 @@ public class BabyCheckFacade { model.setOtherUrine(checkModel.getOtherUrine()); List> list = new ArrayList<>(); String diagnoseStr = checkModel.getDiagnose(); - if (!StringUtils.isEmpty(diagnoseStr)) - { - List diagnoses = JsonUtil.toList(diagnoseStr,List.class); - for (Object obj : diagnoses) - { - if (obj != null) - { + if (!StringUtils.isEmpty(diagnoseStr)) { + List diagnoses = JsonUtil.toList(diagnoseStr, List.class); + for (Object obj : diagnoses) { + if (obj != null) { BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); basicConfigQuery.setYn(YnEnums.YES.getId()); basicConfigQuery.setParentId(SystemConfig.DIAGNOSE_TYPE_ID); basicConfigQuery.setId(String.valueOf(obj)); List datas = basicConfigService.queryBasicConfig(basicConfigQuery); - if (CollectionUtils.isNotEmpty(datas)) - { - Map map = new HashMap<>(); + if (CollectionUtils.isNotEmpty(datas)) { + Map map = new HashMap<>(); map.put("id", datas.get(0).getId()); - map.put("name",datas.get(0).getName()); + map.put("name", datas.get(0).getName()); list.add(map); } } @@ -874,14 +868,12 @@ public class BabyCheckFacade { model.setHandlSuggest(checkModel.getHandlSuggest()); model.setGuideSuggest(checkModel.getGuideSuggest()); - if (StringUtils.isNotEmpty(checkModel.getCheckDoctor())) - { + if (StringUtils.isNotEmpty(checkModel.getCheckDoctor())) { Users users = usersService.getUsers(Integer.parseInt(checkModel.getCheckDoctor())); - if (users != null) - { - Map doctorObj = new HashMap<>(); - doctorObj.put("id",checkModel.getCheckDoctor()); - doctorObj.put("name",users.getName()); + if (users != null) { + Map doctorObj = new HashMap<>(); + doctorObj.put("id", checkModel.getCheckDoctor()); + doctorObj.put("name", users.getName()); model.setCheckDoctor(doctorObj); } } @@ -896,8 +888,7 @@ public class BabyCheckFacade { List models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); - if (CollectionUtils.isNotEmpty(models)) - { + if (CollectionUtils.isNotEmpty(models)) { model.setMonthAge(DateUtil.getBabyMonthAge(models.get(0).getBirth(), checkModel.getCheckDate())); } @@ -914,14 +905,15 @@ public class BabyCheckFacade { /** * 根据身长和性别来查询身长别体重值 + * * @param height * @param sex * @return */ - public BaseObjectResponse queryHWByHeight(Double height,Double weight, Integer sex,String birth) { + public BaseObjectResponse queryHWByHeight(Double height, Double weight, Integer sex, String birth) { - String res = getBabyHW(height,weight,sex,birth); + String res = getBabyHW(height, weight, sex, birth); BaseObjectResponse br = new BaseObjectResponse(); br.setData(res); br.setErrorcode(ErrorCodeConstants.SUCCESS); @@ -930,51 +922,36 @@ public class BabyCheckFacade { } - public String getBabyHW(Double height,Double weight, Integer sex,String birth) - { + public String getBabyHW(Double height, Double weight, Integer sex, String birth) { Double hw = getHw(height); //计算儿童的月龄 int monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(birth), new Date()); int ageType = 0; - if (monthAge > 24) - { + if (monthAge > 24) { ageType = 1; } //查询该月龄的年龄别体重值 - List list = babyCheckService.queryBabyHealthConfig(ageType,sex,3,hw); + List list = babyCheckService.queryBabyHealthConfig(ageType, sex, 3, hw); String res = ""; if (CollectionUtils.isNotEmpty(list)) { AwModel model = list.get(0); - if (model.getPthreeDs() < weight) - { + if (model.getPthreeDs() < weight) { res = "上"; - } - else if (model.getPthreeDs() >=weight && weight > model.getPtwoDs()) - { + } else if (model.getPthreeDs() >= weight && weight > model.getPtwoDs()) { res = "中上"; - } - else if (model.getPtwoDs() >=weight && weight > model.getPoneDs()) - { + } else if (model.getPtwoDs() >= weight && weight > model.getPoneDs()) { res = "中+"; - } - else if (model.getPoneDs() >=weight && weight >= model.getRoneDs()) - { + } else if (model.getPoneDs() >= weight && weight >= model.getRoneDs()) { res = "中"; - } - else if (model.getRoneDs() >weight && weight >= model.getRtwoDs()) - { + } else if (model.getRoneDs() > weight && weight >= model.getRtwoDs()) { res = "中-"; - } - else if (model.getRtwoDs() >weight && weight >= model.getRthreeDs()) - { + } else if (model.getRtwoDs() > weight && weight >= model.getRthreeDs()) { res = "中下"; - } - else if (model.getRtwoDs() >weight) - { + } else if (model.getRtwoDs() > weight) { res = "下"; } } @@ -985,19 +962,16 @@ public class BabyCheckFacade { * 计算出要查询的身长 * 如传入的是 49.3 则返回 49.0 如传入的是 49.5 则返回 49.5 * 如传入的是 49.6 则返回 49.5 + * * @param hd * @return */ - private Double getHw(Double hd) - { + private Double getHw(Double hd) { Double d = Math.floor(hd); Double md = d + 0.5; - if (md > hd) - { + if (md > hd) { return d; - } - else - { + } else { return md; } } @@ -1005,28 +979,28 @@ public class BabyCheckFacade { /** * 计算体格发育评价 - * + *

* 计算规则如下 - * + *

* 1.低体重 - * 低于参考人群的年龄别体重的M -2s - *2.超重与肥胖 - * 中位数百分比 = 体重值/身高别体重中的体重中值 * 100% - * 中位数百分比 < 80%以下评价为中重度消瘦 - * 中位数百分比 >= 80% && <90%评价为轻度消瘦 - * 中位数百分比 >110% && <=120%评价为超重 - * 中位数百分比 > 120%以上评价为肥胖 - *3.生长迟缓 - * 身高别体重》M-2s && 年龄别身高小于M-2s - *4.慢性严重营养不良 - * 身高别体重小于M-2s && 年龄别身高小于M-2s。 + * 低于参考人群的年龄别体重的M -2s + * 2.超重与肥胖 + * 中位数百分比 = 体重值/身高别体重中的体重中值 * 100% + * 中位数百分比 < 80%以下评价为中重度消瘦 + * 中位数百分比 >= 80% && <90%评价为轻度消瘦 + * 中位数百分比 >110% && <=120%评价为超重 + * 中位数百分比 > 120%以上评价为肥胖 + * 3.生长迟缓 + * 身高别体重》M-2s && 年龄别身高小于M-2s + * 4.慢性严重营养不良 + * 身高别体重小于M-2s && 年龄别身高小于M-2s。 * * @param height * @param sex * @param birth * @return */ - public BaseObjectResponse queryGrowthEvaluate(Double height, Integer sex, String birth,Double weight) { + public BaseObjectResponse queryGrowthEvaluate(Double height, Integer sex, String birth, Double weight) { List list = getBabyGrowthEvaluate(height, sex, birth, weight); BaseObjectResponse br = new BaseObjectResponse(); @@ -1036,71 +1010,55 @@ public class BabyCheckFacade { return br; } - public List getBabyGrowthEvaluate(Double height, Integer sex, String birth,Double weight) - { + public List getBabyGrowthEvaluate(Double height, Integer sex, String birth, Double weight) { List growthEvaluate = new ArrayList<>(); Double hw = getHw(height); //计算儿童的月龄 int monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(birth), new Date()); int ageType = 0; - if (monthAge > 24) - { + if (monthAge > 24) { ageType = 1; } //查询身高别体重 List list = babyCheckService.queryBabyHealthConfig(ageType, sex, 3, hw); - if(CollectionUtils.isNotEmpty(list)) - { - Double value = list.get(0).getMiddleDs(); + if (CollectionUtils.isNotEmpty(list)) { + Double value = list.get(0).getMiddleDs(); //查询该月龄的年龄别体重值 - List aws = babyCheckService.queryBabyHealthConfig(monthAge, sex,0); - if (CollectionUtils.isNotEmpty(aws)) - { + List aws = babyCheckService.queryBabyHealthConfig(monthAge, sex, 0); + if (CollectionUtils.isNotEmpty(aws)) { AwModel model = aws.get(0); //低于参考人群的年龄别体重的M -2s - if (model.getRtwoDs() > weight) - { + if (model.getRtwoDs() > weight) { growthEvaluate.add("低体重"); } } - List aws1 = babyCheckService.queryBabyHealthConfig(monthAge, sex,1); - if (CollectionUtils.isNotEmpty(aws1)) - { + List aws1 = babyCheckService.queryBabyHealthConfig(monthAge, sex, 1); + if (CollectionUtils.isNotEmpty(aws1)) { AwModel model = aws1.get(0); - if (weight > list.get(0).getPtwoDs() && height < model.getRtwoDs()) - { + if (weight > list.get(0).getPtwoDs() && height < model.getRtwoDs()) { growthEvaluate.add("生长迟缓"); } - if (weight < list.get(0).getPtwoDs() && height < model.getRtwoDs()) - { + if (weight < list.get(0).getPtwoDs() && height < model.getRtwoDs()) { growthEvaluate.add("慢性严重营养不良"); } } - if (value != null) - { + if (value != null) { //中位数百分比 - Double mp = weight/value; - if (mp < 0.8) - { + Double mp = weight / value; + if (mp < 0.8) { growthEvaluate.add("重度消瘦"); - } - else if (0.8 <= mp && mp < 0.9) - { + } else if (0.8 <= mp && mp < 0.9) { growthEvaluate.add("轻度消瘦"); - } - else if (1.1 < mp && mp <= 1.2) - { + } else if (1.1 < mp && mp <= 1.2) { growthEvaluate.add("超重"); - } - else if ( mp > 1.2) - { + } else if (mp > 1.2) { growthEvaluate.add("肥胖"); } } @@ -1111,14 +1069,14 @@ public class BabyCheckFacade { public BaseObjectResponse getBaseConfig() { - Map map = new HashMap(); + Map map = new HashMap(); //抚养方式 - List fyType = FyTypeEnums.getFyTypeEnums(); + List fyType = FyTypeEnums.getFyTypeEnums(); map.put("fyType", fyType); //喂养方式 - List wyType = WyTypeEnums.getWyTypeEnums(); + List wyType = WyTypeEnums.getWyTypeEnums(); map.put("wyType", wyType); map.put("initCheckDate", DateUtil.getyyyy_MM_dd(new Date())); @@ -1135,11 +1093,10 @@ public class BabyCheckFacade { public BaseObjectResponse getBabyMonthAge(String birth, String checkDate) { Date birthDate = DateUtil.parseYMD(birth); Date date = new Date(); - if (StringUtils.isNotEmpty(checkDate)) - { + if (StringUtils.isNotEmpty(checkDate)) { date = DateUtil.parseYMD(checkDate); } - String ageStr = DateUtil.getBabyMonthAge(birthDate,date); + String ageStr = DateUtil.getBabyMonthAge(birthDate, date); BaseObjectResponse objectResponse = new BaseObjectResponse(); objectResponse.setData(ageStr); objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); @@ -1148,54 +1105,40 @@ public class BabyCheckFacade { return objectResponse; } - public BaseObjectResponse queryBabyHealthStatus(String birth,Double value, Integer sex, Integer type) { - String res = getGrowthValue(birth,value,sex,type); + public BaseObjectResponse queryBabyHealthStatus(String birth, Double value, Integer sex, Integer type) { + String res = getGrowthValue(birth, value, sex, type); BaseObjectResponse objectResponse = new BaseObjectResponse(); objectResponse.setData(res); objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); objectResponse.setErrormsg("成功"); - return objectResponse; + return objectResponse; } - public String getGrowthValue(String birth,Double value, Integer sex, Integer type) - { + public String getGrowthValue(String birth, Double value, Integer sex, Integer type) { //计算儿童的月龄 int monthAge = DateUtil.getBabyAgeMonth(DateUtil.parseYMD(birth), new Date()); //查询该月龄的年龄别体重值 - List list = babyCheckService.queryBabyHealthConfig(monthAge, sex,type); + List list = babyCheckService.queryBabyHealthConfig(monthAge, sex, type); String res = ""; if (CollectionUtils.isNotEmpty(list)) { AwModel model = list.get(0); - if (model.getPthreeDs() < value) - { + if (model.getPthreeDs() < value) { res = "上"; - } - else if (model.getPthreeDs() >=value && value > model.getPtwoDs()) - { + } else if (model.getPthreeDs() >= value && value > model.getPtwoDs()) { res = "中上"; - } - else if (model.getPtwoDs() >=value && value > model.getPoneDs()) - { + } else if (model.getPtwoDs() >= value && value > model.getPoneDs()) { res = "中+"; - } - else if (model.getPoneDs() >=value && value >= model.getRoneDs()) - { + } else if (model.getPoneDs() >= value && value >= model.getRoneDs()) { res = "中"; - } - else if (model.getRoneDs() >value && value >= model.getRtwoDs()) - { + } else if (model.getRoneDs() > value && value >= model.getRtwoDs()) { res = "中-"; - } - else if (model.getRtwoDs() >value && value >= model.getRthreeDs()) - { + } else if (model.getRtwoDs() > value && value >= model.getRthreeDs()) { res = "中下"; - } - else if (model.getRtwoDs() >value) - { + } else if (model.getRtwoDs() > value) { res = "下"; } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyCheckRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyCheckRequest.java index 97b2816..9cf8fb4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyCheckRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BabyCheckRequest.java @@ -15,6 +15,16 @@ public class BabyCheckRequest { private String id; + private String pid; + + public String getPid() { + return pid; + } + + public void setPid(String pid) { + this.pid = pid; + } + //建档ID @FormParam @NotEmpty(message = "建档ID不能为空.") diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabyBuildResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabyBuildResult.java index cb729e0..5ce3405 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabyBuildResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabyBuildResult.java @@ -12,6 +12,17 @@ public class BabyBuildResult { //建档Id private String id; + //建档Id + private String pid; + + public String getPid() { + return pid; + } + + public void setPid(String pid) { + this.pid = pid; + } + //母亲名称 private String mommyName; -- 1.8.3.1