Commit 6e5267fdd0b8582f1d159a6f658f32173b36a529
1 parent
407b7879ef
Exists in
master
and in
6 other branches
孕产-秦皇岛区域妇幼建档统计需求改版精准到天
Showing 3 changed files with 72 additions and 57 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java
View file @
6e5267f
... | ... | @@ -63,10 +63,10 @@ |
63 | 63 | @RequestMapping(value = "/patients", method = RequestMethod.GET) |
64 | 64 | public BaseObjectResponse patients(@RequestParam String provinceId, String cityId, String areaId, String streetId, Integer statistVal, |
65 | 65 | Integer ageType, Integer patientType, Date startDate, Date endDate, HttpServletRequest request, |
66 | - Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,Integer chjdType) { | |
66 | + Integer startAge,Integer endAge,Integer startWeek,Integer endWeek) { | |
67 | 67 | String hospitalId = autoMatchFacade.getHospitalId(getUserId(request)); |
68 | 68 | return reportService.patients(provinceId, cityId, areaId, streetId, 1, statistVal, ageType, patientType, startDate, endDate, getUserId(request), |
69 | - startAge,endAge,startWeek,endWeek,hospitalId,chjdType); | |
69 | + startAge,endAge,startWeek,endWeek,hospitalId); | |
70 | 70 | } |
71 | 71 | /** |
72 | 72 | * 建档明细导出 |
73 | 73 | |
74 | 74 | |
... | ... | @@ -80,18 +80,18 @@ |
80 | 80 | @RequestMapping(value = "/patients/export", method = RequestMethod.GET) |
81 | 81 | public void patientsExport(String provinceId, String cityId, String areaId, String streetId, Integer statistType, |
82 | 82 | Integer ageType, Integer patientType, Date startDate, Date endDate, HttpServletRequest request, HttpServletResponse response, |
83 | - Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,Integer chjdType) { | |
83 | + Integer startAge,Integer endAge,Integer startWeek,Integer endWeek) { | |
84 | 84 | String hospitalId = autoMatchFacade.getHospitalId(getUserId(request)); |
85 | 85 | if(StringUtils.isNotEmpty(hospitalId)){ |
86 | 86 | Organization organization = organizationService.getOrganization(Integer.valueOf(hospitalId)); |
87 | 87 | //衡水导出格式 |
88 | 88 | if(organization!=null && "12".equals(organization.getCityId())){ |
89 | 89 | reportService.patientsHsExport(provinceId, cityId, areaId, streetId, statistType, ageType, patientType, startDate, endDate, getUserId(request), response, |
90 | - startAge,endAge,startWeek,endWeek,hospitalId,chjdType); | |
90 | + startAge,endAge,startWeek,endWeek,hospitalId); | |
91 | 91 | |
92 | 92 | }else { |
93 | 93 | reportService.patientsExport(provinceId, cityId, areaId, streetId, statistType, ageType, patientType, startDate, endDate, getUserId(request), response, |
94 | - startAge,endAge,startWeek,endWeek,hospitalId,chjdType); | |
94 | + startAge,endAge,startWeek,endWeek,hospitalId); | |
95 | 95 | // reportService.patientsExport(provinceId, cityId, aredId, streetId, statistType, ageType, patientType, startDate, endDate, 1000000185, response); |
96 | 96 | } |
97 | 97 | } |
98 | 98 | |
... | ... | @@ -106,10 +106,10 @@ |
106 | 106 | @TokenRequired |
107 | 107 | @RequestMapping(value = "/patients/export2", method = RequestMethod.GET) |
108 | 108 | public void patientsExport2(String provinceId, String cityId, String areaId, String streetId, Integer ageType, Integer patientType, Date startDate, Date endDate, HttpServletRequest request, HttpServletResponse response, |
109 | - Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,Integer chjdType) { | |
109 | + Integer startAge,Integer endAge,Integer startWeek,Integer endWeek) { | |
110 | 110 | String hospitalId = autoMatchFacade.getHospitalId(getUserId(request)); |
111 | 111 | reportService.patientsExport2(provinceId, cityId, areaId, streetId, ageType, patientType, startDate, endDate, getUserId(request), response, |
112 | - startAge,endAge,startWeek,endWeek,hospitalId,chjdType); | |
112 | + startAge,endAge,startWeek,endWeek,hospitalId); | |
113 | 113 | // reportService.patientsExport2(provinceId, cityId, areaId, streetId, ageType, patientType, startDate, endDate, 1000000185, response); |
114 | 114 | } |
115 | 115 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java
View file @
6e5267f
... | ... | @@ -101,15 +101,15 @@ |
101 | 101 | BaseObjectResponse unUsedPeopleInfo(Date startDate, Date endDate, String provinceId, String cityId, String areaId, String hospitalId, Integer page, Integer limit, Integer userId); |
102 | 102 | |
103 | 103 | BaseObjectResponse patients(String provinceId, String cityId, String aredId, String streetId, Integer statistType, Integer statistVal, Integer ageType, Integer patientType, Date startDate, Date endDate, Integer userId, |
104 | - Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId,Integer chjdType); | |
104 | + Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId); | |
105 | 105 | |
106 | 106 | void patientsExport(String provinceId, String cityId, String aredId, String streetId, Integer statistType, Integer ageType, Integer patientType, Date startDate, Date endDate, Integer userId, HttpServletResponse response, |
107 | - Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId,Integer chjdType); | |
107 | + Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId ); | |
108 | 108 | void patientsHsExport(String provinceId, String cityId, String aredId, String streetId, Integer statistType, Integer ageType, Integer patientType, Date startDate, Date endDate, Integer userId, HttpServletResponse response, |
109 | - Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId,Integer chjdType); | |
109 | + Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId ); | |
110 | 110 | |
111 | 111 | void patientsExport2(String provinceId, String cityId, String areaId, String streetId, Integer ageType, Integer patientType, Date startDate, Date endDate, Integer userId, HttpServletResponse response, |
112 | - Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId,Integer chjdType); | |
112 | + Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId); | |
113 | 113 | |
114 | 114 | BaseObjectResponse health(String parentId, Integer userId); |
115 | 115 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java
View file @
6e5267f
... | ... | @@ -232,9 +232,9 @@ |
232 | 232 | */ |
233 | 233 | @Override |
234 | 234 | public BaseObjectResponse patients(String provinceId, String cityId, String aredId, String streetId, Integer statistType, Integer statistVal, Integer ageType, Integer patientType, Date startDate, Date endDate, Integer userId, |
235 | - Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId,Integer chjdType) { | |
235 | + Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId ) { | |
236 | 236 | List<Patients> patients = getPatients(provinceId, cityId, aredId, streetId, ageType, patientType, startDate, endDate, userId, |
237 | - startAge,endAge,startWeek,endWeek,hospitalId,chjdType); | |
237 | + startAge,endAge,startWeek,endWeek,hospitalId); | |
238 | 238 | List<Map<String, Object>> hospitals = couponMapper.findAllHospitals(); |
239 | 239 | Map<String, Object> restMap = new HashMap<>(); |
240 | 240 | List<List<String>> tabList = new ArrayList<>(); |
241 | 241 | |
... | ... | @@ -498,9 +498,9 @@ |
498 | 498 | */ |
499 | 499 | // @Override |
500 | 500 | public BaseObjectResponse patients2(String provinceId, String cityId, String aredId, String streetId, Integer statistType, Integer statistVal, Integer ageType, Integer patientType, Date startDate, Date endDate, Integer userId, |
501 | - Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId,Integer chjdType) { | |
501 | + Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId ) { | |
502 | 502 | List<Patients> patients = getPatients(provinceId, cityId, aredId, streetId, ageType, patientType, startDate, endDate, userId, |
503 | - startAge,endAge,startWeek,endWeek,hospitalId,chjdType); | |
503 | + startAge,endAge,startWeek,endWeek,hospitalId); | |
504 | 504 | List<Map<String, Object>> hospitals = couponMapper.findAllHospitals(); |
505 | 505 | Map<String, Object> restMap = new HashMap<>(); |
506 | 506 | List<List<String>> tabList = new ArrayList<>(); |
... | ... | @@ -806,8 +806,8 @@ |
806 | 806 | |
807 | 807 | @Override |
808 | 808 | public void patientsExport(String provinceId, String cityId, String aredId, String streetId, Integer statistType, Integer ageType, Integer patientType, Date startDate, Date endDate, Integer userId, HttpServletResponse response, |
809 | - Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId,Integer chjdType) { | |
810 | - List<Patients> patients = getPatients(provinceId, cityId, aredId, streetId, ageType, patientType, startDate, endDate, userId,startAge,endAge,startWeek,endWeek,hospitalId,chjdType); | |
809 | + Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId ) { | |
810 | + List<Patients> patients = getPatients(provinceId, cityId, aredId, streetId, ageType, patientType, startDate, endDate, userId,startAge,endAge,startWeek,endWeek,hospitalId); | |
811 | 811 | |
812 | 812 | Map<String, String> codeCache = new HashMap<>(); |
813 | 813 | Map<String, String> hNameCache = new HashMap<>(); |
814 | 814 | |
... | ... | @@ -886,9 +886,9 @@ |
886 | 886 | |
887 | 887 | @Override |
888 | 888 | public void patientsHsExport(String provinceId, String cityId, String aredId, String streetId, Integer statistType, Integer ageType, Integer patientType, Date startDate, Date endDate, Integer userId, HttpServletResponse response, |
889 | - Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId,Integer chjdType) { | |
889 | + Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId ) { | |
890 | 890 | List<Patients> patients = getPatients(provinceId, cityId, aredId, streetId, ageType, patientType, startDate, endDate, userId, |
891 | - startAge,endAge,startWeek,endWeek,hospitalId,chjdType); | |
891 | + startAge,endAge,startWeek,endWeek,hospitalId); | |
892 | 892 | |
893 | 893 | Map<String, String> codeCache = new HashMap<>(); |
894 | 894 | Map<String, String> hNameCache = new HashMap<>(); |
... | ... | @@ -985,8 +985,8 @@ |
985 | 985 | |
986 | 986 | @Override |
987 | 987 | public void patientsExport2(String provinceId, String cityId, String areaId, String streetId, Integer ageType, Integer patientType, Date startDate, Date endDate, Integer userId, HttpServletResponse response, |
988 | - Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId,Integer chjdType) { | |
989 | - Map<String, Object> restMap = (Map<String, Object>) patients(provinceId, cityId, areaId, streetId, 1, 1, ageType, patientType, startDate, endDate, userId,startAge,endAge,startWeek,endWeek,hospitalId,chjdType).getData(); | |
988 | + Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId ) { | |
989 | + Map<String, Object> restMap = (Map<String, Object>) patients(provinceId, cityId, areaId, streetId, 1, 1, ageType, patientType, startDate, endDate, userId,startAge,endAge,startWeek,endWeek,hospitalId).getData(); | |
990 | 990 | List<List<String>> tabList = (List<List<String>>) restMap.get("tabList"); |
991 | 991 | List<String> titles = tabList.get(0); |
992 | 992 | Map<String, String> cnames = new LinkedHashMap<>(); |
... | ... | @@ -1292,7 +1292,7 @@ |
1292 | 1292 | |
1293 | 1293 | private List<Patients> getPatients(String provinceId, String cityId, String aredId, String streetId, |
1294 | 1294 | Integer ageType, Integer patientType, Date startDate, Date endDate, Integer userId, |
1295 | - Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId,Integer chjdType) { | |
1295 | + Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId) { | |
1296 | 1296 | List<Map<String, Object>> hospitalInfos = mongoUtil.getHospitals(userId, provinceId, cityId, aredId, streetId); |
1297 | 1297 | List<String> hospitalIds = CollectionUtils.getListByKey(hospitalInfos, "id"); |
1298 | 1298 | Criteria c = new Criteria(); |
1299 | 1299 | |
1300 | 1300 | |
... | ... | @@ -1303,32 +1303,25 @@ |
1303 | 1303 | Query query = Query.query(c); |
1304 | 1304 | System.out.println(query.toString()); |
1305 | 1305 | List<Patients> patients = mongoTemplate.find(query, Patients.class); |
1306 | - doFilter(patients, ageType, patientType,startAge,endAge,startWeek,endWeek,hospitalId,chjdType); | |
1306 | + doFilter(patients, ageType, patientType,startAge,endAge,startWeek,endWeek,hospitalId); | |
1307 | 1307 | return patients; |
1308 | 1308 | } |
1309 | 1309 | |
1310 | 1310 | // 建档孕周 1=孕早期(0~12周) 2=孕中期(13-27) 3=孕晚期(28~42) |
1311 | 1311 | // ageType 1=全部年龄 2=20岁以下 3=20-30岁 4=30-40岁 5=40岁以上 |
1312 | - private void doFilter(List<Patients> patients, Integer ageType, Integer patientType,Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId,Integer chjdType) { | |
1312 | + private void doFilter(List<Patients> patients, Integer ageType, Integer patientType,Integer startAge,Integer endAge,Integer startWeek,Integer endWeek,String hospitalId) { | |
1313 | 1313 | if (patientType != null) { |
1314 | 1314 | Iterator<Patients> iterator = patients.iterator(); |
1315 | 1315 | while (iterator.hasNext()) { |
1316 | 1316 | Patients next = iterator.next(); |
1317 | 1317 | Integer week = DateUtil.getWeek2(next.getLastMenses(), next.getBookbuildingDate()); |
1318 | 1318 | if (week != null) { |
1319 | - //秦皇岛定制(按孕周) | |
1320 | - if(StringUtils.isNotEmpty(hospitalId) && hospitalId.equals("216")){ | |
1321 | - if ( week < startWeek || week > endWeek) { | |
1322 | - iterator.remove(); | |
1323 | - } | |
1324 | - }else { | |
1325 | - if (patientType == 1 && week > 12) { | |
1326 | - iterator.remove(); | |
1327 | - } else if (patientType == 2 && (week < 13 || week > 27)) { | |
1328 | - iterator.remove(); | |
1329 | - } else if (patientType == 3 && week < 28) { | |
1330 | - iterator.remove(); | |
1331 | - } | |
1319 | + if (patientType == 1 && week > 12) { | |
1320 | + iterator.remove(); | |
1321 | + } else if (patientType == 2 && (week < 13 || week > 27)) { | |
1322 | + iterator.remove(); | |
1323 | + } else if (patientType == 3 && week < 28) { | |
1324 | + iterator.remove(); | |
1332 | 1325 | } |
1333 | 1326 | } |
1334 | 1327 | } |
1335 | 1328 | |
1336 | 1329 | |
... | ... | @@ -1337,32 +1330,54 @@ |
1337 | 1330 | Iterator<Patients> iterator = patients.iterator(); |
1338 | 1331 | while (iterator.hasNext()) { |
1339 | 1332 | Integer age = DateUtil.getAge(iterator.next().getBirth()); |
1340 | - //秦皇岛定制(按年龄范围) | |
1341 | - if(StringUtils.isNotEmpty(hospitalId) && hospitalId.equals("216")){ | |
1342 | - if (age >= endAge || age <= startAge) { | |
1333 | + if (age == null) { | |
1334 | + iterator.remove(); | |
1335 | + continue; | |
1336 | + } | |
1337 | + if (ageType == 2 && age > 20) { | |
1338 | + iterator.remove(); | |
1339 | + continue; | |
1340 | + } | |
1341 | + if (ageType == 3 && (age > 30 || age <= 20)) { | |
1342 | + iterator.remove(); | |
1343 | + continue; | |
1344 | + } | |
1345 | + if (ageType == 4 && (age > 40 || age <= 30)) { | |
1346 | + iterator.remove(); | |
1347 | + continue; | |
1348 | + } | |
1349 | + if (ageType == 5 && age <= 40) { | |
1350 | + iterator.remove(); | |
1351 | + continue; | |
1352 | + } | |
1353 | + } | |
1354 | + } | |
1355 | + //秦皇岛定制 | |
1356 | + if(StringUtils.isNotEmpty(hospitalId) && hospitalId.equals("216")) { | |
1357 | + //按孕周 | |
1358 | + Iterator<Patients> iterator = patients.iterator(); | |
1359 | + while (iterator.hasNext()) { | |
1360 | + Patients next = iterator.next(); | |
1361 | + Integer days = DateUtil.getDays(next.getLastMenses(), next.getBookbuildingDate()); | |
1362 | + if (days != null) { | |
1363 | + if (null!= startWeek && days < startWeek) { | |
1343 | 1364 | iterator.remove(); |
1344 | 1365 | continue; |
1345 | 1366 | } |
1346 | - }else { | |
1347 | - if (age == null) { | |
1367 | + if (null!= endWeek && days > endWeek) { | |
1348 | 1368 | iterator.remove(); |
1349 | 1369 | continue; |
1350 | 1370 | } |
1351 | - if (ageType == 2 && age > 20) { | |
1352 | - iterator.remove(); | |
1353 | - continue; | |
1354 | - } | |
1355 | - if (ageType == 3 && (age > 30 || age <= 20)) { | |
1356 | - iterator.remove(); | |
1357 | - continue; | |
1358 | - } | |
1359 | - if (ageType == 4 && (age > 40 || age <= 30)) { | |
1360 | - iterator.remove(); | |
1361 | - continue; | |
1362 | - } | |
1363 | - if (ageType == 5 && age <= 40) { | |
1364 | - iterator.remove(); | |
1365 | - continue; | |
1371 | + } | |
1372 | + } | |
1373 | + //按年龄 | |
1374 | + Iterator<Patients> iterator2 = patients.iterator(); | |
1375 | + while (iterator2.hasNext()) { | |
1376 | + Patients next = iterator2.next(); | |
1377 | + Integer age = DateUtil.getAge(next.getBirth()); | |
1378 | + if (age != null) { | |
1379 | + if (age >= endAge || age <= startAge) { | |
1380 | + iterator2.remove(); | |
1366 | 1381 | } |
1367 | 1382 | } |
1368 | 1383 | } |