Administrator
3 years ago
13 changed files with 616 additions and 209 deletions
@ -0,0 +1,85 @@ |
|||
using Dapper; |
|||
using Magicodes.ExporterAndImporter.Core; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.DependencyInjection; |
|||
using Volo.Abp.Domain.Repositories.Dapper; |
|||
using Volo.Abp.EntityFrameworkCore; |
|||
using Win.Sfs.SettleAccount.Entities; |
|||
using Win.Sfs.SettleAccount.Entities.Materials; |
|||
using Win.Sfs.SettleAccount.Entities.Prices; |
|||
using Win.Sfs.SettleAccount.Reports; |
|||
|
|||
namespace Win.Sfs.SettleAccount.Repository.SettleAccountJob.Report |
|||
{ |
|||
|
|||
|
|||
/// <summary>
|
|||
/// 主数据Dapper表
|
|||
/// </summary>
|
|||
public class ErpPartDapperRepository : DapperRepository<SettleAccountDbContext>, ITransientDependency |
|||
{ |
|||
public ErpPartDapperRepository(IDbContextProvider<SettleAccountDbContext> dbContextProvider) : base(dbContextProvider) |
|||
{ |
|||
|
|||
} |
|||
|
|||
public virtual List<T> GetDiffReport<T>(List<T> childList) where T : ReportDetailBase, new() |
|||
{ |
|||
List<Material> _materialList = new List<Material>(); |
|||
List<PriceList> _priceList = new List<PriceList>(); |
|||
if (CacheManager.CacheMaterials != null) |
|||
{ |
|||
_materialList = CacheManager.CacheMaterials; |
|||
} |
|||
else |
|||
{ |
|||
_materialList = DbConnection.Query<Material>("select * from set_material").ToList(); |
|||
} |
|||
if (CacheManager.CachePriceList != null) |
|||
{ |
|||
_priceList = CacheManager.CachePriceList; |
|||
} |
|||
else |
|||
{ |
|||
_priceList = DbConnection.Query<PriceList>("select MaterialCode,Price from Set_PriceList where version=(select max(version) from set_Set_PriceListVersion)").ToList(); |
|||
} |
|||
|
|||
List<T> _list = 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.MaterialCode == itm.ParentSapMaterialCode).FirstOrDefault(); |
|||
if (_price != null) |
|||
{ |
|||
parentMaterial.Price = _price.Price; |
|||
parentMaterial.Amt = _price.Price; |
|||
} |
|||
var _material = _materialList.Where(p => p.MaterialCode == itm.ParentSapMaterialCode).FirstOrDefault(); |
|||
if (_material != null) |
|||
{ |
|||
parentMaterial.MaterialGroup = _material.EstimateTypeDesc; |
|||
|
|||
} |
|||
_list.Add(parentMaterial); |
|||
} |
|||
|
|||
return _list; |
|||
|
|||
} |
|||
} |
|||
} |
Loading…
Reference in new issue