Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/dwr/table/ForeignTousseApplicationTableManager.java =================================================================== diff -u -r40552 -r40580 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/dwr/table/ForeignTousseApplicationTableManager.java (.../ForeignTousseApplicationTableManager.java) (revision 40552) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/dwr/table/ForeignTousseApplicationTableManager.java (.../ForeignTousseApplicationTableManager.java) (revision 40580) @@ -55,6 +55,10 @@ * 2012-4-23 下午04:57:40 */ public class ForeignTousseApplicationTableManager { + + public static final String QUERY_STATUS_FINISHED = "已完成"; + + public static final String QUERY_STATUS_IN_PROGRESS = "进行中"; private GridManager gridManager; @@ -203,6 +207,25 @@ if(StringUtils.isNotBlank(queryTousseName)){ sqlBuilder.append(" and exists ( select 1 from po.applicationItems tis where tousseName like '%"+ queryTousseName +"%' ) "); } + //GDSFYBJY-20【外来器械包申请】配置项“quickQueryForApply”新增状态查询 + String queryStatus = sqlWhereParamMap.get("queryStatus"); + //queryStatus = QUERY_STATUS_IN_PROGRESS; + if(StringUtils.isNotBlank(queryStatus)){ + List inProgressPackageStatus = new ArrayList(); + inProgressPackageStatus.add(TousseItem.PACKAGE_STATUS_AWAITRECEIVE); + inProgressPackageStatus.add(TousseItem.PACKAGE_STATUS_AWAITRECEIVED); + inProgressPackageStatus.add(TousseItem.PACKAGE_STATUS_USED); + inProgressPackageStatus.add(TousseItem.PACKAGE_STATUS_AWAIT_SECOND_RECEIVE); + inProgressPackageStatus.add(TousseItem.PACKAGE_STATUS_TOBERETURNED); + if(StringUtils.equals(queryStatus, QUERY_STATUS_FINISHED)){ + //已完成 状态为:“再次翻包申请、已归还、提前归还、终止的外来器械申请单”视为已完成 + sqlBuilder.append(" and (not exists(select 1 from po.applicationItems tis where " + SqlUtils.getStringFieldInLargeCollectionsPredicate("packageStatus", inProgressPackageStatus) + ") or po.endStatus = '" + InvoicePlan.STATUS_END + "') "); + }else if(StringUtils.equals(queryStatus, QUERY_STATUS_IN_PROGRESS)){ + //进行中 状态为: 除了再次翻包申请、已归还、提前归还、终止外的所有外来器械申请单 + sqlBuilder.append(" and (exists(select 1 from po.applicationItems tis where " + SqlUtils.getStringFieldInLargeCollectionsPredicate("packageStatus", inProgressPackageStatus) + ") and (po.endStatus = '" + InvoicePlan.STATUS_PART_END + "' or po.endStatus is null)) "); + } + } + //器械包条码ZSYY-417 String queryTousseBarcode = sqlWhereParamMap.get("queryTousseBarcode"); if(StringUtils.isNotBlank(queryTousseBarcode)){