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 |