From ad5b356f75d1f777d4e7f83740e7bd00a0a66453 Mon Sep 17 00:00:00 2001 From: yangfei Date: Tue, 23 May 2017 15:28:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=AC=E5=8A=9B=E8=AF=8A=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../master/BabyPatientExtendEarScreenMapper.java | 2 + .../model/BabyPatientExtendEarHearingDiagnose.java | 7 +- .../BabyPatientExtendEarHearingDiagnoseQuery.java | 12 + .../model/BabyPatientExtendEarScreenQuery.java | 7 +- .../service/BabyPatientExtendEarScreenService.java | 2 + .../BabyPatientExtendEarScreenServiceImpl.java | 4 + .../master/BabyPatientExtendEarHearingDiagnose.xml | 166 +++++------- .../mainOrm/master/BabyPatientExtendEarScreen.xml | 22 +- .../lyms/platform/common/enums/ConfirmedEnums.java | 19 +- .../lyms/platform/common/enums/HighRiskEnum.java | 2 +- .../java/com/lyms/platform/operate/web/Test.java | 4 + .../operate/web/controller/EarController.java | 3 + .../web/controller/HearingDiagnoseController.java | 286 +++++++++++++++------ .../web/request/HearingDiagnoseRequest.java | 17 +- .../web/result/HearingDiagnoseListResult.java | 62 ++--- .../platform/operate/web/utils/MyComparator.java | 18 ++ 16 files changed, 398 insertions(+), 235 deletions(-) create mode 100644 platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MyComparator.java diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/BabyPatientExtendEarScreenMapper.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/BabyPatientExtendEarScreenMapper.java index 4708fbf..2099f94 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/BabyPatientExtendEarScreenMapper.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/BabyPatientExtendEarScreenMapper.java @@ -18,6 +18,8 @@ public interface BabyPatientExtendEarScreenMapper { public List queryBabyPatientExtendEarScreen(BabyPatientExtendEarScreenQuery query); + public List queryScrBabyIds(BabyPatientExtendEarScreenQuery query); + public List notAuscultationBabyPatientExtendEarScreen(BabyPatientExtendEarScreenQuery query); } \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyPatientExtendEarHearingDiagnose.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyPatientExtendEarHearingDiagnose.java index 9461470..7ee8ca6 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyPatientExtendEarHearingDiagnose.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyPatientExtendEarHearingDiagnose.java @@ -24,6 +24,7 @@ public class BabyPatientExtendEarHearingDiagnose { * 高危因素 */ private String highFactor; + /** * ABR潜伏期左耳dBnHL */ @@ -313,11 +314,11 @@ public class BabyPatientExtendEarHearingDiagnose { */ private String soundReflRightAtten; /** - * AABR左耳是否通过 + * AABR左耳是否通过 0-未通过,1-通过 */ private Integer aabrLeftIfPass; /** - * AABR右耳是否通过 + * AABR右耳是否通过 0-未通过,1-通过 */ private Integer aabrRightIfPass; /** @@ -385,7 +386,7 @@ public class BabyPatientExtendEarHearingDiagnose { */ private Date modifyTime; /** - * 是否删除 + * 是否删除 0-未删除,1-删除 */ private Integer ifdel; /** diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyPatientExtendEarHearingDiagnoseQuery.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyPatientExtendEarHearingDiagnoseQuery.java index f72af4d..aa45a08 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyPatientExtendEarHearingDiagnoseQuery.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyPatientExtendEarHearingDiagnoseQuery.java @@ -437,6 +437,10 @@ public class BabyPatientExtendEarHearingDiagnoseQuery extends BaseQuery { */ private String confirmResult; /** + * 确诊结果程度 + */ + private String[] confirmResults; + /** * 确诊时间 */ private Date confirmTime; @@ -449,6 +453,14 @@ public class BabyPatientExtendEarHearingDiagnoseQuery extends BaseQuery { */ private Date confirmEndTime; + public String[] getConfirmResults() { + return confirmResults; + } + + public void setConfirmResults(String[] confirmResults) { + this.confirmResults = confirmResults; + } + public String[] getCheckHospitalIds() { return checkHospitalIds; } diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyPatientExtendEarScreenQuery.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyPatientExtendEarScreenQuery.java index c6251b1..fd936ac 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyPatientExtendEarScreenQuery.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/model/BabyPatientExtendEarScreenQuery.java @@ -4,7 +4,6 @@ package com.lyms.platform.permission.model; import com.lyms.platform.common.dao.BaseQuery; import java.util.Date; -import java.util.List; public class BabyPatientExtendEarScreenQuery extends BaseQuery { @@ -27,7 +26,7 @@ public class BabyPatientExtendEarScreenQuery extends BaseQuery { /** * 检查医院的id集合 */ - private List checkHospitalIds; + private String[] checkHospitalIds; /** * 筛查时间 @@ -146,11 +145,11 @@ public class BabyPatientExtendEarScreenQuery extends BaseQuery { } - public List getCheckHospitalIds() { + public String[] getCheckHospitalIds() { return checkHospitalIds; } - public void setCheckHospitalIds(List checkHospitalIds) { + public void setCheckHospitalIds(String[] checkHospitalIds) { this.checkHospitalIds = checkHospitalIds; } diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/BabyPatientExtendEarScreenService.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/BabyPatientExtendEarScreenService.java index 7ccb215..08f3736 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/BabyPatientExtendEarScreenService.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/BabyPatientExtendEarScreenService.java @@ -18,6 +18,8 @@ public interface BabyPatientExtendEarScreenService { public List queryBabyPatientExtendEarScreen(BabyPatientExtendEarScreenQuery query); + public List queryScrBabyIds(BabyPatientExtendEarScreenQuery query); + public List notAuscultationBabyPatientExtendEarScreen(BabyPatientExtendEarScreenQuery query); } \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/BabyPatientExtendEarScreenServiceImpl.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/BabyPatientExtendEarScreenServiceImpl.java index 1ca609a..ba2ac3a 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/BabyPatientExtendEarScreenServiceImpl.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/BabyPatientExtendEarScreenServiceImpl.java @@ -53,4 +53,8 @@ public class BabyPatientExtendEarScreenServiceImpl implements BabyPatientExtendE return babyPatientExtendEarScreenMapper.notAuscultationBabyPatientExtendEarScreen(query); } + @Override + public List queryScrBabyIds(BabyPatientExtendEarScreenQuery query) { + return babyPatientExtendEarScreenMapper.queryScrBabyIds(query); + } } \ No newline at end of file diff --git a/platform-biz-service/src/main/resources/mainOrm/master/BabyPatientExtendEarHearingDiagnose.xml b/platform-biz-service/src/main/resources/mainOrm/master/BabyPatientExtendEarHearingDiagnose.xml index 9c3bfb5..fe99d28 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/BabyPatientExtendEarHearingDiagnose.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/BabyPatientExtendEarHearingDiagnose.xml @@ -805,119 +805,79 @@ select id,baby_id,hospital_id,diagnose_time,high_factor,abr_left_dbnhl,abr_left_ - diff --git a/platform-biz-service/src/main/resources/mainOrm/master/BabyPatientExtendEarScreen.xml b/platform-biz-service/src/main/resources/mainOrm/master/BabyPatientExtendEarScreen.xml index ea2c16f..fa06e3d 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/BabyPatientExtendEarScreen.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/BabyPatientExtendEarScreen.xml @@ -289,5 +289,25 @@ select id,baby_id,screen_type,check_hospital_id,screen_date,high_risk_cause,oae_ - + \ No newline at end of file diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/ConfirmedEnums.java b/platform-common/src/main/java/com/lyms/platform/common/enums/ConfirmedEnums.java index 84c6f3f..5002bf9 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/enums/ConfirmedEnums.java +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/ConfirmedEnums.java @@ -4,23 +4,24 @@ package com.lyms.platform.common.enums; * @auther yangfei * @createTime 2017年05月15日 18时01分 * @discription 确诊结果 + * */ public enum ConfirmedEnums { ZEQDGYSJ(1, "轻度感音神经性聋合并耳聋基因异常(左耳)"), YEQDGYSJ(2, "轻度感音神经性聋合并耳聋基因异常(右耳)"), SEQDGYSJXEH(3, "双耳轻度感音神经性聋合并耳聋基因异常"), - ZEQDGYSJXLHBEL(4, "中度感音神经性聋合并耳聋基因异常(左耳)"), - YEQDGYSJXLHBEL(5, "中度感音神经性聋合并耳聋基因异常(右耳)"), + ZEQDGYSJXLHBEL(4, "单耳中度感音神经性聋合并耳聋基因异常(左耳)"), + YEQDGYSJXLHBEL(5, "单耳中度感音神经性聋合并耳聋基因异常(右耳)"), SEZDGYSJX(6, "双耳中度感音神经性聋"), ZEQDGYSJSJXL(7, "单耳中重度感音神经性聋(左耳)"), - YEQDGYSJSJXL(8, "中重度感音神经性聋(右耳)"), + YEQDGYSJSJXL(8, "单耳中重度感音神经性聋(右耳)"), SEZZDGYSJX(9, "双耳中重度感音神经性聋"), - ZEQDGYSJXL(10, "重度感音神经性聋(左耳)"), - YEQDGYSJXL(11, "重度感音神经性聋(右耳)"), - SEQDGYSJXL(3, "双耳重度感音神经性聋"), - ZEJZDGYSJXSJ(12, "极重度感音神经性聋(左耳)"), - YEZDGYSJXSJ(13, "极重度感音神经性聋(右耳)"), - SEJZDGYSJXL(14, "双耳极重度感音神经性聋"); + ZEQDGYSJXL(10, "单耳重度感音神经性聋(左耳)"), + YEQDGYSJXL(11, "单耳重度感音神经性聋(右耳)"), + SEQDGYSJXL(12, "双耳重度感音神经性聋"), + ZEJZDGYSJXSJ(13, "单耳极重度感音神经性聋(左耳)"), + YEZDGYSJXSJ(14, "单耳极重度感音神经性聋(右耳)"), + SEJZDGYSJXL(15, "双耳极重度感音神经性聋"); private int id; private String name; diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/HighRiskEnum.java b/platform-common/src/main/java/com/lyms/platform/common/enums/HighRiskEnum.java index 0fda46c..5cdbe58 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/enums/HighRiskEnum.java +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/HighRiskEnum.java @@ -3,7 +3,7 @@ package com.lyms.platform.common.enums; /** * @auther yangfei * @createTime 2017年05月16日 18时38分 - * @discription 高危因素 + * @discription 高危儿的确定因素 */ public enum HighRiskEnum { XSEZZJHBF(1, "新生儿重症监护病房(NICU)住院超过10天"), diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java index e130362..9cf5099 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java @@ -6,6 +6,10 @@ package com.lyms.platform.operate.web; public class Test { public static void main(String[] args) { + String a = "3.220.33"; + int b = a.lastIndexOf('.'); + System.out.println("-----:"+b); + // ConfirmedEnums [] strs = ConfirmedEnums.values(); // String vas = ConfirmedEnums.getTitle(1); // ConfirmedEnums.getTitle(2); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/EarController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/EarController.java index e0fe8f2..d96b73f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/EarController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/EarController.java @@ -155,6 +155,9 @@ public class EarController extends BaseController { } else { boolean isResu = false; for (BabyPatientExtendEarScreen scr : screenList) { + if(scr.getOaeRight()==null||scr.getOaeLeft()==null||scr.getAabrLeft()==null||scr.getAabrRight()==null){ + + }else //只要有听筛未通过的就可以进入听诊了 if (scr.getOaeLeft() == -1 || scr.getOaeRight() == -1 || scr.getAabrLeft() == -1 || scr.getAabrRight() == -1) {//1=通过 -1=未通过 isResu = true; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/HearingDiagnoseController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/HearingDiagnoseController.java index 42340c5..64aedb0 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/HearingDiagnoseController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/HearingDiagnoseController.java @@ -5,21 +5,24 @@ import com.lyms.platform.biz.service.BasicConfigService; import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; import com.lyms.platform.common.base.LoginContext; +import com.lyms.platform.common.base.PageInfo; import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.enums.ConfirmedEnums; +import com.lyms.platform.common.enums.HighRiskEnum; +import com.lyms.platform.common.enums.SexEnum; +import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.operate.web.facade.AutoMatchFacade; import com.lyms.platform.operate.web.request.HearingDiagnoseRequest; import com.lyms.platform.operate.web.result.HearingDiagnoseListResult; -import com.lyms.platform.permission.model.BabyPatientExtendEarHearingDiagnose; -import com.lyms.platform.permission.model.BabyPatientExtendEarHearingDiagnoseQuery; -import com.lyms.platform.permission.model.HighriskChangeHospital; -import com.lyms.platform.permission.model.HighriskChangeHospitalQuery; +import com.lyms.platform.operate.web.utils.MyComparator; +import com.lyms.platform.permission.model.*; import com.lyms.platform.permission.service.BabyPatientExtendEarHearingDiagnoseService; import com.lyms.platform.permission.service.BabyPatientExtendEarScreenService; import com.lyms.platform.permission.service.HighriskChangeHospitalService; +import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.BabyModel; -import com.lyms.platform.query.BasicConfigQuery; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -51,8 +54,11 @@ public class HearingDiagnoseController extends BaseController { //转诊记录 @Autowired private HighriskChangeHospitalService highchangeService; + @Autowired //听筛 private BabyPatientExtendEarScreenService screenService; + @Autowired + private UsersService usersService; /** * 根据id获取听力诊断记录信息 @@ -97,12 +103,12 @@ public class HearingDiagnoseController extends BaseController { List hospitalIds = new ArrayList(); hospitalIds.add(hospitalId); List hchList = highchangeService.queryHighriskChangeHospital(hcQuery); - if(hchList.size()>0){ - for(HighriskChangeHospital h:hchList){ + if (hchList.size() > 0) { + for (HighriskChangeHospital h : hchList) { hospitalIds.add(h.getOutOrgid()); } } - query.setCheckHospitalIds((String[])hospitalIds.toArray(new String[hospitalIds.size()])); + query.setCheckHospitalIds((String[]) hospitalIds.toArray(new String[hospitalIds.size()])); List behdList = hearingDiagnoseService.queryBabyPatientExtendEarHearingDiagnose(query); List> list = new ArrayList<>(); @@ -136,51 +142,72 @@ public class HearingDiagnoseController extends BaseController { return new BaseResponse().setErrorcode(ErrorCodeConstants.TOKEN_EXPIRE).setErrormsg("请重新登录"); } - //如果查询号不为空,根据查询号查询儿童档案表,获取儿童档案Id - if (hdReq.getKeyWord() != null) {//关键字:姓名、联系方式、就诊卡 - //调用mysql表查询baby档案。 表还未设计 - } - //当前登录人医院Id String hospitalId = autoMatchFacade.getHospitalId(loginState.getId()); //医院ID 集合。本院、外院、全部... List outOrgids = new ArrayList<>(); - if (hdReq.getSource() == 2) {//2.转诊过来的医院、 - //转诊过来的医院id - HighriskChangeHospitalQuery hchQuery = new HighriskChangeHospitalQuery(); - hchQuery.setTargetType(2);//儿童 - hchQuery.setChangeType(1);//听力转诊 - hchQuery.setStatus(2);//已接受 - hchQuery.setIntoOrgid(hospitalId); - List hchList = highchangeService.queryHighriskChangeHospital(hchQuery); - if (hchList != null && hchList.size() > 0) { - for (HighriskChangeHospital hch : hchList) {//如果存在则修改转诊记录状态为接收 - outOrgids.add(hch.getOutOrgid()); + if (hdReq.getSource() != null) { + if (hdReq.getSource() == 2) {//2.转诊过来的医院、 + //转诊过来的医院id + HighriskChangeHospitalQuery hchQuery = new HighriskChangeHospitalQuery(); + hchQuery.setTargetType(2);//儿童 + hchQuery.setChangeType(1);//听力转诊 + hchQuery.setStatus(2);//已接受 + hchQuery.setIntoOrgid(hospitalId); + List hchList = highchangeService.queryHighriskChangeHospital(hchQuery); + if (hchList != null && hchList.size() > 0) { + for (HighriskChangeHospital hch : hchList) {//如果存在则修改转诊记录状态为接收 + outOrgids.add(hch.getOutOrgid()); + } + } + } else if (hdReq.getSource() == 1) {//1.本院 + //当前医院 + outOrgids.add(hospitalId); + } else {//4.全部医院/默认全部医院 + //当前医院 + outOrgids.add(hospitalId); + //转诊过来的医院id + HighriskChangeHospitalQuery hchQuery = new HighriskChangeHospitalQuery(); + hchQuery.setTargetType(2);//儿童 + hchQuery.setChangeType(1);//听力转诊 + hchQuery.setStatus(2);//已接受 + hchQuery.setIntoOrgid(hospitalId); + List hchList = highchangeService.queryHighriskChangeHospital(hchQuery); + if (hchList != null && hchList.size() > 0) { + for (HighriskChangeHospital hch : hchList) {//如果存在则修改转诊记录状态为接收 + outOrgids.add(hch.getOutOrgid()); + } } } - } else if (hdReq.getSource() == 1) {//1.本院 + } else { //当前医院 outOrgids.add(hospitalId); - } else {//4.全部医院/默认全部医院 - //当前医院 - outOrgids.add(hospitalId); - //转诊过来的医院id - HighriskChangeHospitalQuery hchQuery = new HighriskChangeHospitalQuery(); - hchQuery.setTargetType(2);//儿童 - hchQuery.setChangeType(1);//听力转诊 - hchQuery.setStatus(2);//已接受 - hchQuery.setIntoOrgid(hospitalId); - List hchList = highchangeService.queryHighriskChangeHospital(hchQuery); - if (hchList != null && hchList.size() > 0) { - for (HighriskChangeHospital hch : hchList) {//如果存在则修改转诊记录状态为接收 - outOrgids.add(hch.getOutOrgid()); - } - } + } + BabyPatientExtendEarScreenQuery scrQuery = new BabyPatientExtendEarScreenQuery(); + //如果查询号不为空,根据查询号查询儿童档案表,获取儿童档案Id + if (hdReq.getKeyWord() != null) {//关键字:姓名、联系方式、就诊卡 查询babyId + //调用mysql表查询baby档案。 表还未设计 + // scrQuery.setBabyIds(); + } + + scrQuery.setCheckHospitalIds((String[]) outOrgids.toArray(new String[outOrgids.size()])); + + //主数据 + List babyIds = screenService.queryScrBabyIds(scrQuery); + + if (babyIds.size() == 0) { + return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("没有找到数据"); } - BabyPatientExtendEarHearingDiagnoseQuery query = new BabyPatientExtendEarHearingDiagnoseQuery(); //设置要显示的医院集合(已加入条件本院、外院、全部) - query.setCheckHospitalIds((String[])outOrgids.toArray(new String[outOrgids.size()])); + BabyPatientExtendEarHearingDiagnoseQuery query = new BabyPatientExtendEarHearingDiagnoseQuery(); + + //设置要查询的babyId + query.setBabyIds(babyIds.toArray(new String[babyIds.size()])); + + if(hdReq.getConfirmResult()!=null){ + query.setConfirmResult(String.valueOf(hdReq.getConfirmResult())); + } if (hdReq.getDiagnoseStartTime() != null) {//诊断开始时间 query.setDiagnoseStartTime(hdReq.getDiagnoseStartTime()); @@ -208,8 +235,33 @@ public class HearingDiagnoseController extends BaseController { query.setIsconfirm(hdReq.getIsconfirm()); } - if (StringUtils.isNotEmpty(hdReq.getConfirmResult())) {//模糊查询确诊结果 - query.setConfirmResult(","+hdReq.getConfirmResult()+","); + + + if (hdReq.getConfirmDegree() != null) {//模糊查询确诊结果 + List cfList = new ArrayList<>(); + if (hdReq.getConfirmDegree() == 1) {//轻度 + cfList.add(",1,"); + cfList.add(",2,"); + cfList.add(",3,"); + } else if (hdReq.getConfirmDegree() == 2) {//中度 + cfList.add(",4,"); + cfList.add(",5,"); + cfList.add(",6,"); + } else if (hdReq.getConfirmDegree() == 3) {//重度 + cfList.add(",7,"); + cfList.add(",8,"); + cfList.add(",9,"); + } else if (hdReq.getConfirmDegree() == 3) {//重度 + cfList.add(",10,"); + cfList.add(",11,"); + cfList.add(",12,"); + } else if (hdReq.getConfirmDegree() == 4) {//极重度 + cfList.add(",13,"); + cfList.add(",14,"); + cfList.add(",15,"); + } + query.setConfirmResults(cfList.toArray(new String[cfList.size()])); + // query.setConfirmResult("," + hdReq.getConfirmResult() + ","); } if (hdReq.getConfirmStartTime() != null) {//确诊开始时间 @@ -220,46 +272,132 @@ public class HearingDiagnoseController extends BaseController { query.setConfirmEndTime(hdReq.getConfirmEndTime()); } - - - //根据当前医院id,和已接受儿童档案的转入医院id 进行查询 - if (hdReq.getEnalble() == 2) {//2待诊断,查询听筛记录,还未做听诊的 - //没有听诊记录 - query.setEnalble(2); - } else if (hdReq.getEnalble() == 1) {//已诊断 - //有听诊记录 - query.setEnalble(1); - //医院id - //没有听诊记录 - } query.setSort("diagnose_time"); + List hearingDiagnoseList = hearingDiagnoseService.getHdAndScreen(query); + + List waitConfiList = new ArrayList<>(); + List confiList = new ArrayList<>(); List hdrList = new ArrayList<>(); - for (BabyPatientExtendEarHearingDiagnose hd : hearingDiagnoseList) { - BabyModel babyModel = babyService.getOneBabyById(hd.getBabyId()); + // for (int i = (hdReq.getPage() - 1) * hdReq.getLimit(); (i < babyIds.size() && i < hdReq.getLimit()); i++) { + for (int i = 0; i < babyIds.size(); i++) { + BabyPatientExtendEarHearingDiagnose hd = new BabyPatientExtendEarHearingDiagnose(); + hd.setBabyId(babyIds.get(i)); + int index1 = Collections.binarySearch(hearingDiagnoseList, hd, new MyComparator()); HearingDiagnoseListResult hea = new HearingDiagnoseListResult(); - hea.setId(hd.getId()); - hea.setBabyName(babyModel.getName()); - hea.setMommyName(babyModel.getMname()); - hea.setMonthAge(DateUtil.getBabyMonthAge(babyModel.getBirth(), new Date())); - hea.setBirthday(DateUtil.getyyyy_MM_dd(babyModel.getBirth())); - hea.setHdTime(DateUtil.getyyyy_MM_dd(hd.getDiagnoseTime())); - hea.setSex(babyModel.getSex() == 0 ? "女" : babyModel.getSex() == 1 ? "男" : "未知"); - BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); - basicConfigQuery.setIds(Arrays.asList(hd.getHighFactor().split(","))); - //高危儿的确定因素 - // hea.setHighRiskCause(); - hdrList.add(hea); + if (index1 >= 0) { + hd = hearingDiagnoseList.get(index1); + hea.setIsconfirm(hd.getIsconfirm() == null ? "未确诊" : hd.getIsconfirm() == 0 ? "未确诊" : "已确诊"); + hea.setId(hd.getId()); + hea.setDiagnoseTime(DateUtil.getyyyy_MM_dd(hd.getDiagnoseTime())); + String docotorId = hd.getDiagnDoctorId(); + Users users = usersService.getUsers(Integer.parseInt(docotorId)); + if (users != null) { + hea.setDoctorName(users.getName() == null ? "-" : users.getName()); + } + hea.setHdTime(com.lyms.platform.common.utils.StringUtils.emptyDeal(DateUtil.getyyyy_MM_dd(hd.getDiagnoseTime()))); + if (hd.getHighFactor() != null) { + String hf[] = hd.getHighFactor().split(","); + List> highRiskEnums = new ArrayList<>(); + for (int b = 0; b < hf.length; b++) { + if (StringUtils.isNotEmpty(hf[b])) { + Map map = new HashMap<>(); + String title = HighRiskEnum.getTitle(Integer.parseInt(hf[b])); + map.put(Integer.parseInt(hf[b]), title); + highRiskEnums.add(map); + } + } + hea.setHighRiskEnums(highRiskEnums); + } + //确诊结果 + if (hd.getConfirmResult() != null) { + String cr[] = hd.getConfirmResult().split(","); + List> hdEnums = new ArrayList<>(); + for (int b = 0; b < cr.length; b++) { + if (StringUtils.isNotEmpty(cr[b])) { + Map map = new HashMap<>(); + String title = ConfirmedEnums.getTitle(Integer.parseInt(cr[b])); + map.put(Integer.parseInt(cr[b]), title); + hdEnums.add(map); + } + } + hea.setDiagnResult(hdEnums); + } + } + BabyModel babyModel = babyService.getOneBabyById(hd.getBabyId()); + if (babyModel != null) { + hea.setBabyName(babyModel.getName()); + hea.setMommyName(com.lyms.platform.common.utils.StringUtils.emptyDeal(babyModel.getMname())); + hea.setMommnyPhone(com.lyms.platform.common.utils.StringUtils.emptyDeal(babyModel.getMphone())); + hea.setMommnyEncryptPhone(com.lyms.platform.common.utils.StringUtils.encryPhone(babyModel.getMphone())); + hea.setMonthAge(DateUtil.getBabyMonthAge(babyModel.getBirth(), new Date())); + hea.setBirthday(com.lyms.platform.common.utils.StringUtils.emptyDeal(DateUtil.getyyyy_MM_dd(babyModel.getBirth()))); + hea.setSex(com.lyms.platform.common.utils.StringUtils.emptyDeal(SexEnum.getTextById(babyModel.getSex()))); + } + //诊断结果,肯定是有诊断记录 + if(hdReq.getConfirmResult()!=null||hdReq.getConfirmDegree()!=null){ + // 1、已诊断、2、待诊断、0、全部 + if (StringUtils.isNotEmpty(hea.getId())) {//1、已诊断 + confiList.add(hea); + //全部 + hdrList.add(hea); + } + }else{ + // 1、已诊断、2、待诊断、0、全部 + if (StringUtils.isEmpty(hea.getId())) { + waitConfiList.add(hea); + } else if (StringUtils.isNotEmpty(hea.getId())) {//1、已诊断 + confiList.add(hea); + } + //全部 + hdrList.add(hea); + } } - BaseResponse result = new BaseResponse(); - result.setObject(hdrList); + + BaseListResponse result = new BaseListResponse(); + PageInfo pageInfo = new PageInfo(); + List resList = new ArrayList<>(); + if (hdReq.getEnalble() != null) + { + if (hdReq.getEnalble() == 1) { + for (int i = (hdReq.getPage() - 1) * hdReq.getLimit(); (i < confiList.size() && i < hdReq.getLimit()); i++) { + resList.add(confiList.get(i)); + } + result.setData(confiList); + pageInfo.setCount(confiList.size()); + } else if (hdReq.getEnalble() == 2) { + for (int i = (hdReq.getPage() - 1) * hdReq.getLimit(); (i < waitConfiList.size() && i < hdReq.getLimit()); i++) { + resList.add(waitConfiList.get(i)); + } + pageInfo.setCount(waitConfiList.size()); + result.setData(waitConfiList); + } else if (hdReq.getEnalble() == 3) { + for (int i = (hdReq.getPage() - 1) * hdReq.getLimit(); (i < hdrList.size() && i < hdReq.getLimit()); i++) { + resList.add(hdrList.get(i)); + } + pageInfo.setCount(hdrList.size()); + result.setData(hdrList); + } + } else + { + for (int i = (hdReq.getPage() - 1) * hdReq.getLimit(); (i < hdrList.size() && i < hdReq.getLimit()); i++) { + resList.add(hdrList.get(i)); + } + pageInfo.setCount(hdrList.size()); + result.setData(hdrList); + } + + pageInfo.setLimit(hdReq.getLimit()); + pageInfo.setPage(hdReq.getPage()); + result.setPageInfo(pageInfo); result.setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("查询成功"); return result; } /** * 删除听力诊断 - * @param obj 听力诊断对象 + * + * @param obj 听力诊断对象 * @param request * @return */ @@ -370,8 +508,6 @@ public class HearingDiagnoseController extends BaseController { hch.setReceiveDoctorid(String.valueOf(loginState.getId())); highchangeService.updateHighriskChangeHospital(hch); //调用儿童档案接口,将隐藏档案设置为显示 - - } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/HearingDiagnoseRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/HearingDiagnoseRequest.java index 55765a1..a51a9c4 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/HearingDiagnoseRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/HearingDiagnoseRequest.java @@ -45,13 +45,13 @@ public class HearingDiagnoseRequest extends BasePageQueryRequest{ */ private Integer isconfirm; /** - * 确诊结果 + * 确诊结果 0-全部,1-轻度耳聋,2-中度耳聋,3-重度耳聋,4-极重耳聋 */ - private String confirmResult; + private Integer confirmResult; /** * 确诊程度 0-全部,1-轻度,2-中度,3-重度,4-极重 */ - private String confirmDegree; + private Integer confirmDegree; /** * 确诊开始时间 @@ -104,14 +104,21 @@ public class HearingDiagnoseRequest extends BasePageQueryRequest{ this.isconfirm = isconfirm; } - public String getConfirmResult() { + public Integer getConfirmResult() { return confirmResult; } - public void setConfirmResult(String confirmResult) { + public void setConfirmResult(Integer confirmResult) { this.confirmResult = confirmResult; } + public Integer getConfirmDegree() { + return confirmDegree; + } + + public void setConfirmDegree(Integer confirmDegree) { + this.confirmDegree = confirmDegree; + } public Date getDiagnoseStartTime() { return diagnoseStartTime; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/HearingDiagnoseListResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/HearingDiagnoseListResult.java index eb29278..ce2ad0f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/HearingDiagnoseListResult.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/HearingDiagnoseListResult.java @@ -1,5 +1,8 @@ package com.lyms.platform.operate.web.result; +import java.util.List; +import java.util.Map; + /** * 听力诊断列表 * Created by yf on 2017/5/11. @@ -19,22 +22,28 @@ public class HearingDiagnoseListResult { private String hdTime; //性别 private String sex; - //高危因素 1=早产 2=晚产 - private String highRiskCause; //诊断结果 - private String diagnose; + private List> diagnResult; //是否确诊 0-待确诊,1-确诊 - private String enalble; - //诊断指导处理意见 - private String diagnHandSugge; + private String isconfirm; //创建时间 - private String buildTime; + private String diagnoseTime; //医生名称 private String doctorName; //母亲联系方式 private String mommnyPhone; //母亲加密联系方式 private String mommnyEncryptPhone; + //听力高危集合 + private List> highRiskEnums; + + public List> getHighRiskEnums() { + return highRiskEnums; + } + + public void setHighRiskEnums(List> highRiskEnums) { + this.highRiskEnums = highRiskEnums; + } public String getId() { return id; @@ -92,44 +101,29 @@ public class HearingDiagnoseListResult { this.sex = sex; } - public String getHighRiskCause() { - return highRiskCause; - } - - public void setHighRiskCause(String highRiskCause) { - this.highRiskCause = highRiskCause; - } - - public String getDiagnose() { - return diagnose; - } - - public void setDiagnose(String diagnose) { - this.diagnose = diagnose; - } - public String getEnalble() { - return enalble; + public List> getDiagnResult() { + return diagnResult; } - public void setEnalble(String enalble) { - this.enalble = enalble; + public void setDiagnResult(List> diagnResult) { + this.diagnResult = diagnResult; } - public String getDiagnHandSugge() { - return diagnHandSugge; + public String getIsconfirm() { + return isconfirm; } - public void setDiagnHandSugge(String diagnHandSugge) { - this.diagnHandSugge = diagnHandSugge; + public void setIsconfirm(String isconfirm) { + this.isconfirm = isconfirm; } - public String getBuildTime() { - return buildTime; + public String getDiagnoseTime() { + return diagnoseTime; } - public void setBuildTime(String buildTime) { - this.buildTime = buildTime; + public void setDiagnoseTime(String diagnoseTime) { + this.diagnoseTime = diagnoseTime; } public String getDoctorName() { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MyComparator.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MyComparator.java new file mode 100644 index 0000000..c2e3687 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MyComparator.java @@ -0,0 +1,18 @@ +package com.lyms.platform.operate.web.utils; + +import com.lyms.platform.permission.model.BabyPatientExtendEarHearingDiagnose; + +import java.util.Comparator; + +/** + * @auther yangfei + * @createTime 2017年05月22日 16时52分 + * @discription + */ +public class MyComparator implements Comparator { + @Override + public int compare(BabyPatientExtendEarHearingDiagnose s1, BabyPatientExtendEarHearingDiagnose s2) { + int num1 = (s1.getBabyId().compareTo(s2.getBabyId())); + return num1; + } +} -- 1.8.3.1