From fbcb97c58b4862da2cfac8118b511e946ba6c72b Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Thu, 13 Oct 2016 13:14:50 +0800 Subject: [PATCH] commit --- .../platform/operate/web/facade/PatientFacade.java | 101 ++++++++++++++------- 1 file changed, 69 insertions(+), 32 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java index e8c099a..bb8d5d3 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java @@ -6,10 +6,7 @@ import com.lyms.platform.common.enums.*; 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.Assert; -import com.lyms.platform.common.utils.DateUtil; -import com.lyms.platform.common.utils.ExcelUtil; -import com.lyms.platform.common.utils.ExceptionUtils; +import com.lyms.platform.common.utils.*; import com.lyms.platform.operate.web.request.*; import com.lyms.platform.operate.web.result.*; import com.lyms.platform.operate.web.utils.CommonsHelper; @@ -221,8 +218,7 @@ public class PatientFacade { //服务状态 if (null != riskPatientsQueryRequest.getServiceStatus()) { - if (ServiceStatusEnums.STANDARD_ALL.getId() != Integer.valueOf(riskPatientsQueryRequest.getServiceStatus()) && ServiceStatusEnums.ADD_ALL.getId() != Integer.valueOf(riskPatientsQueryRequest.getServiceStatus())) - { + if (ServiceStatusEnums.STANDARD_ALL.getId() != Integer.valueOf(riskPatientsQueryRequest.getServiceStatus()) && ServiceStatusEnums.ADD_ALL.getId() != Integer.valueOf(riskPatientsQueryRequest.getServiceStatus())) { patientsQuery.setServiceStatus(Integer.valueOf(riskPatientsQueryRequest.getServiceStatus())); } @@ -231,23 +227,23 @@ public class PatientFacade { patientsQuery.setrLevel(riskPatientsQueryRequest.getrLevel()); patientsQuery.setLastMensesStart(riskPatientsQueryRequest.capEnd()); patientsQuery.setLastMensesEnd(riskPatientsQueryRequest.capStart()); - if(StringUtils.isNotEmpty(riskPatientsQueryRequest.getBuildTime())){ + if (StringUtils.isNotEmpty(riskPatientsQueryRequest.getBuildTime())) { String nextDateStr = riskPatientsQueryRequest.getBuildTime(); String[] dates = nextDateStr.split(" - "); patientsQuery.setBookbuildingDateStart(DateUtil.parseYMD(dates[0])); - if(dates.length==2){ + if (dates.length == 2) { patientsQuery.setBookbuildingDateEnd(DateUtil.parseYMD(dates[1])); } } - if(StringUtils.isNotEmpty(riskPatientsQueryRequest.getLastRhTime())){ + if (StringUtils.isNotEmpty(riskPatientsQueryRequest.getLastRhTime())) { String nextDateStr = riskPatientsQueryRequest.getLastRhTime(); String[] dates = nextDateStr.split(" - "); patientsQuery.setLastRhTimeStart(DateUtil.parseYMD(dates[0])); - if(dates.length==2){ + if (dates.length == 2) { patientsQuery.setLastRhTimeEnd(DateUtil.parseYMD(dates[1])); } } @@ -282,11 +278,11 @@ public class PatientFacade { buildType.add(0); buildType.add(2); patientsQuery.setBuildTypeList(buildType); - String hospital=autoMatchFacade.getHospitalId(userId); + String hospital = autoMatchFacade.getHospitalId(userId); patientsQuery.setHospitalId(hospital); patientsQuery.setNeed(needPage); //查询符合条件的孕妇 - StopWatch stopWatch=new StopWatch("queryPatient1 -"+hospital); + StopWatch stopWatch = new StopWatch("queryPatient1 -" + hospital); stopWatch.start(); List patientses = patientsService.queryPatient1(patientsQuery, "modified"); stopWatch.stop(); @@ -296,13 +292,13 @@ public class PatientFacade { if (CollectionUtils.isNotEmpty(patientses)) { //如果是查高危孕妇 if (null != isHighRisk && Boolean.TRUE.equals(isHighRisk)) { - data = convertToHighRisk(patientses, userId,hospital); + data = convertToHighRisk(patientses, userId, hospital); } else if (type == 1) { //处理全部孕妇的情况 - data = convertToQuanPatient(patientses, userId,hospital); + data = convertToQuanPatient(patientses, userId, hospital); //处理全部产妇 } else if (type == 3) { - data = convertToQuanCPatient(patientses, userId,hospital); + data = convertToQuanCPatient(patientses, userId, hospital); } } return new BaseListResponse().setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(data).setPageInfo(patientsQuery.getPageInfo()); @@ -336,7 +332,7 @@ public class PatientFacade { * @param patientses 符合条件的产妇 * @return */ - private List convertToQuanCPatient(List patientses, Integer userId,String hospital) { + private List convertToQuanCPatient(List patientses, Integer userId, String hospital) { List data = new ArrayList<>(); AntExQuery antExQuery = new AntExQuery(); // String hospital = autoMatchFacade.getHospitalId(userId); @@ -358,12 +354,12 @@ public class PatientFacade { chanResult.setlName(patients.getBookbuildingDoctor()); } } - MatDeliverQuery matDeliverQuery=new MatDeliverQuery(); + MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); matDeliverQuery.setPid(patients.getPid()); matDeliverQuery.setCreatedStart(patients.getLastMenses()); matDeliverQuery.setYn(YnEnums.YES.getId()); - List maternalDeliverModels = matDeliverService.query(matDeliverQuery); - if(CollectionUtils.isNotEmpty(maternalDeliverModels)){ + List maternalDeliverModels = matDeliverService.query(matDeliverQuery); + if (CollectionUtils.isNotEmpty(maternalDeliverModels)) { chanResult.setDueWeek(maternalDeliverModels.get(0).getDueDate()); } /*if (StringUtils.isNotEmpty(patients.getLastCheckEmployeeId())) { @@ -413,7 +409,7 @@ public class PatientFacade { } - private List convertToQuanPatient(List patientses, Integer userId,String hospital) { + private List convertToQuanPatient(List patientses, Integer userId, String hospital) { AntExChuQuery antExChuQuery = new AntExChuQuery(); AntExQuery antExQuery = new AntExQuery(); List data = new ArrayList<>(); @@ -511,13 +507,13 @@ public class PatientFacade { * @param patientses * @return */ - private List convertToHighRisk(List patientses, Integer userId,String hospital) { + private List convertToHighRisk(List patientses, Integer userId, String hospital) { AntExChuQuery antExChuQuery = new AntExChuQuery(); AntExQuery antExQuery = new AntExQuery(); List data = new ArrayList<>(); // String hospital = autoMatchFacade.getHospitalId(userId); for (Patients patients : patientses) { - StopWatch stopWatch=new StopWatch("convert -"+patients.getId()); + StopWatch stopWatch = new StopWatch("convert -" + patients.getId()); RiskPatientsResult riskPatientsResult = new RiskPatientsResult(); riskPatientsResult.convertToResult(patients); if (StringUtils.isNotEmpty(patients.getBookbuildingDoctor())) { @@ -588,10 +584,54 @@ public class PatientFacade { riskPatientsResult.setServiceStatus(ServiceStatusEnums.getNameById(patients.getServiceStatus())); riskPatientsResult.setcTime(nextCheckTime); stopWatch.start("query findLastRisk"); - HighScoreResult highScoreResult = antenatalExaminationFacade.findLastRisk(patients.getPid(), true); + /* HighScoreResult highScoreResult = antenatalExaminationFacade.findLastRisk(patients.getPid(), true); riskPatientsResult.setrFactor(highScoreResult.gethighRiskStr()); riskPatientsResult.setrLevel(highScoreResult.filter(highScoreResult.getLevel())); - riskPatientsResult.sethScore(highScoreResult.getScore()); + riskPatientsResult.sethScore(highScoreResult.getScore());*/ + HighScoreResult highScoreResult = new HighScoreResult(); + + + //高危因素 + List factor = patients.getRiskFactorId(); + + if (CollectionUtils.isNotEmpty(factor)) { + StringBuilder sb = new StringBuilder(56); + for (String srt : factor) { + if (StringUtils.isNotEmpty(srt)) { + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(srt); + if (null != basicConfig && sb.indexOf(basicConfig.getName()) > -1) { + sb.append(basicConfig.getName()).append(','); + } + } + } + if(sb.toString().endsWith(",")){ + riskPatientsResult.setrFactor(sb.substring(0,sb.length()-1)); + }else{ + riskPatientsResult.setrFactor(sb.toString()); + } + } + List level =new ArrayList(); + if(StringUtils.isNotEmpty(patients.getRiskLevelId())){ + try { + List list = JsonUtil.jkstr2Obj(patients.getRiskLevelId(),List.class); + for(String str:list){ + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(str); + if (null != basicConfig) { + Map map =new HashMap(); + String name = basicConfig.getName(); + if (name.indexOf("预警") > -1) { + name = name.replace("预警", ""); + } + map.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); + level.add(map); + } + } + }catch (Exception e){ + } + riskPatientsResult.setrLevel(level); + } + + riskPatientsResult.sethScore(patients.getRiskScore()); stopWatch.stop(); logger.info(stopWatch.toString()); data.add(riskPatientsResult); @@ -768,20 +808,17 @@ public class PatientFacade { OutputStream out = response.getOutputStream(); ExcelUtil.toExcel(out, datas, cnames); } catch (Exception e) { - ExceptionUtils.catchException(e,e.getMessage()); + ExceptionUtils.catchException(e, e.getMessage()); } } - private String getLevel(List levels) - { + private String getLevel(List levels) { String str = ""; - if (CollectionUtils.isNotEmpty(levels)) - { - for (Map map : levels) - { - str+=map.get("name")+";"; + if (CollectionUtils.isNotEmpty(levels)) { + for (Map map : levels) { + str += map.get("name") + ";"; } } -- 1.8.3.1