This commit is contained in:
tongfei
2023-12-11 16:20:43 +08:00
13 changed files with 40 additions and 38 deletions

View File

@@ -133,7 +133,7 @@ namespace WMS.Web.Domain.Entitys
/// 同步金蝶(成功)
/// </summary>
/// <param name="operateId"></param>
public void SyncSuccess(string sourcBillNo, int operateId,string salOutStockId)
public void SyncSuccess(string sourcBillNo, int operateId,string erpBillNo)
{
//foreach (var e in erpDetailIds)
// this.SuccessSyncFail.Remove(e);
@@ -141,7 +141,7 @@ namespace WMS.Web.Domain.Entitys
foreach (var e in erpd)
{
e.SuccessSync = SyncStatus.Success;
e.ErpSyncId = salOutStockId;
e.ErpSyncBillNo = erpBillNo;
}
//所有erp明细同步成功才是整个单据成功
var erpDetails = this.Details.SelectMany(s => s.ErpDetails);

View File

@@ -53,7 +53,7 @@ namespace WMS.Web.Domain.Entitys
/// <summary>
/// 同步到金蝶后金蝶的单据Id
/// </summary>
[Column("ErpSyncId")]
public string ErpSyncId { get; set; }
[Column("ErpSyncBillNo")]
public string ErpSyncBillNo { get; set; }
}
}

View File

@@ -54,8 +54,8 @@ namespace WMS.Web.Domain.Entitys
/// <summary>
/// 同步到金蝶后金蝶的单据Id
/// </summary>
[Column("ErpSyncId")]
public string ErpSyncId { get; set; }
[Column("ErpSyncBillNo")]
public string ErpSyncBillNo { get; set; }
/// <summary>
/// 明细
/// </summary>
@@ -75,11 +75,11 @@ namespace WMS.Web.Domain.Entitys
/// </summary>
/// <param name="isSuccess"></param>
/// <param name="remark"></param>
public void Sync(bool isSuccess, string remark, SyncStatus syncStatus,string erpId)
public void Sync(bool isSuccess, string remark, SyncStatus syncStatus,string erpBillNo)
{
this.SuccessSync = syncStatus;
this.Remark = "";
this.ErpSyncId = erpId;
this.ErpSyncBillNo = erpBillNo;
}
/// <summary>
/// 生成单据号

View File

@@ -230,7 +230,9 @@ namespace WMS.Web.Domain.Services
var sourcNos = entity.Details.SelectMany(s => s.ErpDetails).GroupBy(s => s.SourceBillNo).Select(s => s.Key);
foreach (var s in failList)
{
var erp_details = entity.Details.SelectMany(s => s.ErpDetails).Select(s => s.Erp_DetailId).ToList();
var erp_details = entity.Details
.SelectMany(s => s.ErpDetails)
.Where(w=>w.SourceBillNo.Equals(s)).Select(s => s.Erp_DetailId).ToList();
var erpDto = new ErpPushDto()
{
RuleId = "DeliveryNotice-OutStock",//转换规则内码 发货通知单下推销售出库单
@@ -242,7 +244,7 @@ namespace WMS.Web.Domain.Services
//下推金蝶
var res = await this.Push(erpDto, entity);
if (res.result.IsSuccess)
entity.SyncSuccess(s, loginInfo?.UserInfo?.StaffId ?? 0, res.erpId);
entity.SyncSuccess(s, loginInfo?.UserInfo?.StaffId ?? 0, res.erpBillNo);
else
entity.SyncFail(res.result.Message, loginInfo?.UserInfo?.StaffId ?? 0, res.syncStatus);
}
@@ -258,7 +260,7 @@ namespace WMS.Web.Domain.Services
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
private async Task<(Result result, SyncStatus syncStatus, string erpId)> Push(ErpPushDto dto, OutStock entity)
private async Task<(Result result, SyncStatus syncStatus, string erpBillNo)> Push(ErpPushDto dto, OutStock entity)
{
var res = await _erpService.Push(dto);
if (!res.IsSuccess)
@@ -287,7 +289,7 @@ namespace WMS.Web.Domain.Services
if (!resSubmit.IsSuccess)
{
_logger.LogInformation($"出库单->提交失败 单号:{entity.BillNo} 错误:{resSubmit.Message}");
return (resSubmit, SyncStatus.SubmitFail, o_dto.Ids);
return (resSubmit, SyncStatus.SubmitFail, o_dto.Numbers.First());
}
//审核
_logger.LogInformation($"出库单->提交成功 开始审核 单号:{entity.BillNo}");
@@ -295,10 +297,10 @@ namespace WMS.Web.Domain.Services
if (!resSubmit.IsSuccess)
{
_logger.LogInformation($"出库单->审核失败 单号:{entity.BillNo} 错误:{resSubmit.Message}");
return (resSubmit, SyncStatus.CheckFail, o_dto.Ids);
return (resSubmit, SyncStatus.CheckFail, o_dto.Numbers.First());
}
_logger.LogInformation($"同步金蝶成功");
return (Result.ReSuccess(), SyncStatus.Success, o_dto.Ids);
return (Result.ReSuccess(), SyncStatus.Success, o_dto.Numbers.First());
}
}
}

