| | |
| | | package com.consum.base.service.impl; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | |
| | | // 报废单编号 |
| | | Long transBusinessId = formScrappedGood.getTransBusinessId(); |
| | | |
| | | // 获得锁后查询该型号的期初数量 |
| | | int goodsModelNum = 0; |
| | | List<Long> srappedGoodsIds = null; |
| | | if (warehouseType == null || warehouseType == 0) { |
| | | List<Long> warehouseIds = new ArrayList<>(Arrays.asList(warehouseId)); |
| | | goodsModelNum = |
| | | lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseIds, baseGoodsModelsId, 1, null); |
| | | srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(warehouseType, warehouseId, null, null, |
| | | baseGoodsModelsId, (short)1, counts); |
| | | } else { |
| | |
| | | // 根据分发单、规格型号编号、使用人员名称,进行报废 |
| | | srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(warehouseType, warehouseId, |
| | | transBusinessId, userName, baseGoodsModelsId, (short)2, counts); |
| | | List<Long> warehouseIds = new ArrayList<>(Arrays.asList(warehouseId)); |
| | | goodsModelNum = |
| | | lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseIds, baseGoodsModelsId, 2, null); |
| | | } |
| | | |
| | | if (goodsModelNum < counts) { |
| | | log.error("要报废的物品数量不足"); |
| | | // 手动回滚 |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | throw new RuntimeException("出库失败!型号数量不足"); |
| | | } |
| | | |
| | | if (CollectionUtils.isEmpty(srappedGoodsIds) || srappedGoodsIds.size() < counts) { |