Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r13698 -r13729 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 13698) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 13729) @@ -3992,6 +3992,8 @@ tousseAmount = (tousseAmount * disinfectGoodsStatisticAmount); } } + }else if(TousseDefinition.PACKAGE_TYPE_CUSTOM.equals(tousseTypeName)){ + tousseAmount = Double.valueOf(getDisinfectGoodsStatisticAmount(tousseName,"" + invoicePlanId)); } if(tousseAmount > 0){ newMonthReport(code, dept,"2","数量统计", "器械包数量",tousseAmount,list); @@ -4276,10 +4278,10 @@ supplyRoomDiposableGoodsFilterSql += " and dbs.batchNumber = '"+batch+"'"; } - String caseSql = " CASE ii.tousseType WHEN '消毒物品' THEN (ii.tousseName + '_' + cast(ii.invoicePlanID as varchar)) ELSE ii.tousseName END "; + String caseSql = " CASE ii.tousseType WHEN '消毒物品' THEN (ii.tousseName + '_' + cast(ii.invoicePlanID as varchar)) WHEN '自定义器械包' THEN (ii.tousseName + '_' + cast(ii.invoicePlanID as varchar)) ELSE ii.tousseName END "; String dbName = dbConnection.getDatabase(); if (DatabaseUtil.isOracle(dbName)) { - caseSql = " CASE ii.tousseType WHEN '消毒物品' THEN (ii.tousseName || '_' || ii.invoicePlanID) ELSE ii.tousseName END "; + caseSql = " CASE ii.tousseType WHEN '消毒物品' THEN (ii.tousseName || '_' || ii.invoicePlanID) WHEN '自定义器械包' THEN (ii.tousseName || '_' || ii.invoicePlanID) ELSE ii.tousseName END "; } String tousseSql = "select i.settleAccountsDepart," + caseSql + " as name,sum(ii.amount) as amount,sum(ii.settlementPrice) as settlementprice,ii.tousseType as type" @@ -4392,15 +4394,16 @@ int disinfectGoodsStatisticAmount = 0; int totalAmount = amount; DepartmentMonthDetailItem mdi = new DepartmentMonthDetailItem(); - if (TousseDefinition.PACKAGE_TYPE_DISINFECTION.equals(type)) { + if (TousseDefinition.PACKAGE_TYPE_DISINFECTION.equals(type) + || TousseDefinition.PACKAGE_TYPE_CUSTOM.equals(type)) { Integer _index = goodsName.lastIndexOf("_"); - if(_index > 0){ + if (_index > 0) { String name = goodsName.substring(0, _index); - String invoiceplan_id = goodsName.substring(_index+1, goodsName.length()); - disinfectGoodsStatisticAmount = getDisinfectGoodsStatisticAmount(name,invoiceplan_id); + String invoiceplan_id = goodsName.substring( + _index + 1, goodsName.length()); + disinfectGoodsStatisticAmount = getDisinfectGoodsStatisticAmount( + name, invoiceplan_id); } - }else if(TousseDefinition.PACKAGE_TYPE_CUSTOM.equals(type)){ - disinfectGoodsStatisticAmount = getDisinfectGoodsStatisticAmount(goodsName,null); } if (disinfectGoodsStatisticAmount > 0){ totalAmount = (amount * disinfectGoodsStatisticAmount);