From 6d356442b2209d17869a4156356ecfa3a8321e74 Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期四, 21 十二月 2023 15:29:07 +0800 Subject: [PATCH] 调拨撤销时进行状态检查 --- consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java | 58 ++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 32 insertions(+), 26 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java index 6508add..27149d7 100644 --- a/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java +++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java @@ -13,6 +13,7 @@ import javax.servlet.http.HttpServletResponse; import org.apache.commons.compress.utils.Lists; +import org.apache.commons.lang3.ObjectUtils; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -23,6 +24,8 @@ import com.consum.base.BaseController; import com.consum.base.core.WhBusinessEnum; +import com.consum.base.core.type.StatesType; +import com.consum.base.core.type.TransferStatesType; import com.consum.base.core.utils.CommonUtil; import com.consum.base.core.utils.IdUtil; import com.consum.base.pojo.GoodsUseRecordVO; @@ -48,6 +51,7 @@ import com.consum.base.service.LWhProcureModelUserRecordService; import com.consum.base.service.LWhProcureModelUserService; import com.consum.base.service.impl.LWhFormTransferCoreService; +import com.consum.model.po.BaseWarehouse; import com.consum.model.po.FinSysTenantUser; import com.consum.model.po.LWhFormTransfer; import com.consum.model.po.LWhProcureModel; @@ -88,11 +92,11 @@ @Autowired private LWhProcureModelUserRecordService lWhProcureModelUserRecordService; @Autowired - private BaseWarehouseService baseWarehouseService; - @Autowired private LGoodsUserRecordCoreService lGoodsUserRecordCoreService; @Autowired private LWhGoodsService lWhGoodsService; + @Autowired + private BaseWarehouseService baseWarehouseService; /** * @Description 鏂板 @@ -121,23 +125,21 @@ if (transferBusinessType == 1) { // 鍏堝嚭搴擄紝鍐嶅叆搴� // 鍑哄簱鍓� 璁剧疆鍑哄簱浠撳簱 - List<LWhProcureModel> modelByForm = lWhProcureModelService.getModelByForm(WhBusinessEnum.DIAOBO, id); + List<LWhProcureModel> modelByForm = lWhProcureModelService.getModelByForm(WhBusinessEnum.BUMENFENFA, id); Set<Long> baseModelIds = modelByForm.stream().map(LWhProcureModel::getBaseGoodsModelsId).collect(Collectors.toSet()); - // TODO 涓嶅悓搴撳鐞� + FinSysTenantUser sysTenantUser = this.getSysInfo(); + String agencyId = sysTenantUser.getTenantId(); + List<BaseWarehouse> baseWarehouseList = + baseWarehouseService.getBaseWareHouseList(Long.valueOf(agencyId), StatesType.NORMAL.getValue()); + Set<Long> wareHouseIds = baseWarehouseList.stream().map(BaseWarehouse::getId).collect(Collectors.toSet()); // 閫氳繃璋冩嫧鍗曚腑鐨勫瀷鍙穒d鏌ヨ鍑鸿鍨嬪彿鐗╁搧鎵�鍦ㄧ殑浠撳簱浣嶇疆 - List<GoodsInfoDTO> goodsInfoDTOS = lWhGoodsService.queryGoodsInfo(baseModelIds); + List<GoodsInfoDTO> goodsInfoDTOS = lWhGoodsService.queryGoodsInfo(baseModelIds, wareHouseIds); GoodsInfoDTO goodsInfoDTO = goodsInfoDTOS.stream().findFirst().orElse(null); - - // FinSysTenantUser sysTenantUser = this.getSysInfo(); - // String agencyId = sysTenantUser.getTenantId(); - // List<BaseWarehouse> baseWarehouseList = - // baseWarehouseService.getBaseWareHouseList(Long.valueOf(agencyId), (short)1, (short)1); - // if (CollectionUtils.isEmpty(baseWarehouseList)) { - // return ResponseValue.error("鏈烘瀯鏃犻粯璁や粨搴擄紒"); - // } - // BaseWarehouse baseWarehouse = baseWarehouseList.get(0); + if (ObjectUtils.isEmpty(goodsInfoDTO)) { + return ResponseValue.error("璇ュ瀷鍙锋病鏈夊簱瀛樺彲浣跨敤"); + } Long wareHouseId = goodsInfoDTO.getWarehouseId(); String warehouseName = goodsInfoDTO.getWarehouseName(); @@ -253,6 +255,10 @@ if (id == null) { return ResponseValue.error("鍙傛暟閿欒"); } + LWhFormTransfer lWhFormTransfer = lWhFormTransferService.selectById(id); + if (lWhFormTransfer.getStates() != TransferStatesType.OUT_PENDING.getValue()) { + return ResponseValue.error("鐘舵�侀敊璇紝涓嶈兘鎾ら攢"); + } int num = this.lWhFormTransferService.updateStatus(id); return num > 0 ? ResponseValue.success(1) : ResponseValue.error("淇敼澶辫触锛�"); @@ -285,19 +291,18 @@ Set<Long> baseModelIds = modelByForm.stream().map(LWhProcureModel::getBaseGoodsModelsId).collect(Collectors.toSet()); - // TODO 涓嶅悓搴撳鐞� - // 閫氳繃璋冩嫧鍗曚腑鐨勫瀷鍙穒d鏌ヨ鍑鸿鍨嬪彿鐗╁搧鎵�鍦ㄧ殑浠撳簱浣嶇疆 - List<GoodsInfoDTO> goodsInfoDTOS = lWhGoodsService.queryGoodsInfo(baseModelIds); - GoodsInfoDTO goodsInfoDTO = goodsInfoDTOS.stream().findFirst().orElse(null); - // 鍑哄簱鍓� 璁剧疆鍑哄簱浠撳簱 - // FinSysTenantUser sysTenantUser = this.getSysInfo(); - // String agencyId = sysTenantUser.getTenantId(); - // List<BaseWarehouse> baseWarehouseList = - // baseWarehouseService.getBaseWareHouseList(Long.valueOf(agencyId), (short)1, (short)1); - // if (CollectionUtils.isEmpty(baseWarehouseList)) { - // return ResponseValue.error("鏈烘瀯鏃犻粯璁や粨搴擄紒"); - // } + FinSysTenantUser sysTenantUser = this.getSysInfo(); + String agencyId = sysTenantUser.getTenantId(); + List<BaseWarehouse> baseWarehouseList = + baseWarehouseService.getBaseWareHouseList(Long.valueOf(agencyId), StatesType.NORMAL.getValue()); + Set<Long> wareHouseIds = baseWarehouseList.stream().map(BaseWarehouse::getId).collect(Collectors.toSet()); + // 閫氳繃璋冩嫧鍗曚腑鐨勫瀷鍙穒d鏌ヨ鍑鸿鍨嬪彿鐗╁搧鎵�鍦ㄧ殑浠撳簱浣嶇疆 + List<GoodsInfoDTO> goodsInfoDTOS = lWhGoodsService.queryGoodsInfo(baseModelIds, wareHouseIds); + GoodsInfoDTO goodsInfoDTO = goodsInfoDTOS.stream().findFirst().orElse(null); + if (ObjectUtils.isEmpty(goodsInfoDTO)) { + return ResponseValue.error("璇ュ瀷鍙锋病鏈夊簱瀛樺彲浣跨敤"); + } Long wareHouseId = goodsInfoDTO.getWarehouseId(); String warehouseName = goodsInfoDTO.getWarehouseName(); LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(id); @@ -502,6 +507,7 @@ goodsUseRecordVO.setRecordSkuDtoList(useRecordSkuList); return goodsUseRecordVO; + }).sorted(Comparator.comparing(GoodsUseRecordVO::getUpdateTime, Comparator.nullsFirst(Long::compareTo)) .reversed()) .collect(Collectors.toList()); -- Gitblit v1.9.1