From 9df7b03ad7b726f500929503f4b59a1bb3118313 Mon Sep 17 00:00:00 2001 From: "litao@lymsh.com" Date: Mon, 14 Aug 2017 14:02:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/BabyEyeCheckController.java | 12 +++- .../operate/web/service/BabyEyeCheckService.java | 5 +- .../web/service/impl/BabyEyeCheckServiceImpl.java | 75 +++++++++++++++++----- 3 files changed, 73 insertions(+), 19 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java index 510dbd1..c2bb048 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyEyeCheckController.java @@ -11,6 +11,7 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.Date; /** @@ -85,8 +86,15 @@ public class BabyEyeCheckController extends BaseController { @ResponseBody @TokenRequired @RequestMapping(method = RequestMethod.GET) - public BaseResponse list(Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth, boolean positive, Integer page, Integer limit, HttpServletRequest request) { - return babyEyeCheckService.list(getUserId(request), startDate, endDate, doctor, key, currentMonth, chechMonth, positive, page, limit); + 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) { + return babyEyeCheckService.list(getUserId(request), startDate, endDate, doctor, key, currentMonth, chechMonth, positive, positiveIds, page, limit); + } + + @ResponseBody + @TokenRequired + @RequestMapping(value = "/export", method = RequestMethod.GET) + public void export(Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth, boolean positive, String positiveIds, HttpServletRequest request, HttpServletResponse response) { + babyEyeCheckService.export(getUserId(request), startDate, endDate, doctor, key, currentMonth, chechMonth, positive, positiveIds, response); } @ResponseBody diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java index a7cb71b..d5d6b1e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/BabyEyeCheckService.java @@ -4,6 +4,7 @@ import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.pojo.BabyEyeCheck; +import javax.servlet.http.HttpServletResponse; import java.util.Date; /** @@ -20,9 +21,11 @@ public interface BabyEyeCheckService extends IBaseService { BaseResponse delete(String id); - BaseResponse list(Integer userId, Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth, boolean positive, Integer page, Integer limit); + BaseResponse list(Integer userId, Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth, boolean positive, String positiveIds, Integer page, Integer limit); BaseResponse query(Integer userId, String babyId); BaseResponse listInit(); + + void export(Integer userId, Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth, boolean positive, String positiveIds, HttpServletResponse response); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java index 139fe6a..865dfa2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEyeCheckServiceImpl.java @@ -15,6 +15,7 @@ import com.lyms.platform.operate.web.facade.OrganizationGroupsFacade; import com.lyms.platform.operate.web.service.BabyEyeCheckService; import com.lyms.platform.operate.web.utils.CollectionUtils; import com.lyms.platform.operate.web.utils.MongoUtil; +import com.lyms.platform.operate.web.utils.ResponseUtil; import com.lyms.platform.permission.dao.master.BabyEyeCheckMapper; import com.lyms.platform.permission.dao.master.CouponMapper; import com.lyms.platform.pojo.*; @@ -27,6 +28,7 @@ import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update; import org.springframework.stereotype.Service; +import javax.servlet.http.HttpServletResponse; import java.util.*; /** @@ -188,7 +190,7 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEye } @Override - public BaseResponse list(Integer userId, Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth, boolean positive, Integer page, Integer limit) { + 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) { String hospitalId = autoMatchFacade.getHospitalId(userId); Criteria criteria = Criteria.where("yn").ne("0").and("hospitalId").is(hospitalId); if(startDate != null && endDate != null) { @@ -208,11 +210,11 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEye Query query = new Query(criteria); query.with(new Sort(Sort.Direction.DESC, "checkTime")); List babyEyeChecks = mongoTemplate.find(query, BabyEyeCheck.class); - Integer count = babyEyeChecks.size(); doFilter(babyEyeChecks); + Integer count = babyEyeChecks.size(); List datas = CollectionUtils.getPageIds(babyEyeChecks, page, limit); - return RespBuilder.buildSuccess(count, page, limit, setDatas(datas)); + return RespBuilder.buildSuccess(new PageResult(count, page, limit, datas)); } PageResult pageResult = findMongoPage(BabyEyeCheck.class, new Query(criteria).with(new Sort(Sort.Direction.DESC, "checkTime")), page, limit); List babyEyeChecks = (List) pageResult.getGrid(); @@ -225,6 +227,8 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEye for (BabyEyeCheck babyEyeCheck : babyEyeChecks) { Map temp = new HashMap<>(); temp.put("id", babyEyeCheck.getId()); + temp.put("babyId", babyEyeCheck.getBabyId()); + temp.put("pid", babyEyeCheck.getPid()); BabyModel babyModel = mongoTemplate.findById(babyEyeCheck.getBabyId(), BabyModel.class); if(babyModel != null) { temp.put("name", babyModel.getName()); @@ -292,20 +296,22 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEye } private void doFilter(List babyEyeChecks) { - for (BabyEyeCheck babyEyeCheck : babyEyeChecks) { + Iterator iterator = babyEyeChecks.iterator(); + while (iterator.hasNext()) { + BabyEyeCheck babyEyeCheck = iterator.next(); if(!"yang".equals(babyEyeCheck.getExtRightEyelook()) - || !"yang".equals(babyEyeCheck.getExtLeftEyelook()) - || !"yang".equals(babyEyeCheck.getBlinkRightReflex()) - || !"yang".equals(babyEyeCheck.getBlinkLefttReflex()) - || !"yang".equals(babyEyeCheck.getPupillaryRightReflex()) - || !"yang".equals(babyEyeCheck.getPupillaryLeftReflex()) - || !"yang".equals(babyEyeCheck.getRedRightReflex()) - || !"yang".equals(babyEyeCheck.getRedLeftReflex()) - || !"yang".equals(babyEyeCheck.getRedReflex()) - || !"yang".equals(babyEyeCheck.getConjunctiva()) - || !"yang".equals(babyEyeCheck.getCorneal()) - || !"yang".equals(babyEyeCheck.getLacrimalApparatus())) { - babyEyeChecks.remove(babyEyeCheck); + && !"yang".equals(babyEyeCheck.getExtLeftEyelook()) + && !"yang".equals(babyEyeCheck.getBlinkRightReflex()) + && !"yang".equals(babyEyeCheck.getBlinkLefttReflex()) + && !"yang".equals(babyEyeCheck.getPupillaryRightReflex()) + && !"yang".equals(babyEyeCheck.getPupillaryLeftReflex()) + && !"yang".equals(babyEyeCheck.getRedRightReflex()) + && !"yang".equals(babyEyeCheck.getRedLeftReflex()) + && !"yang".equals(babyEyeCheck.getRedReflex()) + && !"yang".equals(babyEyeCheck.getConjunctiva()) + && !"yang".equals(babyEyeCheck.getCorneal()) + && !"yang".equals(babyEyeCheck.getLacrimalApparatus())) { + iterator.remove(); } } } @@ -405,4 +411,41 @@ public class BabyEyeCheckServiceImpl extends BaseServiceImpl implements BabyEye return RespBuilder.buildSuccess("checkMonth", checkMonth, "positive", positive); } + + @Override + public void export(Integer userId, Date startDate, Date endDate, String doctor, String key, String currentMonth, String chechMonth, boolean positive, String positiveIds, HttpServletResponse response) { + BaseResponse rest = list(userId, startDate, endDate, doctor, key, currentMonth, chechMonth, positive, positiveIds, 1, Integer.MAX_VALUE); + PageResult pageResult = (PageResult) rest.getObject(); + List> datas = (List>) pageResult.getGrid(); + Map cnames = new LinkedHashMap<>(); + cnames.put("id", "#"); + cnames.put("name", "儿童姓名"); + cnames.put("sex", "性别"); + cnames.put("mname", "母亲姓名"); + cnames.put("checkMonth", "检查月龄"); + cnames.put("birth", "出生日期"); + cnames.put("positive", "阳性项目"); + cnames.put("doctor", "检查医生"); + cnames.put("checkTime", "检查日期"); + + List> results = new ArrayList<>(); + if(org.apache.commons.collections.CollectionUtils.isNotEmpty(datas)) { + int i = 0; + for (Map data : datas) { + Map result = new LinkedHashMap<>(); + result.put("id", ++i); + result.put("name", data.get("name")); + result.put("sex", data.get("sex")); + result.put("mname", data.get("mname")); + result.put("checkMonth", data.get("checkMonth")); + result.put("birth", data.get("birth")); + result.put("positive", data.get("positive")); + result.put("doctor", data.get("doctor")); + result.put("checkTime", data.get("checkTime")); + results.add(result); + } + } + + ResponseUtil.responseExcel(cnames, results, response); + } } -- 1.8.3.1