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/LWhFormOutputCoreService.java | 79 +++++++++++++++++++++++++-------------- 1 files changed, 50 insertions(+), 29 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java index 0811cfc..0e49726 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java +++ b/consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java @@ -1,25 +1,33 @@ package com.consum.base.service; -import cn.hutool.core.convert.Convert; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +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.CodeGeneratorEnum; import com.consum.base.core.CodeGeneratorService; import com.consum.base.core.WhBusinessEnum; import com.consum.base.core.param.BaseWarehouseParam1; 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.*; +import com.consum.model.po.LWarehouseFlow; +import com.consum.model.po.LWhFormOutput; +import com.consum.model.po.LWhFormTransfer; +import com.consum.model.po.LWhGoodsRecord; +import com.consum.model.po.LWhProcureModel; 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 cn.hutool.core.convert.Convert; +import lombok.extern.slf4j.Slf4j; /** * @ClassName WhFormOutputCoreService @@ -29,10 +37,10 @@ **/ @Slf4j @Service -@Transactional(rollbackFor = Exception.class) +@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) public class LWhFormOutputCoreService { - private BaseGoodsTemplateServiceImpl baseGoodsTemplateService; + private BaseGoodsTemplateService baseGoodsTemplateService; private LWhGoodsService lWhGoodsService; private CodeGeneratorService codeGeneratorService; private LWhProcureModelService lWhProcureModelService; @@ -40,17 +48,17 @@ private LWhWarningCoreServiceImpl lWhWarningCoreService; private LWarehouseFlowService lWarehouseFlowService; private LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService; - private LWhGoodsRecordService lWhGoodsRecordService; + private LWhGoodsRecordService lWhGoodsRecordServiceImpl; @Autowired - public LWhFormOutputCoreService(BaseGoodsTemplateServiceImpl baseGoodsTemplateService, + public LWhFormOutputCoreService(BaseGoodsTemplateService baseGoodsTemplateService, LWhGoodsService lWhGoodsService, CodeGeneratorService codeGeneratorService, LWhProcureModelService lWhProcureModelService, LWhFormOutputService lWhFormOutputService, LWarehouseFlowService lWarehouseFlowService, LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService, - LWhGoodsRecordService lWhGoodsRecordService, + LWhGoodsRecordService lWhGoodsRecordServiceImpl, LWhWarningCoreServiceImpl lWhWarningCoreService) { this.baseGoodsTemplateService = baseGoodsTemplateService; this.lWhGoodsService = lWhGoodsService; @@ -59,7 +67,7 @@ this.lWhFormOutputService = lWhFormOutputService; this.lWarehouseFlowService = lWarehouseFlowService; this.lWhGoodsRecordDetailsService = lWhGoodsRecordDetailsService; - this.lWhGoodsRecordService = lWhGoodsRecordService; + this.lWhGoodsRecordServiceImpl = lWhGoodsRecordServiceImpl; this.lWhWarningCoreService = lWhWarningCoreService; } @@ -71,7 +79,7 @@ * @return 鍑哄簱鍗旾d */ @Transactional(rollbackFor = Exception.class) - public Long createOutFormByTransId(Long whFormTransferId, S_user_core currentUser, Long dealTime) { + public Long createOutFormByTransId(Long whFormTransferId, WhBusinessEnum businessEnum, S_user_core currentUser, Long dealTime) { if (whFormTransferId == null) { return null; } @@ -88,10 +96,11 @@ } //鐢宠璋冩嫧鐨勭墿鍝� - List<LWhProcureModel> goodsModelNumList = lWhProcureModelService.getModelByForm(WhBusinessEnum.DIAOBO, whFormTransferId); + List<LWhProcureModel> goodsModelNumList = lWhProcureModelService.getModelByForm(businessEnum, whFormTransferId); if (CollectionUtils.isEmpty(goodsModelNumList)) { log.error("娌℃湁瑕佸叆搴撶殑鐗╁搧"); - return null; + throw new RuntimeException("娌℃湁瑕佸叆搴撶殑鐗╁搧"); +// return null; } Long outWarehouseId = lWhFormTransfer.getOutWarehouseId(); String outWarehouseName = lWhFormTransfer.getOutWarehouseName(); @@ -103,7 +112,7 @@ // 璋冩嫧鍗曠墿鍝� 宸茬粡鎸夊瀷鍙峰垎濂戒簡 goodsModelNumList.forEach(itemModelInfo -> { // 澶嶇敤瀵硅薄 - itemModelInfo.setId(NumberGenerator.getLongSequenceNumber()); + itemModelInfo.setId(IdUtil.generateId()); itemModelInfo.setFromProcureGoodsId(null); itemModelInfo.setBusinessType(3); itemModelInfo.setBusinessId(outWarehouseFormId); @@ -152,7 +161,7 @@ * @return 娴佹按璁板綍鎬昏〃ID */ @Transactional(rollbackFor = Exception.class) - public Long outFormByTransId(Long outWarehouseFormId, WhBusinessEnum businessType, S_user_core currentUser, Long dealTime) { + public Long outFormByTransId(Long outWarehouseFormId, WhBusinessEnum businessType, S_user_core currentUser, Long dealTime, Long whFormTransferId) { if (outWarehouseFormId == null) { return null; } @@ -189,18 +198,24 @@ //閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛� Integer buyTypeT = null; Integer modGoodsTransferingStatusT = null; - String outputCode = lWhFormOutput.getOutputCode(); - if ((BaseWarehouseParam1.In_OutPutTypeEnum.Transfer_Output.getValue() + "").equals(outputCode)) { + short businessTypeValue = businessType.getValue(); + if (BaseWarehouseParam1.In_OutPutTypeEnum.Transfer_Output.getValue() == businessTypeValue) { //璋冩嫧鍑哄簱 queryModelStatusT = 1; buyTypeT = 1; lWarehouseFlowBusinessId = lWhFormOutput.getTransBusinessId(); modGoodsTransferingStatusT = 0; - } else if ((BaseWarehouseParam1.In_OutPutTypeEnum.Dept_Lending_Out.getValue() + "").equals(outputCode)) { + } else if (BaseWarehouseParam1.In_OutPutTypeEnum.Dept_Lending_Out.getValue() == businessTypeValue) { // 閮ㄩ棬浠撳簱 鍒嗗彂鍑哄簱 // queryModelStatusT = 2; - } else if ((BaseWarehouseParam1.In_OutPutTypeEnum.Fragmentary_Output.getValue() + "").equals(outputCode)) { + lWarehouseFlowBusinessId = lWhFormOutput.getTransBusinessId(); + } else if (BaseWarehouseParam1.In_OutPutTypeEnum.Fragmentary_Output.getValue() == businessTypeValue) { // 闆舵槦鍑哄簱 + queryModelStatusT = 1; + buyTypeT = null; + modGoodsTransferingStatusT = 4; + } else if (BaseWarehouseParam1.In_OutPutTypeEnum.Inventory_Output.getValue() == businessTypeValue) { + // 鐩樼偣鍑哄簱 queryModelStatusT = 1; buyTypeT = null; modGoodsTransferingStatusT = 4; @@ -213,7 +228,11 @@ goodsModelNumList.forEach(itemModelInfo -> { // 闇�瑕佽皟鎷ㄧ殑鐗╁搧鐨勬煇涓瀷鍙� Long baseGoodsModelsId = itemModelInfo.getBaseGoodsModelsId(); - allChangModelList.add(baseGoodsModelsId); + + //TODO 涓虹┖鏃朵笉鍔犲叆鏇存柊鍒楄〃 + if (baseGoodsModelsId != null) { + allChangModelList.add(baseGoodsModelsId); + } // 闇�瑕佽皟鎷ㄧ殑鐗╁搧鏌愪釜鍨嬪彿鐨勬暟閲� Integer counts = itemModelInfo.getCounts(); @@ -271,7 +290,7 @@ long totalAmount = lWhGoodsService.queryGoodsPriceById(outGoodsId); LWhProcureModel lWhProcureModel = new LWhProcureModel(itemModelInfo.getId()); whGoodsRecord.setTotalPrice(totalAmount); - lWhGoodsRecordService.insert(whGoodsRecord); + lWhGoodsRecordServiceImpl.insert(whGoodsRecord); lWhProcureModel.setTotalAmount(totalAmount); lWhProcureModelService.update(lWhProcureModel); }); @@ -282,7 +301,7 @@ warehouseFlow.setThisType(2); warehouseFlow.setBusinessType(businessType.getValue() + 0); - warehouseFlow.setBusinessFormId(lWarehouseFlowBusinessId); + warehouseFlow.setBusinessFormId(whFormTransferId == null ? lWarehouseFlowBusinessId : whFormTransferId); warehouseFlow.setOperatorId(userId); warehouseFlow.setOperatorName(nickName); warehouseFlow.setDealTime(dealTime); @@ -298,7 +317,9 @@ lWhFormOutputService.update(lWhFormOutput); //褰撳簱瀛樺彉鍔ㄦ椂璋冪敤璇ユ柟娉� - lWhWarningCoreService.updateKuCun(Convert.toShort(outWarehouseType, (short) 0), outWarehouseId, allChangModelList, null, dealTime); + if (outWarehouseType == 0) { + lWhWarningCoreService.updateKuCun(Convert.toShort(outWarehouseType, (short) 0), outWarehouseId, allChangModelList, null, dealTime); + } return lWarehouseFlowId; } -- Gitblit v1.9.1