Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/action/SupplyRoomConfigAction.java =================================================================== diff -u -r26201 -r26388 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/action/SupplyRoomConfigAction.java (.../SupplyRoomConfigAction.java) (revision 26201) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/action/SupplyRoomConfigAction.java (.../SupplyRoomConfigAction.java) (revision 26388) @@ -880,10 +880,12 @@ if("是".equals(isTousseDgMergeConvertStr)){ isTousseDgMergeConvert = true; } + String damagedTousseAtCost = rq.getParameter("damagedTousseAtCost"); supplyRoomConfig.setNoMergeApplicationTypes(noMergeApplicationTypes); supplyRoomConfig.setIsPackingAfterWashTimeEnd(isPackingAfterWashTimeEnd); supplyRoomConfig.setIsDgConvertApplication(isDgConvertApplication); supplyRoomConfig.setIsTousseDgMergeConvert(isTousseDgMergeConvert); + supplyRoomConfig.setDamagedTousseAtCost(damagedTousseAtCost); supplyRoomConfig.setAutoMergeApplication(autoMergeApplication); supplyRoomConfig.setIsORAppFormMerge(isORAppFormMerge); supplyRoomConfig.setSecondWashCountWorkload(secondWashCountWorkload); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/supplyroomconfig/SupplyRoomConfig.java =================================================================== diff -u -r26241 -r26388 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/supplyroomconfig/SupplyRoomConfig.java (.../SupplyRoomConfig.java) (revision 26241) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/supplyroomconfig/SupplyRoomConfig.java (.../SupplyRoomConfig.java) (revision 26388) @@ -380,6 +380,11 @@ */ private String noMergeApplicationTypes; + /** + * 报损器械计算科室成本 + */ + private String damagedTousseAtCost = Constants.STR_NO; + @Id @GeneratedValue(strategy = GenerationType.AUTO) public Long getId() { @@ -1013,6 +1018,14 @@ this.noMergeApplicationTypes = noMergeApplicationTypes; } + public String getDamagedTousseAtCost() { + return damagedTousseAtCost; + } + + public void setDamagedTousseAtCost(String damagedTousseAtCost) { + this.damagedTousseAtCost = damagedTousseAtCost; + } + /** * 获取外来器械包处理科室及任务组json数组 * @return Index: forgon-tools/src/main/java/com/forgon/Constants.java =================================================================== diff -u -r26352 -r26388 --- forgon-tools/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 26352) +++ forgon-tools/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 26388) @@ -24,7 +24,7 @@ "4.5.9","4.6.0","4.6.1","4.6.2","4.6.3","4.6.4","4.6.5","4.6.6","4.6.7","4.6.8","4.6.9","4.7.0","4.7.1","4.7.2","4.7.3","4.7.4","4.7.5","4.7.6","4.7.7", "4.7.8","4.7.9","4.8.0","4.8.1","4.8.2","4.8.3","4.8.4","4.8.5","4.8.6","4.8.7","4.8.8","4.8.9","4.9.0","4.9.1","4.9.2","4.9.3","4.9.4","4.9.5","4.9.6", "4.9.7","4.9.8","4.9.9","4.9.10","4.9.11","4.9.12","4.9.13","4.9.14","4.9.15","4.9.16","4.9.17","4.9.18","4.9.19","4.9.20","4.9.21","4.9.22","4.9.23","4.9.24", - "4.9.25","4.9.26","4.9.27","4.9.28","4.9.29","4.9.30","4.9.31","4.9.32","4.9.33"}; + "4.9.25","4.9.26","4.9.27","4.9.28","4.9.29","4.9.30","4.9.31","4.9.32","4.9.33","4.9.34"}; // 版本列表(4.0版本升级4.1版需要分两步:先从4.0升到4.1.0、然后从4.1.0升级4.1最新版本) /*public final static String[] SOFTWARE_VERSION_ARRAY = new String[] { Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r26387 -r26388 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 26387) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 26388) @@ -2636,10 +2636,9 @@ boolean enableExpensiveGoods = CssdUtils.getSystemSetConfigByNameBool("enableExpensiveGoods"); //是否启用包内材料统计列 boolean monthReportMaterialAmountOfTousse = CssdUtils.getSystemSetConfigByNameBool("monthReportMaterialAmountOfTousse"); - - + SupplyRoomConfig supplyRoomConfig = supplyRoomConfigManager.getSystemParamsObj(); final String TYPE_AUTO_DEDUCTION = "自动扣减物品"; - SupplyRoomConfig firstSupplyRoomConfig = supplyRoomConfigManager.getFirstSupplyRoomConfig(); + //SupplyRoomConfig firstSupplyRoomConfig = supplyRoomConfigManager.getFirstSupplyRoomConfig(); //当前用户是否为供应室(包含一二级供应室)用户 boolean isSupplyRoomUser = supplyRoomConfigManager.isSupplyRoomUser(); //当前用户是否为高值耗材供应处理科室的用户 @@ -2857,10 +2856,17 @@ }finally { DatabaseUtil.closeResultSetAndStatement(materialInvoiceAmountResultSet); } - + String banQuery = " 1 = 0 and "; + String damagedTousseAtCost = supplyRoomConfig.getDamagedTousseAtCost(); + /*if(StringUtils.isBlank(damagedTousseAtCost) || Constants.STR_YES.equals(damagedTousseAtCost)){ + banQuery = ""; + }*/ + if(Constants.STR_YES.equals(damagedTousseAtCost)){ + banQuery = ""; + } //材料报损统计 String damageSql = "select i.departCode,i.depart,i.materialName,sum(i.materialCost*i.additionalAmount),sum(i.additionalAmount) " - + " from MaterialErrorDamageDetail i where " + getHandleDeptCodeSql("i.handleDepartCode") + " and i.type = '" + + " from MaterialErrorDamageDetail i where " + banQuery + getHandleDeptCodeSql("i.handleDepartCode") + " and i.type = '" + MaterialErrorDamageDetail.TYPE_DAMAGE + "' and i.additionalTime " + betweenSql; @@ -3326,6 +3332,7 @@ if(DatabaseUtil.isOracle(dbConnection.getDatabase())){ concatSymbolInDb = "||"; } + SupplyRoomConfig config = supplyRoomConfigManager.getSystemParamsObj(); final String TYPE_AUTO_DEDUCTION = "自动扣减物品"; final String TYPE_ALL = "全部"; //是否启用高值耗材(新) @@ -3811,11 +3818,19 @@ +"sum(r.additionalAmount * r.materialCost) as settlementDiscountPrice,'材料' as type,'' as batchNumber,null as expDate,0 as tousseDefinitionId " + " from MaterialErrorDamageDetail r left join materialDefinition m on r.materialDefinitionId = m.id where 1=1 and r.errorType = '缺失' and r.type = '"+MaterialErrorDamageDetail.TYPE_ERROR+"' and r.materialName != '器械包标识牌' and r.additionalAmount > 0 and "+getHandleDeptCodeSql("r.handleDepartCode")+" " + lostMaterialFilterSql + "group by r.depart,r.materialName ) "; - + String banQuery = " and 1 = 0 "; + String damagedTousseAtCost = config.getDamagedTousseAtCost(); + /*if(StringUtils.isBlank(damagedTousseAtCost) || Constants.STR_YES.equals(damagedTousseAtCost)){ + banQuery = ""; + }*/ + if(Constants.STR_YES.equals(damagedTousseAtCost)){ + banQuery = ""; + } damageMaterial = " union all (select i.depart"+noQuerySupplierName+",i.materialName,sum(i.additionalAmount),sum(i.materialCost*i.additionalAmount)," +"sum(i.materialCost*i.additionalAmount) as settlementDiscountPrice,'材料' as type,'' as batchNumber,null as expDate,0 as tousseDefinitionId " - + "from MaterialErrorDamageDetail i left join materialDefinition m on i.materialDefinitionId = m.id where 1=1 " - + "and i.type = '" + MaterialErrorDamageDetail.TYPE_DAMAGE + "' and i.additionalAmount > 0 and "+getHandleDeptCodeSql("i.handleDepartCode")+" " + damageFilterSql + + "from MaterialErrorDamageDetail i left join materialDefinition m on i.materialDefinitionId = m.id where 1=1 " + + banQuery + + " and i.type = '" + MaterialErrorDamageDetail.TYPE_DAMAGE + "' and i.additionalAmount > 0 and "+getHandleDeptCodeSql("i.handleDepartCode")+" " + damageFilterSql + " group by i.departCode,i.depart,i.materialName ) "; } //退货(一次性物品、器械包) Index: ssts-web/src/main/webapp/dataUpdater/sqls/4.9.33_4.9.34.sql =================================================================== diff -u --- ssts-web/src/main/webapp/dataUpdater/sqls/4.9.33_4.9.34.sql (revision 0) +++ ssts-web/src/main/webapp/dataUpdater/sqls/4.9.33_4.9.34.sql (revision 26388) @@ -0,0 +1 @@ +update SupplyRoomConfig set damagedTousseAtCost='是' where supplyRoomType=0; \ No newline at end of file