出库单结构调整
This commit is contained in:
@@ -3541,9 +3541,9 @@
|
||||
出库数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.OutStock.SaveOutStockDetailsRequest.Box_Dic">
|
||||
<summary>
|
||||
箱信息和对应的出库数量
|
||||
<member name="P:WMS.Web.Core.Dto.OutStock.SaveOutStockDetailsRequest.BoxId">
|
||||
<summary>
|
||||
箱Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Core.Dto.OutStock.SaveOutStockDetailsRequest.SerialNumbers">
|
||||
|
||||
@@ -1016,16 +1016,6 @@
|
||||
单据头Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.OutStockDetails.SaleBillNos">
|
||||
<summary>
|
||||
销售订单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.OutStockDetails.SourceBillNos">
|
||||
<summary>
|
||||
来源单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.OutStockDetails.MaterialId">
|
||||
<summary>
|
||||
物料Id
|
||||
@@ -1051,6 +1041,46 @@
|
||||
出库数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.OutStockDetails.ErpDetails">
|
||||
<summary>
|
||||
对应erp明细 同一个物料 存在于不同的来源单中(合并后出现多条)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.Entitys.OutStockErpDetails">
|
||||
<summary>
|
||||
对应金蝶的明细
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.OutStockErpDetails.Id">
|
||||
<summary>
|
||||
主键 订单编号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.OutStockErpDetails.DetailId">
|
||||
<summary>
|
||||
任务单明细Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.OutStockErpDetails.Erp_DetailId">
|
||||
<summary>
|
||||
对应金蝶单据明细id(销售出库同步金蝶下推使用)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.OutStockErpDetails.SourceBillNo">
|
||||
<summary>
|
||||
来源单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.OutStockErpDetails.SaleBillNo">
|
||||
<summary>
|
||||
销售订单号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:WMS.Web.Domain.Entitys.OutStockErpDetails.Qty">
|
||||
<summary>
|
||||
出库数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.Entitys.OutStockTask">
|
||||
<summary>
|
||||
erp出库任务单
|
||||
|
||||
@@ -25,17 +25,6 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// </summary>
|
||||
[Column("Fid")]
|
||||
public int Fid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 销售订单号
|
||||
///</summary>
|
||||
[Column("SaleBillNo")]
|
||||
public List<string> SaleBillNos { get; set; }
|
||||
/// <summary>
|
||||
/// 来源单号
|
||||
///</summary>
|
||||
[Column("SourceBillNo")]
|
||||
public List<string> SourceBillNos { get; set; }
|
||||
/// <summary>
|
||||
/// 物料Id
|
||||
///</summary>
|
||||
@@ -61,5 +50,10 @@ namespace WMS.Web.Domain.Entitys
|
||||
///</summary>
|
||||
[Column("Qty")]
|
||||
public decimal Qty { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 对应erp明细 同一个物料 存在于不同的来源单中(合并后出现多条)
|
||||
/// </summary>
|
||||
public List<OutStockErpDetails> ErpDetails { get; set; } = new List<OutStockErpDetails>();
|
||||
}
|
||||
}
|
||||
|
||||
48
src/WMS.Web.Domain/Entitys/OutStockErpDetails.cs
Normal file
48
src/WMS.Web.Domain/Entitys/OutStockErpDetails.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Text;
|
||||
using WMS.Web.Core;
|
||||
|
||||
namespace WMS.Web.Domain.Entitys
|
||||
{
|
||||
/// <summary>
|
||||
/// 对应金蝶的明细
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
[Table("t_erp_outstock_erp_details")]
|
||||
public class OutStockErpDetails : EntityBase
|
||||
{
|
||||
public OutStockErpDetails() { }
|
||||
/// <summary>
|
||||
/// 主键 订单编号
|
||||
/// </summary>
|
||||
[Column("Id")]
|
||||
public override int Id { get; set; }
|
||||
/// <summary>
|
||||
/// 任务单明细Id
|
||||
/// </summary>
|
||||
[Column("DetailId")]
|
||||
public int DetailId { get; set; }
|
||||
/// <summary>
|
||||
/// 对应金蝶单据明细id(销售出库同步金蝶下推使用)
|
||||
/// </summary>
|
||||
[Column("Erp_DetailId")]
|
||||
public int Erp_DetailId { get; set; }
|
||||
/// <summary>
|
||||
/// 来源单号
|
||||
///</summary>
|
||||
[Column("SourceBillNo")]
|
||||
public string SourceBillNo { get; set; }
|
||||
/// <summary>
|
||||
/// 销售订单号
|
||||
///</summary>
|
||||
[Column("SaleBillNo")]
|
||||
public string SaleBillNo { get; set; }
|
||||
/// <summary>
|
||||
/// 出库数量
|
||||
///</summary>
|
||||
[Column("Qty")]
|
||||
public decimal Qty { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -204,14 +204,14 @@ namespace WMS.Web.Domain.Services
|
||||
OperateTime = DateTime.Now,
|
||||
OperateType = OutStockTypeConvert(outStock.Type),
|
||||
OperateUser = userName,
|
||||
Remark = "来源单号:" + string.Join(",", outstockDetail.SourceBillNos) + "\r\n" + "出库单号:" + outStock.BillNo
|
||||
Remark = "来源单号:" + string.Join(",", outstockDetail.ErpDetails.Select(s=>s.SourceBillNo)) + "\r\n" + "出库单号:" + outStock.BillNo
|
||||
};
|
||||
if (outStock.Type == OutStockType.Sal)
|
||||
{
|
||||
var detail = outStock.Details.FirstOrDefault(f => f.MaterialId == entity.MaterialId);
|
||||
var res_c = await _erpService.BillQueryForCustomer();
|
||||
var customer = res_c.Data.FirstOrDefault(f => f.Id == outStock.ReceiptCustomerId);
|
||||
op.Remark += "\r\n" + "销售订单号:" + string.Join(",", detail.SaleBillNos);
|
||||
op.Remark += "\r\n" + "销售订单号:" + string.Join(",", detail.ErpDetails.Select(s => s.SaleBillNo));
|
||||
op.Remark += "\r\n" + "客户:" + customer?.Name;
|
||||
}
|
||||
sList.Add(op);
|
||||
|
||||
@@ -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; }
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user