标记同步成功

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

@@ -165,5 +165,21 @@ namespace WMS.Web.Api.Controllers
return await _inStockService.Sync(dto, loginInfo);
}
/// <summary>
/// 标记同步成功
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpPost]
[Route("Sync")]
public async Task<Result> SyncSuccess([FromBody] List<SyncSuccessRequest> dto)
{
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
if (loginInfo == null || loginInfo.UserInfo == null)
return Result.ReFailure(ResultCodes.Token_Invalid_Error);
return await _inStockService.SyncSuccess(dto, loginInfo);
}
}
}

View File

@@ -209,6 +209,13 @@
<param name="dto"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Api.Controllers.InStockController.SyncSuccess(System.Collections.Generic.List{WMS.Web.Core.Dto.InStock.SyncSuccessRequest})">
<summary>
标记同步成功
</summary>
<param name="dto"></param>
<returns></returns>
</member>
<member name="T:WMS.Web.Api.Controllers.InStockTaskController">
<summary>
入库任务单-接口

View File

@@ -2903,6 +2903,31 @@
保存入库单-请求对象
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.InStock.SyncSuccessRequest">
<summary>
入库单标记同步金蝶成功
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.InStock.SyncSuccessRequest.Id">
<summary>
单据ID
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.InStock.SyncSuccessRequest.SourceBillNo">
<summary>
来源单号
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.InStock.SyncSuccessRequest.MaterialNumber">
<summary>
物料编码
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.InStock.SyncSuccessRequest.ErpBillNo">
<summary>
金蝶入库单号
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.InStockQueryRequest">
<summary>
入库单查询请求对象

View File

@@ -823,6 +823,15 @@
重传
</summary>
</member>
<member name="M:WMS.Web.Domain.Entitys.InStock.OperationSyncSuccess(System.String,System.String,System.String)">
<summary>
同步成功
</summary>
<param name="sourceBillNo"></param>
<param name="materialNumber"></param>
<param name="erpBillNo"></param>
<returns></returns>
</member>
<member name="T:WMS.Web.Domain.Entitys.InStockDetails">
<summary>
wms入库单明细
@@ -3658,6 +3667,14 @@
<param name="loginInfo"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.IService.IInStockService.SyncSuccess(System.Collections.Generic.List{WMS.Web.Core.Dto.InStock.SyncSuccessRequest},WMS.Web.Core.Dto.Login.LoginInDto)">
<summary>
标记同步成功
</summary>
<param name="dto"></param>
<param name="loginInfo"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.IService.IInStockService.Receive(WMS.Web.Core.Dto.InStockTask.UpdateInStockTaskRequest,WMS.Web.Core.Dto.Login.LoginInDto)">
<summary>
收货
@@ -5412,6 +5429,15 @@
<param name="isTransaction"></param>
<returns></returns>
</member>
<member name="M:WMS.Web.Domain.Services.InStockService.SyncSuccess(System.Collections.Generic.List{WMS.Web.Core.Dto.InStock.SyncSuccessRequest},WMS.Web.Core.Dto.Login.LoginInDto)">
<summary>
标记同步成功
</summary>
<param name="dto"></param>
<param name="loginInfo"></param>
<returns></returns>
<exception cref="T:System.NotImplementedException"></exception>
</member>
<member name="T:WMS.Web.Domain.Services.InStockTaskBoxService">
<summary>
任务单的箱收货记录服务

View File

@@ -0,0 +1,30 @@
using Npoi.Mapper.Attributes;
using System;
using System.Collections.Generic;
using System.Text;
namespace WMS.Web.Core.Dto.InStock
{
/// <summary>
/// 入库单标记同步金蝶成功
/// </summary>
public class SyncSuccessRequest
{
/// <summary>
/// 单据ID
/// </summary>
public int Id { get; set; }
/// <summary>
/// 来源单号
/// </summary>
public string SourceBillNo { get; set; }
/// <summary>
/// 物料编码
/// </summary>
public string MaterialNumber { get; set; }
/// <summary>
/// 金蝶入库单号
/// </summary>
public string ErpBillNo { get; set; }
}
}

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
@@ -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();
}
}
}

View File

@@ -25,6 +25,13 @@ namespace WMS.Web.Domain.IService
/// <param name="loginInfo"></param>
/// <returns></returns>
Task<Result> Sync(OperateRequest dto, LoginInDto loginInfo, bool isRepeatSync = true);
/// <summary>
/// 标记同步成功
/// </summary>
/// <param name="dto"></param>
/// <param name="loginInfo"></param>
/// <returns></returns>
Task<Result> SyncSuccess(List<SyncSuccessRequest> dto, LoginInDto loginInfo);
/// <summary>
/// 收货

View File

@@ -1148,5 +1148,30 @@ namespace WMS.Web.Domain.Services
}
return Result.ReSuccess();
}
/// <summary>
/// 标记同步成功
/// </summary>
/// <param name="dto"></param>
/// <param name="loginInfo"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public async Task<Result> SyncSuccess(List<SyncSuccessRequest> dto, LoginInDto loginInfo)
{
_logger.LogInformation($"标记同步成功:{JsonConvert.SerializeObject(dto)} 操作人:{loginInfo.UserInfo.StaffId},{loginInfo.UserInfo.Nickname}");
var ids = dto.Select(s => s.Id).ToList();
var entityList = await _inStockRepositories.GetList(ids);
foreach (var d in dto)
{
var entity = entityList.FirstOrDefault(f => f.Id == d.Id);
if (entity == null) return Result.ReFailure(ResultCodes.NoDateError);
var res = entity.OperationSyncSuccess(d.SourceBillNo, d.MaterialNumber, d.ErpBillNo);
if (!res.IsSuccess) return res;
}
var isSuccess = await _inStockRepositories.UpdateRange(entityList, true);
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
return Result.ReSuccess();
}
}
}

View File

@@ -97,5 +97,6 @@ namespace WMS.Web.Domain.Values
public static ValueTuple<int, string> SubscribeNotificationNoData = (700001, "订阅通知信息不存在");
public static ValueTuple<int, string> GetBarCodeSerialNumberError = (800001, "获取序列码异常");
public static ValueTuple<int, string> SyncSuccessError = (800002, "单据已经同步成功");
}
}