Commit da45ca1cccefdd535c0a6e96d5eb3f4e5c44839c
1 parent
c79ff174a1
Exists in
master
and in
6 other branches
孕妇概况导出
Showing 4 changed files with 158 additions and 3 deletions
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java
View file @
da45ca1
| ... | ... | @@ -92,6 +92,18 @@ |
| 92 | 92 | page, limit, getUserId(request), type, check, checkup, pregnantBuild, followupStatus, isDeliver); |
| 93 | 93 | } |
| 94 | 94 | |
| 95 | + | |
| 96 | + @ResponseBody | |
| 97 | + @TokenRequired | |
| 98 | + @RequestMapping(value = "/allExport", method = RequestMethod.GET) | |
| 99 | + public void allExport(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer type, | |
| 100 | + @RequestParam Integer page, @RequestParam Integer limit, HttpServletRequest request, | |
| 101 | + Integer check, String checkup, String pregnantBuild, Integer followupStatus, Boolean isDeliver, HttpServletResponse response) { | |
| 102 | + trackDownService.Export(buildStart, buildEnd, checkStart, checkEnd, fmStart, fmEnd, key, | |
| 103 | + page, limit, getUserId(request), type, check, checkup, pregnantBuild, followupStatus, isDeliver, response); | |
| 104 | + } | |
| 105 | + | |
| 106 | + | |
| 95 | 107 | @ResponseBody |
| 96 | 108 | @RequestMapping(method = RequestMethod.POST) |
| 97 | 109 | @TokenRequired |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java
View file @
da45ca1
| ... | ... | @@ -1025,7 +1025,6 @@ |
| 1025 | 1025 | System.out.println(System.currentTimeMillis()); |
| 1026 | 1026 | start = System.currentTimeMillis(); |
| 1027 | 1027 | for (TrackDownRecord track : trackDownRecord) { |
| 1028 | - | |
| 1029 | 1028 | System.out.println("id:" + track.getId()); |
| 1030 | 1029 | trackDown.setAppointmentDate(track.getCreated()); |
| 1031 | 1030 | trackDown.setStop("0"); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java
View file @
da45ca1
| ... | ... | @@ -17,7 +17,12 @@ |
| 17 | 17 | BaseObjectResponse list(String provinceId, String cityId, String areaId, String streetId, String key, Integer trackType, Integer page, Integer limit, Integer userId); |
| 18 | 18 | |
| 19 | 19 | BaseObjectResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, |
| 20 | - Date fmEnd, String key, Integer page, Integer limit, Integer userId, Integer type, Integer check, String checkup, String pregnantBuild, Integer followupStatus, Boolean isDeliver); | |
| 20 | + Date fmEnd, String key, Integer page, Integer limit, Integer userId, Integer type, | |
| 21 | + Integer check, String checkup, String pregnantBuild, Integer followupStatus, Boolean isDeliver); | |
| 22 | + | |
| 23 | + void Export(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, | |
| 24 | + Integer page, Integer limit, Integer userId, Integer type, Integer check, String checkup, String pregnantBuild, | |
| 25 | + Integer followupStatus, Boolean isDeliver, HttpServletResponse response); | |
| 21 | 26 | |
| 22 | 27 | BaseObjectResponse info(String patientId, Integer trackType, Integer buildType); |
| 23 | 28 |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java
View file @
da45ca1
| ... | ... | @@ -72,7 +72,8 @@ |
| 72 | 72 | */ |
| 73 | 73 | @Override |
| 74 | 74 | public BaseObjectResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, |
| 75 | - Integer page, Integer limit, Integer userId, Integer type, Integer check, String checkup, String pregnantBuild, Integer followupStatus, Boolean isDeliver) { | |
| 75 | + Integer page, Integer limit, Integer userId, Integer type, Integer check, String checkup, String pregnantBuild, | |
| 76 | + Integer followupStatus, Boolean isDeliver) { | |
| 76 | 77 | String hospitalId = autoMatchFacade.getHospitalId(userId); |
| 77 | 78 | List<Map<String, Object>> restList = new ArrayList<>(); |
| 78 | 79 | Integer archiveModelCount = 0; |
| ... | ... | @@ -165,6 +166,66 @@ |
| 165 | 166 | return RespBuilder.buildSuccess("tabList", new PageResult(archiveModelCount, page, limit, restList)); |
| 166 | 167 | } |
| 167 | 168 | |
| 169 | + @Override | |
| 170 | + public void Export(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, | |
| 171 | + Integer page, Integer limit, Integer userId, Integer type, Integer check, String checkup, String pregnantBuild, | |
| 172 | + Integer followupStatus, Boolean isDeliver, HttpServletResponse response) { | |
| 173 | + String hospitalId = autoMatchFacade.getHospitalId(userId); | |
| 174 | + List<Map<String, Object>> restList = new ArrayList<>(); | |
| 175 | + Integer archiveModelCount = 0; | |
| 176 | + if (type == 1) {//查询妇女建档为主数据 | |
| 177 | + //查询条件 | |
| 178 | + ResidentsArchiveQuery query = new ResidentsArchiveQuery(); | |
| 179 | + query.setLimit(limit); | |
| 180 | + query.setPage(page); | |
| 181 | + query.setNeed("1"); | |
| 182 | + query.setYn(YnEnums.YES.getId()); | |
| 183 | + query.setQueryNo(key); | |
| 184 | + query.setHospitalId(hospitalId); | |
| 185 | + //只查询女性 | |
| 186 | + query.setSex(SystemConfig.WOMAN_ID); | |
| 187 | + query.setStartBuildDay(buildStart); | |
| 188 | + query.setEndBuildDay(buildEnd); | |
| 189 | + query.setCheckup(checkup); | |
| 190 | + query.setPregnantBuild(pregnantBuild); | |
| 191 | + query.setFollowupStatus(followupStatus); | |
| 192 | + //妇女建档主数据 | |
| 193 | + List<ResidentsArchiveModel> modelList = residentsArchiveService.queryResident(query); | |
| 194 | + restList = getResidentMainData(modelList); | |
| 195 | + this.surveyExport(restList, response); | |
| 196 | + | |
| 197 | + } else {//孕妇建档主数据 | |
| 198 | + PatientsQuery patientsQuery = new PatientsQuery(); | |
| 199 | + patientsQuery.setBookbuildingDateStart(checkStart); | |
| 200 | + patientsQuery.setBookbuildingDateEnd(checkEnd); | |
| 201 | + patientsQuery.setFmDateStart(fmStart); | |
| 202 | + patientsQuery.setFmDateEnd(fmEnd); | |
| 203 | + patientsQuery.setTypeList(Arrays.asList(1, 3)); | |
| 204 | + patientsQuery.setYn(YnEnums.YES.getId()); | |
| 205 | + patientsQuery.setNeed("need"); | |
| 206 | + patientsQuery.setLimit(limit); | |
| 207 | + patientsQuery.setPage(page); | |
| 208 | + patientsQuery.setHospitalId(hospitalId); | |
| 209 | + patientsQuery.setQueryNo(key); | |
| 210 | + patientsQuery.setFollowupStatus(followupStatus); | |
| 211 | + patientsQuery.setDeliver(isDeliver); | |
| 212 | + | |
| 213 | + List<Patients> patientsList = patientsService.queryPatient(patientsQuery); | |
| 214 | + StopWatch stopWatch = new StopWatch("孕妇建档主数据"); | |
| 215 | + //优化前 | |
| 216 | + // stopWatch.start("孕妇建档优化前"); | |
| 217 | + // restList = getPatientMainData(patientsList); | |
| 218 | + // stopWatch.stop(); | |
| 219 | + // System.out.println(stopWatch.toString()); | |
| 220 | + //优化后 | |
| 221 | + stopWatch.start("孕妇建档优化后"); | |
| 222 | + restList = dispPatient(patientsList, hospitalId); | |
| 223 | + this.surveyExport(restList, response); | |
| 224 | + } | |
| 225 | + | |
| 226 | + | |
| 227 | + } | |
| 228 | + | |
| 168 | 229 | private List<Map<String, Object>> dispResidentMainData(List<ResidentsArchiveModel> residentsArchiveModels, String hospitalId) { |
| 169 | 230 | List<Map<String, Object>> archiveModelList = new ArrayList<>(); |
| 170 | 231 | |
| ... | ... | @@ -1277,6 +1338,84 @@ |
| 1277 | 1338 | } |
| 1278 | 1339 | } |
| 1279 | 1340 | |
| 1341 | + ResponseUtil.responseExcel(cnames, results, response); | |
| 1342 | + } | |
| 1343 | + | |
| 1344 | + public void surveyExport(List<Map<String, Object>> datas, HttpServletResponse response) { | |
| 1345 | + Map<String, String> cnames = new LinkedHashMap<>(); | |
| 1346 | + cnames.put("id", "#"); | |
| 1347 | + cnames.put("username", "姓名"); | |
| 1348 | + cnames.put("age", "年龄"); | |
| 1349 | + cnames.put("phone", "联系电话"); | |
| 1350 | + cnames.put("bookbuild", "孕期建档"); | |
| 1351 | + cnames.put("bookbuildDate", "孕期建档日期"); | |
| 1352 | + cnames.put("check", "婚检"); | |
| 1353 | + cnames.put("cqsc", "产前筛查"); | |
| 1354 | + cnames.put("cqzd", "产前诊断"); | |
| 1355 | + cnames.put("fm", "是否分娩"); | |
| 1356 | + cnames.put("resident", "妇女建档"); | |
| 1357 | + cnames.put("residentDate", "妇女建档日期"); | |
| 1358 | + cnames.put("yjcount", "产检次数"); | |
| 1359 | + List<Map<String, Object>> results = new ArrayList<>(); | |
| 1360 | + int i = 0; | |
| 1361 | + if (CollectionUtils.isNotEmpty(datas)) { | |
| 1362 | + for (Map<String, Object> data : datas) { | |
| 1363 | + Map<String, Object> result = new LinkedHashMap<>(); | |
| 1364 | + result.put("id", ++i); | |
| 1365 | + result.put("username", data.get("username")); | |
| 1366 | + result.put("age", data.get("age")); | |
| 1367 | + result.put("phone", data.get("phone")); | |
| 1368 | + if ((int) (data.get("bookbuild")) == 1) { | |
| 1369 | + result.put("bookbuild", "√"); | |
| 1370 | + } else if ((int) (data.get("bookbuild")) == 2) { | |
| 1371 | + result.put("bookbuild", "×"); | |
| 1372 | + } else { | |
| 1373 | + result.put("bookbuild", "--"); | |
| 1374 | + } | |
| 1375 | + result.put("bookbuildDate", data.get("bookbuildDate")); | |
| 1376 | + | |
| 1377 | + if ((int) (data.get("check")) == 1) { | |
| 1378 | + result.put("check", "√"); | |
| 1379 | + } else if ((int) (data.get("check")) == 2) { | |
| 1380 | + result.put("check", "×"); | |
| 1381 | + } else { | |
| 1382 | + result.put("check", "--"); | |
| 1383 | + } | |
| 1384 | + if ((int) data.get("cqsc") == 1) { | |
| 1385 | + result.put("cqsc", "√"); | |
| 1386 | + } else if ((int) data.get("cqsc") == 2) { | |
| 1387 | + result.put("cqsc", "×"); | |
| 1388 | + } else { | |
| 1389 | + result.put("cqsc", "--"); | |
| 1390 | + } | |
| 1391 | + | |
| 1392 | + if ((int) data.get("cqzd") == 1) { | |
| 1393 | + result.put("cqzd", "√"); | |
| 1394 | + } else if ((int) data.get("cqzd") == 2) { | |
| 1395 | + result.put("cqzd", "×"); | |
| 1396 | + } else { | |
| 1397 | + result.put("cqzd", "--"); | |
| 1398 | + } | |
| 1399 | + if ((int) data.get("fm") == 1) { | |
| 1400 | + result.put("fm", "√"); | |
| 1401 | + } else if ((int) data.get("fm") == 2) { | |
| 1402 | + result.put("fm", "×"); | |
| 1403 | + } else { | |
| 1404 | + result.put("fm", "--"); | |
| 1405 | + } | |
| 1406 | + if ((int) data.get("resident") == 1) { | |
| 1407 | + result.put("resident", "√"); | |
| 1408 | + } else if ((int) data.get("resident") == 2) { | |
| 1409 | + result.put("resident", "×"); | |
| 1410 | + } else { | |
| 1411 | + result.put("resident", "--"); | |
| 1412 | + } | |
| 1413 | + | |
| 1414 | + result.put("residentDate", data.get("residentDate")); | |
| 1415 | + result.put("yjcount", data.get("yjcount")); | |
| 1416 | + results.add(result); | |
| 1417 | + } | |
| 1418 | + } | |
| 1280 | 1419 | ResponseUtil.responseExcel(cnames, results, response); |
| 1281 | 1420 | } |
| 1282 | 1421 |