Commit 9df7b03ad7b726f500929503f4b59a1bb3118313
1 parent
051b1e971f
Exists in
master
and in
6 other branches
导出接口
Showing 3 changed files with 73 additions and 19 deletions
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java
View file @
9df7b03
... | ... | @@ -11,6 +11,7 @@ |
11 | 11 | import org.springframework.web.bind.annotation.*; |
12 | 12 | |
13 | 13 | import javax.servlet.http.HttpServletRequest; |
14 | +import javax.servlet.http.HttpServletResponse; | |
14 | 15 | import java.util.Date; |
15 | 16 | |
16 | 17 | /** |
... | ... | @@ -85,8 +86,15 @@ |
85 | 86 | @ResponseBody |
86 | 87 | @TokenRequired |
87 | 88 | @RequestMapping(method = RequestMethod.GET) |
88 | - public BaseResponse list(Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth, boolean positive, Integer page, Integer limit, HttpServletRequest request) { | |
89 | - return babyEyeCheckService.list(getUserId(request), startDate, endDate, doctor, key, currentMonth, chechMonth, positive, page, limit); | |
89 | + public BaseResponse list(Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth, boolean positive, String positiveIds, Integer page, Integer limit, HttpServletRequest request) { | |
90 | + return babyEyeCheckService.list(getUserId(request), startDate, endDate, doctor, key, currentMonth, chechMonth, positive, positiveIds, page, limit); | |
91 | + } | |
92 | + | |
93 | + @ResponseBody | |
94 | + @TokenRequired | |
95 | + @RequestMapping(value = "/export", method = RequestMethod.GET) | |
96 | + public void export(Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth, boolean positive, String positiveIds, HttpServletRequest request, HttpServletResponse response) { | |
97 | + babyEyeCheckService.export(getUserId(request), startDate, endDate, doctor, key, currentMonth, chechMonth, positive, positiveIds, response); | |
90 | 98 | } |
91 | 99 | |
92 | 100 | @ResponseBody |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java
View file @
9df7b03
... | ... | @@ -4,6 +4,7 @@ |
4 | 4 | import com.lyms.platform.common.result.BaseResponse; |
5 | 5 | import com.lyms.platform.pojo.BabyEyeCheck; |
6 | 6 | |
7 | +import javax.servlet.http.HttpServletResponse; | |
7 | 8 | import java.util.Date; |
8 | 9 | |
9 | 10 | /** |
10 | 11 | |
... | ... | @@ -20,10 +21,12 @@ |
20 | 21 | |
21 | 22 | BaseResponse delete(String id); |
22 | 23 | |
23 | - BaseResponse list(Integer userId, Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth, boolean positive, Integer page, Integer limit); | |
24 | + BaseResponse list(Integer userId, Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth, boolean positive, String positiveIds, Integer page, Integer limit); | |
24 | 25 | |
25 | 26 | BaseResponse query(Integer userId, String babyId); |
26 | 27 | |
27 | 28 | BaseResponse listInit(); |
29 | + | |
30 | + void export(Integer userId, Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth, boolean positive, String positiveIds, HttpServletResponse response); | |
28 | 31 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java
View file @
9df7b03
... | ... | @@ -15,6 +15,7 @@ |
15 | 15 | import com.lyms.platform.operate.web.service.BabyEyeCheckService; |
16 | 16 | import com.lyms.platform.operate.web.utils.CollectionUtils; |
17 | 17 | import com.lyms.platform.operate.web.utils.MongoUtil; |
18 | +import com.lyms.platform.operate.web.utils.ResponseUtil; | |
18 | 19 | import com.lyms.platform.permission.dao.master.BabyEyeCheckMapper; |
19 | 20 | import com.lyms.platform.permission.dao.master.CouponMapper; |
20 | 21 | import com.lyms.platform.pojo.*; |
... | ... | @@ -27,6 +28,7 @@ |
27 | 28 | import org.springframework.data.mongodb.core.query.Update; |
28 | 29 | import org.springframework.stereotype.Service; |
29 | 30 | |
31 | +import javax.servlet.http.HttpServletResponse; | |
30 | 32 | import java.util.*; |
31 | 33 | |
32 | 34 | /** |
... | ... | @@ -188,7 +190,7 @@ |
188 | 190 | } |
189 | 191 | |
190 | 192 | @Override |
191 | - public BaseResponse list(Integer userId, Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth, boolean positive, Integer page, Integer limit) { | |
193 | + public BaseResponse list(Integer userId, Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth, boolean positive, String positiveIds, Integer page, Integer limit) { | |
192 | 194 | String hospitalId = autoMatchFacade.getHospitalId(userId); |
193 | 195 | Criteria criteria = Criteria.where("yn").ne("0").and("hospitalId").is(hospitalId); |
194 | 196 | if(startDate != null && endDate != null) { |
195 | 197 | |
196 | 198 | |
... | ... | @@ -208,11 +210,11 @@ |
208 | 210 | Query query = new Query(criteria); |
209 | 211 | query.with(new Sort(Sort.Direction.DESC, "checkTime")); |
210 | 212 | List<BabyEyeCheck> babyEyeChecks = mongoTemplate.find(query, BabyEyeCheck.class); |
211 | - Integer count = babyEyeChecks.size(); | |
212 | 213 | doFilter(babyEyeChecks); |
214 | + Integer count = babyEyeChecks.size(); | |
213 | 215 | |
214 | 216 | List<BabyEyeCheck> datas = CollectionUtils.getPageIds(babyEyeChecks, page, limit); |
215 | - return RespBuilder.buildSuccess(count, page, limit, setDatas(datas)); | |
217 | + return RespBuilder.buildSuccess(new PageResult(count, page, limit, datas)); | |
216 | 218 | } |
217 | 219 | PageResult pageResult = findMongoPage(BabyEyeCheck.class, new Query(criteria).with(new Sort(Sort.Direction.DESC, "checkTime")), page, limit); |
218 | 220 | List<BabyEyeCheck> babyEyeChecks = (List<BabyEyeCheck>) pageResult.getGrid(); |
... | ... | @@ -225,6 +227,8 @@ |
225 | 227 | for (BabyEyeCheck babyEyeCheck : babyEyeChecks) { |
226 | 228 | Map<String, Object> temp = new HashMap<>(); |
227 | 229 | temp.put("id", babyEyeCheck.getId()); |
230 | + temp.put("babyId", babyEyeCheck.getBabyId()); | |
231 | + temp.put("pid", babyEyeCheck.getPid()); | |
228 | 232 | BabyModel babyModel = mongoTemplate.findById(babyEyeCheck.getBabyId(), BabyModel.class); |
229 | 233 | if(babyModel != null) { |
230 | 234 | temp.put("name", babyModel.getName()); |
231 | 235 | |
... | ... | @@ -292,20 +296,22 @@ |
292 | 296 | } |
293 | 297 | |
294 | 298 | private void doFilter(List<BabyEyeCheck> babyEyeChecks) { |
295 | - for (BabyEyeCheck babyEyeCheck : babyEyeChecks) { | |
299 | + Iterator<BabyEyeCheck> iterator = babyEyeChecks.iterator(); | |
300 | + while (iterator.hasNext()) { | |
301 | + BabyEyeCheck babyEyeCheck = iterator.next(); | |
296 | 302 | if(!"yang".equals(babyEyeCheck.getExtRightEyelook()) |
297 | - || !"yang".equals(babyEyeCheck.getExtLeftEyelook()) | |
298 | - || !"yang".equals(babyEyeCheck.getBlinkRightReflex()) | |
299 | - || !"yang".equals(babyEyeCheck.getBlinkLefttReflex()) | |
300 | - || !"yang".equals(babyEyeCheck.getPupillaryRightReflex()) | |
301 | - || !"yang".equals(babyEyeCheck.getPupillaryLeftReflex()) | |
302 | - || !"yang".equals(babyEyeCheck.getRedRightReflex()) | |
303 | - || !"yang".equals(babyEyeCheck.getRedLeftReflex()) | |
304 | - || !"yang".equals(babyEyeCheck.getRedReflex()) | |
305 | - || !"yang".equals(babyEyeCheck.getConjunctiva()) | |
306 | - || !"yang".equals(babyEyeCheck.getCorneal()) | |
307 | - || !"yang".equals(babyEyeCheck.getLacrimalApparatus())) { | |
308 | - babyEyeChecks.remove(babyEyeCheck); | |
303 | + && !"yang".equals(babyEyeCheck.getExtLeftEyelook()) | |
304 | + && !"yang".equals(babyEyeCheck.getBlinkRightReflex()) | |
305 | + && !"yang".equals(babyEyeCheck.getBlinkLefttReflex()) | |
306 | + && !"yang".equals(babyEyeCheck.getPupillaryRightReflex()) | |
307 | + && !"yang".equals(babyEyeCheck.getPupillaryLeftReflex()) | |
308 | + && !"yang".equals(babyEyeCheck.getRedRightReflex()) | |
309 | + && !"yang".equals(babyEyeCheck.getRedLeftReflex()) | |
310 | + && !"yang".equals(babyEyeCheck.getRedReflex()) | |
311 | + && !"yang".equals(babyEyeCheck.getConjunctiva()) | |
312 | + && !"yang".equals(babyEyeCheck.getCorneal()) | |
313 | + && !"yang".equals(babyEyeCheck.getLacrimalApparatus())) { | |
314 | + iterator.remove(); | |
309 | 315 | } |
310 | 316 | } |
311 | 317 | } |
... | ... | @@ -404,6 +410,43 @@ |
404 | 410 | positive.add(lacrimalApparatusMap); |
405 | 411 | |
406 | 412 | return RespBuilder.buildSuccess("checkMonth", checkMonth, "positive", positive); |
413 | + } | |
414 | + | |
415 | + @Override | |
416 | + public void export(Integer userId, Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth, boolean positive, String positiveIds, HttpServletResponse response) { | |
417 | + BaseResponse rest = list(userId, startDate, endDate, doctor, key, currentMonth, chechMonth, positive, positiveIds, 1, Integer.MAX_VALUE); | |
418 | + PageResult pageResult = (PageResult) rest.getObject(); | |
419 | + List<Map<String, Object>> datas = (List<Map<String, Object>>) pageResult.getGrid(); | |
420 | + Map<String, String> cnames = new LinkedHashMap<>(); | |
421 | + cnames.put("id", "#"); | |
422 | + cnames.put("name", "儿童姓名"); | |
423 | + cnames.put("sex", "性别"); | |
424 | + cnames.put("mname", "母亲姓名"); | |
425 | + cnames.put("checkMonth", "检查月龄"); | |
426 | + cnames.put("birth", "出生日期"); | |
427 | + cnames.put("positive", "阳性项目"); | |
428 | + cnames.put("doctor", "检查医生"); | |
429 | + cnames.put("checkTime", "检查日期"); | |
430 | + | |
431 | + List<Map<String,Object>> results = new ArrayList<>(); | |
432 | + if(org.apache.commons.collections.CollectionUtils.isNotEmpty(datas)) { | |
433 | + int i = 0; | |
434 | + for (Map<String, Object> data : datas) { | |
435 | + Map<String, Object> result = new LinkedHashMap<>(); | |
436 | + result.put("id", ++i); | |
437 | + result.put("name", data.get("name")); | |
438 | + result.put("sex", data.get("sex")); | |
439 | + result.put("mname", data.get("mname")); | |
440 | + result.put("checkMonth", data.get("checkMonth")); | |
441 | + result.put("birth", data.get("birth")); | |
442 | + result.put("positive", data.get("positive")); | |
443 | + result.put("doctor", data.get("doctor")); | |
444 | + result.put("checkTime", data.get("checkTime")); | |
445 | + results.add(result); | |
446 | + } | |
447 | + } | |
448 | + | |
449 | + ResponseUtil.responseExcel(cnames, results, response); | |
407 | 450 | } |
408 | 451 | } |