From 31dcb1b61c71924a4327def6e0079b3bb5b283ad Mon Sep 17 00:00:00 2001 From: gengxiaokai Date: Fri, 7 Sep 2018 15:21:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=94=9F=E5=84=BF=E5=AE=9E=E9=AA=8C?= =?UTF-8?q?=E5=AE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/query/BabySieveQuery.java | 21 ++ .../operate/web/facade/BabySieveFacede.java | 269 +++++++++++++++++++-- .../operate/web/result/BabySieveManager.java | 11 + 3 files changed, 279 insertions(+), 22 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BabySieveQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BabySieveQuery.java index bf45f64..9acd15e 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/BabySieveQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/BabySieveQuery.java @@ -25,6 +25,24 @@ public class BabySieveQuery extends BaseQuery implements IConvertToNativeQuery { private Date applyDateEnd;//申请结束时间 private String testNumber;//血样码 private String collectHospitalId;//申请医院(采血单位) + private String sendCheckHospitalId;//送检医院 + private String order; + + public String getOrder() { + return order; + } + + public void setOrder(String order) { + this.order = order; + } + + public String getSendCheckHospitalId() { + return sendCheckHospitalId; + } + + public void setSendCheckHospitalId(String sendCheckHospitalId) { + this.sendCheckHospitalId = sendCheckHospitalId; + } public Date getApplyDateStrat() { return applyDateStrat; @@ -122,6 +140,9 @@ public class BabySieveQuery extends BaseQuery implements IConvertToNativeQuery { if(collectHospitalId != null){ condition = condition.and("collectHospitalId", collectHospitalId, MongoOper.IS); } + if(sendCheckHospitalId != null){ + condition = condition.and("sendCheckHospitalId", sendCheckHospitalId, MongoOper.IS); + } Criteria c = null; if(null != applyDateStrat){ c = Criteria.where("created").gte(applyDateStrat); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySieveFacede.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySieveFacede.java index 3f83f9e..3ccfef4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySieveFacede.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabySieveFacede.java @@ -27,6 +27,7 @@ import com.lyms.platform.query.BabyModelQuery; import com.lyms.platform.query.BabySieveQuery; import com.lyms.platform.query.MatDeliverQuery; import com.lyms.platform.query.PatientsQuery; +import com.mchange.v1.util.ListUtils; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -442,38 +443,262 @@ public class BabySieveFacede { * @return */ public BabySieveManagerResult getBabySieveLab(BabySieveAddRequest babySieveAddRequest){ + int status = 0; BabySieveManagerResult babySieveManagerResult = new BabySieveManagerResult(); BabySieveQuery babySieveQuery = new BabySieveQuery(); - if(StringUtils.isNotEmpty(babySieveAddRequest.getCollectHospitalId())){ - babySieveQuery.setCollectHospitalId(babySieveAddRequest.getCollectHospitalId()); - } - if(StringUtils.isNotEmpty(babySieveAddRequest.getApplyDate())){ - try { - babySieveQuery.setApplyDateStrat(DateUtil.getSNDate(babySieveAddRequest.getApplyDate())[0]); - babySieveQuery.setApplyDateEnd(DateUtil.getSNDate(babySieveAddRequest.getApplyDate())[1]); - } catch (Exception e) { - e.printStackTrace(); + //只能查询出送检医院为本机构的筛查信息 + //babySieveQuery.setSendCheckHospitalId(autoMatchFacade.getHospitalId(babySieveAddRequest.getOperatorId())); + babySieveQuery.setSendCheckHospitalId("216"); + babySieveQuery.setPage(babySieveAddRequest.getPage()); + babySieveQuery.setLimit(babySieveAddRequest.getLimit()); + babySieveQuery.setNeed("Need"); + babySieveQuery.setOrder("created"); + List babySieveList = babySieveService.getBabySieveQuery(babySieveQuery); + List babySieveManagerLiat = new ArrayList(); + //判断是否有筛查申请及结果数据 + if(babySieveList != null && babySieveList.size() > 0){ + if(StringUtils.isNotEmpty(babySieveAddRequest.getCollectHospitalId())){ + babySieveQuery.setCollectHospitalId(babySieveAddRequest.getCollectHospitalId()); + status = 1; } - } - if(StringUtils.isNotEmpty(babySieveAddRequest.getTestNumber())){ - babySieveQuery.setTestNumber(babySieveAddRequest.getTestNumber()); - } - List list = babySieveService.getBabySieveQuery(babySieveQuery); - //明天继续 + if(StringUtils.isNotEmpty(babySieveAddRequest.getApplyDate())){ + try { + babySieveQuery.setApplyDateStrat(DateUtil.getSNDate(babySieveAddRequest.getApplyDate())[0]); + babySieveQuery.setApplyDateEnd(DateUtil.getSNDate(babySieveAddRequest.getApplyDate())[1]); + status = 1; + } catch (Exception e) { + e.printStackTrace(); + } + } + if(StringUtils.isNotEmpty(babySieveAddRequest.getTestNumber())){ + babySieveQuery.setTestNumber(babySieveAddRequest.getTestNumber()); + status = 1; + } + if(status == 1){ + List list = babySieveService.getBabySieveQuery(babySieveQuery); + if(list != null && list.size() > 0){ + for(BabySieveModel babySieveModel : list){ + BabyModelQuery babyModelQuery = new BabyModelQuery(); + if(StringUtils.isNotEmpty(babySieveAddRequest.getQueryNo())){ + babyModelQuery.setQueryNo(babySieveAddRequest.getQueryNo()); + } + if(StringUtils.isNotEmpty(babySieveAddRequest.getSieveStatus())){ + babyModelQuery.setSieveStatus(babySieveAddRequest.getSieveStatus()); + } + babyModelQuery.setDataStatus(false); + babyModelQuery.setId(babySieveModel.getBabyId()); + List babyModelList = babyService.queryBabyWithQuery(babyModelQuery); + BabyModel model = null; + if (babyModelList != null && babyModelList.size() > 0) { + model = babyModelList.get(0); + MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); + matDeliverQuery.setYn(YnEnums.YES.getId()); + matDeliverQuery.setParentId(model.getParentId()); + List maternalDeliverModelList = matDeliverService.query(matDeliverQuery); + if(maternalDeliverModelList != null && maternalDeliverModelList.size() > 0){ + BabySieveManager babySieveManager = new BabySieveManager(); + babySieveManager.setId(babySieveModel.getId()); + babySieveManager.setTestNumber(babySieveModel.getTestNumber()); + //获取母亲基本信息 + Patients patients = patientsService.findOnePatientById(model.getParentId()); + //获取高危因素,高危评分 + HighScoreResult highScoreResult = antenatalExaminationFacade.findLastRisk(patients.getPid(), false); + babySieveManager.setRiskFactor(highScoreResult.getHighRisk()); + babySieveManager.setRiskScore(highScoreResult.getScoreStr()); + if(null != patients.getDueDate()){ + babySieveManager.setyChanQi(DateUtil.getyyyy_MM_dd(patients.getDueDate())); + } + babySieveManager.setPatientId(patients.getId()); + babySieveManager.setCardNo(patients.getCardNo()); + babySieveManager.setPhone(patients.getPhone()); + babySieveManager.setBabyId(model.getId()); + if(patients.getBirth() != null){ + babySieveManager.setAge(DateUtil.getAge(patients.getBirth())); + } + List babies = maternalDeliverModelList.get(0).getBaby(); + if(babies != null && babies.size() > 0){ + for(MaternalDeliverModel.Baby baby : babies){ + if(StringUtils.isNotEmpty(baby.getId()) && model.getId().equals(baby.getId())){ + if(maternalDeliverModelList.get(0).getDueWeek() != null){ + babySieveManager.setDueWeek(maternalDeliverModelList.get(0).getDueWeek()); + } + String time = baby.getDueTime(); + if(StringUtils.isNotEmpty(time)){ + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + try { + Date date = format.parse(time); + babySieveManager.setBirthHM(new SimpleDateFormat("HH:mm").format(date)); + babySieveManager.setBirthYMD(DateUtil.getyyyy_MM_dd(date)); + } catch (ParseException e) { + ExceptionUtils.catchException(e, "新生儿管理娩出时间格式异常" + time); + } + }else{ + babySieveManager.setBirthHM(new SimpleDateFormat("HH:mm").format(model.getBirth())); + babySieveManager.setBirthYMD(DateUtil.getyyyy_MM_dd(model.getBirth())); + } + break; + } + } + }else{ + babySieveManager.setBirthHM(new SimpleDateFormat("HH:mm").format(model.getBirth())); + babySieveManager.setBirthYMD(DateUtil.getyyyy_MM_dd(model.getBirth())); + } + babySieveManager.setBabyName(model.getName()); + for (SexEnum sexEnum : SexEnum.values()) { + if (sexEnum.getId().equals(model.getSex())) { + babySieveManager.setSex(sexEnum.getText()); + break; + } + } + babySieveManager.setBirthDays(DateUtil.getDays(model.getBirth(), new Date())); + Integer highRisk = model.getHighRisk(); + if (new Integer(0).equals(highRisk)) { + babySieveManager.setHighRisk("健康"); + } + if (new Integer(1).equals(highRisk)) { + babySieveManager.setHighRisk("高危"); + } + String dueType = babySieveManager.getDueType(); + if ("1".equals(dueType)) { + babySieveManager.setDueType("顺产"); + } + if ("2".equals(dueType)) { + babySieveManager.setDueType("剖宫产"); + } + babySieveManager.setSieveStatus(StringUtils.isEmpty(model.getSieveStatus()) ? "0" : model.getSieveStatus()); + babySieveManager.setmName(model.getMname()); + babySieveManagerLiat.add(babySieveManager); + } + } - BabyModelQuery babyModelQuery = new BabyModelQuery(); - if(StringUtils.isNotEmpty(babySieveAddRequest.getSieveStatus())){ - babyModelQuery.setSieveStatus(babySieveAddRequest.getSieveStatus()); - } + babySieveManagerResult.setData(babySieveManagerLiat); + babySieveManagerResult.setPageInfo(babyModelQuery.getPageInfo()); + babySieveManagerResult.setErrorcode(ErrorCodeConstants.SUCCESS); + babySieveManagerResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + return babySieveManagerResult; + } + }else{ + babySieveManagerResult.setData(babySieveManagerLiat); + babySieveManagerResult.setPageInfo(babySieveQuery.getPageInfo()); + babySieveManagerResult.setErrorcode(ErrorCodeConstants.SUCCESS); + babySieveManagerResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + return babySieveManagerResult; + } - //查询号 - babyModelQuery.setQueryNo(StringUtils.isEmpty(babySieveAddRequest.getQueryNo()) ? null : babySieveAddRequest.getQueryNo()); - babyModelQuery.setDataStatus(false); + }else{ + BabyModelQuery babyModelQuery = new BabyModelQuery(); + for(BabySieveModel babySieveModel : babySieveList){ + if(StringUtils.isNotEmpty(babySieveAddRequest.getQueryNo())){ + babyModelQuery.setQueryNo(babySieveAddRequest.getQueryNo()); + } + if(StringUtils.isNotEmpty(babySieveAddRequest.getSieveStatus())){ + babyModelQuery.setSieveStatus(babySieveAddRequest.getSieveStatus()); + } + babyModelQuery.setDataStatus(false); + babyModelQuery.setId(babySieveModel.getBabyId()); + List babyModelList = babyService.queryBabyWithQuery(babyModelQuery); + BabyModel model = null; + if (babyModelList != null && babyModelList.size() > 0) { + model = babyModelList.get(0); + MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); + matDeliverQuery.setYn(YnEnums.YES.getId()); + matDeliverQuery.setParentId(model.getParentId()); + List maternalDeliverModelList = matDeliverService.query(matDeliverQuery); + if(maternalDeliverModelList != null && maternalDeliverModelList.size() > 0){ + BabySieveManager babySieveManager = new BabySieveManager(); + babySieveManager.setId(babySieveModel.getId()); + babySieveManager.setTestNumber(babySieveModel.getTestNumber()); + //获取母亲基本信息 + Patients patients = patientsService.findOnePatientById(model.getParentId()); + //获取高危因素,高危评分 + HighScoreResult highScoreResult = antenatalExaminationFacade.findLastRisk(patients.getPid(), false); + babySieveManager.setRiskFactor(highScoreResult.getHighRisk()); + babySieveManager.setRiskScore(highScoreResult.getScoreStr()); + if(null != patients.getDueDate()){ + babySieveManager.setyChanQi(DateUtil.getyyyy_MM_dd(patients.getDueDate())); + } + babySieveManager.setPatientId(patients.getId()); + babySieveManager.setCardNo(patients.getCardNo()); + babySieveManager.setPhone(patients.getPhone()); + babySieveManager.setBabyId(model.getId()); + if(patients.getBirth() != null){ + babySieveManager.setAge(DateUtil.getAge(patients.getBirth())); + } + List babies = maternalDeliverModelList.get(0).getBaby(); + if(babies != null && babies.size() > 0){ + for(MaternalDeliverModel.Baby baby : babies){ + if(StringUtils.isNotEmpty(baby.getId()) && model.getId().equals(baby.getId())){ + if(maternalDeliverModelList.get(0).getDueWeek() != null){ + babySieveManager.setDueWeek(maternalDeliverModelList.get(0).getDueWeek()); + } + String time = baby.getDueTime(); + if(StringUtils.isNotEmpty(time)){ + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + try { + Date date = format.parse(time); + babySieveManager.setBirthHM(new SimpleDateFormat("HH:mm").format(date)); + babySieveManager.setBirthYMD(DateUtil.getyyyy_MM_dd(date)); + } catch (ParseException e) { + ExceptionUtils.catchException(e, "新生儿管理娩出时间格式异常" + time); + } + }else{ + babySieveManager.setBirthHM(new SimpleDateFormat("HH:mm").format(model.getBirth())); + babySieveManager.setBirthYMD(DateUtil.getyyyy_MM_dd(model.getBirth())); + } + break; + } + } + }else{ + babySieveManager.setBirthHM(new SimpleDateFormat("HH:mm").format(model.getBirth())); + babySieveManager.setBirthYMD(DateUtil.getyyyy_MM_dd(model.getBirth())); + } + babySieveManager.setBabyName(model.getName()); + for (SexEnum sexEnum : SexEnum.values()) { + if (sexEnum.getId().equals(model.getSex())) { + babySieveManager.setSex(sexEnum.getText()); + break; + } + } + babySieveManager.setBirthDays(DateUtil.getDays(model.getBirth(), new Date())); + Integer highRisk = model.getHighRisk(); + if (new Integer(0).equals(highRisk)) { + babySieveManager.setHighRisk("健康"); + } + if (new Integer(1).equals(highRisk)) { + babySieveManager.setHighRisk("高危"); + } + String dueType = babySieveManager.getDueType(); + if ("1".equals(dueType)) { + babySieveManager.setDueType("顺产"); + } + if ("2".equals(dueType)) { + babySieveManager.setDueType("剖宫产"); + } + babySieveManager.setSieveStatus(StringUtils.isEmpty(model.getSieveStatus()) ? "0" : model.getSieveStatus()); + babySieveManager.setmName(model.getMname()); + babySieveManagerLiat.add(babySieveManager); + } + } + } + + babySieveManagerResult.setData(babySieveManagerLiat); + babySieveManagerResult.setPageInfo(babyModelQuery.getPageInfo()); + babySieveManagerResult.setErrorcode(ErrorCodeConstants.SUCCESS); + babySieveManagerResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + return babySieveManagerResult; + } + }else{//lyms_baby_sieve表中无数据 + babySieveManagerResult.setData(babySieveManagerLiat); + babySieveManagerResult.setPageInfo(babySieveQuery.getPageInfo()); + babySieveManagerResult.setErrorcode(ErrorCodeConstants.SUCCESS); + babySieveManagerResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + return babySieveManagerResult; + } return babySieveManagerResult; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabySieveManager.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabySieveManager.java index 9d5fc7a..5abad2d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabySieveManager.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BabySieveManager.java @@ -70,6 +70,17 @@ public class BabySieveManager { //母亲姓名 private String mName; + //试验号 + private String testNumber; + + public String getTestNumber() { + return testNumber; + } + + public void setTestNumber(String testNumber) { + this.testNumber = testNumber; + } + public Integer getAge() { return age; } -- 1.8.3.1