Commit 9df7b03ad7b726f500929503f4b59a1bb3118313

Authored by litao@lymsh.com
1 parent 051b1e971f

导出接口

Showing 3 changed files with 73 additions and 19 deletions

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 }