Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r26910 -r26913 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 26910) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 26913) @@ -5001,14 +5001,10 @@ if(container == null){ continue; } - if(container.washed()){ + if(container.washed() || container.washloading()){ container.setStatus(Container.CONTAINER_STATUS_PACKED); - }else if(container.washloading()){ - container.setStatus(Container.CONTAINER_STATUS_FREE); - }else{ - continue; + containerManager.saveOrUpdate(container); } - containerManager.saveOrUpdate(container); } } } Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/TousseIntoBasketService.java =================================================================== diff -u -r26910 -r26913 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/TousseIntoBasketService.java (.../TousseIntoBasketService.java) (revision 26910) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/TousseIntoBasketService.java (.../TousseIntoBasketService.java) (revision 26913) @@ -249,7 +249,7 @@ //如果可以入多套外来器械,就不需要管当前篮筐里面已经装载的包了,只需要本次入筐的物品进行验证就可行了 return; } - barcodes = containerManager.filterStatusContainer(barcodes,Container.CONTAINER_STATUS_FREE); + barcodes = containerManager.filterStatusContainer(barcodes,Container.CONTAINER_STATUS_PACKED,true); if(barcodes == null || barcodes.size() ==0){ return; } Index: ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/ContainerStatusTests.java =================================================================== diff -u -r26269 -r26913 --- ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/ContainerStatusTests.java (.../ContainerStatusTests.java) (revision 26269) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/ContainerStatusTests.java (.../ContainerStatusTests.java) (revision 26913) @@ -219,8 +219,8 @@ prepareData(); //终止申请单 terminateInvoicePlan(); - //篮筐状态为清洗装载 - assertEquals(getContainerStatus(Constants.Barcode.CLASSIFY_BASKET_1), Container.CONTAINER_STATUS_WASHLOADING); + //篮筐状态为装配完成 + assertEquals(getContainerStatus(Constants.Barcode.CLASSIFY_BASKET_1), Container.CONTAINER_STATUS_PACKED); //清洗 wash(Constants.RinserName.RINSER_1,Constants.CleanMethodName.CLEAN_METHOD_NAME_P1); //篮筐状态为空闲 @@ -234,8 +234,8 @@ prepareData(); //终止申请单 terminateInvoicePlan(); - //篮筐状态为清洗装载 - assertEquals(getContainerStatus(Constants.Barcode.CLASSIFY_BASKET_1), Container.CONTAINER_STATUS_WASHLOADING); + //篮筐状态为装配完成 + assertEquals(getContainerStatus(Constants.Barcode.CLASSIFY_BASKET_1), Container.CONTAINER_STATUS_PACKED); //清洗 wash(Constants.RinserName.RINSER_2,Constants.CleanMethodName.CLEAN_METHOD_NAME_P5); //篮筐状态为清洗中 @@ -252,8 +252,8 @@ prepareData(); //终止申请单 terminateInvoicePlan(); - //篮筐状态为清洗装载 - assertEquals(getContainerStatus(Constants.Barcode.CLASSIFY_BASKET_1), Container.CONTAINER_STATUS_WASHLOADING); + //篮筐状态为装配完成 + assertEquals(getContainerStatus(Constants.Barcode.CLASSIFY_BASKET_1), Container.CONTAINER_STATUS_PACKED); //清洗 wash(Constants.RinserName.RINSER_2,Constants.CleanMethodName.CLEAN_METHOD_NAME_P5); //篮筐状态为清洗中 Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java =================================================================== diff -u -r26910 -r26913 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java (.../RecyclingRecordAction.java) (revision 26910) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java (.../RecyclingRecordAction.java) (revision 26913) @@ -866,13 +866,8 @@ } } } - if (classifyBasket == null) { - Collection barcodes = new HashSet(); - barcodes.add(container.getBarcode()); - barcodes = containerManager.filterStatusContainer(barcodes, Container.CONTAINER_STATUS_FREE); - if(barcodes.size() > 0){ - classifyBasket = classifyBasketManager.getUnWashedBasket(container.getBarcode()); - } + if (classifyBasket == null && !Container.CONTAINER_STATUS_PACKED.equals(container.getStatus())) { + classifyBasket = classifyBasketManager.getUnWashedBasket(container.getBarcode()); } if (classifyBasket == null) { boolean autoSetIDCardBarcodeForPacking = CssdUtils.getSystemSetConfigByNameBool("autoSetIDCardBarcodeForPacking"); Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r26910 -r26913 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 26910) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 26913) @@ -976,7 +976,7 @@ } } } - }else if(!Container.CONTAINER_STATUS_FREE.equals(container.getStatus())){ + }else if(!Container.CONTAINER_STATUS_PACKED.equals(container.getStatus())){ classifyBasket = getUnWashedBasketByBasketBarcode(unWashedBasketMap, basketBarcode); } if (classifyBasket == null) { @@ -5077,11 +5077,11 @@ for (CustomIntoBasket customIntoBaset : customIntoBaskets) { barcodeSet.add(customIntoBaset.getBarcode()); } - barcodeSet = containerManager.filterStatusContainer(barcodeSet, Container.CONTAINER_STATUS_FREE); + barcodeSet = containerManager.filterStatusContainer(barcodeSet, Container.CONTAINER_STATUS_PACKED,false); for (CustomIntoBasket customIntoBaset : customIntoBaskets) { String barcode = customIntoBaset.getBarcode(); ClassifyBasket basket = null; - if(barcodeSet.contains(barcode)){ + if(!barcodeSet.contains(barcode)){ basket = classifyBasketManager.getUnWashedBasket(barcode); } Double percentage = 0.00; Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManager.java =================================================================== diff -u -r26910 -r26913 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManager.java (.../ContainerManager.java) (revision 26910) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManager.java (.../ContainerManager.java) (revision 26913) @@ -105,8 +105,9 @@ /** * 过滤相应状态的容器条码 * @param barcodes 条码 - * @param status 过滤的状态 + * @param status 状态 + * @param isExclude 是否排除status,true:返回传入状态以外的条码,false:返回传入状态的条码 * @return 条码 */ - public Collection filterStatusContainer(Collection barcodes, String status); + public Collection filterStatusContainer(Collection barcodes, String status, Boolean isExclude); } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManagerImpl.java =================================================================== diff -u -r26910 -r26913 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManagerImpl.java (.../ContainerManagerImpl.java) (revision 26910) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManagerImpl.java (.../ContainerManagerImpl.java) (revision 26913) @@ -655,18 +655,26 @@ return list; } @Override - public Collection filterStatusContainer(Collection barcodes, String status) { + public Collection filterStatusContainer(Collection barcodes, String status, Boolean isExclude) { ResultSet rs = null; Collection result = new HashSet(); try { + String equalSql = ""; + if(isExclude == null || isExclude){ + equalSql = "<>"; + }else{ + equalSql = "="; + } String sql = new StringBuffer(140) .append(" select bd.barcode from ") .append(Container.class.getSimpleName()) .append(" c inner join ") .append(BarcodeDevice.class.getSimpleName()) .append(" bd on c.id=bd.id where ") .append(SqlUtils.getStringFieldInLargeCollectionsPredicate("bd.barcode", barcodes)) - .append(" and status<>'") + .append(" and status") + .append(equalSql) + .append("'") .append(status) .append("'").toString(); rs = objectDao.executeSql(sql);