Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java =================================================================== diff -u -r32706 -r32793 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 32706) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 32793) @@ -1147,5 +1147,11 @@ * @return */ public List queryForeignTousseSizeReportData(String startDate, String endDate, String supplier, JSONArray foreignTousseSizeSettingArr, Map parametMap); + /** + * 根据报表名称获取报表数据 + * @param reportName 报表名 + * @return + */ + public JSONObject getReportDataByReportName(String reportName); } Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java =================================================================== diff -u -r32759 -r32793 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 32759) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 32793) @@ -4673,116 +4673,14 @@ JSONObject resultObject = new JSONObject(); try { String reportName = StrutsParamUtils.getPraramValue("reportName", ""); - resultObject = getReportDataByReportName(reportName); + resultObject = jasperReportManager.getReportDataByReportName(reportName); resultObject.put("success", true); } catch (Exception e) { e.printStackTrace(); resultObject.put("success", false); + resultObject.put("message", e.getMessage()); }finally{ StrutsResponseUtils.output(resultObject); } } - /** - * 根据报表名称获取报表数据 - * @param reportName 报表名 - * @return - */ - private JSONObject getReportDataByReportName(String reportName){ - if("materialTypeWorkloadReport".equals(reportName)){ - JSONObject obj = new JSONObject(); - try { - String month = StrutsParamUtils.getPraramValue("month", ""); - String year = StrutsParamUtils.getPraramValue("year", ""); - String querySupplyRoom = StrutsParamUtils.getPraramValue("querySupplyRoom", ""); - List list = null; - if(StringUtils.isNotBlank(year)){ - list = jasperReportManager.findMaterialTypeWorkloadReportListByYear(year, querySupplyRoom); - }else if(StringUtils.isNotBlank(month)){ - list = jasperReportManager.findMaterialTypeWorkloadReportList(month,querySupplyRoom); - }else{ - obj.put("success", false); - return null; - } - Map sumMap = new HashMap(); - MaterialTypeWorkloadReport totalSumVo = new MaterialTypeWorkloadReport(); - Map materialTypeMap = new HashMap(); - for (MaterialTypeWorkloadReport item : list) { - String dayOfMonth = item.getDayOfMonth(); - MaterialTypeWorkloadReport sumVo = null; - MaterialTypeWorkloadReport materialTypeVo = null; - if(materialTypeMap.containsKey(item.getMaterialType())){ - materialTypeVo = materialTypeMap.get(item.getMaterialType()); - materialTypeVo.setAmount(MathTools.add(item.getAmount(), materialTypeVo.getAmount()).intValue()); - materialTypeVo.setWashUnqualifiedAmount(MathTools.add(item.getWashUnqualifiedAmount(), materialTypeVo.getWashUnqualifiedAmount()).intValue()); - materialTypeVo.setWashUnqualifiedPercentage(MathTools.add(item.getWashUnqualifiedPercentage(), materialTypeVo.getWashUnqualifiedPercentage()).doubleValue()); - }else{ - materialTypeVo = new MaterialTypeWorkloadReport(); - materialTypeVo.setAmount(item.getAmount()); - materialTypeVo.setWashUnqualifiedAmount(item.getWashUnqualifiedAmount()); - materialTypeVo.setWashUnqualifiedPercentage(item.getWashUnqualifiedPercentage()); - materialTypeMap.put(item.getMaterialType(), materialTypeVo); - } - if(sumMap.containsKey(dayOfMonth)){ - sumVo = sumMap.get(dayOfMonth); - sumVo.setAmount(MathTools.add(item.getAmount(), sumVo.getAmount()).intValue()); - sumVo.setWashUnqualifiedAmount(MathTools.add(item.getWashUnqualifiedAmount(), sumVo.getWashUnqualifiedAmount()).intValue()); - sumVo.setWashUnqualifiedPercentage(MathTools.add(item.getWashUnqualifiedPercentage(), sumVo.getWashUnqualifiedPercentage()).doubleValue()); - }else{ - sumVo = new MaterialTypeWorkloadReport(); - sumVo.setAmount(item.getAmount()); - sumVo.setWashUnqualifiedAmount(item.getWashUnqualifiedAmount()); - sumVo.setWashUnqualifiedPercentage(item.getWashUnqualifiedPercentage()); - sumMap.put(dayOfMonth, sumVo); - } - totalSumVo.setAmount(MathTools.add(item.getAmount(), totalSumVo.getAmount()).intValue()); - totalSumVo.setWashUnqualifiedAmount(MathTools.add(item.getWashUnqualifiedAmount(), totalSumVo.getWashUnqualifiedAmount()).intValue()); - totalSumVo.setWashUnqualifiedPercentage(MathTools.add(item.getWashUnqualifiedPercentage(), totalSumVo.getWashUnqualifiedPercentage()).doubleValue()); - } - JSONObject data = new JSONObject(); - sumMap.put("合计", totalSumVo); - data.put("dataList", list); - data.put("sumData", JSONObject.fromObject(sumMap).toString()); - data.put("materialTypeMap", JSONObject.fromObject(materialTypeMap).toString()); - obj.put("data", data); - obj.put("success", true); - } catch (Exception e) { - obj.put("success", false); - e.printStackTrace(); - } - return obj; - }else if("QualityMonitoringInspectMonthReport".equals(reportName)){ - JSONObject obj = new JSONObject(); - try { - // 查询科室编码 - String querySupplyRoom = StrutsParamUtils.getPraramValue("querySupplyRoom", ""); - if(StringUtils.isNotBlank(querySupplyRoom) && querySupplyRoom.contains("全部")){ - querySupplyRoom = null; - } - // 质量监测项统计月报 - String queryYear = StrutsParamUtils.getPraramValue("queryYear", ""); - String queryMonth = StrutsParamUtils.getPraramValue("queryMonth", ""); - String monitoringType = StrutsParamUtils.getPraramValue("monitoringType", ""); - // 责任环节 - String responsibilityType = StrutsParamUtils.getPraramValue("responsibilityType", ""); - // 监测项 - String inspectItem = StrutsParamUtils.getPraramValue("inspectItem", ""); - // 图形显示类型 - String type = StrutsParamUtils.getPraramValue("type", null); - String inspectDetail = StrutsParamUtils.getPraramValue("inspectDetail", ""); - List list = null; - if(StringUtils.isNotBlank(queryYear) && StringUtils.isNotBlank(queryMonth) ){ - list = jasperReportManager.getQualityMonitoringInspectDayOfMonthParamet(queryYear,querySupplyRoom,queryMonth,monitoringType,inspectItem,inspectDetail,type,responsibilityType); - }else if(StringUtils.isNotBlank(queryYear) ){ - list = jasperReportManager.getQualityMonitoringInspectMonthParamet(queryYear,querySupplyRoom,monitoringType,inspectItem,inspectDetail,type,responsibilityType); - } - obj.put("data", list); - obj.put("success", true); - } catch (Exception e) { - obj.put("success", false); - e.printStackTrace(); - } - return obj; - } - return new JSONObject(); - } } Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r32783 -r32793 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 32783) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 32793) @@ -23698,4 +23698,90 @@ sql += ") tempt left join "+ ForeignTousseSpecification.class.getSimpleName() +" fts on fts.name=tempt.specification where tempt.amount>0 order by tempt.supplierName,tempt.name,tempt.foreignTousseChargeModeName,fts.id"; return sql; } + @Override + public JSONObject getReportDataByReportName(String reportName) { + if("materialTypeWorkloadReport".equals(reportName)){ + JSONObject obj = new JSONObject(); + String month = StrutsParamUtils.getPraramValue("month", ""); + String year = StrutsParamUtils.getPraramValue("year", ""); + String querySupplyRoom = StrutsParamUtils.getPraramValue("querySupplyRoom", ""); + List list = null; + if(StringUtils.isNotBlank(year)){ + list = findMaterialTypeWorkloadReportListByYear(year, querySupplyRoom); + }else if(StringUtils.isNotBlank(month)){ + list = findMaterialTypeWorkloadReportList(month,querySupplyRoom); + }else{ + throw new RuntimeException("参数异常,查询时间不能为空"); + } + Map sumMap = new HashMap(); + MaterialTypeWorkloadReport totalSumVo = new MaterialTypeWorkloadReport(); + Map materialTypeMap = new HashMap(); + for (MaterialTypeWorkloadReport item : list) { + String dayOfMonth = item.getDayOfMonth(); + MaterialTypeWorkloadReport sumVo = null; + MaterialTypeWorkloadReport materialTypeVo = null; + if(materialTypeMap.containsKey(item.getMaterialType())){ + materialTypeVo = materialTypeMap.get(item.getMaterialType()); + materialTypeVo.setAmount(MathTools.add(item.getAmount(), materialTypeVo.getAmount()).intValue()); + materialTypeVo.setWashUnqualifiedAmount(MathTools.add(item.getWashUnqualifiedAmount(), materialTypeVo.getWashUnqualifiedAmount()).intValue()); + materialTypeVo.setWashUnqualifiedPercentage(MathTools.add(item.getWashUnqualifiedPercentage(), materialTypeVo.getWashUnqualifiedPercentage()).doubleValue()); + }else{ + materialTypeVo = new MaterialTypeWorkloadReport(); + materialTypeVo.setAmount(item.getAmount()); + materialTypeVo.setWashUnqualifiedAmount(item.getWashUnqualifiedAmount()); + materialTypeVo.setWashUnqualifiedPercentage(item.getWashUnqualifiedPercentage()); + materialTypeMap.put(item.getMaterialType(), materialTypeVo); + } + if(sumMap.containsKey(dayOfMonth)){ + sumVo = sumMap.get(dayOfMonth); + sumVo.setAmount(MathTools.add(item.getAmount(), sumVo.getAmount()).intValue()); + sumVo.setWashUnqualifiedAmount(MathTools.add(item.getWashUnqualifiedAmount(), sumVo.getWashUnqualifiedAmount()).intValue()); + sumVo.setWashUnqualifiedPercentage(MathTools.add(item.getWashUnqualifiedPercentage(), sumVo.getWashUnqualifiedPercentage()).doubleValue()); + }else{ + sumVo = new MaterialTypeWorkloadReport(); + sumVo.setAmount(item.getAmount()); + sumVo.setWashUnqualifiedAmount(item.getWashUnqualifiedAmount()); + sumVo.setWashUnqualifiedPercentage(item.getWashUnqualifiedPercentage()); + sumMap.put(dayOfMonth, sumVo); + } + totalSumVo.setAmount(MathTools.add(item.getAmount(), totalSumVo.getAmount()).intValue()); + totalSumVo.setWashUnqualifiedAmount(MathTools.add(item.getWashUnqualifiedAmount(), totalSumVo.getWashUnqualifiedAmount()).intValue()); + totalSumVo.setWashUnqualifiedPercentage(MathTools.add(item.getWashUnqualifiedPercentage(), totalSumVo.getWashUnqualifiedPercentage()).doubleValue()); + } + JSONObject data = new JSONObject(); + sumMap.put("合计", totalSumVo); + data.put("dataList", list); + data.put("sumData", JSONObject.fromObject(sumMap).toString()); + data.put("materialTypeMap", JSONObject.fromObject(materialTypeMap).toString()); + obj.put("data", data); + return obj; + }else if("QualityMonitoringInspectMonthReport".equals(reportName)){ + JSONObject obj = new JSONObject(); + // 查询科室编码 + String querySupplyRoom = StrutsParamUtils.getPraramValue("querySupplyRoom", ""); + if(StringUtils.isNotBlank(querySupplyRoom) && querySupplyRoom.contains("全部")){ + querySupplyRoom = null; + } + // 质量监测项统计月报 + String queryYear = StrutsParamUtils.getPraramValue("queryYear", ""); + String queryMonth = StrutsParamUtils.getPraramValue("queryMonth", ""); + String monitoringType = StrutsParamUtils.getPraramValue("monitoringType", ""); + // 责任环节 + String responsibilityType = StrutsParamUtils.getPraramValue("responsibilityType", ""); + // 监测项 + String inspectItem = StrutsParamUtils.getPraramValue("inspectItem", ""); + // 图形显示类型 + String type = StrutsParamUtils.getPraramValue("type", null); + String inspectDetail = StrutsParamUtils.getPraramValue("inspectDetail", ""); + List list = null; + if(StringUtils.isNotBlank(queryYear) && StringUtils.isNotBlank(queryMonth) ){ + list = getQualityMonitoringInspectDayOfMonthParamet(queryYear,querySupplyRoom,queryMonth,monitoringType,inspectItem,inspectDetail,type,responsibilityType); + }else if(StringUtils.isNotBlank(queryYear) ){ + list = getQualityMonitoringInspectMonthParamet(queryYear,querySupplyRoom,monitoringType,inspectItem,inspectDetail,type,responsibilityType); + } + obj.put("data", list); + return obj; + } + return new JSONObject(); + } }