From b7a353e571a503a3dfb970af069efc0a65208839 Mon Sep 17 00:00:00 2001 From: cy <1664593601@qq.com> Date: 星期六, 02 十二月 2023 18:08:53 +0800 Subject: [PATCH] feat: 部门物品报废 --- consum-base/src/main/java/com/consum/base/service/LWhFormScrappedCoreService.java | 57 ++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 36 insertions(+), 21 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedCoreService.java index 31c2524..fef5945 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedCoreService.java +++ b/consum-base/src/main/java/com/consum/base/service/LWhFormScrappedCoreService.java @@ -1,54 +1,66 @@ package com.consum.base.service; +import cn.hutool.core.convert.Convert; import com.consum.base.core.WhBusinessEnum; -import com.consum.base.core.util.LockManage; -import com.consum.model.po.*; +import com.consum.base.core.service.LWhWarningCoreServiceImpl; +import com.consum.base.core.utils.IdUtil; +import com.consum.base.core.utils.LockManage; +import com.consum.model.po.LWarehouseFlow; +import com.consum.model.po.LWhFormScrapped; +import com.consum.model.po.LWhFormScrappedGoods; +import com.consum.model.po.LWhGoodsRecord; import com.iplatform.model.po.S_user_core; import com.walker.infrastructure.utils.CollectionUtils; -import com.walker.infrastructure.utils.NumberGenerator; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * @ClassName LWhFormScrappedCoreService - * @Author cy * @Date 2023/10/30 * @Description * @Version 1.0 **/ @Service @Slf4j +@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) public class LWhFormScrappedCoreService { - private LWhFormScrappedService lWhFormScrappedService; + + private GoodsBaseServiceImpl goodsBaseService; private LWhFormScrappedGoodsService lWhFormScrappedGoodsService; private BaseGoodsTemplateServiceImpl baseGoodsTemplateService; private LWhGoodsService lWhGoodsService; private LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService; private LWhGoodsRecordService lWhGoodsRecordService; private LWarehouseFlowService lWarehouseFlowService; + private LWhWarningCoreServiceImpl lWhWarningCoreService; @Autowired - public LWhFormScrappedCoreService(LWhFormScrappedService lWhFormScrappedService, + public LWhFormScrappedCoreService(GoodsBaseServiceImpl goodsBaseService, LWhFormScrappedGoodsService lWhFormScrappedGoodsService, BaseGoodsTemplateServiceImpl baseGoodsTemplateService, LWhGoodsService lWhGoodsService, LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService, LWhGoodsRecordService lWhGoodsRecordService, - LWarehouseFlowService lWarehouseFlowService) { - this.lWhFormScrappedService = lWhFormScrappedService; + LWarehouseFlowService lWarehouseFlowService, + LWhWarningCoreServiceImpl lWhWarningCoreService) { +// this.lWhFormScrappedService = lWhFormScrappedService; this.lWhFormScrappedGoodsService = lWhFormScrappedGoodsService; this.baseGoodsTemplateService = baseGoodsTemplateService; this.lWhGoodsService = lWhGoodsService; this.lWhGoodsRecordDetailsService = lWhGoodsRecordDetailsService; this.lWhGoodsRecordService = lWhGoodsRecordService; this.lWarehouseFlowService = lWarehouseFlowService; + this.goodsBaseService = goodsBaseService; + this.lWhWarningCoreService = lWhWarningCoreService; } @@ -64,7 +76,7 @@ return null; } LWhFormScrapped lWhFormScrapped = new LWhFormScrapped(formScrappedId); - lWhFormScrapped = lWhFormScrappedService.get(lWhFormScrapped); + lWhFormScrapped = goodsBaseService.get(lWhFormScrapped); if (lWhFormScrapped != null && lWhFormScrapped.getStates() != 0) { log.error("鎶ュ簾澶辫触锛佽妫�鏌ユ姤搴熷崟鐘舵��"); return null; @@ -77,7 +89,7 @@ Long warehouseId = lWhFormScrapped.getWarehouseId(); String warehouseName = lWhFormScrapped.getWarehouseName(); // 娴佹按璁板綍鎬昏〃ID - long lWarehouseFlowId = NumberGenerator.getLongSequenceNumberNano(); + long lWarehouseFlowId = IdUtil.generateId(); //瑕佹姤搴熺殑鐗╁搧 LWhFormScrappedGoods goods = new LWhFormScrappedGoods(); @@ -89,10 +101,14 @@ } // 鎸夊瀷鍙峰垎缁� - Map<Long, List<LWhFormScrappedGoods>> modelGroup = formScrappedGoods.stream().collect(Collectors.groupingBy(LWhFormScrappedGoods::getBaseGoodsModelsId)); + ArrayList<Long> allChangModelList = new ArrayList<>(); + + Map<Long, List<LWhFormScrappedGoods>> modelGroup = formScrappedGoods.stream() + .collect(Collectors.groupingBy(LWhFormScrappedGoods::getBaseGoodsModelsId)); for (Map.Entry<Long, List<LWhFormScrappedGoods>> entry : modelGroup.entrySet()) { //瑙勬牸鍨嬪彿缂栧彿 Long baseGoodsModelsId = entry.getKey(); + allChangModelList.add(baseGoodsModelsId); //瀵规瘡缁勪腑瑕佹姤搴熺殑鏁伴噺姹傚拰 List<LWhFormScrappedGoods> modelGoodsList = entry.getValue(); //鏌ヨ鍨嬪彿淇℃伅 @@ -103,7 +119,7 @@ String goodsName = (String) tempGoodsInfo.get("goodsname"); String modelName = (String) tempGoodsInfo.get("modelname"); // 鎻掑叆 鍚勮鏍肩墿鍝佺殑杩涘嚭搴撹褰� L_WH_GOODS_RECORD - long whGoodsRecordId = NumberGenerator.getLongSequenceNumberNano(); + long whGoodsRecordId = IdUtil.generateId(); LWhGoodsRecord whGoodsRecord = new LWhGoodsRecord(); whGoodsRecord.setId(whGoodsRecordId); whGoodsRecord.setWarehouseType(warehouseType); @@ -135,7 +151,8 @@ //浣跨敤浜哄憳鍚嶇О String userName = formScrappedGood.getUserName(); // 鏍规嵁鍒嗗彂鍗曘�佽鏍煎瀷鍙风紪鍙枫�佷娇鐢ㄤ汉鍛樺悕绉帮紝杩涜鎶ュ簾 - srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(warehouseType, warehouseId, transBusinessId, userName, baseGoodsModelsId, (short) 2, counts); + srappedGoodsIds = lWhGoodsService.queryScrappedGoodsIds(warehouseType, warehouseId, transBusinessId, userName, baseGoodsModelsId, + (short) 2, counts); } if (CollectionUtils.isEmpty(srappedGoodsIds) || srappedGoodsIds.size() < counts) { log.error("瑕佹姤搴熺殑鐗╁搧鏁伴噺涓嶈冻锛�"); @@ -148,7 +165,7 @@ whGoodsRecord.setEndCount(goodsModelNum - counts); // 璁剧疆鐗╁搧涓烘姤搴熺姸鎬� - lWhGoodsService.modGoodsTransfering(srappedGoodsIds, null, null, null, (short) 3); + lWhGoodsService.modGoodsTransfering(srappedGoodsIds, null, null, null, 3); // 鎵归噺鎻掑叆 杩涘嚭搴撴祦姘存槑缁哰L_WH_GOODS_RECORD_DETAILS] lWhGoodsRecordDetailsService.sameGoodsInsertMore(srappedGoodsIds, whGoodsRecordId, (short) 2); } @@ -174,18 +191,16 @@ return null; } // 鏇存柊鎶ュ簾鍗� - lWhFormScrapped = new LWhFormScrapped(formScrappedId); - lWhFormScrapped = lWhFormScrappedService.get(lWhFormScrapped); - if (lWhFormScrapped != null && lWhFormScrapped.getStates() != 0) { - log.error("鎶ュ簾澶辫触锛佽妫�鏌ユ姤搴熷崟鐘舵��"); - return null; - } + lWhFormScrapped = new LWhFormScrapped(formScrappedId); lWhFormScrapped.setLWarehouseFlowId(lWarehouseFlowId); lWhFormScrapped.setStates(1); lWhFormScrapped.setOperatorId(userId); lWhFormScrapped.setOperatorName(nickName); lWhFormScrapped.setDealTime(dealTime); - lWhFormScrappedService.update(lWhFormScrapped); + goodsBaseService.update(lWhFormScrapped); + + //褰撳簱瀛樺彉鍔ㄦ椂璋冪敤璇ユ柟娉� + lWhWarningCoreService.updateKuCun(Convert.toShort(warehouseType,(short) 0), warehouseId, allChangModelList, null, dealTime); return lWarehouseFlowId; } -- Gitblit v1.9.1