Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r33902 -r33922 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 33902) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 33922) @@ -64,6 +64,7 @@ import com.forgon.disinfectsystem.basedatamanager.container.service.ContainerManager; import com.forgon.disinfectsystem.basedatamanager.container.service.ReviewedBasketManager; import com.forgon.disinfectsystem.basedatamanager.departmentgroup.service.DepartmentGroupManager; +import com.forgon.disinfectsystem.basedatamanager.invoice.service.InvoiceUtils; import com.forgon.disinfectsystem.basedatamanager.operationroom.service.OperationRoomManager; import com.forgon.disinfectsystem.basedatamanager.position.service.PositionManager; import com.forgon.disinfectsystem.basedatamanager.sterilisation.service.SterilisationManager; @@ -1089,24 +1090,43 @@ @Override public String getInvoicePlanList(JSONObject params) { JSONArray departCodeJsons = params.optJSONArray("departCodes"); - Collection departCodes = JSONArray.toCollection( + Collection departCodeList = JSONArray.toCollection( departCodeJsons, String.class); //申请日期与物品类型 String applyDate = params.optString("applyDate" , null); //物品类型,多个以逗号分隔 String tousseTypes = params.optString("tousseType" , null); + if(StringUtils.equals(tousseTypes, Constants.STR_YES)){ + tousseTypes = DisposableGoods.TYPE_NAME; + }else if(StringUtils.equals(tousseTypes, Constants.STR_NO)){ + tousseTypes = StringUtils.join(Arrays.asList(new String[]{ + TousseDefinition.PACKAGE_TYPE_INSIDE,TousseDefinition.PACKAGE_TYPE_DISINFECTION,TousseDefinition.PACKAGE_TYPE_DRESSING, + TousseDefinition.PACKAGE_TYPE_FOREIGN,TousseDefinition.PACKAGE_TYPE_FOREIGNPROXY,TousseDefinition.PACKAGE_TYPE_CUSTOM + }),","); + } + String disposableGoodsType = params.optString("disposableGoodsType" , null); String sterilingMethods = params.optString("sterilingMethods" , null); String tousseGroupIds = params.optString("tousseGroupIds" , null); + String appFormType = params.optString("invoicePlanType", null); + String departCodes = StringUtils.join(departCodeList,";"); //优化前的旧方法 /*Collection vos = invoicePlanManager .getDepartInvoicePlan(departCodes,applyDate ,tousseType,disposableGoodsType,sterilingMethods,tousseGroupIds);*/ - //优化后的新方法 - Collection vos = invoicePlanOptimizeManager - .getDepartInvoicePlanVoList(StringUtils.join(departCodes,";"),applyDate ,tousseTypes,disposableGoodsType, - sterilingMethods,tousseGroupIds,params.optString("invoicePlanType", null),null); + Collection vos = null; + //如果配置按回收时间过滤,且有传时间范围参数时,则调用相应的过滤业务方法(NFYY-59) + if(InvoiceUtils.willFilterInvoicePlanByRecyclingTime(applyDate)){ + vos = invoicePlanManager + .getDepartInvoicePlanVoList(departCodes,applyDate ,tousseTypes,disposableGoodsType, + sterilingMethods,tousseGroupIds,appFormType,null); + }else{ + //优化后的新方法 + vos = invoicePlanOptimizeManager + .getDepartInvoicePlanVoList(departCodes,applyDate ,tousseTypes,disposableGoodsType, + sterilingMethods,tousseGroupIds,appFormType,null); + } JSONArray jsonArray = null; if(CollectionUtils.isNotEmpty(vos)){ jsonArray = JSONArray.fromObject(vos);