修复bug
This commit is contained in:
Binary file not shown.
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
/// 生成单据号
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user