调整出库和出库任务结构

This commit is contained in:
18942506660
2023-11-03 15:34:24 +08:00
parent ad8f91bc7d
commit 6e191140e9
9 changed files with 205 additions and 48 deletions

View File

@@ -575,6 +575,81 @@
出库单同步金蝶
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.OutStock.ErpOutStockSaveDto.BillNo">
<summary>
单据编号
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.OutStock.ErpOutStockSaveDto.Type">
<summary>
单据类型
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.OutStock.ErpOutStockSaveDto.DeliveryOrgId">
<summary>
发货组织
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.OutStock.ErpOutStockSaveDto.ReceiptCustomerId">
<summary>
收货客户
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.OutStock.ErpOutStockSaveDto.CreateTime">
<summary>
创建时间(出库时间)
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.OutStock.ErpOutStockSaveDto.Currency">
<summary>
结算币别默认为: 人民币
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.OutStock.ErpOutStockSaveDto.SalOrg">
<summary>
销售组织取对应发货通知单的销售组织
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.OutStock.ErpOutStockSaveDto.SalDept">
<summary>
销售部门取对应发货通知单的销售部门
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.OutStock.ErpOutStockSaveDetailsDto.MaterialId">
<summary>
物料Id
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.OutStock.ErpOutStockSaveDetailsDto.StockId">
<summary>
仓库ID
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.OutStock.ErpOutStockSaveDetailsDto.UnitId">
<summary>
出库数量
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.OutStock.ErpOutStockSaveDetailsDto.Qty">
<summary>
出库数量
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.OutStock.ErpOutStockSaveDetailsDto.YFQty">
<summary>
应发数量,取对应发货通知单的销售数量
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.OutStock.ErpOutStockSaveDetailsDto.Price">
<summary>
单价 取对应发货通知单对应物料编码行的 单价
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.Erp.OutStock.ErpOutStockSaveDetailsDto.HSPrice">
<summary>
含税单价 取对应发货通知单对应物料编码行的 含税单价
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.Erp.Purchase.ErpPurchaseInStockResultDto">
<summary>
erp-采购入库-返回数据源

View File

@@ -680,6 +680,16 @@
单据类型
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStock.DeliveryOrgId">
<summary>
发货组织
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStock.ReceiptCustomerId">
<summary>
收货客户
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStock.CreatorId">
<summary>
创建人
@@ -736,16 +746,6 @@
销售订单号
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockDetails.DeliveryOrgId">
<summary>
发货组织
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockDetails.ReceiptCustomerId">
<summary>
收货客户
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockDetails.MaterialId">
<summary>
物料Id
@@ -786,6 +786,16 @@
来源单号
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockTask.DeliveryOrgId">
<summary>
发货组织
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockTask.ReceiptCustomerId">
<summary>
收货客户
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockTask.Status">
<summary>
单据状态
@@ -849,16 +859,6 @@
销售订单号
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockTaskDetails.DeliveryOrgId">
<summary>
发货组织
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockTaskDetails.ReceiptCustomerId">
<summary>
收货客户
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.OutStockTaskDetails.MaterialId">
<summary>
物料Id

View File

@@ -1,4 +1,5 @@
using System;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Text;
@@ -9,5 +10,85 @@ namespace WMS.Web.Core.Dto.Erp.OutStock
/// </summary>
public class ErpOutStockSaveDto
{
/// <summary>
/// 单据编号
/// </summary>
[JsonProperty("BillNo")]
public string BillNo { get; set; }
/// <summary>
/// 单据类型
/// </summary>
[JsonProperty("BillNo")]
public string Type { get; set; }
/// <summary>
/// 发货组织
///</summary>
[JsonProperty("DeliveryOrgId")]
public int DeliveryOrgId { get; set; }
/// <summary>
/// 收货客户
///</summary>
[JsonProperty("ReceiptCustomerId")]
public int ReceiptCustomerId { get; set; }
/// <summary>
/// 创建时间(出库时间)
/// </summary>
[JsonProperty("CreateTime")]
public DateTime CreateTime { get; set; } = DateTime.Now;
/// <summary>
/// 结算币别默认为: 人民币
///</summary>
[JsonProperty("Currency")]
public string Currency { get; set; }
/// <summary>
/// 销售组织取对应发货通知单的销售组织
///</summary>
[JsonProperty("Currency")]
public string SalOrg { get; set; }
/// <summary>
/// 销售部门取对应发货通知单的销售部门
///</summary>
[JsonProperty("Currency")]
public string SalDept { get; set; }
}
public class ErpOutStockSaveDetailsDto
{
/// <summary>
/// 物料Id
///</summary>
[JsonProperty("MaterialId")]
public string MaterialId { get; set; }
/// <summary>
/// 仓库ID
///</summary>
[JsonProperty("StockId")]
public string StockId { get; set; }
/// <summary>
/// 出库数量
///</summary>
[JsonProperty("UnitId")]
public string UnitId { get; set; }
/// <summary>
/// 出库数量
///</summary>
[JsonProperty("Qty")]
public decimal Qty { get; set; }
/// <summary>
/// 应发数量,取对应发货通知单的销售数量
///</summary>
[JsonProperty("YFQty")]
public string YFQty { get; set; }
/// <summary>
/// 单价 取对应发货通知单对应物料编码行的 单价
///</summary>
[JsonProperty("Price")]
public string Price { get; set; }
/// <summary>
///含税单价 取对应发货通知单对应物料编码行的 含税单价
///</summary>
[JsonProperty("HSPrice")]
public string HSPrice { get; set; }
}
}

