Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java =================================================================== diff -u -r35874 -r35878 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 35874) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 35878) @@ -51,6 +51,7 @@ import com.forgon.disinfectsystem.jasperreports.javabeansource.InvoiceAmountContrastBean; import com.forgon.disinfectsystem.jasperreports.javabeansource.InvoiceQuery; import com.forgon.disinfectsystem.jasperreports.javabeansource.InvoiceQueryItem; +import com.forgon.disinfectsystem.jasperreports.javabeansource.MaterialDamageTotal_child; import com.forgon.disinfectsystem.jasperreports.javabeansource.MaterialErrorDamageSummaryOfDepartmentVO; import com.forgon.disinfectsystem.jasperreports.javabeansource.MaterialErrorDamageVO; import com.forgon.disinfectsystem.jasperreports.javabeansource.MaterialTypeWorkloadReport; @@ -1249,5 +1250,14 @@ * @return */ public List getQuotaDataSource(String queryYear,String departCoding, Map parametMap); + /** + * 器械报损汇总统计报表 + * @param startDay + * @param endDay + * @param departCoding + * @param goodsName + * @return + */ + public List getMaterialDamageTotalViewDataSource(String startDay, String endDay, String departCoding, String goodsName); } Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java =================================================================== diff -u -r35844 -r35878 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 35844) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 35878) @@ -1750,7 +1750,12 @@ } else if ("materialDamageItemView".equals(reportName)) {//器械报损明细统计报表 return getMaterialDamageItemViewDataSource(); } else if ("materialDamageTotalView".equals(reportName)) {//器械报损汇总统计报表 - return getMaterialDamageTotalViewDataSource(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String startDay = StrutsParamUtils.getPraramValue("startDay",sdf.format(new Date())); + String endDay = StrutsParamUtils.getPraramValue("endDay",sdf.format(new Date())); + String departCoding = StrutsParamUtils.getPraramValue("departCoding",""); + String goodsName = StrutsParamUtils.getPraramValue("goodsName",""); + return jasperReportManager.getMaterialDamageTotalViewDataSource(startDay, endDay, departCoding, goodsName); }else if("damageErrorMonthView".equals(reportName)){ // 丢失报损月报 String queryYear = StrutsParamUtils.getPraramValue("queryYear", ""); String damageErrorType = StrutsParamUtils.getPraramValue("damageErrorType", ""); @@ -2475,40 +2480,7 @@ requestParameters.put("jasperreportName","noDataReport.jasper"); } } - private List getMaterialDamageTotalViewDataSource() { - List damageBeans = new ArrayList(); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - String startDay = StrutsParamUtils.getPraramValue("startDay",sdf.format(new Date())); - String endDay = StrutsParamUtils.getPraramValue("endDay",sdf.format(new Date())); - String departCoding = StrutsParamUtils.getPraramValue("departCoding",""); - String goodsName = StrutsParamUtils.getPraramValue("goodsName",""); - String sql = "select i.materialName,sum(i.amount),sum(i.materialCost*i.amount) from MaterialErrorDamageDetail i where " - + " i.type = '"+MaterialErrorDamageDetail.TYPE_DAMAGE+"' and i.operationTime between " + dateQueryAdapter.dateAdapter(startDay + " 00:00:00") + " and " - + dateQueryAdapter.dateAdapter(endDay + " 23:59:59"); - if(StringUtils.isNotBlank(departCoding)){ - sql += " and i.departCode = '"+departCoding+"' "; - } - if(StringUtils.isNotBlank(goodsName)){ - sql += " and i.materialName = '"+goodsName+"'"; - } - sql += " group by i.materialName order by i.materialName"; - @SuppressWarnings("unchecked") - ResultSet rs = objectDao.executeSql(sql); - try { - while(rs.next()){ - MaterialDamageTotal_child child = new MaterialDamageTotal_child(); - child.setAmount(rs.getInt(2)); - child.setMaterialName(rs.getString(1)); - child.setTotalPrice(rs.getDouble(3)); - damageBeans.add(child); - } - } catch (SQLException e) { - e.printStackTrace(); - }finally { - DatabaseUtil.closeResultSetAndStatement(rs); - } - return damageBeans; - } + /** * 核算月报从数据源中计算积分 * @param dataSource 数据源 Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r35877 -r35878 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 35877) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 35878) @@ -7340,4 +7340,8 @@ String departCoding, Map parametMap) { return eighteenQuotaBeanHelper.getQuotaDataSource(queryYear, departCoding, parametMap); } + @Override + public List getMaterialDamageTotalViewDataSource(String startDay, String endDay, String departCoding, String goodsName) { + return materialErrorDamageReportHelper.getMaterialDamageTotalViewDataSource(startDay, endDay, departCoding, goodsName); + } } Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/MaterialErrorDamageReportHelper.java =================================================================== diff -u -r35877 -r35878 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/MaterialErrorDamageReportHelper.java (.../MaterialErrorDamageReportHelper.java) (revision 35877) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/MaterialErrorDamageReportHelper.java (.../MaterialErrorDamageReportHelper.java) (revision 35878) @@ -16,6 +16,7 @@ import com.forgon.databaseadapter.service.DateQueryAdapter; import com.forgon.disinfectsystem.entity.materialerrordamage.MaterialErrorDamageDetail; +import com.forgon.disinfectsystem.jasperreports.javabeansource.MaterialDamageTotal_child; import com.forgon.disinfectsystem.jasperreports.javabeansource.MaterialErrorDamageSummaryOfDepartmentVO; import com.forgon.disinfectsystem.jasperreports.javabeansource.MaterialErrorDamageVO; import com.forgon.disinfectsystem.jasperreports.javabeansource.MaterialMissBean; @@ -28,6 +29,7 @@ /** * 器械丢失汇总统计报表 * 器械丢失明细统计报表 + * 器械报损汇总统计报表 */ @Component public class MaterialErrorDamageReportHelper { @@ -371,4 +373,41 @@ } return sum; } + /** + * 器械报损汇总统计报表 + * @param startDay + * @param endDay + * @param departCoding + * @param goodsName + * @return + */ + public List getMaterialDamageTotalViewDataSource(String startDay, String endDay, String departCoding, String goodsName) { + List damageBeans = new ArrayList(); + String sql = "select i.materialName,sum(i.amount),sum(i.materialCost*i.amount) from MaterialErrorDamageDetail i where " + + " i.type = '"+MaterialErrorDamageDetail.TYPE_DAMAGE+"' and i.operationTime between " + dateQueryAdapter.dateAdapter(startDay + " 00:00:00") + " and " + + dateQueryAdapter.dateAdapter(endDay + " 23:59:59"); + if(StringUtils.isNotBlank(departCoding)){ + sql += " and i.departCode = '"+departCoding+"' "; + } + if(StringUtils.isNotBlank(goodsName)){ + sql += " and i.materialName = '"+goodsName+"'"; + } + sql += " group by i.materialName order by i.materialName"; + @SuppressWarnings("unchecked") + ResultSet rs = objectDao.executeSql(sql); + try { + while(rs.next()){ + MaterialDamageTotal_child child = new MaterialDamageTotal_child(); + child.setAmount(rs.getInt(2)); + child.setMaterialName(rs.getString(1)); + child.setTotalPrice(rs.getDouble(3)); + damageBeans.add(child); + } + } catch (SQLException e) { + e.printStackTrace(); + }finally { + DatabaseUtil.closeResultSetAndStatement(rs); + } + return damageBeans; + } }