|
|
@ -212,7 +212,7 @@ namespace SettleAccount.Job.Services.Report |
|
|
|
// LU = groupItem.Max(t => t.LU)
|
|
|
|
// };
|
|
|
|
var ediGroup = from edi in _settleAccountDbContext.Set<HBPO_SE_EDI>() |
|
|
|
where edi.IsDeleted == false && edi.IsHaveSeData == true |
|
|
|
where edi.IsDeleted == false |
|
|
|
group edi by new { edi.PN, edi.CustomerPartCodeNoSpace } into groupItem |
|
|
|
select new |
|
|
|
{ |
|
|
@ -222,11 +222,31 @@ namespace SettleAccount.Job.Services.Report |
|
|
|
LU = groupItem.Max(t => t.LU) |
|
|
|
}; |
|
|
|
|
|
|
|
//var seEdiGroup = from se in seGroup
|
|
|
|
// join edi in ediGroup
|
|
|
|
// on new { se.PN, se.CustomerPartCodeNoSpace } equals new { edi.PN, edi.CustomerPartCodeNoSpace }
|
|
|
|
// into ediTemp
|
|
|
|
// from edi in ediTemp.DefaultIfEmpty()
|
|
|
|
// select new
|
|
|
|
// {
|
|
|
|
// se.PN,
|
|
|
|
// se.CustomerPartCodeNoSpace,
|
|
|
|
// se.Qty,
|
|
|
|
// se.LU,
|
|
|
|
// se.WmsBillNum,
|
|
|
|
// se.ShippingDate,
|
|
|
|
// se.FactoryPartCode,
|
|
|
|
// se.ToLoc,
|
|
|
|
// se.ErpToLoc,
|
|
|
|
// EdiQty = edi.Qty,
|
|
|
|
// EdiCustomerPartCode = edi.LU
|
|
|
|
// };
|
|
|
|
//发运和EDI正反比对20240327
|
|
|
|
var seEdiGroup = from se in seGroup |
|
|
|
join edi in ediGroup |
|
|
|
on new { se.PN, se.CustomerPartCodeNoSpace } equals new { edi.PN, edi.CustomerPartCodeNoSpace } |
|
|
|
into ediTemp |
|
|
|
from edi in ediTemp.DefaultIfEmpty() |
|
|
|
into Temp |
|
|
|
from edi in Temp.DefaultIfEmpty() |
|
|
|
select new |
|
|
|
{ |
|
|
|
se.PN, |
|
|
@ -241,6 +261,30 @@ namespace SettleAccount.Job.Services.Report |
|
|
|
EdiQty = edi.Qty, |
|
|
|
EdiCustomerPartCode = edi.LU |
|
|
|
}; |
|
|
|
|
|
|
|
//var ediSeGroup = from edi in ediGroup
|
|
|
|
// join se in seGroup
|
|
|
|
// on new { edi.PN, edi.CustomerPartCodeNoSpace } equals new { se.PN, se.CustomerPartCodeNoSpace }
|
|
|
|
// into Temp
|
|
|
|
// from se in Temp.DefaultIfEmpty()
|
|
|
|
// select new
|
|
|
|
// {
|
|
|
|
// edi.PN,
|
|
|
|
// edi.CustomerPartCodeNoSpace,
|
|
|
|
// edi.Qty,
|
|
|
|
// edi.LU,
|
|
|
|
// se.WmsBillNum,
|
|
|
|
// se.ShippingDate,
|
|
|
|
// se.FactoryPartCode,
|
|
|
|
// se.ToLoc,
|
|
|
|
// se.ErpToLoc,
|
|
|
|
// EdiQty = edi.Qty,
|
|
|
|
// EdiCustomerPartCode = edi.LU
|
|
|
|
// };
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var saSeCompareLeft = from sa in saGroup |
|
|
|
join seEdi in seEdiGroup |
|
|
|
on new { sa.PN, sa.CustomerPartCodeNoSpace } equals new { seEdi.PN, seEdi.CustomerPartCodeNoSpace } |
|
|
@ -294,6 +338,20 @@ namespace SettleAccount.Job.Services.Report |
|
|
|
Price = sa.Price |
|
|
|
}; |
|
|
|
var saSeCompareFullJoin = saSeCompareLeft.Union(saSeCompareRight).ToList(); |
|
|
|
var ediCheck= ediGroup.ToList(); |
|
|
|
foreach (var item in saSeCompareFullJoin.Where(p=>p.SaCustomerPartCode!=null && p.SeCustomerPartCode==null)) |
|
|
|
{ |
|
|
|
if(!string.IsNullOrEmpty(item.SaCustomerPartCode)&& string.IsNullOrEmpty(item.SeCustomerPartCode)) |
|
|
|
{ |
|
|
|
var ediEntity= ediCheck.FirstOrDefault(p=>p.PN== item.PN &&p.CustomerPartCodeNoSpace== item.SaCustomerPartCode); |
|
|
|
if(ediEntity!=null) |
|
|
|
{ |
|
|
|
item.EdiCustomerPartCode = item.SaCustomerPartCode; |
|
|
|
item.EdiQty = ediEntity.Qty; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
return saSeCompareFullJoin; |
|
|
|
} |
|
|
|
#endregion
|
|
|
|