Commit eeb22f00d5683e7e746bac7dba3bfc048ade37a0
1 parent
9cf012bd44
Exists in
master
and in
6 other branches
威海高危统计
Showing 5 changed files with 297 additions and 50 deletions
- platform-dal/src/main/java/com/lyms/platform/query/AntExRecordQuery.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HosptialHighRiskFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/RiskStatisticsResult.java
platform-dal/src/main/java/com/lyms/platform/query/AntExRecordQuery.java
View file @
eeb22f0
| ... | ... | @@ -356,6 +356,7 @@ |
| 356 | 356 | private Date checkTimeStart; |
| 357 | 357 | private Date checkTimeEnd; |
| 358 | 358 | private Date checkTimeLt; |
| 359 | + private Date createdlt; | |
| 359 | 360 | |
| 360 | 361 | private Date dueDateStart; |
| 361 | 362 | private Date dueDateEnd; |
| ... | ... | @@ -392,6 +393,14 @@ |
| 392 | 393 | this.checkTimeEnd = checkTimeEnd; |
| 393 | 394 | } |
| 394 | 395 | |
| 396 | + public Date getCreatedlt() { | |
| 397 | + return createdlt; | |
| 398 | + } | |
| 399 | + | |
| 400 | + public void setCreatedlt(Date createdlt) { | |
| 401 | + this.createdlt = createdlt; | |
| 402 | + } | |
| 403 | + | |
| 395 | 404 | public List getHospitalList() { |
| 396 | 405 | return hospitalList; |
| 397 | 406 | } |
| ... | ... | @@ -722,6 +731,13 @@ |
| 722 | 731 | c = c.lt(checkTimeLt); |
| 723 | 732 | } else { |
| 724 | 733 | c = Criteria.where("checkTime").lt(checkTimeLt); |
| 734 | + } | |
| 735 | + } | |
| 736 | + if (null != createdlt) { | |
| 737 | + if (null != c) { | |
| 738 | + c = c.lt(createdlt); | |
| 739 | + } else { | |
| 740 | + c = Criteria.where("created").lt(createdlt); | |
| 725 | 741 | } |
| 726 | 742 | } |
| 727 | 743 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AntenatalExaminationController.java
View file @
eeb22f0
| ... | ... | @@ -270,16 +270,16 @@ |
| 270 | 270 | } |
| 271 | 271 | |
| 272 | 272 | /** |
| 273 | - * 功能描述 | |
| 273 | + * 功能描述 威海高危统计 | |
| 274 | 274 | * @author 武涛涛 |
| 275 | 275 | * @date 2020/6/4 |
| 276 | 276 | */ |
| 277 | 277 | @RequestMapping(method = RequestMethod.GET, value = "/antex/findStatisticalRisk") |
| 278 | 278 | @ResponseBody |
| 279 | 279 | @TokenRequired |
| 280 | - public BaseResponse findStatisticalRisk(@Valid AntExManagerQueryRequest antExManagerQueryRequest, HttpServletRequest request) { | |
| 280 | + public void findStatisticalRisk(@Valid AntExManagerQueryRequest antExManagerQueryRequest, HttpServletRequest request, HttpServletResponse response) { | |
| 281 | 281 | LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); |
| 282 | - return antExRecordFacade.findStatisticalRisk(antExManagerQueryRequest, loginState.getId(), false, "true"); | |
| 282 | + antExRecordFacade.findStatisticalRisk(antExManagerQueryRequest, loginState.getId(), false, "true", response); | |
| 283 | 283 | } |
| 284 | 284 | |
| 285 | 285 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java
View file @
eeb22f0
| ... | ... | @@ -12,10 +12,11 @@ |
| 12 | 12 | import com.lyms.platform.operate.web.request.AntExManagerQueryRequest; |
| 13 | 13 | import com.lyms.platform.operate.web.request.CjStatisticsQueryRequest; |
| 14 | 14 | import com.lyms.platform.operate.web.request.NutritionInfoRequest; |
| 15 | -import com.lyms.platform.operate.web.result.AntExManagerResult; | |
| 16 | -import com.lyms.platform.operate.web.result.CjStatisticsListResult; | |
| 17 | -import com.lyms.platform.operate.web.result.CjStatisticsResult; | |
| 18 | -import com.lyms.platform.operate.web.result.HighScoreResult; | |
| 15 | +import com.lyms.platform.operate.web.result.*; | |
| 16 | +import com.lyms.platform.operate.web.utils.FunvCommonUtil; | |
| 17 | +import com.lyms.platform.operate.web.utils.ResolveUtils; | |
| 18 | +import com.lyms.platform.operate.web.utils.UnitConstants; | |
| 19 | +import com.lyms.platform.operate.web.utils.UnitUtils; | |
| 19 | 20 | import com.lyms.platform.operate.web.worker.AntExRecordWorker; |
| 20 | 21 | import com.lyms.platform.permission.model.Organization; |
| 21 | 22 | import com.lyms.platform.permission.model.OrganizationQuery; |
| ... | ... | @@ -66,6 +67,8 @@ |
| 66 | 67 | @Autowired |
| 67 | 68 | private BasicConfigService basicConfigService; |
| 68 | 69 | @Autowired |
| 70 | + private HosptialHighRiskService hosptialHighRiskService; | |
| 71 | + @Autowired | |
| 69 | 72 | private CommonService commonService; |
| 70 | 73 | @Autowired |
| 71 | 74 | private AntenatalExaminationService antExService; |
| 72 | 75 | |
| 73 | 76 | |
| 74 | 77 | |
| 75 | 78 | |
| 76 | 79 | |
| 77 | 80 | |
| 78 | 81 | |
| 79 | 82 | |
| 80 | 83 | |
| 81 | 84 | |
| 82 | 85 | |
| 83 | 86 | |
| 84 | 87 | |
| 85 | 88 | |
| 86 | 89 | |
| 87 | 90 | |
| 88 | 91 | |
| 89 | 92 | |
| 90 | 93 | |
| 91 | 94 | |
| 92 | 95 | |
| 93 | 96 | |
| 94 | 97 | |
| 95 | 98 | |
| 96 | 99 | |
| 97 | 100 | |
| 98 | 101 | |
| 99 | 102 | |
| 100 | 103 | |
| 101 | 104 | |
| 102 | 105 | |
| 103 | 106 | |
| 104 | 107 | |
| 105 | 108 | |
| ... | ... | @@ -357,107 +360,276 @@ |
| 357 | 360 | |
| 358 | 361 | /** |
| 359 | 362 | * 功能描述 威海妇幼统计各个高危总数,及初诊复诊各个高危总数 |
| 360 | - * 这几个场景都没问题 110101199003074960 110101199003071102 测试了1 初诊 复诊 复诊, 2 初诊 复诊 3 复诊 复诊 复诊 场景 | |
| 361 | 363 | * |
| 362 | - * 缺少 初诊复诊分别统计,级别统计,和补充高危统计。 | |
| 363 | - * | |
| 364 | 364 | * @return |
| 365 | 365 | * @author 武涛涛 |
| 366 | 366 | * @date 2020/6/4 |
| 367 | - * // * @param 参数说明antExManagerQueryRequest.cTime产检时间, userId 当前用户id , isRegion false,isPage "false", | |
| 367 | + //@param 参数说明antExManagerQueryRequest.cTime产检时间, userId 当前用户id , isRegion false,isPage "false", | |
| 368 | 368 | */ |
| 369 | - public BaseResponse findStatisticalRisk(AntExManagerQueryRequest antExManagerQueryRequest, Integer userId, boolean isRegion, String isPage) { | |
| 370 | - List<String> incrHrisk = null;//存储高危id | |
| 369 | + public BaseResponse findStatisticalRisk(AntExManagerQueryRequest antExManagerQueryRequest, Integer userId, boolean isRegion, String isPage,HttpServletResponse response) { | |
| 370 | + List<String> incrHrisk = null;//高危因素 list | |
| 371 | 371 | AntExRecordQuery antExRecordQuery = null; |
| 372 | 372 | try { |
| 373 | 373 | incrHrisk = new ArrayList(); |
| 374 | 374 | antExRecordQuery = complayRequest(userId, antExManagerQueryRequest, isRegion, isPage); |
| 375 | + antExRecordQuery.setCardNo(antExManagerQueryRequest.getCardNo()); | |
| 375 | 376 | String hospital = autoMatchFacade.getHospitalId(userId); |
| 376 | 377 | antExRecordQuery.setHospitalId(hospital); |
| 378 | + //antExRecordQuery.setType(1);//???? | |
| 377 | 379 | List<AntExRecordModel> antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery, Sort.Direction.DESC, "created"); |
| 378 | - System.out.println("1------获取产检条数------" + antExRecordModelList.size()); | |
| 380 | + System.out.println("1 获取这段时间的产检条数------" + antExRecordModelList.size()); | |
| 379 | 381 | Map<String, List<AntExRecordModel>> map = handleAntexRecord2(antExRecordModelList); |
| 380 | - System.out.println("2-----获取产检孕妇人数-------" + map.size()); | |
| 382 | + System.out.println("2 将产检内容按照人存储,一个人可以多条-------" + map.size()); | |
| 381 | 383 | if (map != null && map.size() > 0) { |
| 384 | + int conut = 0; | |
| 385 | + String name = null; | |
| 386 | + String carno = null; | |
| 382 | 387 | Iterator<Map.Entry<String, List<AntExRecordModel>>> iterator = map.entrySet().iterator(); |
| 383 | 388 | while (iterator.hasNext()) { |
| 389 | + boolean czb = true; | |
| 384 | 390 | Map.Entry<String, List<AntExRecordModel>> next = iterator.next(); |
| 391 | + //个人产检list | |
| 385 | 392 | List<AntExRecordModel> valueList = next.getValue(); |
| 393 | + | |
| 386 | 394 | if (CollectionUtils.isNotEmpty(valueList)) { |
| 387 | 395 | ListSort(valueList);//升序 |
| 388 | - System.out.println("3---获取单个孕妇产检数--1111---" + valueList.size()); | |
| 389 | - //获取个人第一个产检,判断是否为复诊 | |
| 396 | + System.out.println("3 单个孕妇产检数总数1---" + valueList.size()); | |
| 390 | 397 | AntExRecordModel antExRecordModel = valueList.get(0); |
| 391 | - if (antExRecordModel != null && antExRecordModel.getType() != null && antExRecordModel.getType() == 1) { //1 复诊 2 初诊 | |
| 392 | - //复诊就查询上一次产检信息 | |
| 398 | + name = antExRecordModel.getName(); | |
| 399 | + carno = antExRecordModel.getCardNo(); | |
| 400 | + //1 产检信息升序,判断第一个是否为复诊,复诊就查询上一次产检信息 | |
| 401 | + if (antExRecordModel != null && antExRecordModel.getType() != null && antExRecordModel.getType() == 1) {//(1 复诊 2 初诊) | |
| 393 | 402 | AntExRecordQuery beforeRecordQuery = new AntExRecordQuery(); |
| 394 | 403 | beforeRecordQuery.setParentId(antExRecordModel.getParentId()); |
| 395 | - beforeRecordQuery.setCheckTimeEnd(antExRecordModel.getCheckTime()); | |
| 396 | - //beforeRecordQuery.setNeqId(antExRecordModel.getId()); //模拟多条数据时候观察一下 | |
| 397 | - List<AntExRecordModel> beforeAntRecords = recordService.queryAntExRecords(beforeRecordQuery); | |
| 404 | + beforeRecordQuery.setCheckTimeLt(antExRecordModel.getCheckTime()); | |
| 405 | + List<AntExRecordModel> beforeAntRecords = recordService.queryAntExRecords(beforeRecordQuery, Sort.Direction.DESC, "created"); | |
| 406 | + //如果复诊前面直接是初诊就存在复诊初诊使用检查时间问题,需要修改查询时间 | |
| 407 | + if(CollectionUtils.isEmpty(beforeAntRecords)){ | |
| 408 | + AntExRecordQuery beforeRecordQuery1 = new AntExRecordQuery(); | |
| 409 | + beforeRecordQuery1.setParentId(antExRecordModel.getParentId()); | |
| 410 | + beforeRecordQuery1.setCreatedlt(antExRecordModel.getCreated()); | |
| 411 | + beforeAntRecords = recordService.queryAntExRecords(beforeRecordQuery1, Sort.Direction.DESC, "created"); | |
| 412 | + | |
| 413 | + } | |
| 414 | + //将复诊上一次产检记录中,添加到个人产检list | |
| 398 | 415 | if (CollectionUtils.isNotEmpty(beforeAntRecords)) { |
| 399 | 416 | AntExRecordModel antExRecordModel1 = beforeAntRecords.get(0); |
| 400 | - //将产检信息添加到这个人产检记录中 | |
| 401 | - valueList.add(antExRecordModel1);// | |
| 417 | + valueList.add(antExRecordModel1); | |
| 418 | + czb = false;//复诊上面是初诊,下面比对新增高危时候就不直接添加上这个初诊了 | |
| 402 | 419 | } |
| 403 | 420 | } |
| 404 | - | |
| 405 | - System.out.println("4----获取单个孕妇产检数--2222----" + valueList.size()); | |
| 421 | + System.out.println("4 单个孕妇产检数总数2---" + valueList.size()); | |
| 406 | 422 | ListSort(valueList); |
| 407 | - //个人产检信息,统计高危 valueList | |
| 408 | - //遍历个人产检list | |
| 409 | 423 | |
| 424 | + //遍历个人产检记录list,获取产检高危因素、其它高危,剔除健康高危 | |
| 410 | 425 | for (int i = 0; i < valueList.size(); i++) { |
| 411 | - //获取第一条 | |
| 426 | + List beforeRiskList = new ArrayList(); | |
| 427 | + //获取第一条产检记录 | |
| 412 | 428 | AntExRecordModel antExRecordModel1 = valueList.get(i); |
| 413 | - if (antExRecordModel1.gethRisk() == null && !antExRecordModel1.gethRisk().contains("d42eec03-aa86-45b8-a4e0-78a0ff365fb6")) { | |
| 414 | - continue; | |
| 415 | - } | |
| 416 | - List beforeRiskList = antExRecordModel1.gethRisk(); | |
| 417 | - | |
| 418 | - //这段时间一个孕妇一条初诊产检直接保存跳出 | |
| 419 | - if(antExRecordModel1.getType()==2){ | |
| 429 | + //根据产检记录分别获取,初诊复诊对应的其它高危。 | |
| 430 | + getCzFzGwMth(beforeRiskList, antExRecordModel1); | |
| 431 | + //beforeRiskList = antExRecordModel1.gethRisk(); //不在使用产检记录中的高危因素 | |
| 432 | + //人产检list只有一条初诊产检直接保存跳出 | |
| 433 | + if(antExRecordModel1.getType()==2 && czb){ | |
| 420 | 434 | incrHrisk.addAll(beforeRiskList); |
| 435 | + conut = beforeRiskList.size(); | |
| 421 | 436 | if(valueList.size() == 1){ |
| 422 | 437 | break; |
| 423 | 438 | } |
| 424 | 439 | } |
| 425 | 440 | //初诊和复诊,复诊和复诊比对避免超出坐标 |
| 426 | - if((i + 1) >= valueList.size()){ | |
| 427 | - break; | |
| 428 | - } | |
| 441 | + if((i + 1) >= valueList.size()){break; } | |
| 442 | + | |
| 429 | 443 | //获取第二条进行比对 |
| 430 | - List currentRiskList = valueList.get(i + 1).gethRisk(); | |
| 444 | + List currentRiskList = new ArrayList(); | |
| 445 | + getCzFzGwMth(currentRiskList, valueList.get(i + 1)); | |
| 431 | 446 | for (Object riskId : currentRiskList) { |
| 432 | 447 | if (!beforeRiskList.contains(riskId)) { |
| 433 | 448 | incrHrisk.add(String.valueOf(riskId)); |
| 449 | + conut ++; | |
| 434 | 450 | } |
| 435 | 451 | } |
| 436 | - //不在比对孕妇最后一条 | |
| 437 | - if((i + 2) == valueList.size()){ | |
| 438 | - break; | |
| 439 | - } | |
| 452 | + //人产检list最后一条不用比对 | |
| 453 | + if((i + 2) == valueList.size()){break;} | |
| 440 | 454 | |
| 455 | + } | |
| 441 | 456 | |
| 457 | + } | |
| 458 | + } | |
| 459 | + System.out.println("5 孕妇:"+ name +"身份证:"+ carno + ",高危添加总数---" + conut); //现在统计个数完全正确$$$$ | |
| 460 | + List<RiskStatisticsResult> riskStatisticsResults = new ArrayList<>(); | |
| 461 | + for (String bcid: incrHrisk ) { | |
| 462 | + if(bcid.contains("###")){ | |
| 463 | + RiskStatisticsResult rsr = new RiskStatisticsResult(); | |
| 464 | + /* if(bcid.contains("###czgw@")){ | |
| 465 | + rsr.setFuzChz("复诊"); | |
| 466 | + }else if(bcid.contains("###fzgw@")){ | |
| 467 | + rsr.setFuzChz("初诊"); | |
| 442 | 468 | } |
| 469 | + bcid = bcid.substring(8,bcid.length());*/ | |
| 470 | + bcid = bcid.substring(3,bcid.length()); | |
| 471 | + HosptialHighRisk hosptialHighRisk = hosptialHighRiskService.getOneHosptialHighRiskById(bcid); | |
| 472 | + if(hosptialHighRisk !=null){ | |
| 473 | + String colorCode = HosptialHighRiskFacade.colorMap.get(hosptialHighRisk.getColor()); | |
| 474 | + hosptialHighRisk.setColorName(HosptialHighRiskFacade.colorNameMap.get(colorCode)); | |
| 475 | + rsr.setId(hosptialHighRisk.getId()); | |
| 476 | + rsr.setName(hosptialHighRisk.getName()); | |
| 477 | + rsr.setColor(hosptialHighRisk.getColorName()); | |
| 478 | + } | |
| 479 | + riskStatisticsResults.add(rsr); | |
| 480 | + System.out.println(rsr.toString()); | |
| 481 | + }else { | |
| 482 | + RiskStatisticsResult rsr = new RiskStatisticsResult(); | |
| 483 | + /*if(bcid.contains("fzgw@")){ | |
| 484 | + rsr.setFuzChz("复诊"); | |
| 485 | + }else if(bcid.contains("czgw@")){ | |
| 486 | + rsr.setFuzChz("初诊"); | |
| 487 | + } | |
| 488 | + bcid = bcid.substring(5,bcid.length()); | |
| 489 | + */ | |
| 490 | + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(bcid); | |
| 491 | + if(basicConfig !=null){ | |
| 492 | + rsr.setId(basicConfig.getId()); | |
| 493 | + rsr.setName(basicConfig.getName()); | |
| 494 | + String colorCode = HosptialHighRiskFacade.colorMap.get(basicConfig.getParentId()); | |
| 495 | + rsr.setColor(HosptialHighRiskFacade.colorNameMap.get(colorCode)); | |
| 496 | + } | |
| 497 | + riskStatisticsResults.add(rsr); | |
| 498 | + System.out.println(rsr.toString()); | |
| 499 | + | |
| 443 | 500 | } |
| 501 | + | |
| 444 | 502 | } |
| 445 | - System.out.println("5-----高危因素id集合-----"+incrHrisk.size()); | |
| 446 | 503 | |
| 447 | - /*BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); | |
| 448 | - basicConfigQuery.setId(id); | |
| 449 | - List<BasicConfig> riskConfig = basicConfigService.queryBasicConfig(basicConfigQuery); | |
| 450 | - map.put("Name", riskConfig.get(0).getName()); | |
| 451 | - map.put("cardNo", recordModel.getCardNo());*/ | |
| 504 | + System.out.println("6 获取高危实体---- "+riskStatisticsResults.size()); | |
| 505 | + List<Map<String, Object>> datas = new ArrayList<>(); | |
| 506 | + if (CollectionUtils.isNotEmpty(riskStatisticsResults)) { | |
| 507 | + for (RiskStatisticsResult rsr : riskStatisticsResults) { | |
| 508 | + Map<String, Object> data = new HashMap<>(); | |
| 452 | 509 | |
| 510 | + data.put("高危因素", rsr.getName()); | |
| 511 | + data.put("高危等级", rsr.getColor()); | |
| 512 | + datas.add(data); | |
| 513 | + } | |
| 514 | + } | |
| 515 | + OutputStream out = response.getOutputStream(); | |
| 516 | + Map<String, String> cnames = new LinkedHashMap<>(); | |
| 517 | + cnames.put("高危因素", "高危因素"); | |
| 518 | + cnames.put("高危等级", "高危等级"); | |
| 519 | + response.setContentType("application/octet-stream"); | |
| 520 | + response.setCharacterEncoding("UTF-8"); | |
| 521 | + response.setHeader("Content-Disposition", "attachment;fileName=" + "威海高危统计.xls"); | |
| 522 | + ExcelUtil.toExcel(out, datas, cnames); | |
| 523 | + | |
| 453 | 524 | } |
| 454 | 525 | } catch (Exception e) { |
| 455 | 526 | e.printStackTrace(); |
| 527 | + ExceptionUtils.catchException(e, "产筛导出异常"); | |
| 456 | 528 | } |
| 457 | 529 | |
| 458 | 530 | return new BaseListResponse().setData(incrHrisk).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(antExRecordQuery.getPageInfo()); |
| 459 | 531 | } |
| 460 | 532 | |
| 533 | + private void getCzFzGwMth(List beforeRiskList, AntExRecordModel antExRecordModel1) { | |
| 534 | + if(StringUtils.isNotEmpty(antExRecordModel1.getfId()) && antExRecordModel1.getType()==2){ | |
| 535 | + AntExChuModel data = antExService.findOne(antExRecordModel1.getfId()); | |
| 536 | + //初诊使用产检中的高危因素 | |
| 537 | + if (data!=null && StringUtils.isNotEmpty(data.getHighrisk()) && !"{}".equals(data.getHighrisk()) && !"[]".equals(data.getHighrisk())) { | |
| 538 | + //System.out.println(data.getHighrisk()); | |
| 539 | + List<Map<String, Object>> listOtherRisk = new ArrayList<>(); | |
| 540 | + if (data.getHighrisk().startsWith("[") && data.getHighrisk().endsWith("]")) { | |
| 541 | + List<String> list2 = JsonUtil.toList(data.getHighrisk(), String.class); | |
| 542 | + /*for (String czgw : list2) { | |
| 543 | + beforeRiskList.add("czgw@"+czgw); | |
| 544 | + }*/ | |
| 545 | + beforeRiskList.addAll(list2); | |
| 546 | + } | |
| 547 | + } | |
| 548 | + //初诊添加其它高危 | |
| 549 | + if (data!=null && StringUtils.isNotEmpty(data.getOtherHighRisk()) && !"{}".equals(data.getOtherHighRisk()) && !"[]".equals(data.getOtherHighRisk())) { | |
| 550 | + //System.out.println(data.getOtherHighRisk()); | |
| 551 | + List<Map<String, Object>> listOtherRisk = new ArrayList<>(); | |
| 552 | + ResolveUtils.queryOtherRisk(data.getOtherHighRisk(), listOtherRisk); | |
| 553 | + for (Map<String, Object> mapo: listOtherRisk) { | |
| 554 | + if(!mapo.containsKey("otherId")){ | |
| 555 | + continue; | |
| 556 | + } | |
| 557 | + /*beforeRiskList.add("###czgw@"+mapo.get("otherId").toString());*/ | |
| 558 | + beforeRiskList.add("###"+mapo.get("otherId").toString()); | |
| 559 | + } | |
| 560 | + } | |
| 561 | + }//复诊 | |
| 562 | + else if(StringUtils.isNotEmpty(antExRecordModel1.getfId()) && antExRecordModel1.getType()==1){ | |
| 563 | + AntenatalExaminationModel data = antExService.findOneById(antExRecordModel1.getfId()); | |
| 564 | + //复诊使用产检中的高危因素 | |
| 565 | + if (data!=null && StringUtils.isNotEmpty(data.getRiskFactor()) && !"{}".equals(data.getRiskFactor()) && !"[]".equals(data.getRiskFactor())) { | |
| 566 | + // System.out.println(data.getRiskFactor()); | |
| 567 | + List<Map<String, Object>> listOtherRisk = new ArrayList<>(); | |
| 568 | + if (data.getRiskFactor().startsWith("[") && data.getRiskFactor().endsWith("]")) { | |
| 569 | + List<String> list2 = JsonUtil.toList(data.getRiskFactor(), String.class); | |
| 570 | + /* for (String czgw : list2) { | |
| 571 | + beforeRiskList.add("fzgw@"+czgw); | |
| 572 | + }*/ | |
| 573 | + beforeRiskList.addAll(list2); | |
| 574 | + } | |
| 575 | + } | |
| 576 | + //复诊添加其它高危 | |
| 577 | + if (data!=null && StringUtils.isNotEmpty(data.getOtherRisk()) && !"{}".equals(data.getOtherRisk()) && !"[]".equals(data.getOtherRisk())) { | |
| 578 | + // System.out.println(data.getOtherRisk()); | |
| 579 | + List<Map<String, Object>> listOtherRisk = new ArrayList<>(); | |
| 580 | + ResolveUtils.queryOtherRisk(data.getOtherRisk(), listOtherRisk); | |
| 581 | + for (Map<String, Object> mapo: listOtherRisk) { | |
| 582 | + if(!mapo.containsKey("otherId")){ | |
| 583 | + continue; | |
| 584 | + } | |
| 585 | + /*beforeRiskList.add("###fzgw@"+mapo.get("otherId").toString());*/ | |
| 586 | + beforeRiskList.add("###"+mapo.get("otherId").toString()); | |
| 587 | + } | |
| 588 | + } | |
| 589 | + | |
| 590 | + } | |
| 591 | + if(beforeRiskList.contains("d42eec03-aa86-45b8-a4e0-78a0ff365fb6")){ | |
| 592 | + beforeRiskList.remove("d42eec03-aa86-45b8-a4e0-78a0ff365fb6"); | |
| 593 | + } | |
| 594 | + | |
| 595 | + } | |
| 596 | + | |
| 597 | + private void getRisk(String highRisk, String oRisk, Map<String, Object> map) { | |
| 598 | + HighScoreResult highScoreResult = null; | |
| 599 | + if (org.apache.commons.lang.StringUtils.isNotEmpty(highRisk)) { | |
| 600 | + List<String> ids = JsonUtil.toList(highRisk, String.class); | |
| 601 | + if (CollectionUtils.isNotEmpty(ids)) { | |
| 602 | + highScoreResult = ResolveUtils.queryRisk(ids, true, basicConfigService); | |
| 603 | + } | |
| 604 | + } | |
| 605 | + Integer score = 0; | |
| 606 | + if (highScoreResult != null && highScoreResult.getScore() != null) { | |
| 607 | + score = highScoreResult.getScore(); | |
| 608 | + } | |
| 609 | + List<Map<String, Object>> list = new ArrayList<>(); | |
| 610 | + List<Map<String, Object>> checkList = ResolveUtils.queryHighRisk(highScoreResult); | |
| 611 | + if (CollectionUtils.isNotEmpty(checkList)) { | |
| 612 | + list.addAll(checkList); | |
| 613 | + } | |
| 614 | + if (org.apache.commons.lang.StringUtils.isNotEmpty(oRisk) && !"{}".equals(oRisk) && !"[]".equals(oRisk)) { | |
| 615 | + List<Map<String, Object>> listOtherRisk = new ArrayList<>(); | |
| 616 | + ResolveUtils.queryOtherRisk(oRisk, listOtherRisk); | |
| 617 | + | |
| 618 | + for (Map<String, Object> otherRisk : listOtherRisk) { | |
| 619 | + if (otherRisk != null) { | |
| 620 | + if (otherRisk.get("score") != null && org.apache.commons.lang.StringUtils.isNotEmpty(otherRisk.get("score").toString())) { | |
| 621 | + String s = (String) otherRisk.get("score"); | |
| 622 | + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(s) && FunvCommonUtil.isNumeric(s)) { | |
| 623 | + score += Integer.parseInt(s); | |
| 624 | + } | |
| 625 | + } | |
| 626 | + } | |
| 627 | + list.add(otherRisk); | |
| 628 | + } | |
| 629 | + } | |
| 630 | + map.put("score", UnitUtils.unitSplice(score, UnitConstants.FEN)); | |
| 631 | + map.put("highRisk", list); | |
| 632 | + } | |
| 461 | 633 | /** |
| 462 | 634 | * 功能描述 根据产检时间升序排列 |
| 463 | 635 | * |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HosptialHighRiskFacade.java
View file @
eeb22f0
| ... | ... | @@ -49,6 +49,14 @@ |
| 49 | 49 | colorMap.put("315107bd-91fe-42a1-9237-752f3c046a40", "risk_" + RiskDefaultTypeEnum.getColor("黄色")); |
| 50 | 50 | } |
| 51 | 51 | |
| 52 | + public static Map<String, String> colorNameMap = new HashMap<>(); | |
| 53 | + static { | |
| 54 | + ; | |
| 55 | + colorNameMap.put("risk_orange", "橙色"); | |
| 56 | + colorNameMap.put("risk_yellow", "黄色"); | |
| 57 | + colorNameMap.put("risk_red", "红色"); | |
| 58 | + colorNameMap.put("risk_purple", "紫色"); | |
| 59 | + } | |
| 52 | 60 | public static Map<String, String> scoreMap = new HashMap<>(); |
| 53 | 61 | |
| 54 | 62 | static { |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/RiskStatisticsResult.java
View file @
eeb22f0
| 1 | +package com.lyms.platform.operate.web.result; | |
| 2 | + | |
| 3 | +public class RiskStatisticsResult { | |
| 4 | + | |
| 5 | + private String id ; | |
| 6 | + private String name ; | |
| 7 | + private String color ; | |
| 8 | + private String fuzChz ; | |
| 9 | + | |
| 10 | + public String getId() { | |
| 11 | + return id; | |
| 12 | + } | |
| 13 | + | |
| 14 | + public void setId(String id) { | |
| 15 | + this.id = id; | |
| 16 | + } | |
| 17 | + | |
| 18 | + public String getName() { | |
| 19 | + return name; | |
| 20 | + } | |
| 21 | + | |
| 22 | + public void setName(String name) { | |
| 23 | + this.name = name; | |
| 24 | + } | |
| 25 | + | |
| 26 | + public String getColor() { | |
| 27 | + return color; | |
| 28 | + } | |
| 29 | + | |
| 30 | + public void setColor(String color) { | |
| 31 | + this.color = color; | |
| 32 | + } | |
| 33 | + | |
| 34 | + public String getFuzChz() { | |
| 35 | + return fuzChz; | |
| 36 | + } | |
| 37 | + | |
| 38 | + public void setFuzChz(String fuzChz) { | |
| 39 | + this.fuzChz = fuzChz; | |
| 40 | + } | |
| 41 | + | |
| 42 | + @Override | |
| 43 | + public String toString() { | |
| 44 | + return "RiskStatisticsResult{" + | |
| 45 | + "id='" + id + '\'' + | |
| 46 | + ", name='" + name + '\'' + | |
| 47 | + ", color='" + color + '\'' + | |
| 48 | + ", fuzChz='" + fuzChz + '\'' + | |
| 49 | + '}'; | |
| 50 | + } | |
| 51 | +} |