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