Commit 72d344d344b743aed851c0afdf8dc9aa944a91cb
1 parent
99531e9ff2
Exists in
master
and in
6 other branches
滦平-儿童统计管理-高危因素统计 左 导出
Showing 2 changed files with 53 additions and 23 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RiskReportController.java
View file @
72d344d
... | ... | @@ -43,6 +43,19 @@ |
43 | 43 | LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); |
44 | 44 | return riskReportFacade.queryBabyRiskReport(babysQueryRequest,loginState.getId()); |
45 | 45 | } |
46 | + | |
47 | + /** | |
48 | + * 儿童统计管理-高危因素统计 左 导出 | |
49 | + * @return | |
50 | + */ | |
51 | + @RequestMapping(method = RequestMethod.GET, value = "/queryBabyRiskExport") | |
52 | + @ResponseBody | |
53 | + @TokenRequired | |
54 | + public void queryBabyRiskExport(@Valid RiskBabysQueryRequest babysQueryRequest,HttpServletRequest request, HttpServletResponse response) { | |
55 | + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); | |
56 | + riskReportFacade.queryBabyRiskExport(babysQueryRequest, loginState.getId(),response); | |
57 | + | |
58 | + } | |
46 | 59 | @RequestMapping(method = RequestMethod.GET, value = "/queryBabyRiskReportQhd") |
47 | 60 | @ResponseBody |
48 | 61 | @TokenRequired |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RiskReportFacade.java
View file @
72d344d
... | ... | @@ -1484,14 +1484,15 @@ |
1484 | 1484 | List<RiskReportResult> datas = queryRiskReportCount(patientsQueryRequest, id).getData(); |
1485 | 1485 | List<Map<String,Object>> result=new ArrayList<>(); |
1486 | 1486 | Integer count =0; |
1487 | - if(CollectionUtils.isNotEmpty(datas)) { | |
1488 | - count+= riskDataType(datas, "315107bd-91fe-42a1-9237-752f3c046a40", result); | |
1489 | - count+= riskDataType(datas, "49a36aea-c5b6-4162-87d2-9eb3c6ec00c2", result); | |
1490 | - count+= riskDataType(datas, "eb146c03-b19f-4e28-b85f-fda574b2283b", result); | |
1491 | - count+= riskDataType(datas, "224b2329-cb82-4da3-a071-8527f8283aab", result); | |
1492 | - //自定义高危 | |
1493 | - count+= datas.get(datas.size()-1).getRiskCount(); | |
1494 | - result.add(MapUtil.beanToMap(datas.get(datas.size()-1))); | |
1487 | + for (RiskReportResult data : datas) { | |
1488 | + //父级 | |
1489 | + if(data.getLevel()==1 && null!=data.getLevel()){ | |
1490 | + result.add(MapUtil.beanToMap(data)); | |
1491 | + count+=data.getRiskCount(); | |
1492 | + for (RiskReportResult data2 : datas) { | |
1493 | + riskDataTier(data,data2,datas,result); | |
1494 | + } | |
1495 | + } | |
1495 | 1496 | } |
1496 | 1497 | try { |
1497 | 1498 | response.setContentType("application/octet-stream"); |
1498 | 1499 | |
1499 | 1500 | |
... | ... | @@ -1509,29 +1510,45 @@ |
1509 | 1510 | } |
1510 | 1511 | |
1511 | 1512 | } |
1512 | - //高危分类 | |
1513 | - public int riskDataType(List<RiskReportResult> datas,String riskColor,List<Map<String,Object>> result) { | |
1514 | - int count=0; | |
1515 | - for (RiskReportResult data : datas) { | |
1516 | - //黄色 | |
1517 | - if(data.getLevel()==1 && riskColor.equals(data.getHighRiskId())){ | |
1518 | - result.add(MapUtil.beanToMap(data)); | |
1519 | - count=data.getRiskCount(); | |
1520 | - for (RiskReportResult data2 : datas) { | |
1521 | - riskDataTier(data,data2,datas,result); | |
1522 | - } | |
1523 | - } | |
1524 | - } | |
1525 | - return count; | |
1526 | - } | |
1527 | 1513 | //层级关系 |
1528 | 1514 | public void riskDataTier(RiskReportResult data,RiskReportResult data2,List<RiskReportResult> datas,List<Map<String,Object>> result){ |
1529 | 1515 | if(data.getHighRiskId().equals(data2.getPid())){ |
1530 | 1516 | result.add(MapUtil.beanToMap(data2)); |
1517 | + //子集循环到最后一层。循环调自己 | |
1531 | 1518 | for (RiskReportResult dataN : datas) { |
1532 | 1519 | riskDataTier(data2, dataN,datas,result); |
1533 | 1520 | } |
1534 | 1521 | } |
1522 | + } | |
1523 | + | |
1524 | + public void queryBabyRiskExport(RiskBabysQueryRequest babysQueryRequest, Integer id, HttpServletResponse response) { | |
1525 | + List<RiskReportResult> datas= queryBabyRiskReport(babysQueryRequest, id).getData(); | |
1526 | + List<Map<String,Object>> result=new ArrayList<>(); | |
1527 | + Integer count =0; | |
1528 | + for (RiskReportResult data : datas) { | |
1529 | + //父级 | |
1530 | + if(null != data.getLevel() && data.getLevel() == 1){ | |
1531 | + result.add(MapUtil.beanToMap(data)); | |
1532 | + count+=data.getRiskCount(); | |
1533 | + for (RiskReportResult data2 : datas) { | |
1534 | + riskDataTier(data,data2,datas,result); | |
1535 | + } | |
1536 | + } | |
1537 | + } | |
1538 | + try { | |
1539 | + response.setContentType("application/octet-stream"); | |
1540 | + response.setHeader("Content-Disposition", "attachment;fileName=" + "高危人数统计.xls"); | |
1541 | + Map <String, String> cnames = new LinkedHashMap <>(); | |
1542 | + cnames.put("highRisk", "高危项"); | |
1543 | + cnames.put("riskCount", "人数"); | |
1544 | + cnames.put("percent", "发病率"); | |
1545 | + final Integer finalCount = count; | |
1546 | + result.add(new HashMap(){{put("highRisk","合计");put("riskCount", finalCount);}}); | |
1547 | + OutputStream out = response.getOutputStream(); | |
1548 | + ExcelUtil.toExcel(out, result, cnames); | |
1549 | + } catch (IOException e) { | |
1550 | + ExceptionUtils.catchException(e, e.getMessage()); | |
1551 | + } | |
1535 | 1552 | } |
1536 | 1553 | |
1537 | 1554 |