From ceecebe477faf5a45b19f3b258f7add8f93b4583 Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期二, 05 十二月 2023 10:00:24 +0800 Subject: [PATCH] 代码优化 结构调整 --- consum-base/src/main/java/com/consum/base/service/LWhFormScrappedCoreService.java | 89 ++++++++++++++++++++++++++------------------ 1 files changed, 53 insertions(+), 36 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 d4b1cb4..c1a5c9e 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,68 @@ package com.consum.base.service; -import com.consum.base.core.WhBusinessEnum; -import com.consum.base.core.util.LockManage; -import com.consum.model.po.*; -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.Transactional; -import org.springframework.transaction.interceptor.TransactionAspectSupport; - +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; +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 com.consum.base.core.WhBusinessEnum; +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 cn.hutool.core.convert.Convert; +import lombok.extern.slf4j.Slf4j; + /** * @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 LWhFormScrappedServiceImpl lWhFormScrappedService; + + private GoodsBaseServiceImpl goodsBaseService; private LWhFormScrappedGoodsService lWhFormScrappedGoodsService; - private BaseGoodsTemplateServiceImpl baseGoodsTemplateService; + private BaseGoodsTemplateService baseGoodsTemplateService; private LWhGoodsService lWhGoodsService; private LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService; - private LWhGoodsRecordService lWhGoodsRecordService; + private LWhGoodsRecordService lWhGoodsRecordServiceImpl; private LWarehouseFlowService lWarehouseFlowService; + private LWhWarningCoreServiceImpl lWhWarningCoreService; @Autowired - public LWhFormScrappedCoreService(LWhFormScrappedServiceImpl lWhFormScrappedService, + public LWhFormScrappedCoreService(GoodsBaseServiceImpl goodsBaseService, LWhFormScrappedGoodsService lWhFormScrappedGoodsService, - BaseGoodsTemplateServiceImpl baseGoodsTemplateService, + BaseGoodsTemplateService baseGoodsTemplateService, LWhGoodsService lWhGoodsService, LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService, - LWhGoodsRecordService lWhGoodsRecordService, - LWarehouseFlowService lWarehouseFlowService) { - this.lWhFormScrappedService = lWhFormScrappedService; + LWhGoodsRecordService lWhGoodsRecordServiceImpl, + LWarehouseFlowService lWarehouseFlowService, + LWhWarningCoreServiceImpl lWhWarningCoreService) { +// this.lWhFormScrappedService = lWhFormScrappedService; this.lWhFormScrappedGoodsService = lWhFormScrappedGoodsService; this.baseGoodsTemplateService = baseGoodsTemplateService; this.lWhGoodsService = lWhGoodsService; this.lWhGoodsRecordDetailsService = lWhGoodsRecordDetailsService; - this.lWhGoodsRecordService = lWhGoodsRecordService; + this.lWhGoodsRecordServiceImpl = lWhGoodsRecordServiceImpl; this.lWarehouseFlowService = lWarehouseFlowService; + this.goodsBaseService = goodsBaseService; + this.lWhWarningCoreService = lWhWarningCoreService; } @@ -64,7 +78,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 +91,7 @@ Long warehouseId = lWhFormScrapped.getWarehouseId(); String warehouseName = lWhFormScrapped.getWarehouseName(); // 娴佹按璁板綍鎬昏〃ID - long lWarehouseFlowId = NumberGenerator.getLongSequenceNumberNano(); + long lWarehouseFlowId = IdUtil.generateId(); //瑕佹姤搴熺殑鐗╁搧 LWhFormScrappedGoods goods = new LWhFormScrappedGoods(); @@ -89,10 +103,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 +121,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 +153,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,11 +167,11 @@ 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); } - lWhGoodsRecordService.insert(whGoodsRecord); + lWhGoodsRecordServiceImpl.insert(whGoodsRecord); } } @@ -174,18 +193,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