Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r34532 -r34624 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 34532) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 34624) @@ -6226,8 +6226,12 @@ container.setStatus(Container.CONTAINER_STATUS_PACKED); containerManager.saveOrUpdate(container); }else if(container.washloading()){ - container.setStatus(Container.CONTAINER_STATUS_FREE); - containerManager.saveOrUpdate(container); + //包含二次回收的外来器械包,并且外来器械包还没有清洗时,不能把篮筐状态设置为空闲(HBTSGRYY-8) + boolean containSencondWashForForeignTousse = containSencondWashForeignTousse(basketBarcode); + if(!containSencondWashForForeignTousse){ + container.setStatus(Container.CONTAINER_STATUS_FREE); + containerManager.saveOrUpdate(container); + } } } } @@ -6236,6 +6240,24 @@ } /** + * 判断容器是否包含二次清洗的外来器械(HBTSGRYY-8) + * @param basketBarcode + * @return + */ + private boolean containSencondWashForeignTousse(String basketBarcode) { + ClassifyBasket classifyBasket = classifyBasketManager.getUnWashedAndUnPackingBasket(basketBarcode); + if(classifyBasket == null || CollectionUtils.isEmpty(classifyBasket.getClassfiedItems())){ + return false; + } + for (ClassifiedItem classfiedItem : classifyBasket.getClassfiedItems()) { + if(classfiedItem.getIsSencondWashForForeignTousse()){ + return true; + } + } + return false; + } + + /** * 创建器械包实例 * @param operator * @param operatorCode