Commit e36c7bb2662f2a9e7798a8c2265a09f5182fd8be
1 parent
ad648ea11e
Exists in
master
and in
6 other branches
婚检导出
Showing 2 changed files with 83 additions and 29 deletions
platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java
View file @
e36c7bb
| ... | ... | @@ -737,7 +737,7 @@ |
| 737 | 737 | * @param out |
| 738 | 738 | * @param data |
| 739 | 739 | */ |
| 740 | - public static void WritePremaritalExcel(OutputStream out,Map<String, Object> data){ | |
| 740 | + public static void WritePremaritalExcel(OutputStream out,Map<String, Object> data,List<List<String>> da){ | |
| 741 | 741 | WritableWorkbook wwb; |
| 742 | 742 | try{ |
| 743 | 743 | wwb = Workbook.createWorkbook(out); |
| 744 | 744 | |
| 745 | 745 | |
| 746 | 746 | |
| ... | ... | @@ -749,23 +749,23 @@ |
| 749 | 749 | WritableCellFormat wcf = new WritableCellFormat(wf); |
| 750 | 750 | wcf.setAlignment(jxl.format.Alignment.CENTRE);//水平居中 |
| 751 | 751 | wcf.setVerticalAlignment(VerticalAlignment.CENTRE);//垂直居中 |
| 752 | - ws.setRowView(0, 300); // 设置指定行高 | |
| 752 | + ws.setRowView(0, 500); // 设置指定行高 | |
| 753 | 753 | // 设置列宽 |
| 754 | 754 | for (int j = 0; j < 31; j++) |
| 755 | 755 | { |
| 756 | - ws.setColumnView(j, 7); | |
| 756 | + ws.setColumnView(j, 15); | |
| 757 | 757 | } |
| 758 | 758 | //创建Excel标题格式 |
| 759 | 759 | ws.mergeCells(0,0,30,0); |
| 760 | 760 | ws.addCell(new Label(0, 0, "婚前保健情况季报表", wcf)); |
| 761 | 761 | ws.mergeCells(0,1,30,1); |
| 762 | - ws.addCell(new Label(0, 1, "2018-2019", wcf)); | |
| 762 | + ws.addCell(new Label(0, 1, data.get("sDate")+" - "+data.get("eDate"), wcf)); | |
| 763 | 763 | ws.mergeCells(0, 2, 0, 5); |
| 764 | 764 | ws.addCell(new Label(0, 2, "填报单位", wcf)); |
| 765 | 765 | ws.mergeCells(1, 2, 2, 2); |
| 766 | 766 | ws.addCell(new Label(1, 2, "结婚登记人数", wcf)); |
| 767 | 767 | ws.mergeCells(1, 3, 1, 5); |
| 768 | - ws.addCell(new Label(1, 2, "男", wcf)); | |
| 768 | + ws.addCell(new Label(1, 3, "男", wcf)); | |
| 769 | 769 | ws.mergeCells(2, 3, 2, 5); |
| 770 | 770 | ws.addCell(new Label(2, 3, "女", wcf)); |
| 771 | 771 | ws.mergeCells(3, 2, 4, 2); |
| 772 | 772 | |
| 773 | 773 | |
| 774 | 774 | |
| ... | ... | @@ -855,30 +855,47 @@ |
| 855 | 855 | ws.mergeCells(30, 4, 30, 5); |
| 856 | 856 | ws.addCell(new Label(30,4,"女",wcf)); |
| 857 | 857 | |
| 858 | - /*int k = 0; | |
| 858 | + int k = 0; | |
| 859 | 859 | //填充数据 |
| 860 | - if(data != null && data.size() > 0) { | |
| 861 | - for (int i = 0; i < data.size(); i++) { | |
| 862 | - int l = i + 1; | |
| 863 | - ws.addCell(new Label(k, i + 2, String.valueOf(l))); | |
| 864 | - ws.addCell(new Label(k + 1, i + 2, data.get(i).get("name") == null ? "" : data.get(i).get("name").toString())); | |
| 865 | - ws.addCell(new Label(k + 2, i + 2, data.get(i).get("address") == null ? "" : data.get(i).get("address").toString())); | |
| 866 | - ws.addCell(new Label(k + 3, i + 2, data.get(i).get("phone") == null ? "" : data.get(i).get("phone").toString())); | |
| 867 | - ws.addCell(new Label(k + 4, i + 2, data.get(i).get("lastMenses") == null ? "" : data.get(i).get("lastMenses").toString())); | |
| 868 | - ws.addCell(new Label(k + 5, i + 2, data.get(i).get("yi") == null ? "" : data.get(i).get("yi").toString())); | |
| 869 | - ws.addCell(new Label(k + 6, i + 2, data.get(i).get("er") == null ? "" : data.get(i).get("er").toString())); | |
| 870 | - ws.addCell(new Label(k + 7, i + 2, data.get(i).get("san") == null ? "" : data.get(i).get("san").toString())); | |
| 871 | - ws.addCell(new Label(k + 8, i + 2, data.get(i).get("si") == null ? "" : data.get(i).get("si").toString())); | |
| 872 | - ws.addCell(new Label(k + 9, i + 2, data.get(i).get("wu") == null ? "" : data.get(i).get("wu").toString())); | |
| 873 | - ws.addCell(new Label(k + 10, i + 2, data.get(i).get("total") == null ? "" : data.get(i).get("total").toString())); | |
| 860 | + if(da != null && da.size() > 0) { | |
| 861 | + for (int i = 0; i < da.size(); i++) { | |
| 862 | + ws.addCell(new Label(k, i + 6, da.get(i).get(0))); | |
| 863 | + ws.addCell(new Label(k + 1, i + 6, "0")); | |
| 864 | + ws.addCell(new Label(k + 2, i + 6, "0")); | |
| 865 | + ws.addCell(new Label(k + 3, i + 6, da.get(i).get(1))); | |
| 866 | + ws.addCell(new Label(k + 4, i + 6, da.get(i).get(2))); | |
| 867 | + ws.addCell(new Label(k + 5, i + 6, da.get(i).get(3))); | |
| 868 | + ws.addCell(new Label(k + 6, i + 6, da.get(i).get(4))); | |
| 869 | + ws.addCell(new Label(k + 7, i + 6, "0")); | |
| 870 | + ws.addCell(new Label(k + 8, i + 6, "0")); | |
| 871 | + ws.addCell(new Label(k + 9, i + 6, "0")); | |
| 872 | + ws.addCell(new Label(k + 10, i + 6,"0")); | |
| 874 | 873 | |
| 875 | - ws.addCell(new Label(k + 11, i + 2, data.get(i).get("cyxj") == null ? "" : data.get(i).get("cyxj").toString())); | |
| 876 | - ws.addCell(new Label(k + 12, i + 2, data.get(i).get("chfs") == null ? "" : data.get(i).get("chfs").toString())); | |
| 877 | - ws.addCell(new Label(k + 13, i + 2, data.get(i).get("chfc") == null ? "" : data.get(i).get("chfc").toString())); | |
| 878 | - ws.addCell(new Label(k + 14, i + 2, data.get(i).get("remarks") == null ? "" : data.get(i).get("remarks").toString())); | |
| 874 | + ws.addCell(new Label(k + 11, i + 6, "0")); | |
| 875 | + ws.addCell(new Label(k + 12, i + 6, "0")); | |
| 876 | + ws.addCell(new Label(k + 13, i + 6, "0")); | |
| 877 | + ws.addCell(new Label(k + 14, i + 6, "0")); | |
| 878 | + ws.addCell(new Label(k + 15, i + 6, "0")); | |
| 879 | + ws.addCell(new Label(k + 16, i + 6, "0")); | |
| 880 | + ws.addCell(new Label(k + 17, i + 6, "0")); | |
| 881 | + ws.addCell(new Label(k + 18, i + 6, "0")); | |
| 882 | + ws.addCell(new Label(k + 19, i + 6, "0")); | |
| 883 | + ws.addCell(new Label(k + 20, i + 6, "0")); | |
| 884 | + ws.addCell(new Label(k + 21, i + 6, "0")); | |
| 885 | + ws.addCell(new Label(k + 22, i + 6, "0")); | |
| 886 | + ws.addCell(new Label(k + 23, i + 6, "0")); | |
| 887 | + ws.addCell(new Label(k + 24, i + 6, "0")); | |
| 888 | + ws.addCell(new Label(k + 25, i + 6, "0")); | |
| 889 | + ws.addCell(new Label(k + 26, i + 6, "0")); | |
| 890 | + ws.addCell(new Label(k + 27, i + 6, "0")); | |
| 891 | + ws.addCell(new Label(k + 28, i + 6, "0")); | |
| 892 | + ws.addCell(new Label(k + 29, i + 6, "0")); | |
| 893 | + ws.addCell(new Label(k + 30, i + 6, "0")); | |
| 879 | 894 | |
| 880 | 895 | } |
| 881 | - }*/ | |
| 896 | + ws.mergeCells(0,da.size()+7,30,da.size()+7); | |
| 897 | + ws.addCell(new Label(0,da.size()+7,"实际报出日期:"+DateUtil.getymd()+" 单位负责人签名: 填表人签名:")); | |
| 898 | + } | |
| 882 | 899 | |
| 883 | 900 | wwb.write(); |
| 884 | 901 | wwb.close(); |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java
View file @
e36c7bb
| ... | ... | @@ -2192,6 +2192,11 @@ |
| 2192 | 2192 | |
| 2193 | 2193 | //婚检导出 |
| 2194 | 2194 | public void queryPremaritalExcel(String provinceId,String cityId,String areaId,String streetId,String time,Integer userId,HttpServletResponse response){ |
| 2195 | + int num = 1; | |
| 2196 | + int hjMan = 0; | |
| 2197 | + int hjWoman = 0; | |
| 2198 | + int healthMan = 0; | |
| 2199 | + int healthWoman = 0; | |
| 2195 | 2200 | //获取用户权限医院和筛选条件的交集 |
| 2196 | 2201 | List<String> currentUserHospPermissions = areaCountFacade.getCurrentUserHospPermissions2(userId, provinceId, |
| 2197 | 2202 | cityId, areaId); |
| ... | ... | @@ -2248,7 +2253,8 @@ |
| 2248 | 2253 | hunqianHealthMan++; |
| 2249 | 2254 | } |
| 2250 | 2255 | } |
| 2251 | - | |
| 2256 | + hjMan+=dataNan.size(); | |
| 2257 | + healthMan+=hunqianHealthMan; | |
| 2252 | 2258 | } else { |
| 2253 | 2259 | man = 1; |
| 2254 | 2260 | } |
| ... | ... | @@ -2261,6 +2267,8 @@ |
| 2261 | 2267 | hunqianHealthWoman++; |
| 2262 | 2268 | } |
| 2263 | 2269 | } |
| 2270 | + hjWoman+=dataNv.size(); | |
| 2271 | + healthWoman+=hunqianHealthWoman; | |
| 2264 | 2272 | } else { |
| 2265 | 2273 | woman = 1; |
| 2266 | 2274 | } |
| 2267 | 2275 | |
| ... | ... | @@ -2302,7 +2310,17 @@ |
| 2302 | 2310 | item.add(String.valueOf(hunqianHealthWoman)); |
| 2303 | 2311 | } |
| 2304 | 2312 | } |
| 2313 | + num++; | |
| 2305 | 2314 | result.add(item); |
| 2315 | + if(num > currentUserHospPermissions.size()){ | |
| 2316 | + List<String> items = new ArrayList<String>(); | |
| 2317 | + items.add("合计"); | |
| 2318 | + items.add(String.valueOf(hjMan)); | |
| 2319 | + items.add(String.valueOf(hjWoman)); | |
| 2320 | + items.add(String.valueOf(healthMan)); | |
| 2321 | + items.add(String.valueOf(healthWoman)); | |
| 2322 | + result.add(items); | |
| 2323 | + } | |
| 2306 | 2324 | } |
| 2307 | 2325 | hjMap.put("data",hjList); |
| 2308 | 2326 | hqwsMap.put("data", hqwsList); |
| ... | ... | @@ -2412,7 +2430,8 @@ |
| 2412 | 2430 | hunqianHealthMan++; |
| 2413 | 2431 | } |
| 2414 | 2432 | } |
| 2415 | - | |
| 2433 | + hjMan+=dataNan.size(); | |
| 2434 | + healthMan+=hunqianHealthMan; | |
| 2416 | 2435 | } else { |
| 2417 | 2436 | man = 1; |
| 2418 | 2437 | } |
| ... | ... | @@ -2425,6 +2444,8 @@ |
| 2425 | 2444 | hunqianHealthWoman++; |
| 2426 | 2445 | } |
| 2427 | 2446 | } |
| 2447 | + hjWoman+=dataNv.size(); | |
| 2448 | + healthWoman+=hunqianHealthWoman; | |
| 2428 | 2449 | } else { |
| 2429 | 2450 | woman = 1; |
| 2430 | 2451 | } |
| 2431 | 2452 | |
| ... | ... | @@ -2466,7 +2487,17 @@ |
| 2466 | 2487 | } |
| 2467 | 2488 | } |
| 2468 | 2489 | } |
| 2490 | + num++; | |
| 2469 | 2491 | result.add(item); |
| 2492 | + if(num > configList.size()){ | |
| 2493 | + List<String> items = new ArrayList<String>(); | |
| 2494 | + items.add("合计"); | |
| 2495 | + items.add(String.valueOf(hjMan)); | |
| 2496 | + items.add(String.valueOf(hjWoman)); | |
| 2497 | + items.add(String.valueOf(healthMan)); | |
| 2498 | + items.add(String.valueOf(healthWoman)); | |
| 2499 | + result.add(items); | |
| 2500 | + } | |
| 2470 | 2501 | } |
| 2471 | 2502 | hjMap.put("data",hjList); |
| 2472 | 2503 | hqwsMap.put("data", hqwsList); |
| ... | ... | @@ -2476,6 +2507,12 @@ |
| 2476 | 2507 | } |
| 2477 | 2508 | |
| 2478 | 2509 | Map<String, Object> datas = new HashMap<>(); |
| 2510 | + if (dates != null) { | |
| 2511 | + datas.put("sDate", dates[0]); | |
| 2512 | + if (dates.length == 2) { | |
| 2513 | + datas.put("eDate",dates[1]); | |
| 2514 | + } | |
| 2515 | + } | |
| 2479 | 2516 | datas.put("legend",titleItems); |
| 2480 | 2517 | datas.put("series", series); |
| 2481 | 2518 | datas.put("tableDatas",result); |
| ... | ... | @@ -2487,7 +2524,7 @@ |
| 2487 | 2524 | }catch (Exception e){ |
| 2488 | 2525 | e.printStackTrace(); |
| 2489 | 2526 | } |
| 2490 | - ExcelUtil.WritePremaritalExcel(out,datas); | |
| 2527 | + ExcelUtil.WritePremaritalExcel(out,datas,result); | |
| 2491 | 2528 | |
| 2492 | 2529 | } |
| 2493 | 2530 |