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 | } |