Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r34629 -r34640 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 34629) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 34640) @@ -6239,8 +6239,8 @@ containerManager.saveOrUpdate(container); }else if(container.washloading()){ //包含二次回收的外来器械包,并且外来器械包还没有清洗时,不能把篮筐状态设置为空闲(HBTSGRYY-8) - boolean containSencondWashForForeignTousse = containSencondWashForeignTousse(basketBarcode); - if(!containSencondWashForForeignTousse){ + boolean containSencondRecycleForeignTousse = containSencondRecycleForeignTousse(basketBarcode); + if(!containSencondRecycleForeignTousse){ container.setStatus(Container.CONTAINER_STATUS_FREE); containerManager.saveOrUpdate(container); } @@ -6252,19 +6252,25 @@ } /** - * 判断容器是否包含二次清洗的外来器械(HBTSGRYY-8) + * 判断容器是否包含二次回收的外来器械包(HBTSGRYY-8) * @param basketBarcode * @return */ - private boolean containSencondWashForeignTousse(String basketBarcode) { + private boolean containSencondRecycleForeignTousse(String basketBarcode) { ClassifyBasket classifyBasket = classifyBasketManager.getUnWashedAndUnPackingBasket(basketBarcode); - if(classifyBasket == null || CollectionUtils.isEmpty(classifyBasket.getClassfiedItems())){ + if(classifyBasket == null){ return false; } - for (ClassifiedItem classfiedItem : classifyBasket.getClassfiedItems()) { - if(classfiedItem.getIsSencondWashForForeignTousse()){ - return true; - } + String countSql = String.format("select count(*) from %s cb " + + "join %s ci on cb.id = ci.classifybasket_id " + + "join %s fta on ci.invoicePlanID = fta.id " + + "where cb.id = %s and fta.userecord_id is not null", + ClassifyBasket.class.getSimpleName(), + ClassifiedItem.class.getSimpleName(), + ForeignTousseApplication.class.getSimpleName(), + classifyBasket.getId()); + if(objectDao.countBySql(countSql) > 0){ + return true; } return false; }