From 4a33a37bc47dd5a0d7bf3838cc59cca6e718845e Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Wed, 24 Apr 2024 11:55:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Domain/Services/InStockService.cs | 81 +++++++++---------- 1 file changed, 40 insertions(+), 41 deletions(-) diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs index 11e5b5cc..3c6f308d 100644 --- a/src/WMS.Web.Domain/Services/InStockService.cs +++ b/src/WMS.Web.Domain/Services/InStockService.cs @@ -854,53 +854,52 @@ namespace WMS.Web.Domain.Services erpDetails.Add(item); } - if (erpDetails.Count != 0) + + foreach (var det in erpDetails) { - foreach (var det in erpDetails) + var erp_details = entity.ErpDetails + .Where(w => w.SourceBillNo.Equals(det)).Select(t => t.ErpDetailId).ToList(); + var erpDto = new ErpPushDto() { - var erp_details = entity.ErpDetails - .Where(w => w.SourceBillNo.Equals(det)).Select(t => t.ErpDetailId).ToList(); - var erpDto = new ErpPushDto() - { - RuleId = "PUR_PurchaseOrder-STK_InStock",//转换规则内码 采购订单下推采购入库单 - FormId = FormIdParam.PUR_PurchaseOrder.ToString(), - TargetFormId = FormIdParam.STK_InStock.ToString(), - DetailsId = det.ErpDetailId.ToString(), - IsDraftWhenSaveFail = true//是否需要暂存 - }; + RuleId = "PUR_PurchaseOrder-STK_InStock",//转换规则内码 采购订单下推采购入库单 + FormId = FormIdParam.PUR_PurchaseOrder.ToString(), + TargetFormId = FormIdParam.STK_InStock.ToString(), + DetailsId = det.ErpDetailId.ToString(), + IsDraftWhenSaveFail = true//是否需要暂存 + }; - List details = new List(); - var resPurchaseInStockDetails_result = await sc_erpService.BillQueryForPurchaseInStockBy(det.ErpDetailId.ToString()); - if (resPurchaseInStockDetails_result.IsSuccess) - details = resPurchaseInStockDetails_result.Data; + List details = new List(); + var resPurchaseInStockDetails_result = await sc_erpService.BillQueryForPurchaseInStockBy(det.ErpDetailId.ToString()); + if (resPurchaseInStockDetails_result.IsSuccess) + details = resPurchaseInStockDetails_result.Data; - //金蝶已有的单;进行金蝶不同操作处理:保存,提交,审核 - var currentDet = details.Where(x => x.Qty == det.Qty).FirstOrDefault(); - if (currentDet != null) - { - var res= await this.QueryFirst(currentDet, erpDto.FormId, entity.BillNo, det, sc_erpService); - if (res.result.IsSuccess) - entity.SyncSuccess(det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.erpBillNo); - else - entity.SyncFail(res.result.Message, det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.syncStatus); - } + //金蝶已有的单;进行金蝶不同操作处理:保存,提交,审核 + var currentDet = details.Where(x => x.Qty == det.Qty).FirstOrDefault(); + if (currentDet != null) + { + var res = await this.QueryFirst(currentDet, erpDto.FormId, entity.BillNo, det, sc_erpService); + if (res.result.IsSuccess) + entity.SyncSuccess(det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.erpBillNo); else - { - //下推金蝶 - var res = await this.Push(erpDto, det, entity.BillNo, sc_erpService, sc_inStockRepositories); - if (res.result.IsSuccess) - entity.SyncSuccess(det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.erpBillNo); - else - entity.SyncFail(res.result.Message, det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.syncStatus); - } - + entity.SyncFail(res.result.Message, det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.syncStatus); } + else + { + //下推金蝶 + var res = await this.Push(erpDto, det, entity.BillNo, sc_erpService, sc_inStockRepositories); + if (res.result.IsSuccess) + entity.SyncSuccess(det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.erpBillNo); + else + entity.SyncFail(res.result.Message, det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.syncStatus); + } + } - else - { - erpDetails_tags.ForEach(x => { x.SuccessSync = SyncStatus.Fail; }); - entity.SyncFailAll("同步金蝶失败,该采购单已存在采购入库单", loginInfo?.UserInfo?.StaffId ?? 0); - } + + //else + //{ + // erpDetails_tags.ForEach(x => { x.SuccessSync = SyncStatus.Fail; }); + // entity.SyncFailAll("同步金蝶失败,该采购单已存在采购入库单", loginInfo?.UserInfo?.StaffId ?? 0); + //} //最好一条一条执行,否则执行失败 但是金蝶那边又同步成功 就会造成数据比价乱 var isSuccess = await sc_InStockRepositories.Update(entity, true); if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); @@ -1089,7 +1088,7 @@ namespace WMS.Web.Domain.Services var result = Result.ReFailure(ex.Message, 50001); return (result, SyncStatus.Fail, ""); } - + } }