Commit 10f7e81e88cdaff97e538d9e6408747b1b2d99ee

Authored by wangbo
1 parent 3c7599f0b2

update

Showing 2 changed files with 46 additions and 21 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/annualReportController.java View file @ 10f7e81
... ... @@ -29,13 +29,13 @@
29 29 @RequestMapping(value = "/annualReport", method = RequestMethod.GET)
30 30 public void queryAnnualReport(HttpServletRequest request,
31 31 @RequestParam(required = false) String time,
32   - @RequestParam(required = false) String proviceId,
  32 + @RequestParam(required = false) String provinceId,
33 33 @RequestParam(required = false) String cityId,
34 34 HttpServletResponse httpServletResponse) {
35   - if (StringUtils.isEmpty(proviceId) && StringUtils.isEmpty(cityId) && StringUtils.isEmpty(time)) {
  35 + if (StringUtils.isEmpty(provinceId) && StringUtils.isEmpty(cityId) && StringUtils.isEmpty(time)) {
36 36 return;
37 37 }
38   - annualReportFacade.queryAnnualReport(getUserId(request), time, proviceId, cityId, httpServletResponse);
  38 + annualReportFacade.queryAnnualReport(getUserId(request), time, provinceId, cityId, httpServletResponse);
39 39  
40 40 }
41 41  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/annualReportFacade.java View file @ 10f7e81
... ... @@ -73,7 +73,7 @@
73 73 @Autowired
74 74 private MongoTemplate mongoTemplate;
75 75  
76   - public void queryAnnualReport(Integer userId, String time, String proviceId, String cityId, HttpServletResponse httpServletResponse) {
  76 + public void queryAnnualReport(Integer userId, String time, String provinceId, String cityId, HttpServletResponse httpServletResponse) {
77 77  
78 78 //本市户籍
79 79 BasicConfigQuery basicConfigQuery = new BasicConfigQuery();
80 80  
81 81  
82 82  
... ... @@ -90,14 +90,19 @@
90 90 listArea.add(basicConfig.getId());
91 91 }
92 92 }
  93 +
  94 +
93 95 try {
94 96 Map<Object, List<String>> map = new HashMap<>();
95 97 for (String area : listArea) {
96   - List<String> hospitalIds = this.getCurrentUserHospPermissions(userId, proviceId, cityId, area);
  98 + List<String> hospitalIds = this.getCurrentUserHospPermissions(userId, provinceId, cityId, area);
97 99 map.put(area, hospitalIds);
98 100 }
99 101  
  102 +
100 103 List<Map<String, String>> mapList = this.getDates(map, organizationService, time, babyService, matDeliverService, antExRecordService, antenatalExaminationService, sieveService, matDeliverFollowService, patientsService, mongoTemplate);
  104 +
  105 + System.out.println(mapList);
101 106 this.sum(mapList);
102 107 httpServletResponse.setContentType("application/force-download");
103 108 httpServletResponse.setHeader("Content-Disposition", "attachment;filename=" + new String(("年报表.xls").getBytes("UTF-8"), "ISO-8859-1"));
... ... @@ -213,8 +218,8 @@
213 218 int bigBoyCount = 0;//巨大儿人数
214 219 int zcBabyCount = 0;//早产儿数
215 220 int babySiChanSiTaiCount = 0;//死胎人数
216   -
217   -
  221 + int patientCount = 0;//
  222 + int babyCount = 0;//产儿总数
218 223 if (CollectionUtils.isNotEmpty(list)) {
219 224 for (Map<String, String> map : list) {
220 225 huoChanCount += Integer.parseInt(map.get("huoChanCount")); //分娩方式 剖宫产
... ... @@ -251,8 +256,8 @@
251 256 bigBoyCount += Integer.parseInt(map.get("bigBoyCount"));
252 257 zcBabyCount += Integer.parseInt(map.get("zcBabyCount"));
253 258 babySiChanSiTaiCount += Integer.parseInt(map.get("babySiChanSiTaiCount"));
254   -
255   -
  259 + patientCount += Integer.parseInt(map.get("patientCount"));
  260 + babyCount += Integer.parseInt(map.get("babyCount"));
256 261 }
257 262 }
258 263 Map<String, String> totalMap = new LinkedHashMap<>();
... ... @@ -265,7 +270,7 @@
265 270 totalMap.put("maternalCount", String.valueOf(maternalCount));
266 271 totalMap.put("maternalPercent", this.division(maternalCount, chanCount));
267 272 totalMap.put("antexCount", String.valueOf(antexCount));
268   - totalMap.put("antexPercent", this.division(antexCount, antexCount));
  273 + totalMap.put("antexPercent", this.division(antexCount, patientCount));
269 274 totalMap.put("fiveCount", String.valueOf(fiveCount));
270 275 totalMap.put("fivePercent", this.division(fiveCount, antexCount));
271 276 totalMap.put("antexcCout", String.valueOf(antexcCout));
272 277  
... ... @@ -274,9 +279,9 @@
274 279 totalMap.put("hemoglobinCount", String.valueOf(hemoglobinCount));
275 280 totalMap.put("hemoglobinPervent", this.division(hemoglobinCount, hemoglobin));
276 281 totalMap.put("hivCount", String.valueOf(hivCount));
277   - totalMap.put("hivPervent", this.division(hivCount, chanCount));
  282 + totalMap.put("hivPervent", this.division(hivCount, antexCount));
278 283 totalMap.put("hivYang", String.valueOf(hivYang));
279   - totalMap.put("hivYangPervent", this.division(hivYang, chanCount));
  284 + totalMap.put("hivYangPervent", String.valueOf((double) hivYang != 0.0 ? (double) hivYang / 100000 : 0.0));
280 285 totalMap.put("veroleCount", String.valueOf(veroleCount));
281 286 totalMap.put("verolePervent", this.division(veroleCount, chanCount));
282 287 totalMap.put("veroleYang", String.valueOf(veroleYang));
283 288  
284 289  
... ... @@ -298,11 +303,11 @@
298 303 totalMap.put("gravidaCount", String.valueOf(gravidaCount));
299 304 totalMap.put("gravidaPervent", this.division(gravidaCount, chanCount));
300 305 totalMap.put("fmZuYuanCount", String.valueOf(fmZuYuanCount));
301   - totalMap.put("fmZuYuanPervent", "最后处理");
  306 + totalMap.put("fmZuYuanPervent", this.division(fmZuYuanCount, babyCount));
302 307 totalMap.put("fmPoGongCount", String.valueOf(fmPoGongCount));
303   - totalMap.put("fmPogongPervent", "后面处理");
  308 + totalMap.put("fmPogongPervent", this.division(fmPoGongCount, babyCount));
304 309 totalMap.put("killCount", String.valueOf(killCount));
305   - Double killPervent = killCount != 0 ? killCount / 100000 : 0.0;
  310 + Double killPervent = (double) killCount != 0.0 ? (double) killCount / 100000 : 0;
306 311 totalMap.put("killPervent", String.valueOf(killPervent));
307 312 totalMap.put("chuXueCount", String.valueOf(chuXueCount));
308 313 totalMap.put("chuXuePervent", this.division(chuXueCount, chanCount));
... ... @@ -401,6 +406,17 @@
401 406 map.put("maternalCount", String.valueOf(chanCount));
402 407 //产妇建卡 百分比
403 408 map.put("maternalPercent", this.division(chanCount, chanCount));
  409 +
  410 + //获取所有建档人数
  411 + PatientsQuery patientsQuerys = new PatientsQuery();
  412 + patientsQuerys.setYn(YnEnums.YES.getId());
  413 + if (StringUtils.isNotEmpty(time)) {
  414 + patientsQuerys.setCreatedTimeStart(DateUtil.getSNDate(time)[0]);
  415 + patientsQuerys.setCreatedTimeEnd(DateUtil.getSNDate(time)[1]);
  416 + }
  417 + patientsQuerys.setHospitalList(entry.getValue());
  418 + int patientCount = patientsService.queryPatientCount(patientsQuerys);
  419 +
404 420 //产检 人数
405 421 AntExRecordQuery antExRecordQuery = new AntExRecordQuery();
406 422 if (StringUtils.isNotEmpty(time)) {
... ... @@ -416,7 +432,7 @@
416 432 count.add(antExRecord.getParentId());
417 433 }
418 434 map.put("antexCount", String.valueOf(antexMap.size()));
419   - map.put("antexPercent", this.division(antexMap.size(), chanCount));
  435 + map.put("antexPercent", this.division(antexMap.size(), patientCount));
420 436 //产检>=5次
421 437 Map<String, Integer> maps = new HashMap<>();
422 438 for (String string : count) {
... ... @@ -514,7 +530,7 @@
514 530 int hiv = antenatalExaminationService.queryAntExChuCount(antExChuQuery.convertToQuery());
515 531 map.put("hivYang", String.valueOf(hiv));
516 532 //感染人数的10万分之1
517   - map.put("hivYangPervent", String.valueOf(hiv != 0 ? hiv / 100000 : 0));
  533 + map.put("hivYangPervent", String.valueOf((double) hiv != 0.0 ? hiv / 100000 : 0));
518 534 //产妇梅毒检测人数
519 535  
520 536 AntExChuQuery veroleChuQuery1 = new AntExChuQuery();
... ... @@ -690,7 +706,7 @@
690 706 matDeliverKillQuery.setMaternalInfo("2");
691 707 int killCount = matDeliverService.count(matDeliverKillQuery);
692 708 map.put("killCount", String.valueOf(killCount));
693   - Double s = killCount != 0 ? killCount / 100000 : 0.0;
  709 + Double s = (double) killCount != 0.0 ? (double) killCount / 100000 : 0;
694 710 map.put("killPervent", String.valueOf(s));
695 711  
696 712 //产科出血人数
... ... @@ -866,6 +882,10 @@
866 882 }
867 883 babySiWangList.clear();
868 884 map.put("babySiChanSiTaiCount", String.valueOf(babySiChanCount + babySiTaiCount));
  885 +
  886 + map.put("patientCount", String.valueOf(patientCount));
  887 + map.put("babyCount", String.valueOf(babyCount));
  888 +
869 889 list.add(map);
870 890 }
871 891  
872 892  
... ... @@ -895,10 +915,15 @@
895 915 }
896 916  
897 917 public static void main(String[] args) {
898   - int s = 12;
899   - int d = s != 0 ? s / 1 : 0;
900   - System.out.println(d);
  918 + double s = 12;
  919 + double d;
  920 + if (s != 0.0) {
  921 + d = s / 10000;
  922 + System.out.println(d);
  923 + }
  924 +
901 925 }
  926 +
902 927  
903 928 }