From da45ca1cccefdd535c0a6e96d5eb3f4e5c44839c Mon Sep 17 00:00:00 2001 From: "[wangbo]" Date: Thu, 11 Jul 2019 18:16:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=95=E5=A6=87=E6=A6=82=E5=86=B5=E5=AF=BC?= =?UTF-8?q?=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/TrackDownController.java | 12 ++ .../operate/web/facade/TrackDownFacade.java | 1 - .../operate/web/service/ITrackDownService.java | 7 +- .../web/service/impl/TrackDownServiceImpl.java | 141 ++++++++++++++++++++- 4 files changed, 158 insertions(+), 3 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java index abe9800..beb3c53 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java @@ -92,6 +92,18 @@ public class TrackDownController extends BaseController { page, limit, getUserId(request), type, check, checkup, pregnantBuild, followupStatus, isDeliver); } + + @ResponseBody + @TokenRequired + @RequestMapping(value = "/allExport", method = RequestMethod.GET) + public void allExport(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer type, + @RequestParam Integer page, @RequestParam Integer limit, HttpServletRequest request, + Integer check, String checkup, String pregnantBuild, Integer followupStatus, Boolean isDeliver, HttpServletResponse response) { + trackDownService.Export(buildStart, buildEnd, checkStart, checkEnd, fmStart, fmEnd, key, + page, limit, getUserId(request), type, check, checkup, pregnantBuild, followupStatus, isDeliver, response); + } + + @ResponseBody @RequestMapping(method = RequestMethod.POST) @TokenRequired diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java index a8223b7..c14591a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java @@ -1025,7 +1025,6 @@ public class TrackDownFacade { System.out.println(System.currentTimeMillis()); start = System.currentTimeMillis(); for (TrackDownRecord track : trackDownRecord) { - System.out.println("id:" + track.getId()); trackDown.setAppointmentDate(track.getCreated()); trackDown.setStop("0"); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java index 11418d1..887dc95 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java @@ -17,7 +17,12 @@ public interface ITrackDownService extends IBaseService { BaseObjectResponse list(String provinceId, String cityId, String areaId, String streetId, String key, Integer trackType, Integer page, Integer limit, Integer userId); BaseObjectResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, - Date fmEnd, String key, Integer page, Integer limit, Integer userId, Integer type, Integer check, String checkup, String pregnantBuild, Integer followupStatus, Boolean isDeliver); + Date fmEnd, String key, Integer page, Integer limit, Integer userId, Integer type, + Integer check, String checkup, String pregnantBuild, Integer followupStatus, Boolean isDeliver); + + void Export(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, + Integer page, Integer limit, Integer userId, Integer type, Integer check, String checkup, String pregnantBuild, + Integer followupStatus, Boolean isDeliver, HttpServletResponse response); BaseObjectResponse info(String patientId, Integer trackType, Integer buildType); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java index 5d8747b..7452852 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java @@ -72,7 +72,8 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS */ @Override public BaseObjectResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, - Integer page, Integer limit, Integer userId, Integer type, Integer check, String checkup, String pregnantBuild, Integer followupStatus, Boolean isDeliver) { + Integer page, Integer limit, Integer userId, Integer type, Integer check, String checkup, String pregnantBuild, + Integer followupStatus, Boolean isDeliver) { String hospitalId = autoMatchFacade.getHospitalId(userId); List> restList = new ArrayList<>(); Integer archiveModelCount = 0; @@ -165,6 +166,66 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS return RespBuilder.buildSuccess("tabList", new PageResult(archiveModelCount, page, limit, restList)); } + @Override + public void Export(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, + Integer page, Integer limit, Integer userId, Integer type, Integer check, String checkup, String pregnantBuild, + Integer followupStatus, Boolean isDeliver, HttpServletResponse response) { + String hospitalId = autoMatchFacade.getHospitalId(userId); + List> restList = new ArrayList<>(); + Integer archiveModelCount = 0; + if (type == 1) {//查询妇女建档为主数据 + //查询条件 + ResidentsArchiveQuery query = new ResidentsArchiveQuery(); + query.setLimit(limit); + query.setPage(page); + query.setNeed("1"); + query.setYn(YnEnums.YES.getId()); + query.setQueryNo(key); + query.setHospitalId(hospitalId); + //只查询女性 + query.setSex(SystemConfig.WOMAN_ID); + query.setStartBuildDay(buildStart); + query.setEndBuildDay(buildEnd); + query.setCheckup(checkup); + query.setPregnantBuild(pregnantBuild); + query.setFollowupStatus(followupStatus); + //妇女建档主数据 + List modelList = residentsArchiveService.queryResident(query); + restList = getResidentMainData(modelList); + this.surveyExport(restList, response); + + } else {//孕妇建档主数据 + PatientsQuery patientsQuery = new PatientsQuery(); + patientsQuery.setBookbuildingDateStart(checkStart); + patientsQuery.setBookbuildingDateEnd(checkEnd); + patientsQuery.setFmDateStart(fmStart); + patientsQuery.setFmDateEnd(fmEnd); + patientsQuery.setTypeList(Arrays.asList(1, 3)); + patientsQuery.setYn(YnEnums.YES.getId()); + patientsQuery.setNeed("need"); + patientsQuery.setLimit(limit); + patientsQuery.setPage(page); + patientsQuery.setHospitalId(hospitalId); + patientsQuery.setQueryNo(key); + patientsQuery.setFollowupStatus(followupStatus); + patientsQuery.setDeliver(isDeliver); + + List patientsList = patientsService.queryPatient(patientsQuery); + StopWatch stopWatch = new StopWatch("孕妇建档主数据"); + //优化前 + // stopWatch.start("孕妇建档优化前"); + // restList = getPatientMainData(patientsList); + // stopWatch.stop(); + // System.out.println(stopWatch.toString()); + //优化后 + stopWatch.start("孕妇建档优化后"); + restList = dispPatient(patientsList, hospitalId); + this.surveyExport(restList, response); + } + + + } + private List> dispResidentMainData(List residentsArchiveModels, String hospitalId) { List> archiveModelList = new ArrayList<>(); @@ -1280,5 +1341,83 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS ResponseUtil.responseExcel(cnames, results, response); } + public void surveyExport(List> datas, HttpServletResponse response) { + Map cnames = new LinkedHashMap<>(); + cnames.put("id", "#"); + cnames.put("username", "姓名"); + cnames.put("age", "年龄"); + cnames.put("phone", "联系电话"); + cnames.put("bookbuild", "孕期建档"); + cnames.put("bookbuildDate", "孕期建档日期"); + cnames.put("check", "婚检"); + cnames.put("cqsc", "产前筛查"); + cnames.put("cqzd", "产前诊断"); + cnames.put("fm", "是否分娩"); + cnames.put("resident", "妇女建档"); + cnames.put("residentDate", "妇女建档日期"); + cnames.put("yjcount", "产检次数"); + List> results = new ArrayList<>(); + int i = 0; + if (CollectionUtils.isNotEmpty(datas)) { + for (Map data : datas) { + Map result = new LinkedHashMap<>(); + result.put("id", ++i); + result.put("username", data.get("username")); + result.put("age", data.get("age")); + result.put("phone", data.get("phone")); + if ((int) (data.get("bookbuild")) == 1) { + result.put("bookbuild", "√"); + } else if ((int) (data.get("bookbuild")) == 2) { + result.put("bookbuild", "×"); + } else { + result.put("bookbuild", "--"); + } + result.put("bookbuildDate", data.get("bookbuildDate")); + + if ((int) (data.get("check")) == 1) { + result.put("check", "√"); + } else if ((int) (data.get("check")) == 2) { + result.put("check", "×"); + } else { + result.put("check", "--"); + } + if ((int) data.get("cqsc") == 1) { + result.put("cqsc", "√"); + } else if ((int) data.get("cqsc") == 2) { + result.put("cqsc", "×"); + } else { + result.put("cqsc", "--"); + } + + if ((int) data.get("cqzd") == 1) { + result.put("cqzd", "√"); + } else if ((int) data.get("cqzd") == 2) { + result.put("cqzd", "×"); + } else { + result.put("cqzd", "--"); + } + if ((int) data.get("fm") == 1) { + result.put("fm", "√"); + } else if ((int) data.get("fm") == 2) { + result.put("fm", "×"); + } else { + result.put("fm", "--"); + } + if ((int) data.get("resident") == 1) { + result.put("resident", "√"); + } else if ((int) data.get("resident") == 2) { + result.put("resident", "×"); + } else { + result.put("resident", "--"); + } + + result.put("residentDate", data.get("residentDate")); + result.put("yjcount", data.get("yjcount")); + results.add(result); + } + } + ResponseUtil.responseExcel(cnames, results, response); + } + } -- 1.8.3.1