同步金蝶

This commit is contained in:
18942506660
2023-11-09 15:30:59 +08:00
parent e1a3a87ac3
commit 3450a98119
6 changed files with 50 additions and 7 deletions

View File

@@ -80,7 +80,7 @@ namespace WMS.Web.Api.Controllers
if (loginInfo == null || loginInfo.UserInfo == null)
return Result.ReFailure(ResultCodes.Token_Invalid_Error);
return await _outStockService.Sync(dto);
return await _outStockService.Sync(dto, loginInfo);
}
}
}

View File

@@ -70,5 +70,9 @@ namespace WMS.Web.Core.Dto.OutStock
/// 出库数量
///</summary>
public decimal Qty { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
}
}

View File

@@ -56,6 +56,11 @@ namespace WMS.Web.Domain.Entitys
[Column("CreatorId")]
public int CreatorId { get; set; }
/// <summary>
/// 操作人
/// </summary>
[Column("OperateId")]
public int OperateId { get; set; }
/// <summary>
/// 创建时间(出库时间)
/// </summary>
[Column("CreateTime")]
@@ -66,6 +71,16 @@ namespace WMS.Web.Domain.Entitys
[Column("SuccessSync")]
public bool? SuccessSync { get; set; }
/// <summary>
/// 同步时间
/// </summary>
[Column("SyncTime")]
public DateTime? SyncTime { get; set; }
/// <summary>
/// 备注
/// </summary>
[Column("Remark")]
public string Remark { get; set; }
/// <summary>
/// 明细
/// </summary>
public List<OutStockDetails> Details = new List<OutStockDetails>();
@@ -82,7 +97,17 @@ namespace WMS.Web.Domain.Entitys
this.CreatorId = creatorId;
this.CreateTime = DateTime.Now;
}
/// <summary>
/// 同步金蝶
/// </summary>
/// <param name="operateId"></param>
public void Sync(bool isSuccess, int operateId,string remark)
{
this.SuccessSync = isSuccess;
this.Remark = remark;
this.OperateId = operateId;
this.SyncTime = DateTime.Now;
}
/// <summary>
/// 生成单据号

View File

@@ -18,7 +18,7 @@ namespace WMS.Web.Domain.IService
//出库单保存
Task<Result> Save(SaveOutStockRequest dto, LoginInDto loginInfo);
// 同步金蝶
Task<Result> Sync(OperateRequest dto);
Task<Result> Sync(OperateRequest dto, LoginInDto loginInfo);
}
}

View File

@@ -29,9 +29,11 @@ namespace WMS.Web.Domain.Services
private readonly IOutStockRepositories _outStockRepositories;
private readonly IOutStockTaskRepositories _outStockTaskRepositories;
private readonly IOutStockTaskService _outStockTaskService;
private readonly IErpService _erpService;
public OutStockService(IMapper mapper, ILoginService loginService,
IBasicsRepositories transactionRepositories,
IOutStockRepositories outStockRepositories, IOutStockTaskRepositories outStockTaskRepositories, IOutStockTaskService outStockTaskService)
IOutStockRepositories outStockRepositories, IOutStockTaskRepositories outStockTaskRepositories,
IOutStockTaskService outStockTaskService, IErpService erpService)
{
_mapper = mapper;
_loginService = loginService;
@@ -39,6 +41,7 @@ namespace WMS.Web.Domain.Services
_outStockRepositories = outStockRepositories;
_outStockTaskRepositories = outStockTaskRepositories;
_outStockTaskService = outStockTaskService;
_erpService = erpService;
}
/// <summary>
/// 出库单
@@ -95,9 +98,19 @@ namespace WMS.Web.Domain.Services
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
public Task<Result> Sync(OperateRequest dto)
public async Task<Result> Sync(OperateRequest dto, LoginInDto loginInfo)
{
return Task.FromResult(Result.ReSuccess());
var list = await _outStockRepositories.GetEntityList(dto.Ids);
foreach (var entity in list)
{
//下推金蝶
var res = await _erpService.Push(new Core.Dto.Erp.ErpPushDto() { });
entity.Sync(res.IsSuccess, loginInfo.UserInfo.StaffId, res.Message);
}
var isSuccess = await _outStockRepositories.EditEntityList(list, true);
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
return Result.ReSuccess();
}
}
}

View File

@@ -169,7 +169,8 @@ namespace WMS.Web.Repositories
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail.MaterialId),
MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.detail.MaterialId),
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialId),
Qty = s.detail.Qty
Qty = s.detail.Qty,
Remark = s.order.Remark
#endregion
}).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync();