单据同步数据
This commit is contained in:
@@ -110,8 +110,11 @@ namespace WMS.Web.Api.Controllers
|
||||
[Route("Refresh")]
|
||||
public async Task<Result> Refresh([FromBody] OperateRequest dto)
|
||||
{
|
||||
//去重
|
||||
var ids = dto.Ids.GroupBy(x => x).Select(x=>x.Key).ToList();
|
||||
|
||||
//1.先找到任务单-并找到来源单集
|
||||
var tasks= await _inStockTaskRepositories.GetList(dto.Ids);
|
||||
var tasks= await _inStockTaskRepositories.GetList(ids);
|
||||
var sourcesBillNos = tasks.Select(x => x.SourceBillNo).ToList();
|
||||
|
||||
//2.同步金蝶
|
||||
|
||||
@@ -266,11 +266,25 @@ namespace WMS.Web.Domain.Services
|
||||
var data_list = await _inStockTaskRepositories.GetListBy(SourceBillNo_list);
|
||||
if (data_list.Count != 0)
|
||||
{
|
||||
data_list.ForEach(x =>
|
||||
{
|
||||
var erp_list_dets= erp_list.Where(t => t.BillNo == x.SourceBillNo).ToList();
|
||||
if (erp_list_dets != null && erp_list_dets.Count != 0 && erp_list_dets.Count > x.Details.Count)
|
||||
{
|
||||
var xd_mids=x.Details.Select(xd => xd.MaterialId).ToList();
|
||||
var task_no_materials= erp_list_dets.Where(ed => !xd_mids.Contains(ed.MaterialId)).ToList();
|
||||
var Add_task_no_materials= _mapper.Map<List<InStockTaskDetails>>(task_no_materials);
|
||||
x.Details.AddRange(Add_task_no_materials);
|
||||
}
|
||||
});
|
||||
|
||||
//2.1提取出wms任务单明细信息
|
||||
var data_list_details = data_list.SelectMany(x => x.Details).ToList();
|
||||
foreach (var item in data_list_details)
|
||||
{
|
||||
var data = data_list.Where(x => x.Id == item.Fid).FirstOrDefault();
|
||||
if (data == null)
|
||||
continue;
|
||||
|
||||
//2.1.1对比erp的物料信息
|
||||
var erp_data = erp_list.Where(x => x.BillNo == data.SourceBillNo && x.MaterialId == item.MaterialId).FirstOrDefault();
|
||||
@@ -278,6 +292,7 @@ namespace WMS.Web.Domain.Services
|
||||
{
|
||||
//2.1.2修改数量
|
||||
item.AccruedQty = erp_data.Qty;
|
||||
item.FactoryPrice = erp_data.FactoryPrice;
|
||||
item.DeliveredQty = erp_data.DeliveredQty> item.DeliveredQty? erp_data.DeliveredQty: item.DeliveredQty;
|
||||
erp_remove_billNo.Add(data.SourceBillNo);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user