Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java =================================================================== diff -u -r23433 -r23439 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 23433) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 23439) @@ -590,6 +590,30 @@ reorderedList.addAll(disinfectionList); return reorderedList; } + + private Collection getInvoicePlans(Collection departCodes, String applyDate, String tousseType,String disposableGoodsType,String sterilingMethods){ + boolean hideUnprintedDisposableGoodsInvoicePlan = CssdUtils.getSystemSetConfigByNameBool("hideUnprintedDisposableGoodsInvoicePlan"); + //查询发货计划 + SupplyRoomConfig config = supplyRoomConfigManager.getSystemParamsObj(); + Collection invoicePlans = getInvoicePlanListByOrgUnitCodingsAndTousseType( + departCodes, applyDate, tousseType); + Set disposableGoodsTypeSet = buildDisposableGoodsTypeSet(disposableGoodsType); + filterTousseItem(invoicePlans); + filterInvoicePlanByDisposableGoodsType(config,invoicePlans,disposableGoodsTypeSet); + filterInvoicePlanBySterilingMethod(invoicePlans, sterilingMethods); + filterEmptyInvoicePlan(invoicePlans); + if(invoicePlans != null){ + List delList = new LinkedList(); + for (InvoicePlan invoicePlan : invoicePlans) { + if(hideUnprintedDisposableGoodsInvoicePlan && (invoicePlan.isDiposableGoodsAppliaction() && (invoicePlan.getPrinted() != InvoicePlan.PRINT_STATUS_PRINTED))){ + delList.add(invoicePlan); + continue; + } + } + invoicePlans.removeAll(delList); + } + return invoicePlans; + } /** * 按条件查询科室的待发货以及部分发货的发货计划单 并且将同一科室的单据统一成一条记录 * 根据科室分组(科室编码间采用分号分隔),申请日期(开始日期与结束日期间采用分号分隔),物品类型等查询发货计划 @@ -601,22 +625,10 @@ @Override public Collection getDepartInvoicePlan( Collection departCodes, String applyDate, String tousseType,String disposableGoodsType,String sterilingMethods) { - boolean hideUnprintedDisposableGoodsInvoicePlan = CssdUtils.getSystemSetConfigByNameBool("hideUnprintedDisposableGoodsInvoicePlan"); - //查询发货计划 - SupplyRoomConfig config = supplyRoomConfigManager.getSystemParamsObj(); - Collection invoicePlans = getInvoicePlanListByOrgUnitCodingsAndTousseType( - departCodes, applyDate, tousseType); - Set disposableGoodsTypeSet = buildDisposableGoodsTypeSet(disposableGoodsType); - filterTousseItem(invoicePlans); - filterInvoicePlanByDisposableGoodsType(config,invoicePlans,disposableGoodsTypeSet); - filterInvoicePlanBySterilingMethod(invoicePlans, sterilingMethods); - filterEmptyInvoicePlan(invoicePlans); + Collection invoicePlans = getInvoicePlans(departCodes, applyDate, tousseType, disposableGoodsType, sterilingMethods); Collection resultCol = new ArrayList(); // Map> invoicePlanVoToInvoicePlanListMap = new HashMap>(); for (final InvoicePlan invoicePlan : invoicePlans) { - if(hideUnprintedDisposableGoodsInvoicePlan && (invoicePlan.isDiposableGoodsAppliaction() && (invoicePlan.getPrinted() != InvoicePlan.PRINT_STATUS_PRINTED))){ - continue; - } InvoicePlanVo vo = CollectionUtils.find(resultCol, new Predicate() { @Override @@ -1028,8 +1040,13 @@ @Override public int getInvoicePlanAmount(String sql) { - return objectDao.countObjectBySql(InvoicePlan.class.getSimpleName(), - sql); +// return objectDao.countObjectBySql(InvoicePlan.class.getSimpleName(), +// sql); + Collection invoicePlans = getInvoicePlans(null, null, null, null, null); + if(invoicePlans == null){ + return 0; + } + return invoicePlans.size(); } @Override