Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r30135 -r30142 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 30135) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 30142) @@ -2917,7 +2917,7 @@ */ @Override public List getMonthReportData(String startDate,String endDate, - String department,String tousseType,String disposableGoodsType,Boolean showCustonTousseAmount, String patternOfReport, Map departToBrancheOfHospitalMap, boolean filterBrancheOfHospital){ + String department,String tousseType,String disposableGoodsType,Boolean showCustonTousseAmount, String patternOfReport, Map departToBrancheOfHospitalMap, boolean filterBrancheOfHospital, boolean hideAmountColumn){ // String handleDeptCode = AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig(); Set departments = null; if(filterBrancheOfHospital && !(departToBrancheOfHospitalMap == null || departToBrancheOfHospitalMap.isEmpty())){ @@ -3103,15 +3103,19 @@ if(enableDiscountPrice){ newMonthReport(code, dept,"1", "科室记支","一次性物品记支",price, list,hospitalDistrict, enableMultipleBranchesOfHospital); } - newMonthReport(code, dept, "3", "数量统计", "一次性物品数量", amount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + if(!hideAmountColumn){ + newMonthReport(code, dept, "3", "数量统计", "一次性物品数量", amount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + } }else{ newMonthReport(code, dept, "2", "价格统计", "器械包总价", price, list,hospitalDistrict, enableMultipleBranchesOfHospital); if(enableDiscountPrice){ newMonthReport(code, dept,"1", "科室记支","器械包记支",price, list,hospitalDistrict, enableMultipleBranchesOfHospital); } - newMonthReport(code, dept, "3", "数量统计", "器械包数量", amount, list,hospitalDistrict, enableMultipleBranchesOfHospital); - if(monthReportMaterialAmountOfTousse){ - newMonthReport(code, dept, "4", "包内材料统计", "包内材料数量", totalMaterialAmount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + if(!hideAmountColumn){ + newMonthReport(code, dept, "3", "数量统计", "器械包数量", amount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + if(monthReportMaterialAmountOfTousse){ + newMonthReport(code, dept, "4", "包内材料统计", "包内材料数量", totalMaterialAmount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + } } } } @@ -3149,32 +3153,33 @@ }finally { DatabaseUtil.closeResultSetAndStatement(materialInvoicePriceResultSet); } - - // 材料发货数量 - String materialInvoiceAmountSql = "select i.settleAccountsDepartCoding as coding,i.settleAccountsDepart " - + "as depart,mi.amount from MaterialInvoice i inner join MaterialInvoiceItem mi on i.id=mi.materialInvoice_id " - + "where " + getHandleDeptCodeSql("i.orgUnitCoding") + " " - + " and (mi.amount is not null and mi.amount>0) " - + " " + invoiceWheresql; - - ResultSet materialInvoiceAmountResultSet = objectDao.executeSql(materialInvoiceAmountSql); - try { - while(materialInvoiceAmountResultSet.next()){ - String code = materialInvoiceAmountResultSet.getString(1); - String dept = materialInvoiceAmountResultSet.getString(2); - int tousseAmount = materialInvoiceAmountResultSet.getInt("amount"); - String hospitalDistrict = null; - if(enableMultipleBranchesOfHospital){ - hospitalDistrict = departToBrancheOfHospitalMap == null || departToBrancheOfHospitalMap.isEmpty() || departToBrancheOfHospitalMap.get(dept) == null?null:departToBrancheOfHospitalMap.get(dept).getName(); + if(!hideAmountColumn){ + // 材料发货数量 + String materialInvoiceAmountSql = "select i.settleAccountsDepartCoding as coding,i.settleAccountsDepart " + + "as depart,mi.amount from MaterialInvoice i inner join MaterialInvoiceItem mi on i.id=mi.materialInvoice_id " + + "where " + getHandleDeptCodeSql("i.orgUnitCoding") + " " + + " and (mi.amount is not null and mi.amount>0) " + + " " + invoiceWheresql; + + ResultSet materialInvoiceAmountResultSet = objectDao.executeSql(materialInvoiceAmountSql); + try { + while(materialInvoiceAmountResultSet.next()){ + String code = materialInvoiceAmountResultSet.getString(1); + String dept = materialInvoiceAmountResultSet.getString(2); + int tousseAmount = materialInvoiceAmountResultSet.getInt("amount"); + String hospitalDistrict = null; + if(enableMultipleBranchesOfHospital){ + hospitalDistrict = departToBrancheOfHospitalMap == null || departToBrancheOfHospitalMap.isEmpty() || departToBrancheOfHospitalMap.get(dept) == null?null:departToBrancheOfHospitalMap.get(dept).getName(); + } + if(tousseAmount > 0){ + newMonthReport(code, dept,"3","数量统计", "发货材料数量",tousseAmount,list,hospitalDistrict, enableMultipleBranchesOfHospital); + } } - if(tousseAmount > 0){ - newMonthReport(code, dept,"3","数量统计", "发货材料数量",tousseAmount,list,hospitalDistrict, enableMultipleBranchesOfHospital); - } + } catch (SQLException e) { + e.printStackTrace(); + }finally { + DatabaseUtil.closeResultSetAndStatement(materialInvoiceAmountResultSet); } - } catch (SQLException e) { - e.printStackTrace(); - }finally { - DatabaseUtil.closeResultSetAndStatement(materialInvoiceAmountResultSet); } String banQuery = " 1 = 0 and "; String damagedTousseAtCost = supplyRoomConfig.getDamagedTousseAtCost(); @@ -3204,12 +3209,14 @@ String dept = rs33.getString(2); String materialName = rs33.getString(3); Double money = rs33.getDouble(4); - int amount = rs33.getInt("amount"); String hospitalDistrict = null; if(enableMultipleBranchesOfHospital){ hospitalDistrict = departToBrancheOfHospitalMap == null || departToBrancheOfHospitalMap.isEmpty() || departToBrancheOfHospitalMap.get(dept) == null?null:departToBrancheOfHospitalMap.get(dept).getName(); } - newMonthReport(code, dept, "3", "数量统计", "丢失报损材料数量", amount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + if(!hideAmountColumn){ + int amount = rs33.getInt("amount"); + newMonthReport(code, dept, "3", "数量统计", "丢失报损材料数量", amount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + } newMonthReport(code, dept, "2", "价格统计", "丢失报损材料总价", money, list,hospitalDistrict, enableMultipleBranchesOfHospital); if(enableDiscountPrice){ newMonthReport(code, dept,"1", "科室记支","材料记支",money, list,hospitalDistrict, enableMultipleBranchesOfHospital); @@ -3241,12 +3248,14 @@ String dept = rs3.getString(2); String materialName = rs3.getString(3); Double money = rs3.getDouble(4); - int amount = rs3.getInt(5); String hospitalDistrict = null; if(enableMultipleBranchesOfHospital){ hospitalDistrict = departToBrancheOfHospitalMap == null || departToBrancheOfHospitalMap.isEmpty() || departToBrancheOfHospitalMap.get(dept) == null?null:departToBrancheOfHospitalMap.get(dept).getName(); } - newMonthReport(code, dept,"3", "数量统计","丢失报损材料数量",amount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + if(!hideAmountColumn){ + int amount = rs3.getInt(5); + newMonthReport(code, dept,"3", "数量统计","丢失报损材料数量",amount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + } newMonthReport(code, dept,"2", "价格统计","丢失报损材料总价",money, list,hospitalDistrict, enableMultipleBranchesOfHospital); if(enableDiscountPrice){ newMonthReport(code, dept,"1", "科室记支","材料记支",money, list,hospitalDistrict, enableMultipleBranchesOfHospital); @@ -3274,13 +3283,15 @@ String code = materialReturnResultSet.getString(1); String dept = materialReturnResultSet.getString(2); Double price = materialReturnResultSet.getDouble(3); - int amount = materialReturnResultSet.getInt("amount"); String hospitalDistrict = null; if(enableMultipleBranchesOfHospital){ hospitalDistrict = departToBrancheOfHospitalMap == null || departToBrancheOfHospitalMap.isEmpty() || departToBrancheOfHospitalMap.get(dept) == null?null:departToBrancheOfHospitalMap.get(dept).getName(); } newMonthReport(code, dept, "2", "价格统计", "发货材料总价", price, list,hospitalDistrict, enableMultipleBranchesOfHospital); - newMonthReport(code, dept, "3", "数量统计", "发货材料数量", amount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + if(!hideAmountColumn){ + int amount = materialReturnResultSet.getInt("amount"); + newMonthReport(code, dept, "3", "数量统计", "发货材料数量", amount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + } if(enableDiscountPrice){ newMonthReport(code, dept,"1", "科室记支","材料记支",price, list,hospitalDistrict, enableMultipleBranchesOfHospital); } @@ -3292,7 +3303,7 @@ } } - if(StringUtils.isBlank(tousseType) || TousseItem.TYPE_DIPOSABLE_GOODS.equals(tousseType) || TYPE_AUTO_DEDUCTION.equals(tousseType)){ + if(!hideAmountColumn && (StringUtils.isBlank(tousseType) || TousseItem.TYPE_DIPOSABLE_GOODS.equals(tousseType) || TYPE_AUTO_DEDUCTION.equals(tousseType))){ String tousseTypeSql = ""; if(TYPE_AUTO_DEDUCTION.equals(tousseType)){ tousseTypeSql = String.format(" and ii.type='%s' ", InvoiceItem.TYPE_AUTO_DEDUCTION); @@ -3364,13 +3375,17 @@ if(enableDiscountPrice){ newMonthReport(code, config.getOrgUnitName(),"1", "科室记支","一次性物品记支",price, list,hospitalDistrict, enableMultipleBranchesOfHospital); } - newMonthReport(code, config.getOrgUnitName(), "3", "数量统计", "一次性物品数量", amount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + if(!hideAmountColumn){ + newMonthReport(code, config.getOrgUnitName(), "3", "数量统计", "一次性物品数量", amount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + } }else{ newMonthReport(code, config.getOrgUnitName(), "2", "价格统计", "发货材料总价", price, list,hospitalDistrict, enableMultipleBranchesOfHospital); if(enableDiscountPrice){ newMonthReport(code, config.getOrgUnitName(),"1", "科室记支","材料记支",price, list,hospitalDistrict, enableMultipleBranchesOfHospital); } - newMonthReport(code, config.getOrgUnitName(), "3", "数量统计", "发货材料数量", amount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + if(!hideAmountColumn){ + newMonthReport(code, config.getOrgUnitName(), "3", "数量统计", "发货材料数量", amount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + } } } }catch(Exception e){ @@ -3395,7 +3410,6 @@ while(rs4.next()){ String type = rs4.getString(1); Double price = rs4.getDouble(2); - int amount = rs4.getInt("amount"); String code = rs4.getString(4); String orgUnitName = rs4.getString(5); String hospitalDistrict = null; @@ -3407,7 +3421,10 @@ if(enableDiscountPrice){ newMonthReport(code, orgUnitName,"1", "科室记支","一次性物品记支",price, list,hospitalDistrict, enableMultipleBranchesOfHospital); } - newMonthReport(code, orgUnitName, "3", "数量统计", "一次性物品数量", amount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + if(!hideAmountColumn){ + int amount = rs4.getInt("amount"); + newMonthReport(code, orgUnitName, "3", "数量统计", "一次性物品数量", amount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + } } } }catch(Exception e){ @@ -3444,7 +3461,9 @@ if(enableDiscountPrice){ newMonthReport(code, orgUnitName,"1", "科室记支","一次性物品记支",price, list,hospitalDistrict, enableMultipleBranchesOfHospital); } - newMonthReport(code, orgUnitName, "3", "数量统计", "一次性物品数量", amount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + if(!hideAmountColumn){ + newMonthReport(code, orgUnitName, "3", "数量统计", "一次性物品数量", amount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + } } } }catch(Exception e){ @@ -3477,7 +3496,9 @@ if(enableDiscountPrice){ newMonthReport(code, orgUnitName,"1", "科室记支","一次性物品记支",price, list,hospitalDistrict, enableMultipleBranchesOfHospital); } - newMonthReport(code, orgUnitName, "3", "数量统计", "一次性物品数量", amount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + if(!hideAmountColumn){ + newMonthReport(code, orgUnitName, "3", "数量统计", "一次性物品数量", amount, list,hospitalDistrict, enableMultipleBranchesOfHospital); + } } } }catch(Exception e){ @@ -3489,7 +3510,7 @@ } boolean enableToussePointsStatistics = CssdUtils.getSystemSetConfigByNameBool("enableToussePointsStatistics", false); //器械包(含消毒物品、敷料包等)发货数量统计 - if(StringUtils.isBlank(tousseType) || (!"器械材料".equals(tousseType) && !TousseItem.TYPE_DIPOSABLE_GOODS.equals(tousseType) && !TYPE_AUTO_DEDUCTION.equals(tousseType))){ + if(!hideAmountColumn && (StringUtils.isBlank(tousseType) || (!"器械材料".equals(tousseType) && !TousseItem.TYPE_DIPOSABLE_GOODS.equals(tousseType) && !TYPE_AUTO_DEDUCTION.equals(tousseType)))){ String columnSqlForInvoiceAmountSql = null; String leftJoinSqlForInvoiceAmountSql = null; if(dataSoureOfMaterialsCountOfToussesInReports == 3){ Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java =================================================================== diff -u -r29996 -r30142 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 29996) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 30142) @@ -730,6 +730,7 @@ String showCustonTousseAmountStr = StrutsParamUtils.getPraramValue( "showCustonTousseAmount", ""); boolean enableMultipleBranchesOfHospital = CssdUtils.getSystemSetConfigByNameBool("enableMultipleBranchesOfHospital", false); + boolean hideAmountColumn = enableMultipleBranchesOfHospital?CssdUtils.getSystemSetConfigByNameBool("hideAmountColumnOfAccountingMonthlyReportForMultipleBranchesHospital", false):false; //院区 String brancheOfHospitalIds = null; Set brancheOfHospitalIdSet = null; @@ -753,15 +754,15 @@ applyMonthReportOnlyPriceTemplate = true;//隐藏数量 } List dataSource = null; - if("accountingMonthlyReportGroupBySterilizationMode".equals(patternOfReport)){//按灭菌方式拆分器械包列,bjcyl个性化报表 + if(!enableMultipleBranchesOfHospital && "accountingMonthlyReportGroupBySterilizationMode".equals(patternOfReport)){//按灭菌方式拆分器械包列,bjcyl个性化报表 dataSource = jasperReportManager.getMonthReportDataGroupBySterilizationMode(startDate, endDate, department, tousseType, disposableGoodsType, showCustonTousseAmount); - }else if("accountingMonthlyReportGroupByDisposableGoodsType".equals(patternOfReport)){//一次性物品拆分,添加一次性物品数量合计、价格合计 + }else if(!enableMultipleBranchesOfHospital && "accountingMonthlyReportGroupByDisposableGoodsType".equals(patternOfReport)){//一次性物品拆分,添加一次性物品数量合计、价格合计 dataSource = jasperReportManager.getMonthReportDataGroupByDisposableGoodsType(startDate, endDate, department, tousseType, disposableGoodsType, showCustonTousseAmount); }else{//普通模式(显示数量和数量) dataSource = jasperReportManager .getMonthReportData(startDate, endDate, department, tousseType, disposableGoodsType, - showCustonTousseAmount, patternOfReport, departToBrancheOfHospitalMap, filterBrancheOfHospital); + showCustonTousseAmount, patternOfReport, departToBrancheOfHospitalMap, filterBrancheOfHospital, hideAmountColumn); } parametMap.put("totalIntegral", getTotalIntegral(dataSource));//设置积分 boolean applyMonthReportOneColumnTemplate = CssdUtils @@ -815,7 +816,7 @@ } } } - if (applyMonthReportOneColumnTemplate) { + if (!enableMultipleBranchesOfHospital && applyMonthReportOneColumnTemplate) { Map> columnTitleColumnNameMap = new HashMap<>(); for (MonthReportBean bean : dataSource) { String title = bean.getColumnTitle(); @@ -840,7 +841,7 @@ } return dataSource; - } else if (applyMonthReportOnlyPriceTemplate) { + } else if (!enableMultipleBranchesOfHospital && applyMonthReportOnlyPriceTemplate) { List myDataSource = new ArrayList(); Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java =================================================================== diff -u -r29996 -r30142 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 29996) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManager.java (.../JasperReportManager.java) (revision 30142) @@ -104,9 +104,10 @@ * @param showCustonTousseAmount 是否显示自定义器械包数量? * @param patternOfReport 报表格式 * @param departToBrancheOfHospitalMap 科室对应院区map + * @param hideAmountColumn 隐藏数量 不查询数量 * @return */ - public List getMonthReportData(String startDate,String endDate,String department,String tousseType,String disposableGoodsType,Boolean showCustonTousseAmount,String patternOfReport, Map departToBrancheOfHospitalMap, boolean filterBrancheOfHospital); + public List getMonthReportData(String startDate,String endDate,String department,String tousseType,String disposableGoodsType,Boolean showCustonTousseAmount,String patternOfReport, Map departToBrancheOfHospitalMap, boolean filterBrancheOfHospital, boolean hideAmountColumn); /** * 获取“消毒供应中心工作量统计报表”的数据 Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/departmentMonthlyView.js =================================================================== diff -u -r29996 -r30142 --- ssts-web/src/main/webapp/disinfectsystem/reportforms/departmentMonthlyView.js (.../departmentMonthlyView.js) (revision 29996) +++ ssts-web/src/main/webapp/disinfectsystem/reportforms/departmentMonthlyView.js (.../departmentMonthlyView.js) (revision 30142) @@ -65,7 +65,7 @@ }); diposableGooodsStore.load(); reportTypeJson = sstsConfig.patternOfAccountingMonthlyReport; - if(reportTypeJson != null && reportTypeJson.length > 1){ + if(!enableMultipleBranchesOfHospital && reportTypeJson != null && reportTypeJson.length > 1){ for (var i = 0; i < reportTypeJson.length; i++) { var item = reportTypeJson[i]; var optionText = item.optionText;