任务单来源单调整为明细
This commit is contained in:
@@ -968,11 +968,6 @@
|
|||||||
单据编号
|
单据编号
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="P:WMS.Web.Domain.Entitys.OutStockTask.SourceBillNo">
|
|
||||||
<summary>
|
|
||||||
来源单号
|
|
||||||
</summary>
|
|
||||||
</member>
|
|
||||||
<member name="P:WMS.Web.Domain.Entitys.OutStockTask.DeliveryOrgId">
|
<member name="P:WMS.Web.Domain.Entitys.OutStockTask.DeliveryOrgId">
|
||||||
<summary>
|
<summary>
|
||||||
发货组织
|
发货组织
|
||||||
@@ -1059,6 +1054,11 @@
|
|||||||
对应金蝶单据明细id(销售出库同步金蝶下推使用)
|
对应金蝶单据明细id(销售出库同步金蝶下推使用)
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:WMS.Web.Domain.Entitys.OutStockTaskDetails.SourceBillNos">
|
||||||
|
<summary>
|
||||||
|
来源单号(合并后有多个)
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="P:WMS.Web.Domain.Entitys.OutStockTaskDetails.SaleBillNo">
|
<member name="P:WMS.Web.Domain.Entitys.OutStockTaskDetails.SaleBillNo">
|
||||||
<summary>
|
<summary>
|
||||||
销售订单号
|
销售订单号
|
||||||
|
|||||||
@@ -28,11 +28,6 @@ namespace WMS.Web.Domain.Entitys
|
|||||||
[Column("BillNo")]
|
[Column("BillNo")]
|
||||||
public string BillNo { get; set; }
|
public string BillNo { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 来源单号
|
|
||||||
///</summary>
|
|
||||||
[Column("SourceBillNo")]
|
|
||||||
public string SourceBillNo { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// 发货组织
|
/// 发货组织
|
||||||
///</summary>
|
///</summary>
|
||||||
[Column("DeliveryOrgId")]
|
[Column("DeliveryOrgId")]
|
||||||
@@ -71,10 +66,10 @@ namespace WMS.Web.Domain.Entitys
|
|||||||
/// 明细
|
/// 明细
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<OutStockTaskDetails> Details = new List<OutStockTaskDetails>();
|
public List<OutStockTaskDetails> Details = new List<OutStockTaskDetails>();
|
||||||
public void Create(OutStockType type, string sourceBillNo, int deliveryOrgId, int receiptCustomerId, DateTime createTime)
|
public void Create(OutStockType type, int deliveryOrgId, int receiptCustomerId, DateTime createTime)
|
||||||
{
|
{
|
||||||
this.Type = type;
|
this.Type = type;
|
||||||
this.SourceBillNo = sourceBillNo;
|
//this.SourceBillNos.Add(sourceBillNo);
|
||||||
this.DeliveryOrgId = deliveryOrgId;
|
this.DeliveryOrgId = deliveryOrgId;
|
||||||
this.ReceiptCustomerId = receiptCustomerId;
|
this.ReceiptCustomerId = receiptCustomerId;
|
||||||
this.CreateTime = createTime;
|
this.CreateTime = createTime;
|
||||||
|
|||||||
@@ -32,6 +32,11 @@ namespace WMS.Web.Domain.Entitys
|
|||||||
[Column("Erp_DetailId")]
|
[Column("Erp_DetailId")]
|
||||||
public int Erp_DetailId { get; set; }
|
public int Erp_DetailId { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// 来源单号(合并后有多个)
|
||||||
|
///</summary>
|
||||||
|
[Column("SourceBillNo")]
|
||||||
|
public List<string> SourceBillNos { get; set; }
|
||||||
|
/// <summary>
|
||||||
/// 销售订单号
|
/// 销售订单号
|
||||||
///</summary>
|
///</summary>
|
||||||
[Column("SaleBillNo")]
|
[Column("SaleBillNo")]
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ namespace WMS.Web.Domain.Mappers
|
|||||||
CreateMap<OutStockTask, GetOutStockTaskByNoResponse>();
|
CreateMap<OutStockTask, GetOutStockTaskByNoResponse>();
|
||||||
CreateMap<OutStockTaskDetails, GetOutStockTaskByNoDetailsResponse>();
|
CreateMap<OutStockTaskDetails, GetOutStockTaskByNoDetailsResponse>();
|
||||||
|
|
||||||
CreateMap<ErpDeliveryNoticeOutStockResultDto, OutStockTaskDetails>();
|
CreateMap<ErpDeliveryNoticeOutStockResultDto, OutStockTaskDetails>()
|
||||||
|
.ForPath(x => x.SourceBillNos, ops => ops.MapFrom(x =>new List<string>() { x.SourceBillNo }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ namespace WMS.Web.Domain.Services
|
|||||||
foreach (var e in erp_list)
|
foreach (var e in erp_list)
|
||||||
{
|
{
|
||||||
//代表单据已经存在 那么就对单据进行修改
|
//代表单据已经存在 那么就对单据进行修改
|
||||||
var data = data_list.FirstOrDefault(f => f.SourceBillNo == e.SourceBillNo);
|
var data = data_list.FirstOrDefault(f => f.Details.SelectMany(s => s.SourceBillNos).Contains(e.SourceBillNo));
|
||||||
var detail = data.Details.FirstOrDefault(w => w.MaterialId == e.MaterialId);
|
var detail = data.Details.FirstOrDefault(w => w.MaterialId == e.MaterialId);
|
||||||
//存在就修改,没有就添加
|
//存在就修改,没有就添加
|
||||||
if (detail != null)
|
if (detail != null)
|
||||||
@@ -134,8 +134,7 @@ namespace WMS.Web.Domain.Services
|
|||||||
{
|
{
|
||||||
var e = erp_list.FirstOrDefault(f => f.SourceBillNo == item);
|
var e = erp_list.FirstOrDefault(f => f.SourceBillNo == item);
|
||||||
var dto = new OutStockTask();
|
var dto = new OutStockTask();
|
||||||
dto.SourceBillNo = e.SourceBillNo;
|
dto.Create((OutStockType)e.Type, e.DeliveryOrgId, e.ReceiptCustomerId, (DateTime)e.CreateTime);
|
||||||
dto.Create((OutStockType)e.Type, e.SourceBillNo, e.DeliveryOrgId, e.ReceiptCustomerId, (DateTime)e.CreateTime);
|
|
||||||
|
|
||||||
//找到当前对应来源单据编号的集合数据
|
//找到当前对应来源单据编号的集合数据
|
||||||
var current_erp_details = erp_list.Where(x => x.SourceBillNo == item).ToList();
|
var current_erp_details = erp_list.Where(x => x.SourceBillNo == item).ToList();
|
||||||
@@ -282,15 +281,15 @@ namespace WMS.Web.Domain.Services
|
|||||||
foreach (var entity in taskList)
|
foreach (var entity in taskList)
|
||||||
{
|
{
|
||||||
if (entity.Type == OutStockType.Sal)
|
if (entity.Type == OutStockType.Sal)
|
||||||
DeliveryNotice_Nos.Add(entity.SourceBillNo);
|
DeliveryNotice_Nos.AddRange(entity.Details.SelectMany(s => s.SourceBillNos));
|
||||||
else if (entity.Type == OutStockType.Stkdirecttransfers)
|
else if (entity.Type == OutStockType.Stkdirecttransfers)
|
||||||
TransferDirect_Nos.Add(entity.SourceBillNo);
|
TransferDirect_Nos.AddRange(entity.Details.SelectMany(s => s.SourceBillNos));
|
||||||
else if (entity.Type == OutStockType.StktransferInst)
|
else if (entity.Type == OutStockType.StktransferInst)
|
||||||
TransferOut_Nos.Add(entity.SourceBillNo);
|
TransferOut_Nos.AddRange(entity.Details.SelectMany(s => s.SourceBillNos));
|
||||||
else if (entity.Type == OutStockType.Assembled)
|
else if (entity.Type == OutStockType.Assembled)
|
||||||
AssembledApp_Nos.Add(entity.SourceBillNo);
|
AssembledApp_Nos.AddRange(entity.Details.SelectMany(s => s.SourceBillNos));
|
||||||
else if (entity.Type == OutStockType.Miscellaneous)
|
else if (entity.Type == OutStockType.Miscellaneous)
|
||||||
MisDeliveryOut_Nos.Add(entity.SourceBillNo);
|
MisDeliveryOut_Nos.AddRange(entity.Details.SelectMany(s => s.SourceBillNos));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (DeliveryNotice_Nos.Count() > 0)
|
if (DeliveryNotice_Nos.Count() > 0)
|
||||||
|
|||||||
@@ -112,6 +112,10 @@ namespace WMS.Web.Repositories.Configuration
|
|||||||
{
|
{
|
||||||
ent.ToTable("t_erp_outstock_task_details");
|
ent.ToTable("t_erp_outstock_task_details");
|
||||||
ent.HasKey(x => x.Id);
|
ent.HasKey(x => x.Id);
|
||||||
|
|
||||||
|
ent.Property(f => f.SourceBillNos).HasConversion(
|
||||||
|
v => JsonConvert.SerializeObject(v),
|
||||||
|
v => JsonConvert.DeserializeObject<List<string>>(v));
|
||||||
});
|
});
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|||||||
@@ -263,7 +263,7 @@ namespace WMS.Web.Repositories
|
|||||||
if (dto.Ids.Count() > 0)
|
if (dto.Ids.Count() > 0)
|
||||||
query = query.Where(w => dto.Ids.Contains(w.detail.Id));
|
query = query.Where(w => dto.Ids.Contains(w.detail.Id));
|
||||||
if (!string.IsNullOrEmpty(dto.SourceBillNo))
|
if (!string.IsNullOrEmpty(dto.SourceBillNo))
|
||||||
query = query.Where(w => EF.Functions.Like(w.order.SourceBillNo, "%" + dto.SourceBillNo + "%"));
|
query = query.Where(w => w.detail.SourceBillNos.Where(sw => EF.Functions.Like(sw, "%" + dto.SourceBillNo + "%")).Contains(w.order.BillNo));
|
||||||
if (dto.Type != null)
|
if (dto.Type != null)
|
||||||
query = query.Where(w => w.order.Type == (OutStockType)dto.Type);
|
query = query.Where(w => w.order.Type == (OutStockType)dto.Type);
|
||||||
if (dto.Status != null)
|
if (dto.Status != null)
|
||||||
@@ -290,7 +290,7 @@ namespace WMS.Web.Repositories
|
|||||||
OutStockBeginTime = s.detail.OutStockBeginTime.DateToStringSeconds(),
|
OutStockBeginTime = s.detail.OutStockBeginTime.DateToStringSeconds(),
|
||||||
OutStockEndTime = s.detail.OutStockEndTime.DateToStringSeconds(),
|
OutStockEndTime = s.detail.OutStockEndTime.DateToStringSeconds(),
|
||||||
Stock = _singleDataService.GetSingleData(SingleAction.Stocks, _loginRepositories.CompanyId, s.detail.StockCode),
|
Stock = _singleDataService.GetSingleData(SingleAction.Stocks, _loginRepositories.CompanyId, s.detail.StockCode),
|
||||||
SourceBillNo = s.order.SourceBillNo,
|
SourceBillNo = string.Join(",", s.detail.SourceBillNos.Select(x => x)),
|
||||||
SaleBillNo = s.detail.SaleBillNo,
|
SaleBillNo = s.detail.SaleBillNo,
|
||||||
DeliveryOrg = _erpBasicDataExtendService.GetOrgName(orgs, s.order.DeliveryOrgId),
|
DeliveryOrg = _erpBasicDataExtendService.GetOrgName(orgs, s.order.DeliveryOrgId),
|
||||||
ReceiptCustomer = s.order.Type == OutStockType.Sal
|
ReceiptCustomer = s.order.Type == OutStockType.Sal
|
||||||
@@ -319,7 +319,7 @@ namespace WMS.Web.Repositories
|
|||||||
|
|
||||||
var list = await _context.OutStockTask.Include(x => x.Details)
|
var list = await _context.OutStockTask.Include(x => x.Details)
|
||||||
.Where(f => (EF.Functions.Like(f.BillNo, "%" + billNo + "%") ||
|
.Where(f => (EF.Functions.Like(f.BillNo, "%" + billNo + "%") ||
|
||||||
EF.Functions.Like(f.SourceBillNo, "%" + billNo + "%")) &&
|
f.Details.SelectMany(s=>s.SourceBillNos).Where(sw => EF.Functions.Like(sw, "%" + billNo + "%")).Contains(f.BillNo)) &&
|
||||||
(f.Status == OutStockStatus.Part || f.Status == OutStockStatus.Wait))
|
(f.Status == OutStockStatus.Part || f.Status == OutStockStatus.Wait))
|
||||||
.OrderByDescending(o => o.Id)
|
.OrderByDescending(o => o.Id)
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
@@ -419,7 +419,7 @@ namespace WMS.Web.Repositories
|
|||||||
{
|
{
|
||||||
return await _context.OutStockTask.Include(x => x.Details)
|
return await _context.OutStockTask.Include(x => x.Details)
|
||||||
.Where(f => (EF.Functions.Like(f.BillNo, "%" + billNo + "%") ||
|
.Where(f => (EF.Functions.Like(f.BillNo, "%" + billNo + "%") ||
|
||||||
EF.Functions.Like(f.SourceBillNo, "%" + billNo + "%")) &&
|
f.Details.SelectMany(s => s.SourceBillNos).Where(sw => EF.Functions.Like(sw, "%" + billNo + "%")).Contains(f.BillNo)) &&
|
||||||
(f.Status == OutStockStatus.Part || f.Status == OutStockStatus.Wait))
|
(f.Status == OutStockStatus.Part || f.Status == OutStockStatus.Wait))
|
||||||
.OrderByDescending(o => o.Id)
|
.OrderByDescending(o => o.Id)
|
||||||
.Select(s => s.BillNo)
|
.Select(s => s.BillNo)
|
||||||
|
|||||||
Reference in New Issue
Block a user