diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ApplyOrderController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ApplyOrderController.java index fa59c00..1ef08ce 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ApplyOrderController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ApplyOrderController.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; /** @@ -67,7 +68,7 @@ public class ApplyOrderController extends BaseController { //增加产筛申请单 public BaseResponse addSieveApplyOrder(@Valid @RequestBody SieveApplyOrderAddRequest applyOrderAddRequest,HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); - return applyOrderFacade.addOneSieveApplyOrder(applyOrderAddRequest,loginState.getId()); + return applyOrderFacade.addOneSieveApplyOrder(applyOrderAddRequest, loginState.getId()); } @RequestMapping(method = RequestMethod.GET,value = "/sieveapply") @ResponseBody @@ -94,6 +95,20 @@ public class ApplyOrderController extends BaseController { return applyOrderFacade.queryApplyOrder(orderQueryRequest, loginState.getId()); } + /** + * 导出儿童转诊 + * @param orderQueryRequest + * @param request + * @return + */ + @RequestMapping(method = RequestMethod.GET,value = "/exportChildZZ") + @ResponseBody + @TokenRequired + public void exportChildZZ(@Valid ApplyOrderQueryRequest orderQueryRequest,HttpServletRequest request,HttpServletResponse response){ + LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); + applyOrderFacade.exportChildZZ(orderQueryRequest, loginState.getId(),response); + } + /** * 高危转诊 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 6ab98a7..2788b44 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 @@ -199,7 +199,7 @@ public class BabyBookbuildingController extends BaseController { @RequestMapping(value = "/exportChilds", method = RequestMethod.GET) @ResponseBody - @TokenRequired +// @TokenRequired public void exportChilds(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse, @RequestParam(value = "mcardNo", required = false) String mcardNo, @RequestParam(value = "bcardNo", required = false) String bcardNo, @@ -232,7 +232,7 @@ public class BabyBookbuildingController extends BaseController { request.setLimit(limit); request.setPage(page); - babyBookbuildingFacade.exportChilds(request,loginState.getId(),httpServletResponse); + babyBookbuildingFacade.exportChilds(request,1,httpServletResponse); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java index db57895..44574e1 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java @@ -7,6 +7,7 @@ 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.ExcelUtil; import com.lyms.platform.common.utils.SystemConfig; import com.lyms.platform.operate.web.request.ApplyOrderQueryRequest; import com.lyms.platform.operate.web.request.BabyApplyOrderQueryRequest; @@ -26,6 +27,9 @@ import org.apache.commons.lang.math.NumberUtils; 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.*; /** @@ -360,8 +364,8 @@ public class ApplyOrderFacade { Map map1 = new HashMap(); zhuanCName=zhuanchu; zhuanRname=zhuanru; - map1.put("id",""); - map1.put("name",zhuanRname); + map1.put("id", ""); + map1.put("name", zhuanRname); if (NumberUtils.isNumber(zhuanchu)) { Organization zhuanc = organizationService.getOrganization(Integer.valueOf(zhuanchu)); if (null != zhuanc) { @@ -737,4 +741,215 @@ public class ApplyOrderFacade { map.put("organizations", antenatalExaminationFacade.convert()); return new BaseObjectResponse().setData(map).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } + + public void exportChildZZ(ApplyOrderQueryRequest applyOrderQueryRequest, Integer userId + ,HttpServletResponse response) { + ReferralApplyOrderQuery referralApplyOrderQuery = new ReferralApplyOrderQuery(); + referralApplyOrderQuery.setName(applyOrderQueryRequest.getName()); + Date currentDate = DateUtil.formatDate(new Date()); + //根据年龄 + if (null != applyOrderQueryRequest.getEndAge()) { + Date date = DateUtil.addYear(currentDate, -applyOrderQueryRequest.getEndAge()); + date = DateUtil.addYear(date,-1); + referralApplyOrderQuery.setBirthStart(date); + } + + if (null != applyOrderQueryRequest.getStartAge()) { + Date date = DateUtil.addYear(currentDate, -applyOrderQueryRequest.getStartAge()); + referralApplyOrderQuery.setBirthEnd(date); + } + //根据孕周 + if (null != applyOrderQueryRequest.getEndDueWeek()) { + referralApplyOrderQuery.setDueDateEnd(applyOrderQueryRequest.getEndDueWeek()); + } + if (null != applyOrderQueryRequest.getStartDueWeek()) { +// int i = NumberUtils.toInt(applyOrderQueryRequest.getStartDueWeek()) * 7; + referralApplyOrderQuery.setDueDateStart( applyOrderQueryRequest.getStartDueWeek()); + } + + if (null != applyOrderQueryRequest.getStartScore()) { + referralApplyOrderQuery.setScoreStart(applyOrderQueryRequest.getStartScore()); + } + + if (null != applyOrderQueryRequest.getEndScore()) { + referralApplyOrderQuery.setScoreEnd(applyOrderQueryRequest.getEndScore()); + } + + referralApplyOrderQuery.setRiskFactor(applyOrderQueryRequest.getRiskFactor()); + referralApplyOrderQuery.setrLevel(applyOrderQueryRequest.getrLevel()); + referralApplyOrderQuery.setCardNo(applyOrderQueryRequest.getCardNo()); + referralApplyOrderQuery.setPage(applyOrderQueryRequest.getPage()); + referralApplyOrderQuery.setPhone(applyOrderQueryRequest.getPhone()); + + referralApplyOrderQuery.setLimit(applyOrderQueryRequest.getLimit()); + referralApplyOrderQuery.setType(applyOrderQueryRequest.getType()); + referralApplyOrderQuery.setNeed("1"); + + String hospital = autoMatchFacade.getHospitalId(userId); + referralApplyOrderQuery.setHospitalId(hospital); + referralApplyOrderQuery.setHospitalName(organizationService.getOrganization(Integer.valueOf(hospital)).getName()); + //1 转入 0转出 + if ("1".equals(applyOrderQueryRequest.getAction())) { + if (StringUtils.isNotEmpty(applyOrderQueryRequest.getTransferredHospital())) { + if (NumberUtils.isNumber(applyOrderQueryRequest.getTransferredHospital())) { + referralApplyOrderQuery.setOutHospitalId(applyOrderQueryRequest.getTransferredHospital()); + } else { + OrganizationQuery organizationQuery = new OrganizationQuery(); + organizationQuery.setYn(YnEnums.YES.getId()); + organizationQuery.setName(applyOrderQueryRequest.getTransferredHospital()); + List organization = organizationService.queryOrganization(organizationQuery); + if (CollectionUtils.isNotEmpty(organization)) { + referralApplyOrderQuery.setOutHospitalId(organization.get(0).getId() + ""); + } else { + referralApplyOrderQuery.setOutHospitalId(applyOrderQueryRequest.getTransferredHospital()); + } + } + } + + referralApplyOrderQuery.setTransferredHospital(hospital); + } else if ("0".equals(applyOrderQueryRequest.getAction())) { + if (StringUtils.isNotEmpty(applyOrderQueryRequest.getTransferredHospital())) { + if (NumberUtils.isNumber(applyOrderQueryRequest.getTransferredHospital())) { + referralApplyOrderQuery.setTransferredHospital(applyOrderQueryRequest.getTransferredHospital()); + } else { + OrganizationQuery organizationQuery = new OrganizationQuery(); + organizationQuery.setYn(YnEnums.YES.getId()); + organizationQuery.setName(applyOrderQueryRequest.getTransferredHospital()); + List organization = organizationService.queryOrganization(organizationQuery); + if (CollectionUtils.isNotEmpty(organization)) { + referralApplyOrderQuery.setTransferredHospital(organization.get(0).getId() + ""); + } else { + referralApplyOrderQuery.setTransferredHospital(applyOrderQueryRequest.getTransferredHospital()); + } + } + } + referralApplyOrderQuery.setOutHospitalId(hospital); + } + List orderModels = applyOrderService.queryReferralApplyOrderWithQuery(referralApplyOrderQuery); + + List> datas = new ArrayList<>(); + + if (CollectionUtils.isNotEmpty(orderModels)) { + for (ReferralApplyOrderModel orderModel : orderModels) { + + Map data = new HashMap<>(); + + ApplyOrderOutResult applyOrderResult = new ApplyOrderOutResult(); + String zhuanchu = orderModel.getOutHospitalId(); + String zhuanru = orderModel.getTransferredHospital(); + String zhuanCName = zhuanchu; + String zhuanRname = zhuanru; + if (NumberUtils.isNumber(zhuanchu)) { + Organization zhuanc = organizationService.getOrganization(Integer.valueOf(zhuanchu)); + if (null != zhuanc) { + zhuanCName = zhuanc.getName(); + } + } + if (NumberUtils.isNumber(zhuanru)) { + Organization zhuanc1 = organizationService.getOrganization(Integer.valueOf(zhuanru)); + if (null != zhuanc1) { + zhuanRname = zhuanc1.getName(); + } + } + + if (NumberUtils.isNumber(orderModel.getApplyDoctor())) { + Users users = usersService.getUsers(NumberUtils.toInt(orderModel.getApplyDoctor())); + if (null != users) { + applyOrderResult.setApplyDoctor(users.getName()); + } + } + if (NumberUtils.isNumber(orderModel.getRecDoctor())) { + Users users = usersService.getUsers(NumberUtils.toInt(orderModel.getRecDoctor())); + if (null != users) { + applyOrderResult.setRecDoctor(users.getName()); + } + } + + StringBuilder stringBuilder = new StringBuilder(); + if(CollectionUtils.isNotEmpty(orderModel.getrRisk())){ + for(String str:orderModel.getrRisk()){ + stringBuilder.append(str).append(", "); + } + if(stringBuilder.length()>0){ + stringBuilder.setLength(stringBuilder.length() - 2); + } + } + + applyOrderResult.convertToResult(orderModel, zhuanCName, zhuanRname); + applyOrderResult.setrRisk(stringBuilder.toString()); + applyOrderResult.setScore(orderModel.getScore()); + + + List rLevel = new ArrayList(); + if(CollectionUtils.isNotEmpty(orderModel.getrLevel())){ + for(String str:orderModel.getrLevel()){ + Map map1 = new HashMap(); + map1.put("id", ""); + if (str.indexOf("预警") > -1) { + str = str.replace("预警", ""); + } + map1.put("name",str); + map1.put("color", "risk_" + RiskDefaultTypeEnum.getColor(str)); + rLevel.add(map1); + } + } + applyOrderResult.setrLevel(rLevel); + Patients patients = patientsService.findOnePatientById(orderModel.getParentId()); + if (null != patients) { + if (1 == patients.getDueStatus()) + applyOrderResult.setcDueWeek("终止妊娠"); + else if (patients.getType() == 3) + applyOrderResult.setcDueWeek("已分娩"); + } + } + } + + OutputStream out = null; + try { + out = response.getOutputStream(); + } catch (IOException e) { + e.printStackTrace(); + } + Map cnames = new HashMap<>(); + + if ("1".equals(applyOrderQueryRequest.getAction())) + { + cnames.put("name", "姓名"); + cnames.put("hRisk","高危诊断"); + cnames.put("sex","性别"); + cnames.put("yl", "转出月龄"); + cnames.put("cyl", "当前月龄"); + cnames.put("birth", "出生日期"); + cnames.put("mName", "母亲姓名"); + cnames.put("transferredDisease","转院必要性"); + cnames.put("zhuanRname","转入医院"); + cnames.put("created","转出日期"); + cnames.put("received","接收日期"); + cnames.put("created","转出日期"); + cnames.put("phone","联系电话"); + cnames.put("status","状态"); + } + else if ("0".equals(applyOrderQueryRequest.getAction())) + { + cnames.put("name", "姓名"); + cnames.put("hRisk","高危诊断"); + cnames.put("sex","性别"); + cnames.put("yl", "申请月龄"); + cnames.put("cyl", "转入月龄"); + cnames.put("birth", "出生日期"); + cnames.put("mName", "母亲姓名"); + cnames.put("zhuanCName", "转出医院"); + cnames.put("transferredDisease","转院必要性"); + cnames.put("created","转出日期"); + cnames.put("received","接收日期"); + cnames.put("phone","联系电话"); + cnames.put("recDoctor","接收医生"); + cnames.put("status","状态"); + } + + response.setContentType("application/octet-stream"); + response.setHeader("Content-Disposition", "attachment;fileName="+"zhuanz.xls"); + ExcelUtil.toExcel(out, datas, cnames); + + } } \ No newline at end of file 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 5f439d2..e43526d 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 @@ -1730,13 +1730,13 @@ public class BabyBookbuildingFacade { try { String hospitalId = "196"; //得到当前登录的医院id - if (userId != null) - { - Users dbuser = usersService.getUsers(userId); - if (dbuser != null) { - hospitalId = String.valueOf(dbuser.getOrgId()); - } - } +// 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)); @@ -1787,9 +1787,7 @@ public class BabyBookbuildingFacade { cnames.put("nextDate","下次预约时间"); cnames.put("monthAge","月龄"); cnames.put("diagnose","高危诊断"); - httpServletResponse.setContentType("application/octet-stream"); - //2.设置文件头:最后一个参数是设置下载文件名(假如我们叫a.pdf) httpServletResponse.setHeader("Content-Disposition", "attachment;fileName="+"childDatas.xls"); ExcelUtil.toExcel(out,datas,cnames); } catch (IOException e) {