From dc1800d4d2d252b7b37d80d9f54285200c94ff3c Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期三, 15 十一月 2023 19:34:40 +0800 Subject: [PATCH] 出库单管理 --- consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java | 39 +++++++++++++++++++++------------------ 1 files changed, 21 insertions(+), 18 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 203c123..b7b201d 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 @@ -4,7 +4,7 @@ import com.consum.base.core.CodeGeneratorService; import com.consum.base.core.WhBusinessEnum; import com.consum.base.core.param.BaseWarehouseParam1; -import com.consum.base.core.util.LockManage; +import com.consum.base.core.utils.LockManage; import com.consum.model.po.*; import com.iplatform.model.po.S_user_core; import com.walker.infrastructure.utils.CollectionUtils; @@ -20,20 +20,19 @@ /** * @ClassName WhFormOutputCoreService - * @Author cy * @Date 2023/10/26 * @Description * @Version 1.0 **/ @Slf4j @Service +@Transactional(rollbackFor = Exception.class) public class LWhFormOutputCoreService { private BaseGoodsTemplateServiceImpl baseGoodsTemplateService; private LWhGoodsService lWhGoodsService; private CodeGeneratorService codeGeneratorService; private LWhProcureModelService lWhProcureModelService; - private LWhFormTransferService lWhFormTransferService; private LWhFormOutputService lWhFormOutputService; private LWarehouseFlowService lWarehouseFlowService; private LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService; @@ -44,7 +43,6 @@ LWhGoodsService lWhGoodsService, CodeGeneratorService codeGeneratorService, LWhProcureModelService lWhProcureModelService, - LWhFormTransferService lWhFormTransferService, LWhFormOutputService lWhFormOutputService, LWarehouseFlowService lWarehouseFlowService, LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService, @@ -53,7 +51,6 @@ this.lWhGoodsService = lWhGoodsService; this.codeGeneratorService = codeGeneratorService; this.lWhProcureModelService = lWhProcureModelService; - this.lWhFormTransferService = lWhFormTransferService; this.lWhFormOutputService = lWhFormOutputService; this.lWarehouseFlowService = lWarehouseFlowService; this.lWhGoodsRecordDetailsService = lWhGoodsRecordDetailsService; @@ -73,7 +70,7 @@ return null; } LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(whFormTransferId); - lWhFormTransfer = lWhFormTransferService.get(lWhFormTransfer); + lWhFormTransfer = lWhFormOutputService.get(lWhFormTransfer); if (lWhFormTransfer == null || lWhFormTransfer.getStates() != 0) { log.error("璋冩嫧澶辫触锛佽妫�鏌ヨ皟鎷ㄥ崟鐘舵��"); return null; @@ -115,7 +112,7 @@ whFormOutput.setId(outWarehouseFormId); // 姝ゆ椂骞舵病鏈夊嚭搴� whFormOutput.setWarehouseFlowId(null); - whFormOutput.setBusinessFormCode(codeGeneratorService.createCodeByPrefix(CodeGeneratorEnum.OutPut_Warehouse.getValue(), 4)); + whFormOutput.setBusinessFormCode(codeGeneratorService.createBusinessFormCode(CodeGeneratorEnum.OutPut_Warehouse)); //杩涘嚭搴撴祦姘存�昏〃 鍏ュ簱鍗旾D whFormOutput.setInWarehouseFlowId(null); // 璋冩嫧鍗旾D(璋冩嫧鏃堕渶瑕�) @@ -148,7 +145,7 @@ * @return 娴佹按璁板綍鎬昏〃ID */ @Transactional(rollbackFor = Exception.class) - public Long outFormByTransId(Long outWarehouseFormId, S_user_core currentUser, Long dealTime) { + public Long outFormByTransId(Long outWarehouseFormId,WhBusinessEnum businessType, S_user_core currentUser, Long dealTime) { if (outWarehouseFormId == null) { return null; } @@ -168,6 +165,9 @@ Integer outWarehouseType = lWhFormOutput.getOutWarehouseType(); Long outWarehouseId = lWhFormOutput.getWarehouseId(); String warehouseName = lWhFormOutput.getWarehouseName(); + Integer inWarehouseType = lWhFormOutput.getInWarehouseType(); + Long inWarehouseId = lWhFormOutput.getInWarehouseId(); + String inWarehouseName = lWhFormOutput.getInWarehouseName(); Long userId = currentUser.getId(); String nickName = currentUser.getNick_name(); @@ -181,7 +181,7 @@ short queryModelStatusT = 1; //閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛� Short buyTypeT = null; - Short modGoodsTransferingStatusT = null; + Integer modGoodsTransferingStatusT = null; String outputCode = lWhFormOutput.getOutputCode(); if ((BaseWarehouseParam1.In_OutPutTypeEnum.Transfer_Output.getValue() + "").equals(outputCode)) { //璋冩嫧鍑哄簱 @@ -200,11 +200,7 @@ } short queryModelStatus = queryModelStatusT; Short buyType = buyTypeT; - Short modGoodsTransferingStatus = modGoodsTransferingStatusT; - - // 鎺ユ敹鏂逛粨搴撲俊鎭� - Long inWarehouseId = lWhFormOutput.getInWarehouseId(); - String inWarehouseName = lWhFormOutput.getInWarehouseName(); + Integer modGoodsTransferingStatus = modGoodsTransferingStatusT; goodsModelNumList.forEach(itemModelInfo -> { // 闇�瑕佽皟鎷ㄧ殑鐗╁搧鐨勬煇涓瀷鍙� @@ -243,6 +239,7 @@ //閫氳繃LockManage鑾峰緱閿� Object warehouseModelLockObj = LockManage.acquireLock(outWarehouseType, outWarehouseId, baseGoodsModelsId); + List<Long> outGoodsId = null; synchronized (warehouseModelLockObj) { // 鑾峰緱閿佸悗鏌ヨ璇ュ瀷鍙风殑鏈熷垵鏁伴噺 int goodsModelNum = lWhGoodsService.queryGoodsModelNum(outWarehouseType, outWarehouseId, baseGoodsModelsId, queryModelStatus, buyType); @@ -256,19 +253,25 @@ whGoodsRecord.setEndCount(goodsModelNum - counts); //鍑哄簱鏃跺�欙紝鎸� 鍏堝叆搴撶殑鍏堝嚭搴擄紝鍚屾椂鍏ュ簱鐨勶紝鎸変环鏍奸珮鐨勫厛鍑哄簱 - List<Long> outGoodsId = lWhGoodsService.queryOutGoodsId(outWarehouseType, outWarehouseId, baseGoodsModelsId, queryModelStatus, buyType, goodsModelNum); - lWhGoodsService.modGoodsTransfering(outGoodsId, outWarehouseType, inWarehouseId, inWarehouseName, modGoodsTransferingStatus); + outGoodsId = lWhGoodsService.queryOutGoodsId(outWarehouseType, outWarehouseId, baseGoodsModelsId, queryModelStatus, buyType, + counts); + lWhGoodsService.modGoodsTransfering(outGoodsId, inWarehouseType, inWarehouseId, inWarehouseName, modGoodsTransferingStatus); // 鎵归噺鎻掑叆 杩涘嚭搴撴祦姘存槑缁哰L_WH_GOODS_RECORD_DETAILS] lWhGoodsRecordDetailsService.sameGoodsInsertMore(outGoodsId, whGoodsRecordId, (short) 0); - lWhGoodsRecordService.insert(whGoodsRecord); } + long totalAmount = lWhGoodsService.queryGoodsPriceById(outGoodsId); + LWhProcureModel lWhProcureModel = new LWhProcureModel(itemModelInfo.getId()); + whGoodsRecord.setTotalPrice(totalAmount); + lWhGoodsRecordService.insert(whGoodsRecord); + lWhProcureModel.setTotalAmount(totalAmount); + lWhProcureModelService.update(lWhProcureModel); }); LWarehouseFlow warehouseFlow = new LWarehouseFlow(); warehouseFlow.setId(lWarehouseFlowId); warehouseFlow.setWarehouseId(outWarehouseId); warehouseFlow.setWarehouseName(warehouseName); warehouseFlow.setThisType(2); - warehouseFlow.setBusinessType(WhBusinessEnum.DIAOBO.getValue() + 0); + warehouseFlow.setBusinessType(businessType.getValue() + 0); warehouseFlow.setBusinessFormId(lWarehouseFlowBusinessId); warehouseFlow.setOperatorId(userId); -- Gitblit v1.9.1