标记同步成功

This commit is contained in:
18942506660
2024-09-20 16:37:34 +08:00
parent 8c284d1823
commit 01e7b1da36
10 changed files with 168 additions and 8 deletions

View File

@@ -4,6 +4,7 @@ using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using WMS.Web.Core;
using WMS.Web.Core.Internal.Results;
using WMS.Web.Domain.Values;
namespace WMS.Web.Domain.Entitys
@@ -20,11 +21,11 @@ namespace WMS.Web.Domain.Entitys
/// ID
/// </summary>
public override int Id { get; set; }
/// <summary>
/// 单据编号
/// </summary>
public string BillNo { get; set; }
public string BillNo { get; set; }
/// <summary>
/// 入库类型
/// </summary>
@@ -98,7 +99,7 @@ namespace WMS.Web.Domain.Entitys
this.CreateTime = DateTime.Now;
if (this.Type == InstockType.Purchase)
{
this.SuccessSync = SyncStatus.SyncIng;
this.SuccessSync = SyncStatus.SyncIng;
this.ErpDetails.ForEach(f => f.SuccessSync = SyncStatus.SyncIng);
}
else//非采购订单这里就没有记录erpdetails的数据了
@@ -151,8 +152,8 @@ namespace WMS.Web.Domain.Entitys
/// <param name="erpBillNo"></param>
public void SyncSuccess(int erpDetailId, int operateId, string erpBillNo)
{
var erpd = this.ErpDetails.Where(s=>s.ErpDetailId==erpDetailId).ToList();
erpd.ForEach(det =>
var erpd = this.ErpDetails.Where(s => s.ErpDetailId == erpDetailId).ToList();
erpd.ForEach(det =>
{
det.SuccessSync = SyncStatus.Success;
det.ErpSyncBillNo = erpBillNo;
@@ -189,7 +190,7 @@ namespace WMS.Web.Domain.Entitys
this.OperateId = operateId;
this.SyncTime = DateTime.Now;
}
/// <summary>
/// 全部失败
/// </summary>
@@ -212,7 +213,7 @@ namespace WMS.Web.Domain.Entitys
if (this.SuccessSync != SyncStatus.Fail) return;
this.SuccessSync = SyncStatus.SyncIng;
var erpDetails = this.ErpDetails
.Where(w => w.SuccessSync == SyncStatus.Fail || w.SuccessSync==SyncStatus.SubmitFail || w.SuccessSync == SyncStatus.CheckFail)
.Where(w => w.SuccessSync == SyncStatus.Fail || w.SuccessSync == SyncStatus.SubmitFail || w.SuccessSync == SyncStatus.CheckFail)
.ToList();
foreach (var e in erpDetails)
{
@@ -220,5 +221,27 @@ namespace WMS.Web.Domain.Entitys
}
this.Remark = "";
}
/// <summary>
/// 同步成功
/// </summary>
/// <param name="sourceBillNo"></param>
/// <param name="materialNumber"></param>
/// <param name="erpBillNo"></param>
/// <returns></returns>
public Result OperationSyncSuccess(string sourceBillNo, string materialNumber, string erpBillNo)
{
var erpDetail = this.ErpDetails.FirstOrDefault(f => f.SourceBillNo.Equals(sourceBillNo) && f.MaterialNumber.Equals(materialNumber));
if (erpDetail == null) return Result.ReFailure(ResultCodes.NoDateError);
if (this.SuccessSync == SyncStatus.Success || erpDetail.SuccessSync == SyncStatus.Success)
return Result.ReFailure(ResultCodes.SyncSuccessError);
erpDetail.ErpSyncBillNo = erpBillNo;
erpDetail.SuccessSync = SyncStatus.Success;
if (this.ErpDetails.Where(w => w.SuccessSync == SyncStatus.Success).Count() == this.ErpDetails.Count())
this.SuccessSync = SyncStatus.Success;
return Result.ReSuccess();
}
}
}