Commit b64a7e7d7d5660b1278486e74fb62164927eb895

Authored by wtt
1 parent a5f35ef2a5

诸城母子导出、重点孕妇登记表,导出格式修改

Showing 5 changed files with 101 additions and 38 deletions

platform-operate-api/pom.xml View file @ b64a7e7
... ... @@ -118,6 +118,16 @@
118 118 <version>1.12.0</version>
119 119 </dependency>-->
120 120  
  121 + <dependency>
  122 + <groupId>org.jxls</groupId>
  123 + <artifactId>jxls</artifactId>
  124 + <version>2.3.0</version>
  125 + </dependency>
  126 + <dependency>
  127 + <groupId>org.jxls</groupId>
  128 + <artifactId>jxls-poi</artifactId>
  129 + <version>1.0.9</version>
  130 + </dependency>
121 131 </dependencies>
122 132 <build>
123 133 <resources>
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java View file @ b64a7e7
... ... @@ -481,7 +481,8 @@
481 481 header.put("husbandName", "配偶姓名");
482 482 header.put("organization", "发放机构");
483 483 header.put("address", "镇街、村居或单位");
484   - header.put("childTime", "孩次");
  484 + header.put("", "孩次");
  485 +// header.put("childTime", "孩次");
485 486 header.put("gestation", "孕期");
486 487 header.put("bookbuildingDate", "发放时间");
487 488 header.put("serial", "首次发放序号");
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java View file @ b64a7e7
... ... @@ -14,6 +14,7 @@
14 14 import com.lyms.platform.operate.web.result.*;
15 15 import com.lyms.platform.operate.web.service.PatientWeightService;
16 16 import com.lyms.platform.operate.web.utils.CommonsHelper;
  17 +import com.lyms.platform.operate.web.utils.JxlsUtils;
17 18 import com.lyms.platform.operate.web.worker.QuanChanPatientWorker;
18 19 import com.lyms.platform.operate.web.worker.QuanPatientWorker;
19 20 import com.lyms.platform.operate.web.worker.WorkHR;
20 21  
21 22  
... ... @@ -1137,45 +1138,14 @@
1137 1138 keyPregnantWomenExcelModelList.add(keyPregnantWomenExcelModel);
1138 1139 }
1139 1140 }
1140   - List<Map<String, Object>> list = new ArrayList<>();
1141   - for (KeyPregnantWomenExcelModel keyPregnantWomenExcelModel : keyPregnantWomenExcelModelList) {
1142   - Map<String, Object> map = BeanUtils.objectToObjectMap(keyPregnantWomenExcelModel);
1143   - for (String key : map.keySet()) {
1144   - if (org.apache.commons.lang.StringUtils.isEmpty(String.valueOf(map.get(key)))) {
1145   - map.put(key, " ");
1146   - }
1147   - }
1148   - list.add(map);
1149   - }
1150 1141  
1151   -
1152   - //2:excel导出
1153   - Map<String, String> header = new LinkedHashMap<>();
1154   - header.put("acceptanceTime", "接收日期");
1155   - header.put("issuedTime", "下发日期");
1156   - header.put("number", "编号");
1157   - header.put("username", "姓名");
1158   - header.put("age", "年龄");
1159   - header.put("addressbs", "户籍/本市");
1160   - header.put("addresswd", "外地/常驻");
1161   - header.put("addressld", "流动");
1162   - header.put("pregnancyTimes", "孕次");
1163   - header.put("prodTime", "产次");
1164   - header.put("dueDate", "预产期");
1165   - header.put("addressRegister", "居住地址");
1166   - header.put("phone", "孕妇手机");
1167   - header.put("husbandPhone", "丈夫手机");
1168   - header.put("rFactor", "重点疾病");
1169   - header.put("rLevel", "高危等级");
1170   - header.put("acknowledgingTiem", "确诊时间");
1171   - header.put("exportime", "随访-第一次日期");
1172 1142 response.setContentType("application/force-download");
1173 1143 response.setHeader("Content-Disposition", "attachment;filename=" + new String(("重点孕妇登记表.xls").getBytes("UTF-8"), "ISO-8859-1"));
1174   - ExcelUtil.toExcel(response.getOutputStream(), list, header);
1175   -// String path = this.getClass().getResource("/").getPath() + "zddc.xls";
1176   -// ExcelUtil.keyPregnantWomenExclFile2(path, response.getOutputStream(), list);
1177   -// ExcelUtil.writeWhExclFile(path, response.getOutputStream(), list);
1178   -
  1144 + String path = this.getClass().getResource("/").getPath() + "zddc.xls";
  1145 + Map<String , Object> model=new HashMap<String , Object>();
  1146 + model.put("employees", keyPregnantWomenExcelModelList);
  1147 + model.put("nowdate", new Date());
  1148 + JxlsUtils.exportExcel(path, response.getOutputStream(), model);
