From e36c7bb2662f2a9e7798a8c2265a09f5182fd8be Mon Sep 17 00:00:00 2001 From: gengxiaokai Date: Fri, 23 Nov 2018 10:19:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A9=9A=E6=A3=80=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/common/utils/ExcelUtil.java | 69 ++++++++++++++-------- .../web/facade/PremaritalCheckupFacade.java | 43 +++++++++++++- 2 files changed, 83 insertions(+), 29 deletions(-) diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java index 92a0b35..8254ad4 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java @@ -737,7 +737,7 @@ public class ExcelUtil * @param out * @param data */ - public static void WritePremaritalExcel(OutputStream out,Map data){ + public static void WritePremaritalExcel(OutputStream out,Map data,List> da){ WritableWorkbook wwb; try{ wwb = Workbook.createWorkbook(out); @@ -749,23 +749,23 @@ public class ExcelUtil WritableCellFormat wcf = new WritableCellFormat(wf); wcf.setAlignment(jxl.format.Alignment.CENTRE);//水平居中 wcf.setVerticalAlignment(VerticalAlignment.CENTRE);//垂直居中 - ws.setRowView(0, 300); // 设置指定行高 + ws.setRowView(0, 500); // 设置指定行高 // 设置列宽 for (int j = 0; j < 31; j++) { - ws.setColumnView(j, 7); + ws.setColumnView(j, 15); } //创建Excel标题格式 ws.mergeCells(0,0,30,0); ws.addCell(new Label(0, 0, "婚前保健情况季报表", wcf)); ws.mergeCells(0,1,30,1); - ws.addCell(new Label(0, 1, "2018-2019", wcf)); + ws.addCell(new Label(0, 1, data.get("sDate")+" - "+data.get("eDate"), wcf)); ws.mergeCells(0, 2, 0, 5); ws.addCell(new Label(0, 2, "填报单位", wcf)); ws.mergeCells(1, 2, 2, 2); ws.addCell(new Label(1, 2, "结婚登记人数", wcf)); ws.mergeCells(1, 3, 1, 5); - ws.addCell(new Label(1, 2, "男", wcf)); + ws.addCell(new Label(1, 3, "男", wcf)); ws.mergeCells(2, 3, 2, 5); ws.addCell(new Label(2, 3, "女", wcf)); ws.mergeCells(3, 2, 4, 2); @@ -855,30 +855,47 @@ public class ExcelUtil ws.mergeCells(30, 4, 30, 5); ws.addCell(new Label(30,4,"女",wcf)); - /*int k = 0; + int k = 0; //填充数据 - if(data != null && data.size() > 0) { - for (int i = 0; i < data.size(); i++) { - int l = i + 1; - ws.addCell(new Label(k, i + 2, String.valueOf(l))); - ws.addCell(new Label(k + 1, i + 2, data.get(i).get("name") == null ? "" : data.get(i).get("name").toString())); - ws.addCell(new Label(k + 2, i + 2, data.get(i).get("address") == null ? "" : data.get(i).get("address").toString())); - ws.addCell(new Label(k + 3, i + 2, data.get(i).get("phone") == null ? "" : data.get(i).get("phone").toString())); - ws.addCell(new Label(k + 4, i + 2, data.get(i).get("lastMenses") == null ? "" : data.get(i).get("lastMenses").toString())); - ws.addCell(new Label(k + 5, i + 2, data.get(i).get("yi") == null ? "" : data.get(i).get("yi").toString())); - ws.addCell(new Label(k + 6, i + 2, data.get(i).get("er") == null ? "" : data.get(i).get("er").toString())); - ws.addCell(new Label(k + 7, i + 2, data.get(i).get("san") == null ? "" : data.get(i).get("san").toString())); - ws.addCell(new Label(k + 8, i + 2, data.get(i).get("si") == null ? "" : data.get(i).get("si").toString())); - ws.addCell(new Label(k + 9, i + 2, data.get(i).get("wu") == null ? "" : data.get(i).get("wu").toString())); - ws.addCell(new Label(k + 10, i + 2, data.get(i).get("total") == null ? "" : data.get(i).get("total").toString())); - - ws.addCell(new Label(k + 11, i + 2, data.get(i).get("cyxj") == null ? "" : data.get(i).get("cyxj").toString())); - ws.addCell(new Label(k + 12, i + 2, data.get(i).get("chfs") == null ? "" : data.get(i).get("chfs").toString())); - ws.addCell(new Label(k + 13, i + 2, data.get(i).get("chfc") == null ? "" : data.get(i).get("chfc").toString())); - ws.addCell(new Label(k + 14, i + 2, data.get(i).get("remarks") == null ? "" : data.get(i).get("remarks").toString())); + if(da != null && da.size() > 0) { + for (int i = 0; i < da.size(); i++) { + ws.addCell(new Label(k, i + 6, da.get(i).get(0))); + ws.addCell(new Label(k + 1, i + 6, "0")); + ws.addCell(new Label(k + 2, i + 6, "0")); + ws.addCell(new Label(k + 3, i + 6, da.get(i).get(1))); + ws.addCell(new Label(k + 4, i + 6, da.get(i).get(2))); + ws.addCell(new Label(k + 5, i + 6, da.get(i).get(3))); + ws.addCell(new Label(k + 6, i + 6, da.get(i).get(4))); + ws.addCell(new Label(k + 7, i + 6, "0")); + ws.addCell(new Label(k + 8, i + 6, "0")); + ws.addCell(new Label(k + 9, i + 6, "0")); + ws.addCell(new Label(k + 10, i + 6,"0")); + + ws.addCell(new Label(k + 11, i + 6, "0")); + ws.addCell(new Label(k + 12, i + 6, "0")); + ws.addCell(new Label(k + 13, i + 6, "0")); + ws.addCell(new Label(k + 14, i + 6, "0")); + ws.addCell(new Label(k + 15, i + 6, "0")); + ws.addCell(new Label(k + 16, i + 6, "0")); + ws.addCell(new Label(k + 17, i + 6, "0")); + ws.addCell(new Label(k + 18, i + 6, "0")); + ws.addCell(new Label(k + 19, i + 6, "0")); + ws.addCell(new Label(k + 20, i + 6, "0")); + ws.addCell(new Label(k + 21, i + 6, "0")); + ws.addCell(new Label(k + 22, i + 6, "0")); + ws.addCell(new Label(k + 23, i + 6, "0")); + ws.addCell(new Label(k + 24, i + 6, "0")); + ws.addCell(new Label(k + 25, i + 6, "0")); + ws.addCell(new Label(k + 26, i + 6, "0")); + ws.addCell(new Label(k + 27, i + 6, "0")); + ws.addCell(new Label(k + 28, i + 6, "0")); + ws.addCell(new Label(k + 29, i + 6, "0")); + ws.addCell(new Label(k + 30, i + 6, "0")); } - }*/ + ws.mergeCells(0,da.size()+7,30,da.size()+7); + ws.addCell(new Label(0,da.size()+7,"实际报出日期:"+DateUtil.getymd()+" 单位负责人签名: 填表人签名:")); + } wwb.write(); wwb.close(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java index fec8aec..fc5363b 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PremaritalCheckupFacade.java @@ -2192,6 +2192,11 @@ public class PremaritalCheckupFacade { //婚检导出 public void queryPremaritalExcel(String provinceId,String cityId,String areaId,String streetId,String time,Integer userId,HttpServletResponse response){ + int num = 1; + int hjMan = 0; + int hjWoman = 0; + int healthMan = 0; + int healthWoman = 0; //获取用户权限医院和筛选条件的交集 List currentUserHospPermissions = areaCountFacade.getCurrentUserHospPermissions2(userId, provinceId, cityId, areaId); @@ -2248,7 +2253,8 @@ public class PremaritalCheckupFacade { hunqianHealthMan++; } } - + hjMan+=dataNan.size(); + healthMan+=hunqianHealthMan; } else { man = 1; } @@ -2261,6 +2267,8 @@ public class PremaritalCheckupFacade { hunqianHealthWoman++; } } + hjWoman+=dataNv.size(); + healthWoman+=hunqianHealthWoman; } else { woman = 1; } @@ -2302,7 +2310,17 @@ public class PremaritalCheckupFacade { item.add(String.valueOf(hunqianHealthWoman)); } } + num++; result.add(item); + if(num > currentUserHospPermissions.size()){ + List items = new ArrayList(); + items.add("合计"); + items.add(String.valueOf(hjMan)); + items.add(String.valueOf(hjWoman)); + items.add(String.valueOf(healthMan)); + items.add(String.valueOf(healthWoman)); + result.add(items); + } } hjMap.put("data",hjList); hqwsMap.put("data", hqwsList); @@ -2412,7 +2430,8 @@ public class PremaritalCheckupFacade { hunqianHealthMan++; } } - + hjMan+=dataNan.size(); + healthMan+=hunqianHealthMan; } else { man = 1; } @@ -2425,6 +2444,8 @@ public class PremaritalCheckupFacade { hunqianHealthWoman++; } } + hjWoman+=dataNv.size(); + healthWoman+=hunqianHealthWoman; } else { woman = 1; } @@ -2466,7 +2487,17 @@ public class PremaritalCheckupFacade { } } } + num++; result.add(item); + if(num > configList.size()){ + List items = new ArrayList(); + items.add("合计"); + items.add(String.valueOf(hjMan)); + items.add(String.valueOf(hjWoman)); + items.add(String.valueOf(healthMan)); + items.add(String.valueOf(healthWoman)); + result.add(items); + } } hjMap.put("data",hjList); hqwsMap.put("data", hqwsList); @@ -2476,6 +2507,12 @@ public class PremaritalCheckupFacade { } Map datas = new HashMap<>(); + if (dates != null) { + datas.put("sDate", dates[0]); + if (dates.length == 2) { + datas.put("eDate",dates[1]); + } + } datas.put("legend",titleItems); datas.put("series", series); datas.put("tableDatas",result); @@ -2487,7 +2524,7 @@ public class PremaritalCheckupFacade { }catch (Exception e){ e.printStackTrace(); } - ExcelUtil.WritePremaritalExcel(out,datas); + ExcelUtil.WritePremaritalExcel(out,datas,result); } -- 1.8.3.1