From 40338377b99a341f790ba6af1b32c42717aff15c Mon Sep 17 00:00:00 2001 From: liquanyu Date: Wed, 1 Mar 2017 13:38:31 +0800 Subject: [PATCH] update code --- .../com/lyms/hospitalapi/qhdfy/QhdfyFmService.java | 23 +++++--- .../web/controller/SmsConfigController.java | 27 +++++++++ .../operate/web/facade/BabyBookbuildingFacade.java | 2 + .../operate/web/facade/SmsConfigFacade.java | 67 ++++++++++++++++++++-- 4 files changed, 106 insertions(+), 13 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyFmService.java b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyFmService.java index dbc79f5..039e249 100644 --- a/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyFmService.java +++ b/platform-operate-api/src/main/java/com/lyms/hospitalapi/qhdfy/QhdfyFmService.java @@ -24,6 +24,7 @@ import org.springframework.stereotype.Service; import java.sql.Connection; import java.sql.SQLException; +import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -161,8 +162,9 @@ public class QhdfyFmService { deliverAddRequest.setDueDate(DateUtil.getyyyy_MM_dd(dueDate)); deliverAddRequest.setParentId(patient.getId()); deliverAddRequest.setPid(patient.getPid()); + String week = ""; if (StringUtils.isNotEmpty(item.getRc())) { - String week = ""; + if (item.getRc().split("\\u002B").length > 1) { week = item.getRc().split("\\u002B")[0] + "周"; week += item.getRc().split("\\u002B")[1] + "天"; @@ -232,7 +234,7 @@ public class QhdfyFmService { } else { //秦皇岛服务器有分娩记录,但是在这边系统没有对于孕妇 取分娩信息建档儿童数据 - buildBaby( item, patInfo, dueDateStr, dueDate); + buildBaby( item, patInfo, dueDate); } } else @@ -439,7 +441,7 @@ public class QhdfyFmService { continue; } Date dueDate1 = fmt.parse(dueDateStr1); - buildBaby( i,patInfo, dueDateStr1, dueDate1); + buildBaby( i,patInfo, dueDate1); } } @@ -477,7 +479,7 @@ public class QhdfyFmService { } - public void buildBaby(FmItem item,FmPatInfo patInfo, String dueDateStr,Date dueDate) + public void buildBaby(FmItem item,FmPatInfo patInfo, Date dueDate) { try{ UsersQuery usersQuery = new UsersQuery(); @@ -517,18 +519,18 @@ public class QhdfyFmService { } request.setMommyPhone(patInfo.getPhone()); - String babyName = item.getYexb()+("男".equals(item.getYexb()) ? "之子" : "之女"); + String babyName = patInfo.getName()+("男".equals(item.getYexb()) ? "之子" : "之女"); request.setBabyName(babyName); request.setSex("男".equals(item.getYexb()) ? 1 : 0); - request.setBabyBirthday(dueDateStr); //生日 + request.setBabyBirthday(DateUtil.getyyyy_MM_dd(dueDate)); //生日 if (StringUtils.isNotEmpty(item.getRc())) { String week = ""; if (item.getRc().split("\\u002B").length > 1) { - week = item.getRc().split("\\u002B")[0] + "周"; + week = item.getRc().split("\\u002B")[0]; } else { - week = item.getRc() + "周"; + week = item.getRc(); } try { request.setDueWeek(Integer.parseInt(week)); //分娩孕周 @@ -548,13 +550,16 @@ public class QhdfyFmService { request.setDueType(tpmcType);//分娩方式 request.setFetusCount(item.getDjt()); //第几胎 request.setDueCount(item.getCjc());//第几产 - request.setBabyWeight(item.getTz()); //体重 + DecimalFormat df = new DecimalFormat("#.00"); + double w = Double.parseDouble(item.getTz()); + request.setBabyWeight(df.format(w/1000)); //体重 request.setBabyHeight(item.getSc()); //身长 Map map = new HashMap<>(); map.put("pf1",item.getYfz()); map.put("pf5", item.getWfz()); map.put("pf10", item.getSfz()); request.setApgarScore(map); + request.setDeliverOrg("216"); request.setBuildDoctor(users.get(0).getId() + ""); request.setBuildDate(DateUtil.getyyyy_MM_dd(dueDate)); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmsConfigController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmsConfigController.java index ee19688..e1bb920 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmsConfigController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/SmsConfigController.java @@ -29,6 +29,7 @@ import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.*; @@ -212,6 +213,32 @@ public class SmsConfigController extends BaseController { } + /** + * 导出短信 + * @param hospitalName + * @param phone + * @param smsType + * @param smsStatus + * @param objType + * @param content + * @param planTime + * @param actualTime + + */ + @RequestMapping(value = "/exportSmsList", method = RequestMethod.GET) + public void exportSmsList(HttpServletResponse httpServletResponse,@RequestParam(required = false) String hospitalName, + @RequestParam(required = false) String phone, + @RequestParam(required = false) Integer smsType, + @RequestParam(required = false) Integer smsStatus, + @RequestParam(required = false) Integer objType, + @RequestParam(required = false) String content, + @RequestParam(required = false) String planTime, + @RequestParam(required = false) String actualTime) { + smsConfigFacade.exportSmsList(hospitalName, phone, smsType, smsStatus, content, planTime, actualTime, objType, httpServletResponse); + } + + + @RequestMapping(value = "/sendBabyBuildSms", method = RequestMethod.GET) @ResponseBody public String sendBabyBuildSms() { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java index 37b0875..6ec7a55 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyBookbuildingFacade.java @@ -2157,6 +2157,7 @@ public class BabyBookbuildingFacade { data.put("serviceStatus", StringUtils.emptyDeal(model.getServiceStatus() == null ? "" : ServiceStatusEnums.getNameById(model.getServiceStatus()))); data.put("nextDate", StringUtils.emptyDeal(DateUtil.getyyyy_MM_dd(model.getNextDate()))); data.put("monthAge", StringUtils.emptyDeal(DateUtil.getBabyMonthAge(model.getBirth(), new Date()))); + data.put("created", StringUtils.emptyDeal(DateUtil.getyyyy_MM_dd(model.getCreated()))); String diagnose = ""; if (StringUtils.isNotEmpty(model.getPid())) { @@ -2236,6 +2237,7 @@ public class BabyBookbuildingFacade { cnames.put("monthAge", "月龄"); cnames.put("diagnose", "高危诊断"); cnames.put("highRisk", "是否健康"); + cnames.put("created", "建档时间"); httpServletResponse.setContentType("application/octet-stream"); httpServletResponse.setCharacterEncoding("UTF-8"); httpServletResponse.setHeader("Content-Disposition", "attachment;fileName=" + "childDatas.xls"); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmsConfigFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmsConfigFacade.java index 6fa3724..afed1b1 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmsConfigFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/SmsConfigFacade.java @@ -7,10 +7,7 @@ import com.lyms.platform.common.enums.*; import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; -import com.lyms.platform.common.utils.DateUtil; -import com.lyms.platform.common.utils.JsonUtil; -import com.lyms.platform.common.utils.StringUtils; -import com.lyms.platform.common.utils.SystemConfig; +import com.lyms.platform.common.utils.*; import com.lyms.platform.operate.web.request.SmsConfigRequest; import com.lyms.platform.operate.web.result.*; import com.lyms.platform.operate.web.utils.ConfigTask; @@ -26,6 +23,9 @@ import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; import java.util.*; /** @@ -864,4 +864,63 @@ public class SmsConfigFacade { } return ""; } + + /** + * 导出短信列表 + * + * @param hospitalName 医院名称 + * @param phone 手机号码 + * @param smsType 短信类型 + * @param smsStatus 短信状态 + * @param content 短信内容 + * @param planTime 计划发送时间 + * @param actualTime 实际发送时间 + * @param objType 发送短信 + * @param httpServletResponse + */ + public void exportSmsList(String hospitalName, String phone, Integer smsType, Integer smsStatus, String content, String planTime, String actualTime, Integer objType,HttpServletResponse httpServletResponse) { + + try + { + BaseListResponse list = querySmsList( hospitalName, phone, smsType, smsStatus, content, planTime, actualTime, objType, 1, 999999999); + List> datas = new ArrayList<>(); + List> results = list.getData(); + + if (CollectionUtils.isNotEmpty(results)) + { + for(Map map : results) + { + Map data = new HashMap<>(); + data.put("hospitalName",map.get("hospitalName")); + data.put("objType",map.get("objType")); + data.put("smsType",map.get("smsType")); + data.put("phone",map.get("phone")); + data.put("content",map.get("content")); + data.put("planTime",map.get("planTime")); + data.put("actualTime",map.get("actualTime")); + data.put("smsStatus",map.get("smsStatus")); + data.put("timeType",map.get("timeType")); + datas.add(data); + } + } + + OutputStream out = httpServletResponse.getOutputStream(); + Map cnames = new LinkedHashMap<>(); + cnames.put("hospitalName", "医院"); + cnames.put("objType", "发送对象"); + cnames.put("smsType", "短信类型"); + cnames.put("phone", "电话号码"); + cnames.put("content", "短信内容"); + cnames.put("planTime", "计划发送时间"); + cnames.put("actualTime", "实际发送时间"); + cnames.put("smsStatus", "状态"); + cnames.put("timeType", "是否及时"); + httpServletResponse.setContentType("application/octet-stream"); + httpServletResponse.setCharacterEncoding("UTF-8"); + httpServletResponse.setHeader("Content-Disposition", "attachment;fileName=sms.xls"); + ExcelUtil.toExcel(out, datas, cnames); + } catch (IOException e) { + e.printStackTrace(); + } + } } \ No newline at end of file -- 1.8.3.1