Commit 18135e77fc62fbd3cdd6d789a4edc49e417e78a9
1 parent
14f3aa3dd9
Exists in
master
and in
6 other branches
全部孕妇管理导出数据中隐藏字段和调整位置
Showing 3 changed files with 80 additions and 5 deletions
platform-common/pom.xml
View file @
18135e7
| ... | ... | @@ -39,7 +39,12 @@ |
| 39 | 39 | <artifactId>commons-lang3</artifactId> |
| 40 | 40 | <version>3.4</version> |
| 41 | 41 | </dependency> |
| 42 | - </dependencies> | |
| 42 | + <dependency> | |
| 43 | + <groupId>org.apache.poi</groupId> | |
| 44 | + <artifactId>poi-ooxml-schemas</artifactId> | |
| 45 | + <version>3.15</version> | |
| 46 | + </dependency> | |
| 47 | + </dependencies> | |
| 43 | 48 | <build> |
| 44 | 49 | <plugins> |
| 45 | 50 | <plugin> |
platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java
View file @
18135e7
| ... | ... | @@ -114,7 +114,9 @@ |
| 114 | 114 | WritableWorkbook wwb; |
| 115 | 115 | try { |
| 116 | 116 | wwb = Workbook.createWorkbook(out); |
| 117 | + | |
| 117 | 118 | WritableSheet ws = wwb.createSheet("sheet", 0); // 创建一个工作表 |
| 119 | + | |
| 118 | 120 | /** |
| 119 | 121 | * 设置单元格样式 |
| 120 | 122 | */ |
| ... | ... | @@ -146,6 +148,62 @@ |
| 146 | 148 | j++; |
| 147 | 149 | } |
| 148 | 150 | } |
| 151 | + | |
| 152 | + | |
| 153 | + wwb.write(); | |
| 154 | + wwb.close(); | |
| 155 | + } catch (IOException e) { | |
| 156 | + e.printStackTrace(); | |
| 157 | + } catch (RowsExceededException e) { | |
| 158 | + e.printStackTrace(); | |
| 159 | + } catch (WriteException e) { | |
| 160 | + e.printStackTrace(); | |
| 161 | + } | |
| 162 | + return out; | |
| 163 | + } | |
| 164 | + | |
| 165 | + //导出时隐藏列 | |
| 166 | + public static OutputStream toExcelhideLie(OutputStream out, List<Map<String, Object>> data, Map<String, String> columName) { | |
| 167 | + WritableWorkbook wwb; | |
| 168 | + try { | |
| 169 | + wwb = Workbook.createWorkbook(out); | |
| 170 | + | |
| 171 | + WritableSheet ws = wwb.createSheet("sheet", 0); // 创建一个工作表 | |
| 172 | + | |
| 173 | + /** | |
| 174 | + * 设置单元格样式 | |
| 175 | + */ | |
| 176 | + WritableFont wf = new WritableFont(WritableFont.ARIAL, 12, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.BLACK); | |
| 177 | + WritableCellFormat wcf = new WritableCellFormat(wf); | |
| 178 | + ws.setRowView(0, 300); // 设置指定行高 | |
| 179 | + // 设置列宽 | |
| 180 | + for (int j = 0, columLen = columName.size(); j < columLen; j++) { | |
| 181 | + ws.setColumnView(j, 15); | |
| 182 | + } | |
| 183 | + // 填充数据的内容 | |
| 184 | + Map<String, Object> map; | |
| 185 | + for (int i = 0, len = data.size(); i < len; i++) { | |
| 186 | + map = data.get(i); | |
| 187 | + Iterator<String> ite = columName.keySet().iterator(); | |
| 188 | + int j = 0; | |
| 189 | + String keyORvalue = ""; | |
| 190 | + String keyName = ""; | |
| 191 | + while (ite.hasNext()) { | |
| 192 | + keyName = ite.next(); | |
| 193 | + if (i > 0) { // 类容数据 | |
| 194 | + keyORvalue = map.get(keyName) == null ? "" : map.get(keyName).toString(); | |
| 195 | + } else { // 第一行列名 | |
| 196 | + keyORvalue = map.get(keyName) == null ? "" : map.get(keyName).toString(); | |
| 197 | + keyName = columName.get(keyName); | |
| 198 | + ws.addCell(new Label(j, 0, keyName, wcf)); | |
| 199 | + ws.setColumnView(6, 0); | |
| 200 | + ws.setColumnView(18, 0); | |
| 201 | + } | |
| 202 | + ws.addCell(new Label(j, 1 + i, keyORvalue)); | |
| 203 | + j++; | |
| 204 | + } | |
| 205 | + } | |
| 206 | + | |
| 149 | 207 | |
| 150 | 208 | wwb.write(); |
| 151 | 209 | wwb.close(); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientFacade.java
View file @
18135e7
| ... | ... | @@ -2202,6 +2202,7 @@ |
| 2202 | 2202 | HttpServletResponse response) { |
| 2203 | 2203 | response.setContentType("application/octet-stream"); |
| 2204 | 2204 | response.setHeader("Content-Disposition", "attachment;fileName=" + "datas.xls"); |
| 2205 | + Boolean isHideArea = false; | |
| 2205 | 2206 | try { |
| 2206 | 2207 | String hospital = autoMatchFacade.getHospitalId(userId); |
| 2207 | 2208 | BaseListResponse listResponse = null; |
| ... | ... | @@ -2256,6 +2257,7 @@ |
| 2256 | 2257 | data.put("vcCardNo", rp.getVcCardNo()); |
| 2257 | 2258 | } |
| 2258 | 2259 | data.put("cardNo", rp.getCardNo()); |
| 2260 | + data.put("phone", patientsQueryRequest.getIsEncry() == 0 ? rp.getRealPhone() : com.lyms.platform.common.utils.StringUtils.encryPhone(rp.getRealPhone())); | |
| 2259 | 2261 | data.put("dueWeek", rp.getDueWeek()); |
| 2260 | 2262 | data.put("bTime", rp.getbTime()); |
| 2261 | 2263 | data.put("cTimes", rp.getcTimes()); |
| ... | ... | @@ -2269,7 +2271,7 @@ |
| 2269 | 2271 | data.put("currentCh", rp.getCurrentCh()); |
| 2270 | 2272 | data.put("checkDoctor", rp.getCheckDoctor()); |
| 2271 | 2273 | data.put("lName", rp.getlName()); |
| 2272 | - data.put("phone", patientsQueryRequest.getIsEncry() == 0 ? rp.getRealPhone() : com.lyms.platform.common.utils.StringUtils.encryPhone(rp.getRealPhone())); | |
| 2274 | + | |
| 2273 | 2275 | //首次建档医院 |
| 2274 | 2276 | data.put("firstBH", rp.getFirstBH()); |
| 2275 | 2277 | data.put("serviceType", rp.getServiceType()); |
| ... | ... | @@ -2333,6 +2335,7 @@ |
| 2333 | 2335 | cnames.put("vcCardNo", "就诊卡号"); |
| 2334 | 2336 | } |
| 2335 | 2337 | cnames.put("cardNo", "身份证"); |
| 2338 | + cnames.put("phone", "联系方式"); | |
| 2336 | 2339 | cnames.put("dueWeek", "当前孕周"); |
| 2337 | 2340 | cnames.put("bTime", "建档日期"); |
| 2338 | 2341 | cnames.put("normal", "建档状态"); |
| 2339 | 2342 | |
| ... | ... | @@ -2346,11 +2349,12 @@ |
| 2346 | 2349 | cnames.put("currentCh", "当前产检医院"); |
| 2347 | 2350 | cnames.put("checkDoctor", "产检医生"); |
| 2348 | 2351 | cnames.put("lName", "登记人"); |
| 2349 | - cnames.put("phone", "联系方式"); | |
| 2352 | + | |
| 2350 | 2353 | cnames.put("firstBH", "首次建档医院"); |
| 2351 | 2354 | cnames.put("serviceType", "服务类型"); |
| 2352 | 2355 | cnames.put("serviceStatus", "服务状态"); |
| 2353 | 2356 | cnames.put("remark", "备注"); |
| 2357 | + isHideArea =true; | |
| 2354 | 2358 | }else { |
| 2355 | 2359 | //全部产妇 |
| 2356 | 2360 | cnames.put("name", "姓名"); |
| ... | ... | @@ -2372,8 +2376,16 @@ |
| 2372 | 2376 | cnames.put("cardNo", "身份证号码"); |
| 2373 | 2377 | cnames.put("remark", "备注"); |
| 2374 | 2378 | } |
| 2375 | - OutputStream out = response.getOutputStream(); | |
| 2376 | - ExcelUtil.toExcel(out, datas, cnames); | |
| 2379 | + | |
| 2380 | + if (isHideArea){ | |
| 2381 | + OutputStream out = response.getOutputStream(); | |
| 2382 | + ExcelUtil.toExcelhideLie(out, datas, cnames); | |
| 2383 | + }else{ | |
| 2384 | + OutputStream out = response.getOutputStream(); | |
| 2385 | + ExcelUtil.toExcel(out, datas, cnames); | |
| 2386 | + } | |
| 2387 | + | |
| 2388 | + | |
| 2377 | 2389 | } catch (Exception e) { |
| 2378 | 2390 | ExceptionUtils.catchException(e, e.getMessage()); |
| 2379 | 2391 | } |