diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index aa94f5e9..dc97d658 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -771,7 +771,7 @@ 生成单据号 - + 同步金蝶(成功) @@ -779,7 +779,7 @@ - + 同步金蝶(失败) @@ -947,6 +947,12 @@ + + + 记录金蝶的入库单明细ID + + + erp入库任务表 diff --git a/src/WMS.Web.Domain/Entitys/InStock.cs b/src/WMS.Web.Domain/Entitys/InStock.cs index 90b920d5..29b7c39a 100644 --- a/src/WMS.Web.Domain/Entitys/InStock.cs +++ b/src/WMS.Web.Domain/Entitys/InStock.cs @@ -149,15 +149,13 @@ namespace WMS.Web.Domain.Entitys /// /// /// - public void SyncSuccess(int erpDetailId, int operateId, string erpBillNo,string erpInStockDetailId) + public void SyncSuccess(int erpDetailId, int operateId, string erpBillNo) { var erpd = this.ErpDetails.Where(s=>s.ErpDetailId==erpDetailId).ToList(); erpd.ForEach(det => { det.SuccessSync = SyncStatus.Success; det.ErpSyncBillNo = erpBillNo; - if (!string.IsNullOrEmpty(erpInStockDetailId)) - det.ErpInStockDetailId = Convert.ToInt32(erpInStockDetailId); }); //所有erp明细同步成功才是整个单据成功 @@ -179,21 +177,19 @@ namespace WMS.Web.Domain.Entitys /// /// /// - public void SyncFail(string remark, int erpDetailId, int operateId, SyncStatus syncStatus, string erpInStockDetailId) + public void SyncFail(string remark, int erpDetailId, int operateId, SyncStatus syncStatus) { var erpd = this.ErpDetails.Where(w => w.ErpDetailId == erpDetailId).ToList(); erpd.ForEach(det => { det.SuccessSync = syncStatus; - if (!string.IsNullOrEmpty(erpInStockDetailId)) - det.ErpInStockDetailId = Convert.ToInt32(erpInStockDetailId); }); this.SuccessSync = SyncStatus.Fail; this.Remark = remark; this.OperateId = operateId; this.SyncTime = DateTime.Now; } - + /// /// 全部失败 /// diff --git a/src/WMS.Web.Domain/Entitys/InStockErpDetails.cs b/src/WMS.Web.Domain/Entitys/InStockErpDetails.cs index 769d1ccc..7a6290e7 100644 --- a/src/WMS.Web.Domain/Entitys/InStockErpDetails.cs +++ b/src/WMS.Web.Domain/Entitys/InStockErpDetails.cs @@ -106,5 +106,16 @@ namespace WMS.Web.Domain.Entitys } } + /// + /// 记录金蝶的入库单明细ID + /// + /// + public void RecodErpInStockDetailId(string erpInStockDetailId) + { + if(!string.IsNullOrEmpty(erpInStockDetailId)) + this.ErpInStockDetailId = Convert.ToInt32(erpInStockDetailId); + } + + } } diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs index 28f63f1b..8e71e9d5 100644 --- a/src/WMS.Web.Domain/Services/InStockService.cs +++ b/src/WMS.Web.Domain/Services/InStockService.cs @@ -883,18 +883,22 @@ namespace WMS.Web.Domain.Services { var res = await this.QueryFirst(currentDet, erpDto.TargetFormId, entity.BillNo, det, sc_erpService); if (res.result.IsSuccess) - entity.SyncSuccess(det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.erpBillNo, res.instockDetailId); + entity.SyncSuccess(det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.erpBillNo); else - entity.SyncFail(res.result.Message, det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.syncStatus, res.instockDetailId); + entity.SyncFail(res.result.Message, det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.syncStatus); + //记录金蝶入库单明细ID + det.RecodErpInStockDetailId(res.instockDetailId); } 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, res.instockDetailId); + entity.SyncSuccess(det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.erpBillNo); else - entity.SyncFail(res.result.Message, det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.syncStatus, res.instockDetailId); + entity.SyncFail(res.result.Message, det.ErpDetailId, loginInfo?.UserInfo?.StaffId ?? 0, res.syncStatus); + //记录金蝶入库单明细ID + det.RecodErpInStockDetailId(res.instockDetailId); } @@ -931,6 +935,8 @@ namespace WMS.Web.Domain.Services purchaseInStock.Details[0].Qty = erpDetail.Qty; string formId = dto.TargetFormId.ToString(); erp_instock_detId = purchaseInStock.Details[0].DetailId; + + //var tt = Convert.ToInt32("abc"); //批号生成和同步 if (string.IsNullOrEmpty(erpDetail.BatchBillNo)) {