Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/DepartmentMonthDetailHelper.java =================================================================== diff -u -r37680 -r37827 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/DepartmentMonthDetailHelper.java (.../DepartmentMonthDetailHelper.java) (revision 37680) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/DepartmentMonthDetailHelper.java (.../DepartmentMonthDetailHelper.java) (revision 37827) @@ -1318,6 +1318,8 @@ }finally { DatabaseUtil.closeResultSetAndStatement(rs); } + //DGSHLYY-33 【明细核算月报】单价不同时根据实际价格合并显示 + boolean enableConsolidateByPriceOfMonthlyReport = CssdUtils.getSystemSetConfigByNameBool("enableConsolidateByPriceOfMonthlyReport", false); for(Entry> entry : detailMap.entrySet()){ String departKey = entry.getKey(); List list = entry.getValue(); @@ -1331,6 +1333,7 @@ String tousseName = dmi.getGoodsName(); String sendTime = dmi.getSendTime(); String dmiShowTime = dmi.getShowTime(); + double dmiSettlementPrice = dmi.getSettlementPrice(); String key = null; if(showTime){ key = dmiShowTime + tousseName; @@ -1339,9 +1342,18 @@ } else{ key = tousseName; } + if(enableConsolidateByPriceOfMonthlyReport){ + if(StringUtils.isBlank(key)){ + key = Double.toString(dmiSettlementPrice); + }else{ + key += Double.toString(dmiSettlementPrice); + } + } String type = dmi.getType(); if (TousseDefinition.PACKAGE_TYPE_DISINFECTION.equals(type) - || TousseDefinition.PACKAGE_TYPE_CUSTOM.equals(type) || TousseDefinition.PACKAGE_TYPE_FOREIGN.equals(type) || TousseDefinition.PACKAGE_TYPE_SPLIT.equals(type)) { + || TousseDefinition.PACKAGE_TYPE_CUSTOM.equals(type) + || TousseDefinition.PACKAGE_TYPE_FOREIGN.equals(type) + || TousseDefinition.PACKAGE_TYPE_SPLIT.equals(type)) { DepartmentMonthDetailItem item = tmpMap.get(key); if(item == null){ item = new DepartmentMonthDetailItem();