From 9f2819e08bcb1eaa5dadb9023b8a4113cdcdfca8 Mon Sep 17 00:00:00 2001 From: wtt Date: Wed, 14 Apr 2021 09:12:46 +0800 Subject: [PATCH] update --- .../operate/web/controller/ViewController.java | 59 +++++++++ .../platform/operate/web/facade/ViewFacade.java | 141 +++++++++++++++++++-- platform-operate-api/src/main/resources/qbcf.doc | Bin 0 -> 27136 bytes 3 files changed, 186 insertions(+), 14 deletions(-) create mode 100644 platform-operate-api/src/main/resources/qbcf.doc diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ViewController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ViewController.java index 57fac94..73f5308 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ViewController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ViewController.java @@ -351,6 +351,65 @@ public class ViewController extends BaseController { } + + /** + * 导出全部产妇管理 word导出 + * + * @param id + * @param response + */ + @RequestMapping(value = "/downPuerperaExpostData", method = RequestMethod.GET) + public void downPuerperaExpostData(@RequestParam("parentId") String id, HttpServletResponse response) { + Map map = viewFacade.downPuerperaExpostData(id, null); + try { + // 验证License + if (!getLicense()) { + return; + } + Document doc;// 原始word路径 + try { + doc = new Document(ViewController.class.getClassLoader().getResourceAsStream("qbcf.doc")); + + markData(doc, map);//普通数据 + + List> allAntExList = (List>) map.get("antExData"); + + // NodeCollection allTables = doc.getChildNodes(NodeType.TABLE, true); //拿到所有表格 + DocumentBuilder builder = new DocumentBuilder(doc); + + List widthList = new ArrayList(); + for (int i = 0; i < 7; i++) { + builder.moveToCell(0, 12, i, 0); //移动单元格 + double width = builder.getCellFormat().getWidth();//获取单元格宽度 + System.out.println("width:" + width); + widthList.add(width); + } + + builder.moveToBookmark("table"); //开始添加值 + for (int i = 0; i < allAntExList.size(); i++) { + for (int j = 0; j < allAntExList.get(i).size(); j++) { + builder.insertCell();// 添加一个单元格 + builder.getCellFormat().getBorders().setLineStyle(LineStyle.SINGLE); + builder.getCellFormat().getBorders().setColor(Color.BLACK); + builder.getCellFormat().setWidth((Double) widthList.get(j)); + builder.getCellFormat().setVerticalMerge(CellMerge.NONE); + builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER); //垂直居中对齐 + builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);//水平居中对齐 + builder.write(allAntExList.get(i).get(j)); + } + builder.endRow(); + } + sendToBrowser(doc, "导出", "doc", true, response); + } catch (Exception e) { + e.printStackTrace(); + } + response.flushBuffer(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + @RequestMapping(value = "/downExpostData", method = RequestMethod.GET) public void downExPostData(@RequestParam("id") String id, HttpServletRequest request, HttpServletResponse response) { Map map = viewFacade.expPostReview(id, null); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java index 3afb23b..ae0ebf1 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java @@ -28,6 +28,7 @@ import com.lyms.platform.operate.web.utils.*; import com.lyms.platform.operate.web.utils.UnitConstants; import com.lyms.platform.permission.model.*; import com.lyms.platform.permission.service.CheckItemService; +import com.lyms.platform.query.*; import net.sf.json.JSONArray; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; @@ -98,18 +99,6 @@ import com.lyms.platform.pojo.PostReviewModel; import com.lyms.platform.pojo.ReferralApplyOrderModel; import com.lyms.platform.pojo.ResidentsArchiveModel; import com.lyms.platform.pojo.StopPregModel; -import com.lyms.platform.query.AntExChuQuery; -import com.lyms.platform.query.AntExQuery; -import com.lyms.platform.query.AntExRecordQuery; -import com.lyms.platform.query.BabyCheckModelQuery; -import com.lyms.platform.query.BabyModelQuery; -import com.lyms.platform.query.BasicConfigQuery; -import com.lyms.platform.query.DischargeAbstractBabyQuery; -import com.lyms.platform.query.MatDeliverQuery; -import com.lyms.platform.query.PatientsQuery; -import com.lyms.platform.query.ReferralApplyOrderQuery; -import com.lyms.platform.query.ResidentsArchiveQuery; -import com.lyms.platform.query.StopPregQuery; /** * Created by Administrator on 2017/1/16 0016. @@ -4691,6 +4680,130 @@ public class ViewFacade { } + + /** + * 到处产后随访数据 + * + * @return + */ + public Map downPuerperaExpostData(String id, Integer userId) { + Map map = new HashMap(); + Patients patients = patientsService.findOnePatientById(id); + if (patients != null) { + /* 基础信息 */ + map.put("id", id); + map.put("name", patients.getUsername()); + map.put("age", DateUtil.getAge(patients.getBirth(), new Date()) + ""); + map.put("nation", getBasicConfig(patients.getPnationId())); + map.put("education", getBasicConfig(patients.getPlevelTypeId())); + Date dueDate = DateUtil.addDay(patients.getLastMenses(), 280); + //返回预产期 + map.put("lastMenstr", DateUtil.getyyyy_MM_dd(patients.getLastMenses())); + map.put("dueDate", DateUtil.getyyyy_MM_dd(dueDate)); + map.put("address", CommonsHelper.getResidence(patients.getProvinceRegisterId(), patients.getCityRegisterId(), + patients.getAreaRegisterId(), patients.getStreetRegisterId(), patients.getAddressRegister(), basicConfigService)); + + map.put("phone", com.lyms.platform.common.utils.StringUtils.isEmpty(patients.getPhone(), "")); + map.put("fmDate", DateUtil.getyyyy_MM_dd(patients.getFmDate())); + map.put("mremark", com.lyms.platform.common.utils.StringUtils.isEmpty(patients.getMremark(), "")); + List > allAntExList = getAntExAll(patients, map); + map.put("antExData", allAntExList); + + //初诊 + AntExChuQuery antExChuQuery = new AntExChuQuery(); + antExChuQuery.setYn(YnEnums.YES.getId()); + antExChuQuery.setParentId(patients.getId()); + List antExChuModels = antenatalExaminationService.queryAntExChu(antExChuQuery); + if (CollectionUtils.isNotEmpty(antExChuModels)) { + AntExChuModel antExChuModel = antExChuModels.get(0); + map.put("yaowu", antExChuModel.getYaowu());//药物流产次数 + map.put("abortion", antExChuModel.getAbortion()); //流产 + map.put("abortionRG", antExChuModel.getAbortionRG()); //人工流产 + map.put("abortionZR", antExChuModel.getAbortionZR()); //自然流产 + } + //分娩情况 + MatDeliverQuery matDeliverQuery1 = new MatDeliverQuery(); + matDeliverQuery1.setParentId(patients.getId()); + matDeliverQuery1.setYn(YnEnums.YES.getId()); + List query = matDeliverService.query(matDeliverQuery1); + putMatDeliver(map, query); + + //产后复查 + PostReviewQuery antExQuery = new PostReviewQuery(); + antExQuery.setParentId(patients.getId()); + antExQuery.setYn(YnEnums.YES.getId()); + List list = postReviewService.findWithList(antExQuery.convertToQuery().addOrder(Sort.Direction.DESC, "checkTime")); + if (CollectionUtils.isNotEmpty(list)) { + PostReviewModel postReviewModel = list.get(0); + map.put("sfTime",DateUtil.getyyyy_MM_dd(postReviewModel.getCheckTime())); //产后42天随访日期 + String prodDoctor = ""; + if (org.apache.commons.lang.StringUtils.isNotEmpty(postReviewModel.getProdDoctor())) { + Users users = usersService.getUsers(Integer.parseInt(postReviewModel.getProdDoctor())); + if (users != null && users.getYn() == YnEnums.YES.getId()) { + prodDoctor = users.getName(); + } + } + map.put("prodDoctor", prodDoctor);//产检 医生 + map.put("healthStatus", postReviewModel.getHealthStatus()); //健康情况 + } + } + + return map; + } + + private void putMatDeliver(Map map, List query) { + if (CollectionUtils.isNotEmpty(query)) { + MaternalDeliverModel maternalDeliverModel = query.get(0); + String deliveryMode = ""; + if (StringUtils.isNotEmpty(maternalDeliverModel.getDeliveryMode())) { + + StringBuilder sb = new StringBuilder(); + + Map m = JsonUtil.str2Obj(maternalDeliverModel.getDeliveryMode(), Map.class); + String fmfs = null; + if (m != null) { + Object b = m.get("fmfs"); + if (b != null) { + fmfs = b.toString(); + if (fmfs != null) { + if (fmfs.equals("1")) { + String fmName = FmTypeEnums.getFmNameById(fmfs); + sb.append(fmName); + if (null != m.get("scfs") && !"null".equals(m.get("scfs").toString())) { + sb.append(","); + String scfs = m.get("scfs").toString(); + sb.append(FmTypeEnums.getFmScNameById(scfs)); + } + deliveryMode = sb.toString(); + } else if (fmfs.equals("2")) { + String fmName = FmTypeEnums.getFmNameById(fmfs); + deliveryMode = fmName; + } + } + } + } + } + map.put("deliveryMode", deliveryMode);//分娩方式 + map.put("dueWeek", maternalDeliverModel.getDueWeek());//分娩孕周 + String fmHospital = ""; + String cityId = null; + if (StringUtils.isNotEmpty(maternalDeliverModel.getFmHospital())) { + if (com.lyms.platform.common.utils.StringUtils.isNum(maternalDeliverModel.getFmHospital())) { + Organization organization = organizationService.getOrganization(Integer.parseInt(maternalDeliverModel.getFmHospital())); + if (organization != null && organization.getYn() == YnEnums.YES.getId()) { + fmHospital = organization.getName(); + cityId = organization.getCityId(); + } + } else { + fmHospital = maternalDeliverModel.getFmHospital(); + } + } + map.put("fmHospital", fmHospital);//分娩医院 + //map.put("dueDate", maternalDeliverModel.getDueDate());//分娩时间 + } + } + + public Map expHightPjData(String id, Integer userId) { Map map = new HashMap(); Patients patients = patientsService.findOnePatientById(id); @@ -4858,9 +4971,9 @@ public class ViewFacade { if (null != an.getHospitalId()) { organization = organizationService.getOrganization(Integer.valueOf(an.getHospitalId())); } - map.put("stature", an.getHeight()); + map.put("stature", com.lyms.platform.common.utils.StringUtils.isNotEmpty(an.getHeight()) ? an.getHeight()+"cm" : ""); map.put("firstDate", DateUtil.getyyyy_MM_dd(an.getCheckTime())); - map.put("weight", an.getWeight()); + map.put("weight", com.lyms.platform.common.utils.StringUtils.isNotEmpty(an.getWeight()) ? an.getWeight()+"kg" : ""); map.put("prodTime", UnitUtils.unitSplice(an.getProdTime(), UnitConstants.CI)); map.put("pregnancyTimes", UnitUtils.unitSplice(an.getPregnancyTimes(), UnitConstants.CI)); diff --git a/platform-operate-api/src/main/resources/qbcf.doc b/platform-operate-api/src/main/resources/qbcf.doc new file mode 100644 index 0000000000000000000000000000000000000000..0745244fe1a3dae8e080507eaacee0e929ca0019 GIT binary patch literal 27136 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 E|3N?3$p8QV literal 0 HcmV?d00001 -- 1.8.3.1