diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CommonService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CommonService.java index b65443a..79fd5c4 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CommonService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/CommonService.java @@ -54,7 +54,6 @@ public class CommonService { } - /** * 高危id转成列表 * @@ -86,8 +85,6 @@ public class CommonService { } - - /** * 高危id转成列表 * @@ -137,16 +134,16 @@ public class CommonService { * @param riskList * @return */ - public Map calculateRiskScore(List riskList ){ + public Map calculateRiskScore(List riskList) { Map result = new HashMap(); - int score=0; - List levelList = new ArrayList<>() ; + int score = 0; + List levelList = new ArrayList<>(); for (int i = 0; i < riskList.size(); i++) { - Object obj =riskList.get(i); - if(null!=obj){ + Object obj = riskList.get(i); + if (null != obj) { BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(obj.toString()); - if(null!=basicConfig){ - if(null!=basicConfig.getCode()){ + if (null != basicConfig) { + if (null != basicConfig.getCode()) { score += Integer.valueOf(basicConfig.getCode()); } basicConfig = basicConfigService.getOneBasicConfigById(basicConfig.getParentId()); @@ -156,8 +153,37 @@ public class CommonService { } } } - result.put("score",score); - result.put("levelList",levelList); + result.put("score", score); + result.put("levelList", levelList); + return result; + } + + public Map resolveOtherRisk(String risk) { + Map result = new HashMap(); + if (StringUtils.isNotEmpty(risk) && !"{}".equals(risk)) { + Map map = JsonUtil.str2Obj(risk, Map.class); + Object obj = map.get("fxysu"); + if (null != obj && !"null".equals(obj.toString()) && !"".equals(obj.toString())) { + result.put("name", map.get("fxysu")); + Object idObj1 = map.get("fyyse"); + if (null != idObj1 && !"null".equals(idObj1.toString()) && !"".equals(idObj1.toString())) { + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(idObj1.toString()); + if (null != basicConfig) { + String name = basicConfig.getName(); + if (name.indexOf("预警") > -1) { + name = name.replace("预警", ""); + } + result.put("level", name); + } + } + //风险评分 + Object idObj = map.get("fxpf"); + if (null != idObj && !"null".equals(idObj.toString()) && !"".equals(idObj.toString())) { + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(idObj.toString()); + result.put("score",NumberUtils.toInt(basicConfig.getName(), 0)); + } + } + } return result; } } \ No newline at end of file diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/AntExRecordModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/AntExRecordModel.java index db640a9..7637af6 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/AntExRecordModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/AntExRecordModel.java @@ -338,6 +338,9 @@ public class AntExRecordModel extends BaseModel { } public Integer gethScore() { + if(hScore ==null){ + return 0; + } return hScore; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/AntExRecordWorker.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/AntExRecordWorker.java index 14d8e96..e53a8c9 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/AntExRecordWorker.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/worker/AntExRecordWorker.java @@ -126,48 +126,55 @@ public class AntExRecordWorker implements Callable> { //本院低次 int dichi = recordService.count(antExRecordQuery1); antExRecordQuery1.setHospitalId(null); - String fxys = ""; - if (StringUtils.isNotEmpty(e.getfId())) { - String risk = null; - if (e.getType() == 2) { - AntExChuModel model = antenatalExaminationService.findOne(e.getfId()); - if (null != model) { - risk = model.getOtherHighRisk(); - } - } else if (e.getType() == 1) { - AntenatalExaminationModel model = antenatalExaminationService.findOneById(e.getfId()); - if (null != model) { - risk = model.getOtherRisk(); - } - } - try { - Map map = JsonUtil.str2Obj(risk, Map.class); - Object obj = map.get("fxysu"); - if (null != obj) { - fxys = obj.toString(); - } - } catch (Exception e1) { - } + antExManagerResult.settTimes(recordService.count(antExRecordQuery1)); + antExManagerResult.setChTimes(dichi); + handleRisk(e,antExManagerResult); + + data.add(antExManagerResult); + } catch (Exception e1) { + ExceptionUtils.catchException(e1, "antex worker error."); + } + } + return data; + } + + private void handleRisk(AntExRecordModel e , AntExManagerResult antExManagerResult){ + if (StringUtils.isNotEmpty(e.getfId())) { + String risk = null; + if (e.getType() == 2) { + AntExChuModel model = antenatalExaminationService.findOne(e.getfId()); + if (null != model) { + risk = model.getOtherHighRisk(); } + } else if (e.getType() == 1) { + AntenatalExaminationModel model = antenatalExaminationService.findOneById(e.getfId()); + if (null != model) { + risk = model.getOtherRisk(); + } + } + Map result = commonService.resolveOtherRisk(risk); + if(!result.isEmpty()){ + //高危因素名字 + String name =result.get("name").toString(); + String level =result.get("level").toString(); + String score =result.get("score").toString(); + if(org.apache.commons.lang.StringUtils.isNotEmpty(level) &&!"null".equals(level)){ + e.gethLevel().add(level); + } - antExManagerResult.settTimes(recordService.count(antExRecordQuery1)); - antExManagerResult.setChTimes(dichi); //高危因素 antExManagerResult.setrLevel(commonService.findRiskLevel(e.gethLevel())); String ri= commonService.resloveFactor(e.gethRisk()); if(ri.isEmpty()){ - ri=fxys; - }else if(StringUtils.isNotEmpty(fxys)){ - ri+=","+fxys; + ri=name; + }else if(StringUtils.isNotEmpty(name)){ + ri+=","+name; } antExManagerResult.setRiskFactor(ri); - data.add(antExManagerResult); - } catch (Exception e1) { - ExceptionUtils.catchException(e1, "antex worker error."); + antExManagerResult.setRiskScore((e.gethScore()+NumberUtils.toInt(score,0))+""); } } - return data; } }