From c29479a57db73c4dd379788d1b819e716ff7e1c1 Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期二, 28 十一月 2023 10:39:39 +0800 Subject: [PATCH] 参数赋值,漏洞修复 --- consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java | 38 +++++++++++++++++++++++++++----------- 1 files changed, 27 insertions(+), 11 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 c1bfa39..dd3ce96 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,9 +1,11 @@ package com.consum.base.service; +import cn.hutool.core.convert.Convert; 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.LockManage; import com.consum.model.po.*; import com.iplatform.model.po.S_user_core; @@ -12,9 +14,11 @@ 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; @@ -26,7 +30,7 @@ **/ @Slf4j @Service -@Transactional(rollbackFor = Exception.class) +@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) public class LWhFormOutputCoreService { private BaseGoodsTemplateServiceImpl baseGoodsTemplateService; @@ -34,6 +38,7 @@ private CodeGeneratorService codeGeneratorService; private LWhProcureModelService lWhProcureModelService; private LWhFormOutputService lWhFormOutputService; + private LWhWarningCoreServiceImpl lWhWarningCoreService; private LWarehouseFlowService lWarehouseFlowService; private LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService; private LWhGoodsRecordService lWhGoodsRecordService; @@ -46,7 +51,8 @@ LWhFormOutputService lWhFormOutputService, LWarehouseFlowService lWarehouseFlowService, LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService, - LWhGoodsRecordService lWhGoodsRecordService) { + LWhGoodsRecordService lWhGoodsRecordService, + LWhWarningCoreServiceImpl lWhWarningCoreService) { this.baseGoodsTemplateService = baseGoodsTemplateService; this.lWhGoodsService = lWhGoodsService; this.codeGeneratorService = codeGeneratorService; @@ -55,6 +61,7 @@ this.lWarehouseFlowService = lWarehouseFlowService; this.lWhGoodsRecordDetailsService = lWhGoodsRecordDetailsService; this.lWhGoodsRecordService = lWhGoodsRecordService; + this.lWhWarningCoreService = lWhWarningCoreService; } @@ -146,7 +153,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) { if (outWarehouseFormId == null) { return null; } @@ -179,33 +186,40 @@ long lWarehouseFlowBusinessId = outWarehouseFormId; // 鐗╁搧鐘舵�侊紙0=鍦ㄩ�旇皟鎷紱1=鍏ュ簱鏈垎鍙戯紱2=宸蹭笅鍙戯紱3=鎶ュ簾锛� - short queryModelStatusT = 1; + Integer queryModelStatusT = 1; //閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛� - Short buyTypeT = null; + 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)) { + } 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; } - short queryModelStatus = queryModelStatusT; - Short buyType = buyTypeT; + Integer queryModelStatus = queryModelStatusT; + Integer buyType = buyTypeT; Integer modGoodsTransferingStatus = modGoodsTransferingStatusT; + ArrayList<Long> allChangModelList = new ArrayList<>(); goodsModelNumList.forEach(itemModelInfo -> { // 闇�瑕佽皟鎷ㄧ殑鐗╁搧鐨勬煇涓瀷鍙� Long baseGoodsModelsId = itemModelInfo.getBaseGoodsModelsId(); + allChangModelList.add(baseGoodsModelsId); // 闇�瑕佽皟鎷ㄧ殑鐗╁搧鏌愪釜鍨嬪彿鐨勬暟閲� Integer counts = itemModelInfo.getCounts(); @@ -289,6 +303,8 @@ lWhFormOutput.setWarehouseFlowId(lWarehouseFlowId); lWhFormOutputService.update(lWhFormOutput); + //褰撳簱瀛樺彉鍔ㄦ椂璋冪敤璇ユ柟娉� + lWhWarningCoreService.updateKuCun(Convert.toShort(outWarehouseType, (short) 0), outWarehouseId, allChangModelList, null, dealTime); return lWarehouseFlowId; } -- Gitblit v1.9.1