diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java b/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java index 267599a..b592e86 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/StringUtils.java @@ -159,6 +159,16 @@ public final class StringUtils { } + public static String replaceName(String name,String repalceStr) + { + if (StringUtils.isNotEmpty(repalceStr)) + { + return repalceStr.replace("{{姓名}}",name); + } + return repalceStr; + } + + // public static void main(String[] arg) { // System.out.print(encryPhone("18382670036")); // } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBookbuildingController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBookbuildingController.java index 7d4f5ab..2507d9f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBookbuildingController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyBookbuildingController.java @@ -16,6 +16,7 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.io.UnsupportedEncodingException; @@ -107,7 +108,7 @@ public class BabyBookbuildingController extends BaseController { param.setVcCardNo(vcCardNo); param.setHospitalId(hospitalId); LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return babyBookbuildingFacade.queryBabyBuildRecord(param,loginState.getId()); + return babyBookbuildingFacade.queryBabyBuildRecord(param, loginState.getId()); } @@ -196,6 +197,42 @@ public class BabyBookbuildingController extends BaseController { } + @RequestMapping(value = "/exportChilds", method = RequestMethod.GET) + @ResponseBody + @TokenRequired + public void exportChilds(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse, + @RequestParam(value = "mcardNo", required = false) String mcardNo, + @RequestParam(value = "bcardNo", required = false) String bcardNo, + @RequestParam(value = "mphone", required = false) String mphone, + @RequestParam(value = "startMonthAge", required = false) Integer startMonthAge, + @RequestParam(value = "endMonthAge", required = false) Integer endMonthAge, + @RequestParam(value = "birth", required = false) String birth, + @RequestParam(value = "nextDate", required = false) String nextDate, + @RequestParam(value = "expVip", required = false) Integer expVip, + @RequestParam(value = "serviceType", required = false) Integer serviceType, + @RequestParam(value = "name", required = false) String name, + @RequestParam(value = "highRiskType", required = false) Integer highRiskType, + @RequestParam(value = "diagnose", required = false) String diagnose){ + LoginContext loginState = (LoginContext) httpServletRequest.getAttribute("loginContext"); + BabyManageRequest request = new BabyManageRequest(); + request.setBcardNo(bcardNo); + request.setMcardNo(mcardNo); + request.setMphone(mphone); + request.setMonthAgeStart(startMonthAge); + request.setMonthAgeEnd(endMonthAge); + request.setBirth(birth); + request.setNextDate(nextDate); + request.setExpVip(expVip); + request.setHighRiskType(highRiskType); + request.setServiceType(serviceType); + request.setDiagnose(diagnose); + request.setName(name); + + + babyBookbuildingFacade.exportChilds(request,loginState.getId(),httpServletResponse); + } + + /** * 儿童个性化指导 短信发送 * 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 bcfc6ba..3849beb 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 @@ -22,6 +22,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Component; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; import java.util.*; /** @@ -605,7 +608,8 @@ public class BabyBookbuildingFacade { MessageListRequest smsList = new MessageListRequest(); List messages = new ArrayList<>(); MessageRequest mr = new MessageRequest(); - mr.setContent("【" + messagePrefix + "】" + templateModel.getContent()); + String content = "【" + messagePrefix + "】" + templateModel.getContent(); + mr.setContent(StringUtils.replaceName(babyModel.getName(),content)); mr.setObjType(ServiceObjEnums.BABYOBJ.getId()); mr.setPhone(babyModel.getMphone()); //短信商 @@ -1721,4 +1725,71 @@ public class BabyBookbuildingFacade { objectResponse.setErrormsg("成功"); return objectResponse; } + + public void exportChilds(BabyManageRequest request, Integer userId, HttpServletResponse httpServletResponse) { + try { + String hospitalId = ""; + //得到当前登录的医院id + if (userId != null) + { + Users dbuser = usersService.getUsers(userId); + if (dbuser != null) { + hospitalId = String.valueOf(dbuser.getOrgId()); + } + } + List> datas = new ArrayList<>(); + BabyModelQuery babyQuery = new BabyModelQuery(); + babyQuery.setHospitalId(String.valueOf(hospitalId)); + List models = getBabayListByCondition(request, false, babyQuery); + if (CollectionUtils.isNotEmpty(models)) { + for (BabyModel model : models) { + Map data = new HashMap<>(); + if (model.getHighRisk() == null || model.getHighRisk() == 0) { + data.put("highRisk", "健康"); + } else { + data.put("highRisk", "高危"); + } + data.put("sex",StringUtils.emptyDeal(SexEnum.getTextById(model.getSex()))); + data.put("babyName",StringUtils.emptyDeal(model.getName())); + data.put("birthday", StringUtils.emptyDeal(DateUtil.getyyyy_MM_dd(model.getBirth()))); + data.put("mommyName", StringUtils.emptyDeal(model.getMname())); + data.put("mommnyPhone", StringUtils.emptyDeal(model.getMphone())); + 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()))); + + String diagnose = ""; + if (StringUtils.isNotEmpty(model.getPid())) + { + List diagList = babyCheckFacade.getBabyLastDiagnose(model.getPid()); + if (CollectionUtils.isNotEmpty(diagList)) { + for (Object obj : diagList) { + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById((String) obj); + if (basicConfig != null) { + diagnose += basicConfig.getName() + " "; + } + } + } + } + data.put("diagnose", diagnose); + datas.add(data); + } + } + OutputStream out = httpServletResponse.getOutputStream(); + Map cnames = new HashMap<>(); + cnames.put("highRisk", "是否健康"); + cnames.put("sex","性别"); + cnames.put("babyName","儿童姓名"); + cnames.put("birthday", "儿童生日"); + cnames.put("mommyName", "母亲姓名"); + cnames.put("mommnyPhone", "联系方式"); + cnames.put("serviceStatus", "服务状态"); + cnames.put("nextDate","下次预约时间"); + cnames.put("monthAge","月龄"); + cnames.put("diagnose","高危诊断"); + ExcelUtil.toExcel(out,datas,cnames); + } catch (IOException e) { + e.printStackTrace(); + } + } } \ No newline at end of file