View File

@@ -1317,9 +1317,9 @@ namespace WMS.Web.Domain.Services.Public
if (jobject["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToLower() == "true")
{
//保存成功后返回Id 后续操作根据Id操作
string id = jobject["Result"]["ResponseStatus"]["SuccessEntitys"][0]["Id"].ToString();
return Result<string>.ReSuccess(id);
//保存成功后返回number 后续操作根据Id操作
string number = jobject["Result"]["ResponseStatus"]["SuccessEntitys"][0]["Number"].ToString();
return Result<string>.ReSuccess(number);
}
var msg = jobject["Result"]["ResponseStatus"]["Errors"][0]["Message"].ToString();

View File

@@ -197,7 +197,7 @@ namespace WMS.Web.Domain.Services
FormIdParam type = entity.ResultType == TakeStockType.Loss ? FormIdParam.STK_StockCountLoss : FormIdParam.STK_StockCountGain;
//操作金蝶
var resSync = await ErpOperate(dto, type);
entity.Sync(resSync.result.IsSuccess, resSync.result.Message, resSync.syncStatus, resSync.erpId);
entity.Sync(resSync.result.IsSuccess, resSync.result.Message, resSync.syncStatus, resSync.erpBillNo);
await _takeStockRepositories.Edit(entity, true);
return res;
}
@@ -207,7 +207,7 @@ namespace WMS.Web.Domain.Services
/// <param name="dto"></param>
/// <param name="type"></param>
/// <returns></returns>
private async Task<(Result result, SyncStatus syncStatus, string erpId)> ErpOperate(ErpTakeStockSaveDto dto, FormIdParam type)
private async Task<(Result result, SyncStatus syncStatus, string erpBillNo)> ErpOperate(ErpTakeStockSaveDto dto, FormIdParam type)
{
string formId = type.ToString();
_logger.LogInformation($"盘点单->开始同步金蝶 单号:{dto.BillNo} 数据: {JsonConvert.SerializeObject(dto)}");
@@ -229,7 +229,7 @@ namespace WMS.Web.Domain.Services
//if (!del_res.IsSuccess)
// _logger.LogError($"盘盈盘亏同步金蝶 单号:{dto.BillNo} 提交失败原因: {res.Message} 删单失败原因:{del_res.Message}");
_logger.LogInformation($"盘点单->提交失败 单号:{dto.BillNo} 错误:{res.Message}");
return (res, SyncStatus.SubmitFail, o_dto.Ids);
return (res, SyncStatus.SubmitFail, o_dto.Numbers.First());
}
//审核
_logger.LogInformation($"盘点单->提交成功 开始审核 单号:{dto.BillNo}");
@@ -250,10 +250,10 @@ namespace WMS.Web.Domain.Services
//if (!del_res.IsSuccess)
// _logger.LogError($"盘盈盘亏同步金蝶 单号:{dto.BillNo} 审核失败原因: {res.Message} 删单失败原因:{del_res.Message}");
_logger.LogInformation($"盘点单->审核失败 单号:{dto.BillNo} 错误:{res.Message}");
return (res, SyncStatus.CheckFail, o_dto.Ids);
return (res, SyncStatus.CheckFail, o_dto.Numbers.First());
}
_logger.LogInformation($"同步金蝶成功");
return (Result.ReSuccess(), SyncStatus.Success, o_dto.Ids);
return (Result.ReSuccess(), SyncStatus.Success, o_dto.Numbers.First());
}
}
}