Commit 9f2819e08bcb1eaa5dadb9023b8a4113cdcdfca8
1 parent
e87f55dec7
Exists in
master
and in
6 other branches
update
Showing 3 changed files with 186 additions and 14 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ViewController.java
View file @
9f2819e
| ... | ... | @@ -351,6 +351,65 @@ |
| 351 | 351 | } |
| 352 | 352 | |
| 353 | 353 | |
| 354 | + | |
| 355 | + /** | |
| 356 | + * 导出全部产妇管理 word导出 | |
| 357 | + * | |
| 358 | + * @param id | |
| 359 | + * @param response | |
| 360 | + */ | |
| 361 | + @RequestMapping(value = "/downPuerperaExpostData", method = RequestMethod.GET) | |
| 362 | + public void downPuerperaExpostData(@RequestParam("parentId") String id, HttpServletResponse response) { | |
| 363 | + Map<String, Object> map = viewFacade.downPuerperaExpostData(id, null); | |
| 364 | + try { | |
| 365 | + // 验证License | |
| 366 | + if (!getLicense()) { | |
| 367 | + return; | |
| 368 | + } | |
| 369 | + Document doc;// 原始word路径 | |
| 370 | + try { | |
| 371 | + doc = new Document(ViewController.class.getClassLoader().getResourceAsStream("qbcf.doc")); | |
| 372 | + | |
| 373 | + markData(doc, map);//普通数据 | |
| 374 | + | |
| 375 | + List<List<String>> allAntExList = (List<List<String>>) map.get("antExData"); | |
| 376 | + | |
| 377 | + // NodeCollection allTables = doc.getChildNodes(NodeType.TABLE, true); //拿到所有表格 | |
| 378 | + DocumentBuilder builder = new DocumentBuilder(doc); | |
| 379 | + | |
| 380 | + List widthList = new ArrayList(); | |
| 381 | + for (int i = 0; i < 7; i++) { | |
| 382 | + builder.moveToCell(0, 12, i, 0); //移动单元格 | |
| 383 | + double width = builder.getCellFormat().getWidth();//获取单元格宽度 | |
| 384 | + System.out.println("width:" + width); | |
| 385 | + widthList.add(width); | |
| 386 | + } | |
| 387 | + | |
| 388 | + builder.moveToBookmark("table"); //开始添加值 | |
| 389 | + for (int i = 0; i < allAntExList.size(); i++) { | |
| 390 | + for (int j = 0; j < allAntExList.get(i).size(); j++) { | |
| 391 | + builder.insertCell();// 添加一个单元格 | |
| 392 | + builder.getCellFormat().getBorders().setLineStyle(LineStyle.SINGLE); | |
| 393 | + builder.getCellFormat().getBorders().setColor(Color.BLACK); | |
| 394 | + builder.getCellFormat().setWidth((Double) widthList.get(j)); | |
| 395 | + builder.getCellFormat().setVerticalMerge(CellMerge.NONE); | |
| 396 | + builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER); //垂直居中对齐 | |
| 397 | + builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);//水平居中对齐 | |
| 398 | + builder.write(allAntExList.get(i).get(j)); | |
| 399 | + } | |
| 400 | + builder.endRow(); | |
| 401 | + } | |
| 402 | + sendToBrowser(doc, "导出", "doc", true, response); | |
| 403 | + } catch (Exception e) { | |
| 404 | + e.printStackTrace(); | |
| 405 | + } | |
| 406 | + response.flushBuffer(); | |
| 407 | + } catch (IOException e) { | |
| 408 | + e.printStackTrace(); | |
| 409 | + } | |
| 410 | + } | |
| 411 | + | |
| 412 | + | |
| 354 | 413 | @RequestMapping(value = "/downExpostData", method = RequestMethod.GET) |
| 355 | 414 | public void downExPostData(@RequestParam("id") String id, HttpServletRequest request, HttpServletResponse response) { |
| 356 | 415 | Map<String, Object> map = viewFacade.expPostReview(id, null); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java
View file @
9f2819e
| ... | ... | @@ -28,6 +28,7 @@ |
| 28 | 28 | import com.lyms.platform.operate.web.utils.UnitConstants; |
| 29 | 29 | import com.lyms.platform.permission.model.*; |
| 30 | 30 | import com.lyms.platform.permission.service.CheckItemService; |
| 31 | +import com.lyms.platform.query.*; | |
| 31 | 32 | import net.sf.json.JSONArray; |
| 32 | 33 | import org.apache.commons.collections.CollectionUtils; |
| 33 | 34 | import org.apache.commons.collections.MapUtils; |
| ... | ... | @@ -98,18 +99,6 @@ |
| 98 | 99 | import com.lyms.platform.pojo.ReferralApplyOrderModel; |
| 99 | 100 | import com.lyms.platform.pojo.ResidentsArchiveModel; |
| 100 | 101 | import com.lyms.platform.pojo.StopPregModel; |
| 101 | -import com.lyms.platform.query.AntExChuQuery; | |
| 102 | -import com.lyms.platform.query.AntExQuery; | |
| 103 | -import com.lyms.platform.query.AntExRecordQuery; | |
| 104 | -import com.lyms.platform.query.BabyCheckModelQuery; | |
| 105 | -import com.lyms.platform.query.BabyModelQuery; | |
| 106 | -import com.lyms.platform.query.BasicConfigQuery; | |
| 107 | -import com.lyms.platform.query.DischargeAbstractBabyQuery; | |
| 108 | -import com.lyms.platform.query.MatDeliverQuery; | |
| 109 | -import com.lyms.platform.query.PatientsQuery; | |
| 110 | -import com.lyms.platform.query.ReferralApplyOrderQuery; | |
| 111 | -import com.lyms.platform.query.ResidentsArchiveQuery; | |
| 112 | -import com.lyms.platform.query.StopPregQuery; | |
| 113 | 102 | |
| 114 | 103 | /** |
| 115 | 104 | * Created by Administrator on 2017/1/16 0016. |
| ... | ... | @@ -4691,6 +4680,130 @@ |
| 4691 | 4680 | } |
| 4692 | 4681 | |
| 4693 | 4682 | |
| 4683 | + | |
| 4684 | + /** | |
| 4685 | + * 到处产后随访数据 | |
| 4686 | + * | |
| 4687 | + * @return | |
| 4688 | + */ | |
| 4689 | + public Map downPuerperaExpostData(String id, Integer userId) { | |
| 4690 | + Map map = new HashMap(); | |
| 4691 | + Patients patients = patientsService.findOnePatientById(id); | |
| 4692 | + if (patients != null) { | |
| 4693 | + /* 基础信息 */ | |
| 4694 | + map.put("id", id); | |
| 4695 | + map.put("name", patients.getUsername()); | |
| 4696 | + map.put("age", DateUtil.getAge(patients.getBirth(), new Date()) + ""); | |
| 4697 | + map.put("nation", getBasicConfig(patients.getPnationId())); | |
| 4698 | + map.put("education", getBasicConfig(patients.getPlevelTypeId())); | |
| 4699 | + Date dueDate = DateUtil.addDay(patients.getLastMenses(), 280); | |
| 4700 | + //返回预产期 | |
| 4701 | + map.put("lastMenstr", DateUtil.getyyyy_MM_dd(patients.getLastMenses())); | |
| 4702 | + map.put("dueDate", DateUtil.getyyyy_MM_dd(dueDate)); | |
| 4703 | + map.put("address", CommonsHelper.getResidence(patients.getProvinceRegisterId(), patients.getCityRegisterId(), | |
| 4704 | + patients.getAreaRegisterId(), patients.getStreetRegisterId(), patients.getAddressRegister(), basicConfigService)); | |
| 4705 | + | |
| 4706 | + map.put("phone", com.lyms.platform.common.utils.StringUtils.isEmpty(patients.getPhone(), "")); | |
| 4707 | + map.put("fmDate", DateUtil.getyyyy_MM_dd(patients.getFmDate())); | |
| 4708 | + map.put("mremark", com.lyms.platform.common.utils.StringUtils.isEmpty(patients.getMremark(), "")); | |
| 4709 | + List <List <String>> allAntExList = getAntExAll(patients, map); | |
| 4710 | + map.put("antExData", allAntExList); | |
| 4711 | + | |
| 4712 | + //初诊 | |
| 4713 | + AntExChuQuery antExChuQuery = new AntExChuQuery(); | |
| 4714 | + antExChuQuery.setYn(YnEnums.YES.getId()); | |
| 4715 | + antExChuQuery.setParentId(patients.getId()); | |
| 4716 | + List <AntExChuModel> antExChuModels = antenatalExaminationService.queryAntExChu(antExChuQuery); | |
| 4717 | + if (CollectionUtils.isNotEmpty(antExChuModels)) { | |
| 4718 | + AntExChuModel antExChuModel = antExChuModels.get(0); | |
| 4719 | + map.put("yaowu", antExChuModel.getYaowu());//药物流产次数 | |
| 4720 | + map.put("abortion", antExChuModel.getAbortion()); //流产 | |
| 4721 | + map.put("abortionRG", antExChuModel.getAbortionRG()); //人工流产 | |
| 4722 | + map.put("abortionZR", antExChuModel.getAbortionZR()); //自然流产 | |
| 4723 | + } | |
| 4724 | + //分娩情况 | |
| 4725 | + MatDeliverQuery matDeliverQuery1 = new MatDeliverQuery(); | |
| 4726 | + matDeliverQuery1.setParentId(patients.getId()); | |
| 4727 | + matDeliverQuery1.setYn(YnEnums.YES.getId()); | |
| 4728 | + List <MaternalDeliverModel> query = matDeliverService.query(matDeliverQuery1); | |
| 4729 | + putMatDeliver(map, query); | |
| 4730 | + | |
| 4731 | + //产后复查 | |
| 4732 | + PostReviewQuery antExQuery = new PostReviewQuery(); | |
| 4733 | + antExQuery.setParentId(patients.getId()); | |
| 4734 | + antExQuery.setYn(YnEnums.YES.getId()); | |
| 4735 | + List<PostReviewModel> list = postReviewService.findWithList(antExQuery.convertToQuery().addOrder(Sort.Direction.DESC, "checkTime")); | |
| 4736 | + if (CollectionUtils.isNotEmpty(list)) { | |
| 4737 | + PostReviewModel postReviewModel = list.get(0); | |
| 4738 | + map.put("sfTime",DateUtil.getyyyy_MM_dd(postReviewModel.getCheckTime())); //产后42天随访日期 | |
| 4739 | + String prodDoctor = ""; | |
| 4740 | + if (org.apache.commons.lang.StringUtils.isNotEmpty(postReviewModel.getProdDoctor())) { | |
| 4741 | + Users users = usersService.getUsers(Integer.parseInt(postReviewModel.getProdDoctor())); | |
| 4742 | + if (users != null && users.getYn() == YnEnums.YES.getId()) { | |
| 4743 | + prodDoctor = users.getName(); | |
| 4744 | + } | |
| 4745 | + } | |
| 4746 | + map.put("prodDoctor", prodDoctor);//产检 医生 | |
| 4747 | + map.put("healthStatus", postReviewModel.getHealthStatus()); //健康情况 | |
| 4748 | + } | |
| 4749 | + } | |
| 4750 | + | |
| 4751 | + return map; | |
| 4752 | + } | |
| 4753 | + | |
| 4754 | + private void putMatDeliver(Map map, List <MaternalDeliverModel> query) { | |
| 4755 | + if (CollectionUtils.isNotEmpty(query)) { | |
| 4756 | + MaternalDeliverModel maternalDeliverModel = query.get(0); | |
| 4757 | + String deliveryMode = ""; | |
| 4758 | + if (StringUtils.isNotEmpty(maternalDeliverModel.getDeliveryMode())) { | |
| 4759 | + | |
| 4760 | + StringBuilder sb = new StringBuilder(); | |
| 4761 | + | |
| 4762 | + Map m = JsonUtil.str2Obj(maternalDeliverModel.getDeliveryMode(), Map.class); | |
| 4763 | + String fmfs = null; | |
| 4764 | + if (m != null) { | |
| 4765 | + Object b = m.get("fmfs"); | |
| 4766 | + if (b != null) { | |
| 4767 | + fmfs = b.toString(); | |
| 4768 | + if (fmfs != null) { | |
| 4769 | + if (fmfs.equals("1")) { | |
| 4770 | + String fmName = FmTypeEnums.getFmNameById(fmfs); | |
| 4771 | + sb.append(fmName); | |
| 4772 | + if (null != m.get("scfs") && !"null".equals(m.get("scfs").toString())) { | |
| 4773 | + sb.append(","); | |
| 4774 | + String scfs = m.get("scfs").toString(); | |
| 4775 | + sb.append(FmTypeEnums.getFmScNameById(scfs)); | |
| 4776 | + } | |
| 4777 | + deliveryMode = sb.toString(); | |
| 4778 | + } else if (fmfs.equals("2")) { | |
| 4779 | + String fmName = FmTypeEnums.getFmNameById(fmfs); | |
| 4780 | + deliveryMode = fmName; | |
| 4781 | + } | |
| 4782 | + } | |
| 4783 | + } | |
| 4784 | + } | |
| 4785 | + } | |
| 4786 | + map.put("deliveryMode", deliveryMode);//分娩方式 | |
| 4787 | + map.put("dueWeek", maternalDeliverModel.getDueWeek());//分娩孕周 | |
| 4788 | + String fmHospital = ""; | |
| 4789 | + String cityId = null; | |
| 4790 | + if (StringUtils.isNotEmpty(maternalDeliverModel.getFmHospital())) { | |
| 4791 | + if (com.lyms.platform.common.utils.StringUtils.isNum(maternalDeliverModel.getFmHospital())) { | |
| 4792 | + Organization organization = organizationService.getOrganization(Integer.parseInt(maternalDeliverModel.getFmHospital())); | |
| 4793 | + if (organization != null && organization.getYn() == YnEnums.YES.getId()) { | |
| 4794 | + fmHospital = organization.getName(); | |
| 4795 | + cityId = organization.getCityId(); | |
| 4796 | + } | |
| 4797 | + } else { | |
| 4798 | + fmHospital = maternalDeliverModel.getFmHospital(); | |
| 4799 | + } | |
| 4800 | + } | |
| 4801 | + map.put("fmHospital", fmHospital);//分娩医院 | |
| 4802 | + //map.put("dueDate", maternalDeliverModel.getDueDate());//分娩时间 | |
| 4803 | + } | |
| 4804 | + } | |
| 4805 | + | |
| 4806 | + | |
| 4694 | 4807 | public Map expHightPjData(String id, Integer userId) { |
| 4695 | 4808 | Map map = new HashMap(); |
| 4696 | 4809 | Patients patients = patientsService.findOnePatientById(id); |
| 4697 | 4810 | |
| ... | ... | @@ -4858,9 +4971,9 @@ |
| 4858 | 4971 | if (null != an.getHospitalId()) { |
| 4859 | 4972 | organization = organizationService.getOrganization(Integer.valueOf(an.getHospitalId())); |
| 4860 | 4973 | } |
| 4861 | - map.put("stature", an.getHeight()); | |
| 4974 | + map.put("stature", com.lyms.platform.common.utils.StringUtils.isNotEmpty(an.getHeight()) ? an.getHeight()+"cm" : ""); | |
| 4862 | 4975 | map.put("firstDate", DateUtil.getyyyy_MM_dd(an.getCheckTime())); |
| 4863 | - map.put("weight", an.getWeight()); | |
| 4976 | + map.put("weight", com.lyms.platform.common.utils.StringUtils.isNotEmpty(an.getWeight()) ? an.getWeight()+"kg" : ""); | |
| 4864 | 4977 | map.put("prodTime", UnitUtils.unitSplice(an.getProdTime(), UnitConstants.CI)); |
| 4865 | 4978 | map.put("pregnancyTimes", UnitUtils.unitSplice(an.getPregnancyTimes(), UnitConstants.CI)); |
| 4866 | 4979 |
platform-operate-api/src/main/resources/qbcf.doc
View file @
9f2819e