Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r20903 -r20936 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 20903) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 20936) @@ -3919,7 +3919,7 @@ } //更新清洗明细记录及修改删除对应的装配任务 - updatePackingTask(currentPackingTaskAsList, packingAmountForThisTask , tousseName); + updatePackingTask(currentPackingTaskAsList, packingAmountForThisTask , tousseName,tousseInstances.size()); //判断如果配置二级供应室是否自动发货不为否才自动发货,否则不自动发货 if(supplyRoomConfig.getSupplyRoomType() == SupplyRoomConfig.SUPPLYROOM_TYPE_SECOND_SUPPLYROOM @@ -4547,10 +4547,10 @@ * @param tousseName 器械包名称 * @param basketBarcode 清洗篮筐条码 */ - private void updatePackingTask(List packingTaskList, Integer currentPackAmount , String tousseName){ + private void updatePackingTask(List packingTaskList, Integer currentPackAmount , String tousseName,int tousseSize){ int leftAmount = currentPackAmount; boolean allowForeignToussePartiallyPacking = CssdUtils.getSystemSetConfigByNameBool("allowForeignToussePartiallyPacking"); - + int reducedAmount = 0; Map map = new HashMap(); for(PackingTask packingTask : packingTaskList){ Integer unPackAmount = packingTask.getUnPackAmount(); @@ -4579,10 +4579,12 @@ packingTask.setUnPackAmount(packingTask.getUnPackAmount() - unPackAmount); save(packingTask); } + reducedAmount += unPackAmount; }else{ // 修改待装配数量 packingTask.setUnPackAmount(packingTask.getUnPackAmount() - leftAmount); save(packingTask); + reducedAmount += leftAmount; break; } } @@ -4591,6 +4593,10 @@ updateContainerStatus(basketBarcodeStr); } } + if(reducedAmount != tousseSize){ + String message = String.format("装配任务减少的数量和生成的包实例数量不一致,装配减少%s个,包实例%s个", reducedAmount,tousseSize); + logger.error(message); + } } /**