Index: ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java =================================================================== diff -u -r32078 -r33002 --- ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java (.../WashAndDisinfectRecordManagerImpl.java) (revision 32078) +++ ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java (.../WashAndDisinfectRecordManagerImpl.java) (revision 33002) @@ -111,6 +111,7 @@ import com.forgon.systemsetting.service.HttpOptionManager; import com.forgon.timeout.model.TimeoutSetting; import com.forgon.timeout.service.TimeoutManager; +import com.forgon.tools.MathTools; import com.forgon.tools.date.DateTools; import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.db.InitDbConnection; @@ -462,6 +463,33 @@ classifyBasketIds = SetUtils.emptyIfNull(classifyBasketIds); if(!isNewRecord){ + if(MapUtils.isNotEmpty(toDeleteBasketMap)){ + List delClassifyBaskets = new ArrayList(); + for (Long id : toDeleteBasketMap.keySet()) { + boolean find = false; + for (Long findId : classifyBasketIds) { + if(MathTools.equals(findId, id)){ + find = true; + break; + } + } + if(!find){ + delClassifyBaskets.add(toDeleteBasketMap.get(id)); + } + } + if(CollectionUtils.isNotEmpty(delClassifyBaskets)){ + for (ClassifyBasket classifyBasket : delClassifyBaskets) { + BarcodeDevice barcodeDevice = barcodeManager + .getBarcodeByBarcode(classifyBasket.getContainerBarcode()); + if (barcodeDevice instanceof Container) { + Container container = (Container) barcodeDevice; + if(Container.CONTAINER_STATUS_WASHLOADING.equals(container.getStatus())){ + throw new SystemException(container.getContainerName() + "的状态为"+ Container.CONTAINER_STATUS_WASHLOADING +",不允许从清洗记录中移除,请完成清洗后再进行处理。"); + } + } + } + } + } //清理旧篮筐关联关系 cleanOldBasketRelation(washRecord); }