修复bug

This commit is contained in:
18942506660
2023-12-11 11:29:13 +08:00
parent 737742925f
commit 257ab7d7e1
10 changed files with 32 additions and 30 deletions

View File

@@ -750,9 +750,9 @@
业务对象表单Id必录
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.ErpOperateDto.Ids">
<member name="P:WMS.Web.Core.Dto.Erp.ErpOperateDto.Numbers">
<summary>
单据Id
单据编码
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.Erp.ErpPushDto">

View File

@@ -1312,7 +1312,7 @@
同步成功或者失败 默认是失败状态
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockErpDetails.ErpSyncId">
<member name="P:WMS.Web.Domain.Entitys.OutStockErpDetails.ErpSyncBillNo">
<summary>
同步到金蝶后金蝶的单据Id
</summary>
@@ -1710,7 +1710,7 @@
备注
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.TakeStock.ErpSyncId">
<member name="P:WMS.Web.Domain.Entitys.TakeStock.ErpSyncBillNo">
<summary>
同步到金蝶后金蝶的单据Id
</summary>

View File

@@ -10,10 +10,10 @@ namespace WMS.Web.Core.Dto.Erp
/// </summary>
public class ErpOperateDto
{
public ErpOperateDto(string formId, string id)
public ErpOperateDto(string formId, string number)
{
this.FormId = formId;
this.Ids = id;
this.Numbers =new List<string>() { number };
}
/// <summary>
/// 业务对象表单Id必录
@@ -21,8 +21,8 @@ namespace WMS.Web.Core.Dto.Erp
[JsonProperty("FormId")]
public string FormId { get; set; }
/// <summary>
/// 单据Id
/// 单据编码
/// </summary>
public string Ids { get; set; }
public List<string> Numbers { get; set; }
}
}

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