@ -47,41 +47,74 @@ namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report
{
_ priceList = DbConnection . Query < ErpPrice > ( "select Price SapPrice, MaterialCode SapErpPartCode from Set_PriceList where version=(select max(version) from Set_PriceListVersion)" ) . ToList ( ) ;
}
// List <T> _list = new List<T>();
List < T > _l ist = new List < T > ( ) ;
foreach ( var itm in childList )
{
var parentMaterial = new T ( ) ;
parentMaterial . WmsBillNum = itm . WmsBillNum ;
parentMaterial . CP5Time = itm . CP5Time ;
parentMaterial . KENNCode = itm . KENNCode ;
parentMaterial . ChassisNumber = itm . ChassisNumber ;
parentMaterial . WmsState = itm . WmsState ;
parentMaterial . SapMaterialCode = itm . ParentSapMaterialCode ;
parentMaterial . MaterialDesc = itm . ParentMaterialDesc ;
parentMaterial . MaterialCode = itm . ParentSapMaterialCode ;
parentMaterial . ParentSapMaterialCode = itm . ParentSapMaterialCode ;
parentMaterial . ParentMaterialDesc = itm . ParentMaterialDesc ;
var _ price = _ priceList . Where ( p = > p . SapErpPartCode = = itm . ParentSapMaterialCode ) . FirstOrDefault ( ) ;
if ( _ price ! = null )
{
parentMaterial . Price = _ price . SapPrice ;
parentMaterial . Amt = _ price . SapPrice ;
var query = from itm1 in childList
join itm2 in _ priceList on itm1 . ParentSapMaterialCode equals itm2 . SapErpPartCode into temp1
from tm1 in temp1 . DefaultIfEmpty ( new ErpPrice ( ) )
join itm3 in _ materialList on itm1 . ParentSapMaterialCode equals itm3 . MaterialCode into temp2
from tm2 in temp2 . DefaultIfEmpty ( new Material ( ) )
select new T {
WmsBillNum = itm1 . WmsBillNum ,
CP5Time = itm1 . CP5Time ,
KENNCode = itm1 . KENNCode ,
ChassisNumber = itm1 . ChassisNumber ,
WmsState = itm1 . WmsState ,
SapMaterialCode = itm1 . ParentSapMaterialCode ,
MaterialDesc = itm1 . ParentMaterialDesc ,
MaterialCode = itm1 . ParentSapMaterialCode ,
ParentSapMaterialCode = itm1 . ParentSapMaterialCode ,
ParentMaterialDesc = itm1 . ParentMaterialDesc ,
Price = tm1 . SapPrice ,
Amt = tm1 . SapPrice ,
MaterialGroup = tm2 . EstimateTypeDesc
} ;
//foreach (var itm in childList)
//{
// var parentMaterial = new T();
// parentMaterial.WmsBillNum = itm.WmsBillNum;
// parentMaterial.CP5Time = itm.CP5Time;
// parentMaterial.KENNCode = itm.KENNCode;
// parentMaterial.ChassisNumber = itm.ChassisNumber;
// parentMaterial.WmsState = itm.WmsState;
// parentMaterial.SapMaterialCode = itm.ParentSapMaterialCode;
// parentMaterial.MaterialDesc = itm.ParentMaterialDesc;
// parentMaterial.MaterialCode = itm.ParentSapMaterialCode;
// parentMaterial.ParentSapMaterialCode = itm.ParentSapMaterialCode;
// parentMaterial.ParentMaterialDesc = itm.ParentMaterialDesc;
// var _price = _priceList.Where(p => p.SapErpPartCode == itm.ParentSapMaterialCode).FirstOrDefault();
// if (_price != null)
// {
// parentMaterial.Price = _price.SapPrice;
// parentMaterial.Amt = _price.SapPrice;
}
var _ material = _ materialList . Where ( p = > p . MaterialCode = = itm . ParentSapMaterialCode ) . FirstOrDefault ( ) ;
if ( _ material ! = null )
{
parentMaterial . MaterialGroup = _ material . EstimateTypeDesc ;
}
_l ist . Add ( parentMaterial ) ;
}
// }
// var _material = _materialList.Where(p => p.MaterialCode == itm.ParentSapMaterialCode).FirstOrDefault();
// if (_material != null)
// {
// parentMaterial.MaterialGroup = _material.EstimateTypeDesc;
// }
// _list.Add(parentMaterial);
//}
return _l ist ;
return query . ToList ( ) ;
}
public virtual List < ErpPrice > GetErpPartCodePriceList ( string version )