出库单结构调整

This commit is contained in:
18942506660
2023-11-16 11:42:37 +08:00
parent 865bc0d5df
commit dab5b29c53
8 changed files with 120 additions and 43 deletions

View File

@@ -99,13 +99,16 @@ namespace WMS.Web.Repositories.Configuration
v => JsonConvert.SerializeObject(v),
v => JsonConvert.DeserializeObject<List<string>>(v));
ent.Property(f => f.SourceBillNos).HasConversion(
v => JsonConvert.SerializeObject(v),
v => JsonConvert.DeserializeObject<List<string>>(v));
ent.HasMany(p => p.ErpDetails)
.WithOne()
.HasForeignKey(p => p.DetailId)
.OnDelete(DeleteBehavior.Cascade);
});
ent.Property(f => f.SaleBillNos).HasConversion(
v => JsonConvert.SerializeObject(v),
v => JsonConvert.DeserializeObject<List<string>>(v));
builder.Entity<OutStockErpDetails>(ent =>
{
ent.ToTable("t_erp_outstock_erp_details");
ent.HasKey(x => x.Id);
});
#endregion
@@ -292,6 +295,7 @@ namespace WMS.Web.Repositories.Configuration
public DbSet<OutStockTask> OutStockTask { get; set; }
public DbSet<TakeStock> TakeStock { get; set; }
public DbSet<OutStockDetails> OutStockDetails { get; set; }
public DbSet<OutStockErpDetails> OutStockErpDetails { get; set; }
public DbSet<OutStockTaskDetails> OutStockTaskDetails { get; set; }
public DbSet<OutStockTaskErpDetails> OutStockTaskErpDetails { get; set; }
public DbSet<TakeStockDetails> TakeStockDetails { get; set; }

View File

@@ -118,7 +118,7 @@ namespace WMS.Web.Repositories
#endregion
var query = _context.OutStockDetails
var query = _context.OutStockDetails.Include(x => x.ErpDetails)
.GroupJoin(_context.OutStock, detail => detail.Fid, order => order.Id, (detail, orders) => new { detail, orders })
.SelectMany(x => x.orders.DefaultIfEmpty(), (p, order) => new { p.detail, order })
.OrderByDescending(o => o.order.Id)
@@ -164,8 +164,8 @@ namespace WMS.Web.Repositories
CreateTime = s.order.CreateTime.DateToStringSeconds(),
SuccessSync = s.order.SuccessSync,
Stock = _singleDataService.GetSingleData(SingleAction.Stocks, _loginRepositories.CompanyId, s.detail.StockCode),
SourceBillNo =string.Join(",",s.detail.SourceBillNos),
SaleBillNo = string.Join(",", s.detail.SaleBillNos),
SourceBillNo = string.Join(",", s.detail.ErpDetails.Select(s => s.SourceBillNo)),
SaleBillNo = string.Join(",", s.detail.ErpDetails.Select(s => s.SaleBillNo)),
DeliveryOrg = _erpBasicDataExtendService.GetOrgName(orgs, s.order.DeliveryOrgId),
ReceiptCustomer = s.order.Type == OutStockType.Sal
? _erpBasicDataExtendService.GetCustomerName(customers, s.order.ReceiptCustomerId)
@@ -196,12 +196,12 @@ namespace WMS.Web.Repositories
List<int> list = entitys.Select(s => s.Id).ToList();
var res = await _context.OutStock
.Include(s => s.Details)
.Include(s => s.Details).ThenInclude(s => s.ErpDetails)
.Where(f => list.Contains(f.Id)).ToListAsync();
_mapper.ToMapList(entitys, res);
_mapper.ToMapList(entitys.SelectMany(s => s.Details).ToList(), res.SelectMany(s => s.Details).ToList());
_mapper.ToMapList(entitys.SelectMany(s => s.Details).SelectMany(s => s.ErpDetails).ToList(), res.SelectMany(s => s.Details).SelectMany(s => s.ErpDetails).ToList());
await _context.SaveChangesAsync();
if (_transaction != null)
_transaction.Commit();
@@ -223,7 +223,7 @@ namespace WMS.Web.Repositories
public async Task<List<OutStock>> GetEntityList(List<int> ids)
{
var res = await _context.OutStock
.Include(s => s.Details)
.Include(s => s.Details).ThenInclude(s => s.ErpDetails)
.Where(f => ids.Contains(f.Id))
.ToListAsync();
@@ -244,12 +244,13 @@ namespace WMS.Web.Repositories
try
{
var res = await _context.OutStock
.Include(s => s.Details)
.Include(s => s.Details).ThenInclude(s => s.ErpDetails)
.FirstOrDefaultAsync(f => f.Id == entity.Id);
if (res == null) return null;
_mapper.Map(entity, res);
_mapper.ToMapList(entity.Details, res.Details);
_mapper.ToMapList(entity.Details.SelectMany(s => s.ErpDetails).ToList(), res.Details.SelectMany(s => s.ErpDetails).ToList());
await _context.SaveChangesAsync();
if (_transaction != null)
@@ -272,7 +273,7 @@ namespace WMS.Web.Repositories
public async Task<OutStock> GetByTaskId(int taskId)
{
var res = await _context.OutStock
.Include(s => s.Details)
.Include(s => s.Details).ThenInclude(s => s.ErpDetails)
.FirstOrDefaultAsync(f => taskId == f.TaskId);
return res.Clone();

View File

@@ -125,12 +125,12 @@ namespace WMS.Web.Repositories
List<int> list = entitys.Select(s => s.Id).ToList();
var res = await _context.OutStockTask
.Include(s => s.Details)
.Include(s => s.Details).ThenInclude(s => s.ErpDetails)
.Where(f => list.Contains(f.Id)).ToListAsync();
_mapper.ToMapList(entitys, res);
_mapper.ToMapList(entitys.SelectMany(s => s.Details).ToList(), res.SelectMany(s => s.Details).ToList());
_mapper.ToMapList(entitys.SelectMany(s => s.Details).SelectMany(s => s.ErpDetails).ToList(), res.SelectMany(s => s.Details).SelectMany(s => s.ErpDetails).ToList());
await _context.SaveChangesAsync();
if (_transaction != null)
_transaction.Commit();