View File

@@ -40,7 +40,16 @@ namespace WMS.Web.Domain.Entitys
/// </summary>
[Column("Type")]
public OrderType Type { get; set; } = OrderType.Sal_Out;
/// <summary>
/// 发货组织
///</summary>
[Column("DeliveryOrgId")]
public int DeliveryOrgId { get; set; }
/// <summary>
/// 收货客户
///</summary>
[Column("ReceiptCustomerId")]
public int ReceiptCustomerId { get; set; }
/// <summary>
/// 创建人
/// </summary>

View File

@@ -35,16 +35,7 @@ namespace WMS.Web.Domain.Entitys
///</summary>
[Column("SaleBillNo")]
public string SaleBillNo { get; set; }
/// <summary>
/// 发货组织
///</summary>
[Column("DeliveryOrgId")]
public int DeliveryOrgId { get; set; }
/// <summary>
/// 收货客户
///</summary>
[Column("ReceiptCustomerId")]
public int ReceiptCustomerId { get; set; }
/// <summary>
/// 物料Id
///</summary>

View File

@@ -33,6 +33,16 @@ namespace WMS.Web.Domain.Entitys
[Column("SourceBillNo")]
public string SourceBillNo { get; set; }
/// <summary>
/// 发货组织
///</summary>
[Column("DeliveryOrgId")]
public int DeliveryOrgId { get; set; }
/// <summary>
/// 收货客户
///</summary>
[Column("ReceiptCustomerId")]
public int ReceiptCustomerId { get; set; }
/// <summary>
/// 单据状态
/// </summary>
[Column("Status")]
@@ -100,10 +110,11 @@ namespace WMS.Web.Domain.Entitys
// 符合合并数据逻辑:出库状态为”待拣货”+出库类型为:销售出库+发货组织一致+收货客户一致+发货仓库一致
if (list.Where(w => w.Status != OutStockStatus.Wait).Any()) return Result.ReFailure(ResultCodes.MergeStatusError);
if (list.Where(w => w.Type != OrderType.Sal_Out).Any()) return Result.ReFailure(ResultCodes.MergeStatusError);
if (list.GroupBy(g => g.DeliveryOrgId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
if (list.GroupBy(g => g.ReceiptCustomerId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
var details = list.SelectMany(s => s.Details).ToList();
if (details.GroupBy(g => g.DeliveryOrgId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
if (details.GroupBy(g => g.ReceiptCustomerId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
if (details.GroupBy(g => g.StockId).Count() > 1) return Result.ReFailure(ResultCodes.MergeStatusError);
//清空数据绑定

View File

@@ -32,16 +32,6 @@ namespace WMS.Web.Domain.Entitys
[Column("SaleBillNo")]
public string SaleBillNo { get; set; }
/// <summary>
/// 发货组织
///</summary>
[Column("DeliveryOrgId")]
public int DeliveryOrgId { get; set; }
/// <summary>
/// 收货客户
///</summary>
[Column("ReceiptCustomerId")]
public int ReceiptCustomerId { get; set; }
/// <summary>
/// 物料Id
///</summary>
[Column("MaterialId")]

View File

@@ -103,7 +103,7 @@ namespace WMS.Web.Repositories
if (dto.SuccessSync != null)
query = query.Where(w => w.order.SuccessSync == dto.SuccessSync);
if (dto.DeliveryOrgId != null)
query = query.Where(w => w.detail.DeliveryOrgId == dto.DeliveryOrgId);
query = query.Where(w => w.order.DeliveryOrgId == dto.DeliveryOrgId);
if (dto.StockId != null)
query = query.Where(w => w.detail.StockId == dto.StockId);
if (dto.CreateBeginDate != null)
@@ -126,7 +126,7 @@ namespace WMS.Web.Repositories
SourceBillNo = s.detail.SourceBillNo,
SaleBillNo = s.detail.SaleBillNo,
DeliveryOrg = "",
ReceiptCustomer = _singleDataService.GetSingleData(SingleAction.Customers, _loginRepositories.CompanyId, s.detail.ReceiptCustomerId),
ReceiptCustomer = _singleDataService.GetSingleData(SingleAction.Customers, _loginRepositories.CompanyId, s.order.ReceiptCustomerId),
MaterialName = "",
MaterialNumber = "",
Specifications = "",

View File

@@ -229,7 +229,7 @@ namespace WMS.Web.Repositories
if (dto.Status != null)
query = query.Where(w => w.order.Status == (OutStockStatus)dto.Status);
if (dto.DeliveryOrgId != null)
query = query.Where(w => w.detail.DeliveryOrgId == dto.DeliveryOrgId);
query = query.Where(w => w.order.DeliveryOrgId == dto.DeliveryOrgId);
if (dto.StockId != null)
query = query.Where(w => w.detail.StockId == dto.StockId);
if (dto.CreateBeginDate != null)
@@ -251,7 +251,7 @@ namespace WMS.Web.Repositories
SourceBillNo = s.order.SourceBillNo,
SaleBillNo = s.detail.SaleBillNo,
DeliveryOrg = "",
ReceiptCustomer = _singleDataService.GetSingleData(SingleAction.Customers, _loginRepositories.CompanyId, s.detail.ReceiptCustomerId),
ReceiptCustomer = _singleDataService.GetSingleData(SingleAction.Customers, _loginRepositories.CompanyId, s.order.ReceiptCustomerId),
MaterialName = "",
MaterialNumber = "",
Specifications = ""