From 8fc6156de8d7719adfb973592f6a4966973d50bb Mon Sep 17 00:00:00 2001 From: wtt Date: Fri, 31 Jul 2020 17:03:42 +0800 Subject: [PATCH] update --- .../web/controller/BabyCheckController.java | 4 +- .../operate/web/controller/ReportController.java | 15 +++- .../operate/web/controller/SieveController.java | 16 ++++- .../platform/operate/web/facade/SieveFacade.java | 53 ++++++++++++++ .../operate/web/service/IReportService.java | 1 + .../web/service/impl/ReportServiceImpl.java | 83 ++++++++++++++++++++++ 6 files changed, 167 insertions(+), 5 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java index 447df62..b35c392 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyCheckController.java @@ -276,7 +276,7 @@ public class BabyCheckController extends BaseController { @RequestMapping(value = "/getNls", method = RequestMethod.GET) @ResponseBody public BaseObjectResponse getNls(@RequestParam(required = true) String month, - @RequestParam(required = false) String value, + @RequestParam(required = false) String xlvalue, @RequestParam(required = false) String ddz, @RequestParam(required = false) String sxdz, @RequestParam(required = false) String rs, @@ -285,7 +285,7 @@ public class BabyCheckController extends BaseController { @RequestParam(required = false) String type ) { BaseObjectResponse objectResponse = new BaseObjectResponse(); - objectResponse.setData(patientWeightService.getNls(month,value,ddz,sxdz, rs,yy,sqxw,type)); + objectResponse.setData(patientWeightService.getNls(month,xlvalue,ddz,sxdz, rs,yy,sqxw,type)); objectResponse.setErrorcode(ErrorCodeConstants.SUCCESS); objectResponse.setErrormsg("成功"); return objectResponse; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java index 36d2703..eec1614 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java @@ -5,6 +5,7 @@ import com.lyms.platform.common.base.BaseController; import com.lyms.platform.common.base.LoginContext; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.operate.web.facade.AutoMatchFacade; import com.lyms.platform.operate.web.service.IReportService; import com.lyms.platform.operate.web.utils.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -27,7 +28,8 @@ public class ReportController extends BaseController { @Autowired private IReportService reportService; - + @Autowired + private AutoMatchFacade autoMatchFacade; /** * 聊城曲线图 @@ -66,8 +68,17 @@ public class ReportController extends BaseController { @RequestMapping(value = "/patients/export", method = RequestMethod.GET) public void patientsExport(String provinceId, String cityId, String areaId, String streetId, Integer statistType, Integer ageType, Integer patientType, Date startDate, Date endDate, HttpServletRequest request, HttpServletResponse response) { - reportService.patientsExport(provinceId, cityId, areaId, streetId, statistType, ageType, patientType, startDate, endDate, getUserId(request), response); + + String hospitalId = autoMatchFacade.getHospitalId(getUserId(request)); + //衡水导出格式 + if("2100002261".equals(hospitalId)){ + reportService.patientsHsExport(provinceId, cityId, areaId, streetId, statistType, ageType, patientType, startDate, endDate, getUserId(request), response); + + }else { + reportService.patientsExport(provinceId, cityId, areaId, streetId, statistType, ageType, patientType, startDate, endDate, getUserId(request), response); // reportService.patientsExport(provinceId, cityId, aredId, streetId, statistType, ageType, patientType, startDate, endDate, 1000000185, response); + } + } /** diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveController.java index 3ae6aa5..23b979d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SieveController.java @@ -286,7 +286,21 @@ public class SieveController extends BaseController { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); sieveFacade.exportRegionalCqsievesList(cqSieveQueryRequest, loginState.getId(), response); } - + /** + * 区域 无创-- 产筛申请统计导出 + * + * @param cqSieveQueryRequest + * @param request + * @param response + * @Author: 武涛涛 + * @Date: 2020/7/16 16:08 + */ + @RequestMapping(value = "/exportWcRegionalCqsievesList", method = RequestMethod.GET) + @TokenRequired + public void exportWcRegionalCqsievesList(@Valid CqSieveQueryRequest cqSieveQueryRequest, HttpServletRequest request, HttpServletResponse response) { + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + sieveFacade.exportWcRegionalCqsievesList(cqSieveQueryRequest, loginState.getId(), response); + } /** * 实验室产筛管理 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java index 0037613..6a3fea5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SieveFacade.java @@ -3145,6 +3145,19 @@ public class SieveFacade { cnames.put("18-三体", "18-三体"); cnames.put("神经管畸形", "神经管畸形"); } + private void cnamesRegionalCqsievesWcMap(Map cnames) { + cnames.put("姓名", "姓名"); + cnames.put("年龄", "年龄"); + cnames.put("申请时间", "申请时间"); + cnames.put("申请孕周", "申请孕周"); + cnames.put("采血时间", "采血时间"); + cnames.put("申请医院", "申请医院"); + cnames.put("户籍地", "户籍地"); + cnames.put("产筛类型", "产筛类型"); + cnames.put("筛查状态", "筛查状态"); + cnames.put("收费类型", "收费类型"); + cnames.put("整体风险", "整体风险"); + } public void exportRegionalCqsievesList(CqSieveQueryRequest cqSieveQueryRequest, Integer id, HttpServletResponse response) { try { BaseListResponse listResponse = (BaseListResponse) regionalCqsievesList(cqSieveQueryRequest, id, null, true); @@ -3188,6 +3201,46 @@ public class SieveFacade { ExceptionUtils.catchException(e, "产筛统计导出异常"); } } + public void exportWcRegionalCqsievesList(CqSieveQueryRequest cqSieveQueryRequest, Integer id, HttpServletResponse response) { + try { + BaseListResponse listResponse = (BaseListResponse) regionalCqsievesList(cqSieveQueryRequest, id, null, true); + + List list = listResponse.getData(); + List> datas = new ArrayList<>(); + + if (CollectionUtils.isNotEmpty(list)) { + for (SieveListResult sive : list) { + try { + Map data = new HashMap<>(); + data.put("姓名", sive.getName()); + data.put("年龄", sive.getAge()); + data.put("申请时间", sive.getApplyTime()); + data.put("申请孕周", sive.getDueWeek()); + data.put("采血时间", sive.getCollectionDate()); + data.put("申请医院", sive.getApplyHospital()); + data.put("户籍地", sive.getPlaceDomicile()); + data.put("产筛类型", sive.getSieveTypeStr()); + data.put("筛查状态", sive.getStatusText()); + data.put("收费类型", sive.getCostTypeStr()); + data.put("整体风险", sive.getZtfxText()); + datas.add(data); + } catch (Exception e) { + e.printStackTrace(); + continue; + } + } + } + OutputStream out = response.getOutputStream(); + Map cnames = new LinkedHashMap<>(); + cnamesRegionalCqsievesWcMap(cnames); + response.setContentType("application/octet-stream"); + response.setCharacterEncoding("UTF-8"); + response.setHeader("Content-Disposition", "attachment;fileName=" + "csdata.xls"); + ExcelUtil.toExcel(out, datas, cnames); + } catch (Exception e) { + ExceptionUtils.catchException(e, "产筛统计导出异常"); + } + } /** * 功能描述 产筛导入3.0版 血清学筛查 excle 2003 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java index f89642e..dc28970 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java @@ -101,6 +101,7 @@ public interface IReportService extends IBaseService { BaseObjectResponse patients(String provinceId, String cityId, String aredId, String streetId, Integer statistType, Integer statistVal, Integer ageType, Integer patientType, Date startDate, Date endDate, Integer userId); void patientsExport(String provinceId, String cityId, String aredId, String streetId, Integer statistType, Integer ageType, Integer patientType, Date startDate, Date endDate, Integer userId, HttpServletResponse response); + void patientsHsExport(String provinceId, String cityId, String aredId, String streetId, Integer statistType, Integer ageType, Integer patientType, Date startDate, Date endDate, Integer userId, HttpServletResponse response); void patientsExport2(String provinceId, String cityId, String areaId, String streetId, Integer ageType, Integer patientType, Date startDate, Date endDate, Integer userId, HttpServletResponse response); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java index 0dceb81..39d206e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java @@ -862,6 +862,89 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService ResponseUtil.responseExcel(cnames, results, response); } + @Override + public void patientsHsExport(String provinceId, String cityId, String aredId, String streetId, Integer statistType, Integer ageType, Integer patientType, Date startDate, Date endDate, Integer userId, HttpServletResponse response) { + List patients = getPatients(provinceId, cityId, aredId, streetId, ageType, patientType, startDate, endDate, userId); + + Map codeCache = new HashMap<>(); + Map hNameCache = new HashMap<>(); + Map userNameCache = new HashMap<>(); + for (Patients patient : patients) { + if (!userNameCache.containsKey(patient.getBookbuildingDoctor())) { + userNameCache.put(patient.getBookbuildingDoctor(), couponMapper.findUserName(patient.getBookbuildingDoctor())); + } + if (codeCache.containsKey(patient.getHospitalId())) { + patient.setShortCode(codeCache.get(patient.getHospitalId())); + } else { + String name = couponMapper.findHospitalNameById(patient.getHospitalId()); + String code = PingYinUtil.getFirstSpell(name); + patient.setShortCode(code); + codeCache.put(patient.getHospitalId(), code); + hNameCache.put(patient.getHospitalId(), name); + } + } + + Collections.sort(patients, new Comparator() { + @Override + public int compare(Patients patients1, Patients patients2) { + if (StringUtils.isEmpty(patients1.getShortCode()) || StringUtils.isEmpty(patients2.getShortCode())) { + return 0; + } + return patients1.getShortCode().compareTo(patients2.getShortCode()); + } + }); + + Map cnames = new LinkedHashMap<>(); + cnames.put("vcCardNo", "条码号"); + cnames.put("username", "姓名"); + cnames.put("建档年龄", "建档年龄"); + cnames.put("phone", "手机号"); + cnames.put("cardNo", "证件号"); + cnames.put("bookbuildingDate", "建档日期"); + cnames.put("week", "建档孕周"); + cnames.put("建档机构", "建档机构"); + cnames.put("huji", "户口所在地"); + + cnames.put("id", "#"); + cnames.put("hospitalName", "医院名称"); + cnames.put("birth", "出生日期"); + cnames.put("age", "年龄"); + cnames.put("huji", "户籍地"); + cnames.put("juzhu", "居住地"); + cnames.put("week", "建档孕周"); + cnames.put("lastMens", "末次月经"); + cnames.put("dueDate", "预产期"); + cnames.put("doctorName", "建档医生"); + + List> results = new ArrayList<>(); + if (org.apache.commons.collections.CollectionUtils.isNotEmpty(patients)) { + int i = 0; + for (Patients p : patients) { + Map result = new LinkedHashMap<>(); + result.put("id", ++i); + result.put("hospitalName", hNameCache.get(p.getHospitalId())); + result.put("vcCardNo", p.getVcCardNo()); + result.put("username", p.getUsername()); + result.put("birth", DateUtil.getyyyy_MM_dd(p.getBirth())); + result.put("phone", com.lyms.platform.common.utils.StringUtils.encryPhone(p.getPhone())); + result.put("cardNo", com.lyms.platform.common.utils.StringUtils.encryCardNo(p.getCardNo())); + result.put("age", DateUtil.getAge(p.getBirth())); + String residenceAddress = findName(p.getProvinceRegisterId()) + findName(p.getCityRegisterId()) + findName(p.getAreaRegisterId()) + findName(p.getStreetRegisterId()) + p.getAddressRegister(); + result.put("juzhu", residenceAddress.replace("null", "")); + String householdAddress = findName(p.getProvinceId()) + findName(p.getCityId()) + findName(p.getAreaId()) + findName(p.getStreetId()) + p.getAddress(); + result.put("huji", householdAddress.replace("null", "")); + + result.put("week", DateUtil.getWeekDesc(p.getLastMenses(), p.getBookbuildingDate())); + result.put("lastMens", DateUtil.getyyyy_MM_dd(p.getLastMenses())); + result.put("dueDate", DateUtil.getyyyy_MM_dd(p.getDueDate())); + result.put("bookbuildingDate", DateUtil.getyyyy_MM_dd(p.getBookbuildingDate())); + result.put("doctorName", userNameCache.get(p.getBookbuildingDoctor())); + results.add(result); + } + } + + ResponseUtil.responseExcel(cnames, results, response); + } @Override public void patientsExport2(String provinceId, String cityId, String areaId, String streetId, Integer ageType, Integer patientType, Date startDate, Date endDate, Integer userId, HttpServletResponse response) { -- 1.8.3.1