Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r34012 -r34087 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 34012) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 34087) @@ -1132,18 +1132,30 @@ String basketBarcode = basketItemVo.getBasketBarcode(); Long basketId = basketItemVo.getBasketId(); Container container = getContainerByBarcode(containerMap, basketBarcode); - JSONObject errorObj = washAndDisinfectRecordManager.containerCanRecycle(container); - if(errorObj != null){ - String systemExceptionMsg = errorObj.optString("systemExceptionMsg"); - if(StringUtils.isNotBlank(systemExceptionMsg)){ - throw new SystemException(systemExceptionMsg); + ClassifyBasket classifyBasket = null; + //新篮筐要判断是否可以回收 + if(CssdUtils.getSystemSetConfigByNameBool("recycleClassifyBasketAfterPacked",true)){ + boolean isNewClassifyBasket = true; + for (ClassifyBasket basket : record.getClassifyBaskets()) { + if (StringUtils.equals(basket.getContainerBarcode(),container.getBarcode())) { + isNewClassifyBasket = false; + break; + } } - String unfinishedPackingTaskExceptionMsg = errorObj.optString("unfinishedPackingTaskExceptionMsg"); - if(StringUtils.isNotBlank(unfinishedPackingTaskExceptionMsg)){ - throw new UnfinishedPackingTaskException(unfinishedPackingTaskExceptionMsg, errorObj.optJSONArray("waitPackingTask")); + if(isNewClassifyBasket){ + JSONObject errorObj = washAndDisinfectRecordManager.containerCanRecycle(container); + if(errorObj != null){ + String systemExceptionMsg = errorObj.optString("systemExceptionMsg"); + if(StringUtils.isNotBlank(systemExceptionMsg)){ + throw new SystemException(systemExceptionMsg); + } + String unfinishedPackingTaskExceptionMsg = errorObj.optString("unfinishedPackingTaskExceptionMsg"); + if(StringUtils.isNotBlank(unfinishedPackingTaskExceptionMsg)){ + throw new UnfinishedPackingTaskException(unfinishedPackingTaskExceptionMsg, errorObj.optJSONArray("waitPackingTask")); + } + } } } - ClassifyBasket classifyBasket = null; if (DatabaseUtil.isPoIdValid(basketId)) { classifyBasket = getClassifyBasketById(basketMap,basketId); //修改回收记录时已清洗的篮筐不能再追加物品 @@ -8867,12 +8879,8 @@ ClassifyBasket classifyBasket = null; JSONObject obj = null; if (container != null && container.isCleanBasket()) { - obj = washAndDisinfectRecordManager.containerCanRecycle(container); - if(obj != null){ - vo.setErrorObj(obj); - return vo; - } RecyclingRecord recyclingRecord = get(recyclingRecordId); + if (recyclingRecord != null) { for (ClassifyBasket basket : recyclingRecord.getClassifyBaskets()) { if (StringUtils.equals(basket.getContainerBarcode(),container.getBarcode())) { @@ -8881,6 +8889,13 @@ } } } + if(classifyBasket == null && CssdUtils.getSystemSetConfigByNameBool("recycleClassifyBasketAfterPacked",true)){ + obj = washAndDisinfectRecordManager.containerCanRecycle(container); + if(obj != null){ + vo.setErrorObj(obj); + return vo; + } + } if (classifyBasket == null) { Set barcodes = new HashSet(); barcodes.add(container.getBarcode());