1179 1149 } catch (Exception e) {
1180 1150 ExceptionUtils.catchException(e, e.getMessage());
1181 1151 }
... ... @@ -1574,7 +1544,8 @@
1574 1544 }
1575 1545  
1576 1546 //孕期:当前使用有孕== 有孕
1577   - healthHandbookExcelModel.setGestation(healthHandbookExcelModel.getGestation());
  1547 + healthHandbookExcelModel.setGestation("已孕");
  1548 +// healthHandbookExcelModel.setGestation(healthHandbookExcelModel.getGestation());
1578 1549 //发放日期:当前日期
1579 1550 healthHandbookExcelModel.setBookbuildingDate(DateUtil.getyyyy_MM_dd(patients.getBookbuildingDate()));
1580 1551 //首次发放序号:等待需求沟通
platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/JxlsUtils.java View file @ b64a7e7
  1 +package com.lyms.platform.operate.web.utils;
  2 +
  3 +import org.jxls.common.Context;
  4 +import org.jxls.expression.JexlExpressionEvaluator;
  5 +import org.jxls.transform.Transformer;
  6 +import org.jxls.util.JxlsHelper;
  7 +
  8 +import java.io.*;
  9 +import java.text.SimpleDateFormat;
  10 +import java.util.Date;
  11 +import java.util.HashMap;
  12 +import java.util.Map;
  13 +
  14 +/**
  15 + *
  16 + * @author klguang
  17 + *
  18 + */
  19 +public class JxlsUtils {
  20 +
  21 + private static final String TEMPLATE_PATH="jxls-template";
  22 +
  23 + public static void exportExcel(InputStream is, OutputStream os, Map<String, Object> model) throws IOException{
  24 + Context context = new Context();
  25 + if (model != null) {
  26 + for (String key : model.keySet()) {
  27 + context.putVar(key, model.get(key));
  28 + }
  29 + }
  30 + JxlsHelper jxlsHelper = JxlsHelper.getInstance();
  31 + Transformer transformer = jxlsHelper.createTransformer(is, os);
  32 + JexlExpressionEvaluator evaluator = (JexlExpressionEvaluator)transformer.getTransformationConfig().getExpressionEvaluator();
  33 + Map<String, Object> funcs = new HashMap<String, Object>();
  34 + funcs.put("utils", new JxlsUtils()); //添加自定义功能
  35 + evaluator.getJexlEngine().setFunctions(funcs);
  36 + jxlsHelper.processTemplate(context, transformer);
  37 + }
  38 +
  39 + public static void exportExcel(File xls, File out, Map<String, Object> model) throws FileNotFoundException, IOException {
  40 + exportExcel(new FileInputStream(xls), new FileOutputStream(out), model);
  41 + }
  42 +
  43 + public static void exportExcel(String templateName, OutputStream os, Map<String, Object> model) throws FileNotFoundException, IOException {
  44 + File template = getTemplate(templateName);
  45 + if(template!=null){
  46 + exportExcel(new FileInputStream(template), os, model);
  47 + }
  48 + }
  49 +
  50 +
  51 + //获取jxls模版文件
  52 +
  53 + public static File getTemplate(String name){
  54 +// String templatePath = JxlsUtils.class.getClassLoader().getResource(TEMPLATE_PATH).getPath();
  55 + File template = new File(name);
  56 + if(template.exists()){
  57 + return template;
  58 + }
  59 + return null;
  60 + }
  61 +
  62 + // 日期格式化
  63 + public String dateFmt(Date date, String fmt) {
  64 + if (date == null) {
  65 + return "";
  66 + }
  67 + try {
  68 + SimpleDateFormat dateFmt = new SimpleDateFormat(fmt);
  69 + return dateFmt.format(date);
  70 + } catch (Exception e) {
  71 + e.printStackTrace();
  72 + }
  73 + return "";
  74 + }
  75 +
  76 + // if判断
  77 + public Object ifelse(boolean b, Object o1, Object o2) {
  78 + return b ? o1 : o2;
  79 + }
  80 +
  81 +}
platform-operate-api/src/main/resources/zddc.xls View file @ b64a7e7

No preview for this file type