From 896450fd2389c2756e82c98e36729c77f5afc6ce Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Mon, 18 Mar 2024 11:03:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 36 +-- .../Dto/Erp/ErpInStockResultDto.cs | 6 + .../Dto/InStock/InStockQueryResponse.cs | 6 - .../Dto/InStock/NoPurchaseShelfRequest.cs | 13 +- .../Dto/InStock/PurchaseShelfRequest.cs | 5 +- .../Dto/InStock/SaveInStockDetailsRequest.cs | 6 +- .../Dto/InStockTask/BoxInStockTaskDto.cs | 5 - .../InStockTask/ContrastMaterialsResponse.cs | 5 +- .../SourceBillNoNoPurchaseQueryResponse.cs | 5 - .../InStockTask/SourceBillNoQueryResponse.cs | 5 - .../UpdateInStockTaskDetailsRequest.cs | 4 +- .../Inventory/BoxInventoryBackGenerateDto.cs | 13 +- .../BoxInventoryChangeGenerateDto.cs | 9 +- .../Inventory/BoxInventoryDetailsResponse.cs | 9 +- .../Dto/Inventory/BoxInventoryGenerateDto.cs | 10 +- .../Inventory/BoxInventoryMoveGenerateDto.cs | 10 +- .../Dto/Inventory/BoxInventoryQueryRequest.cs | 4 +- .../Inventory/BoxInventoryTakeGenerateDto.cs | 8 +- .../Inventory/InventoryDetailsGenerateDto.cs | 8 +- .../Inventory/InventoryDetailsQueryRequest.cs | 4 +- .../InventoryDetailsSummaryResponse.cs | 4 +- .../InventoryInOutDetailsGenerateDto.cs | 9 +- src/WMS.Web.Domain/Entitys/BackRecord.cs | 4 - .../Entitys/BackRecordDetails.cs | 4 - src/WMS.Web.Domain/Entitys/BoxInventory.cs | 5 - .../Entitys/BoxInventoryDetails.cs | 4 - src/WMS.Web.Domain/Entitys/BoxMark.cs | 5 - src/WMS.Web.Domain/Entitys/InStock.cs | 5 +- src/WMS.Web.Domain/Entitys/InStockDetails.cs | 5 +- .../Entitys/InStockErpDetails.cs | 4 - .../Entitys/InStockTaskBoxDetails.cs | 5 +- .../Entitys/InstockTaskDetails.cs | 4 - .../Entitys/InventoryInOutDetails.cs | 4 + .../IService/IInventoryDetailsService.cs | 4 +- .../IService/IInventoryInOutDetailsService.cs | 6 +- .../Public/IErpBasicDataExtendService.cs | 8 + .../IInventoryDetailsRepositories.cs | 10 +- src/WMS.Web.Domain/Mappers/InStockMapper.cs | 2 +- .../Services/BoxInventoryService.cs | 255 +++++++++--------- src/WMS.Web.Domain/Services/InStockService.cs | 141 ++-------- .../Services/InStockTaskService.cs | 24 +- .../Services/InventoryDetailsService.cs | 20 +- .../Services/InventoryInOutDetailsService.cs | 20 +- .../Public/ErpBasicDataExtendService.cs | 21 ++ .../BoxInventoryRepositories.cs | 39 ++- .../InStockRepositories.cs | 27 +- .../InStockTaskRepositories.cs | 47 ++-- .../InventoryDetailsRepositories.cs | 49 ++-- .../InventoryInOutDetailsRepositories.cs | 24 +- 49 files changed, 394 insertions(+), 536 deletions(-) diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index f0d6d80b..a930eacc 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -1817,9 +1817,9 @@ 箱明细 - + - 物料 + 物料编码 @@ -2197,9 +2197,9 @@ 对应金蝶的明细ID - + - 物料ID + 物料编码 @@ -2467,10 +2467,10 @@ 仓库编码 - - - 仓位ID - + + + 仓位编码 + @@ -2502,10 +2502,10 @@ 明细 - - - 物料Id - + + + 物料编码 + @@ -2542,9 +2542,9 @@ 仓库编码 - + - 仓位ID + 仓位编码 @@ -2582,10 +2582,10 @@ 对应金蝶的明细ID - - - 物料Id - + + + 物料编码 + diff --git a/src/WMS.Web.Core/Dto/Erp/ErpInStockResultDto.cs b/src/WMS.Web.Core/Dto/Erp/ErpInStockResultDto.cs index 0707007a..df9415b2 100644 --- a/src/WMS.Web.Core/Dto/Erp/ErpInStockResultDto.cs +++ b/src/WMS.Web.Core/Dto/Erp/ErpInStockResultDto.cs @@ -38,6 +38,12 @@ namespace WMS.Web.Core.Dto.Erp /// public int MaterialId { get; set; } + /// + /// 物料编码 + /// + public string MaterialNumber { get; set; } + + /// /// 仓库ID /// diff --git a/src/WMS.Web.Core/Dto/InStock/InStockQueryResponse.cs b/src/WMS.Web.Core/Dto/InStock/InStockQueryResponse.cs index 2f2652a2..ad9fe18f 100644 --- a/src/WMS.Web.Core/Dto/InStock/InStockQueryResponse.cs +++ b/src/WMS.Web.Core/Dto/InStock/InStockQueryResponse.cs @@ -22,12 +22,6 @@ namespace WMS.Web.Core.Dto [Ignore] public int TaskId { get; set; } - /// - /// 物料ID - /// - [Ignore] - public int MaterialId { get; set; } - /// /// 明细ID /// diff --git a/src/WMS.Web.Core/Dto/InStock/NoPurchaseShelfRequest.cs b/src/WMS.Web.Core/Dto/InStock/NoPurchaseShelfRequest.cs index 44ebbbe2..cfd317ba 100644 --- a/src/WMS.Web.Core/Dto/InStock/NoPurchaseShelfRequest.cs +++ b/src/WMS.Web.Core/Dto/InStock/NoPurchaseShelfRequest.cs @@ -33,11 +33,12 @@ namespace WMS.Web.Core.Dto.InStock /// [Required(ErrorMessage = "仓库不能为空")] public string StockCode { get; set; } + /// - /// 仓位ID - /// + /// 仓位编码 + /// [Required(ErrorMessage = " 仓位不能为空")] - public int SubStockId { get; set; } + public string SubStockCode { get; set; } /// /// 箱信息 @@ -72,10 +73,10 @@ namespace WMS.Web.Core.Dto.InStock public class NoPurchaseShelfDetailsRequest { /// - /// 物料Id - /// + /// 物料编码 + /// [Required(ErrorMessage = "物料不能为空")] - public int MaterialId { get; set; } + public string MaterialNumber { get; set; } /// /// 供应商 diff --git a/src/WMS.Web.Core/Dto/InStock/PurchaseShelfRequest.cs b/src/WMS.Web.Core/Dto/InStock/PurchaseShelfRequest.cs index c43d9e52..673866bc 100644 --- a/src/WMS.Web.Core/Dto/InStock/PurchaseShelfRequest.cs +++ b/src/WMS.Web.Core/Dto/InStock/PurchaseShelfRequest.cs @@ -18,10 +18,11 @@ namespace WMS.Web.Core.Dto.InStock /// 仓库编码 /// public string StockCode { get; set; } + /// - /// 仓位ID + /// 仓位编码 /// - public int SubStockId { get; set; } + public string SubStockCode { get; set; } /// /// 明细 diff --git a/src/WMS.Web.Core/Dto/InStock/SaveInStockDetailsRequest.cs b/src/WMS.Web.Core/Dto/InStock/SaveInStockDetailsRequest.cs index d1eca5f2..78667c70 100644 --- a/src/WMS.Web.Core/Dto/InStock/SaveInStockDetailsRequest.cs +++ b/src/WMS.Web.Core/Dto/InStock/SaveInStockDetailsRequest.cs @@ -41,10 +41,10 @@ namespace WMS.Web.Core.Dto.InStock public int ErpDetailId { get; set; } /// - /// 物料Id - /// + /// 物料编码 + /// [Required(ErrorMessage = "物料不能为空")] - public int MaterialId { get; set; } + public string MaterialNumber { get; set; } /// /// 入库数量 diff --git a/src/WMS.Web.Core/Dto/InStockTask/BoxInStockTaskDto.cs b/src/WMS.Web.Core/Dto/InStockTask/BoxInStockTaskDto.cs index 0b2c273f..82b5e97a 100644 --- a/src/WMS.Web.Core/Dto/InStockTask/BoxInStockTaskDto.cs +++ b/src/WMS.Web.Core/Dto/InStockTask/BoxInStockTaskDto.cs @@ -50,11 +50,6 @@ namespace WMS.Web.Core.Dto.InStockTask /// public int ErpDetailId { get; set; } - /// - /// 物料ID - /// - public int MaterialId { get; set; } - /// /// 物料名称 /// diff --git a/src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsResponse.cs b/src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsResponse.cs index b9d21d7d..0fc1e844 100644 --- a/src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsResponse.cs +++ b/src/WMS.Web.Core/Dto/InStockTask/ContrastMaterialsResponse.cs @@ -46,10 +46,11 @@ namespace WMS.Web.Core.Dto.InStockTask /// public class ContrastBoxDetailsResponse { + /// - /// 物料 + /// 物料编码 /// - public int MaterialId { get; set; } + public string MaterialNumber { get; set; } /// /// 数量 diff --git a/src/WMS.Web.Core/Dto/InStockTask/SourceBillNoNoPurchaseQueryResponse.cs b/src/WMS.Web.Core/Dto/InStockTask/SourceBillNoNoPurchaseQueryResponse.cs index a75d31c2..e7c2d2aa 100644 --- a/src/WMS.Web.Core/Dto/InStockTask/SourceBillNoNoPurchaseQueryResponse.cs +++ b/src/WMS.Web.Core/Dto/InStockTask/SourceBillNoNoPurchaseQueryResponse.cs @@ -101,11 +101,6 @@ namespace WMS.Web.Core.Dto.InStockTask /// public string StockName { get; set; } - /// - /// 物料ID - /// - public int MaterialId { get; set; } - /// /// 物料名称 /// diff --git a/src/WMS.Web.Core/Dto/InStockTask/SourceBillNoQueryResponse.cs b/src/WMS.Web.Core/Dto/InStockTask/SourceBillNoQueryResponse.cs index db410e67..a9841597 100644 --- a/src/WMS.Web.Core/Dto/InStockTask/SourceBillNoQueryResponse.cs +++ b/src/WMS.Web.Core/Dto/InStockTask/SourceBillNoQueryResponse.cs @@ -47,11 +47,6 @@ namespace WMS.Web.Core.Dto.InStockTask /// public string StockName { get; set; } - /// - /// 物料ID - /// - public int MaterialId { get; set; } - /// /// 物料名称 /// diff --git a/src/WMS.Web.Core/Dto/InStockTask/UpdateInStockTaskDetailsRequest.cs b/src/WMS.Web.Core/Dto/InStockTask/UpdateInStockTaskDetailsRequest.cs index 01a6655e..3c46486f 100644 --- a/src/WMS.Web.Core/Dto/InStockTask/UpdateInStockTaskDetailsRequest.cs +++ b/src/WMS.Web.Core/Dto/InStockTask/UpdateInStockTaskDetailsRequest.cs @@ -16,9 +16,9 @@ namespace WMS.Web.Core.Dto.InStockTask public int ErpDetailId { get; set; } /// - /// 物料ID + /// 物料编码 /// - public int MaterialId { get; set; } + public string MaterialNumber { get; set; } /// /// 收货数量 /// diff --git a/src/WMS.Web.Core/Dto/Inventory/BoxInventoryBackGenerateDto.cs b/src/WMS.Web.Core/Dto/Inventory/BoxInventoryBackGenerateDto.cs index d0ec80a2..7e05292c 100644 --- a/src/WMS.Web.Core/Dto/Inventory/BoxInventoryBackGenerateDto.cs +++ b/src/WMS.Web.Core/Dto/Inventory/BoxInventoryBackGenerateDto.cs @@ -14,11 +14,6 @@ namespace WMS.Web.Core.Dto.Inventory /// public int InventoryInOutType { get; set; } - ///// - ///// 出入库存-方式(详情见枚举值):必填;1-box按箱,2-product按产品-------弃用 - ///// - //public int InventoryInOutMethod { get; set; } - /// /// 箱ID /// @@ -35,9 +30,9 @@ namespace WMS.Web.Core.Dto.Inventory public string StockCode { get; set; } /// - /// 仓位ID + /// 仓位编码 /// - public int SubStockId { get; set; } + public string SubStockCode { get; set; } /// /// 明细 @@ -51,9 +46,9 @@ namespace WMS.Web.Core.Dto.Inventory public class BoxInventoryBackDetailsGenerateDto { /// - /// 物料ID + /// 物料编码 /// - public int MaterialId { get; set; } + public string MaterialNumber { get; set; } /// /// 数量 /// diff --git a/src/WMS.Web.Core/Dto/Inventory/BoxInventoryChangeGenerateDto.cs b/src/WMS.Web.Core/Dto/Inventory/BoxInventoryChangeGenerateDto.cs index f662e799..8f5ef4c7 100644 --- a/src/WMS.Web.Core/Dto/Inventory/BoxInventoryChangeGenerateDto.cs +++ b/src/WMS.Web.Core/Dto/Inventory/BoxInventoryChangeGenerateDto.cs @@ -30,9 +30,10 @@ namespace WMS.Web.Core.Dto.Inventory public string StockCode { get; set; } /// - /// 目标箱的仓位(可为空:当目标箱不需要上架时候) + /// 仓位编码 目标箱的仓位(可为空:当目标箱不需要上架时候) /// - public int? SubStockId { get; set; } + public string SubStockCode { get; set; } + /// /// 目标箱组织编码 @@ -52,9 +53,9 @@ namespace WMS.Web.Core.Dto.Inventory public class BoxInventoryDetailsChangeGenerateDto { /// - /// 物料ID + /// 物料编码 /// - public int MaterialId { get; set; } + public string MaterialNumber { get; set; } /// /// 数量 diff --git a/src/WMS.Web.Core/Dto/Inventory/BoxInventoryDetailsResponse.cs b/src/WMS.Web.Core/Dto/Inventory/BoxInventoryDetailsResponse.cs index 962313c6..d431f8a4 100644 --- a/src/WMS.Web.Core/Dto/Inventory/BoxInventoryDetailsResponse.cs +++ b/src/WMS.Web.Core/Dto/Inventory/BoxInventoryDetailsResponse.cs @@ -35,9 +35,9 @@ namespace WMS.Web.Core.Dto.Inventory public string Stock { get; set; } /// - /// 仓位ID + /// 仓位编码 /// - public int SubStockId { get; set; } + public int SubStockCode { get; set; } /// /// 仓位名称 @@ -62,11 +62,6 @@ namespace WMS.Web.Core.Dto.Inventory public class BoxInventoryDetailsResponse:EntityBase { - /// - /// 物料ID - /// - public int MaterialId { get; set; } - /// /// 物料名称 /// diff --git a/src/WMS.Web.Core/Dto/Inventory/BoxInventoryGenerateDto.cs b/src/WMS.Web.Core/Dto/Inventory/BoxInventoryGenerateDto.cs index da4fb782..7a102e0b 100644 --- a/src/WMS.Web.Core/Dto/Inventory/BoxInventoryGenerateDto.cs +++ b/src/WMS.Web.Core/Dto/Inventory/BoxInventoryGenerateDto.cs @@ -35,9 +35,9 @@ namespace WMS.Web.Core.Dto.Inventory public string StockCode { get; set; } /// - /// 仓位:为空的时候,就是出库等操作,有值的时候就是移箱改箱和上架操作 + /// 仓位编码:为空的时候,就是出库等操作,有值的时候就是移箱改箱和上架操作 /// - public int? SubStockId { get; set; } + public string SubStockCode { get; set; } /// /// 明细 @@ -51,10 +51,10 @@ namespace WMS.Web.Core.Dto.Inventory public class BoxInventoryGenerateDetailsDto { /// - /// 物料ID + /// 物料编码 /// - public int MaterialId { get; set; } - + public string MaterialNumber { get; set; } + /// /// 物料库存数量 /// diff --git a/src/WMS.Web.Core/Dto/Inventory/BoxInventoryMoveGenerateDto.cs b/src/WMS.Web.Core/Dto/Inventory/BoxInventoryMoveGenerateDto.cs index 06f98581..f47ac59e 100644 --- a/src/WMS.Web.Core/Dto/Inventory/BoxInventoryMoveGenerateDto.cs +++ b/src/WMS.Web.Core/Dto/Inventory/BoxInventoryMoveGenerateDto.cs @@ -25,9 +25,9 @@ namespace WMS.Web.Core.Dto.Inventory public string StockCode { get; set; } /// - /// 仓位 + /// 仓位编码 /// - public int SubStockId { get; set; } + public string SubStockCode { get; set; } /// /// 类型:1为入库,2为出库 @@ -48,9 +48,9 @@ namespace WMS.Web.Core.Dto.Inventory public class BoxInventoryMoveDetailsGenerateDto { /// - /// 物料Id - /// - public int MaterialId { get; set; } + /// 物料编码 + /// + public string MaterialNumber { get; set; } /// /// 数量 /// diff --git a/src/WMS.Web.Core/Dto/Inventory/BoxInventoryQueryRequest.cs b/src/WMS.Web.Core/Dto/Inventory/BoxInventoryQueryRequest.cs index 61e65e3e..c25bbe94 100644 --- a/src/WMS.Web.Core/Dto/Inventory/BoxInventoryQueryRequest.cs +++ b/src/WMS.Web.Core/Dto/Inventory/BoxInventoryQueryRequest.cs @@ -15,9 +15,9 @@ namespace WMS.Web.Core.Dto.Inventory public string StockCode { get; set; } /// - /// 仓位 + /// 仓位编码 /// - public int? SubStockId { get; set; } + public string SubStockCode { get; set; } /// /// 箱号 diff --git a/src/WMS.Web.Core/Dto/Inventory/BoxInventoryTakeGenerateDto.cs b/src/WMS.Web.Core/Dto/Inventory/BoxInventoryTakeGenerateDto.cs index b7fc775b..77ba0877 100644 --- a/src/WMS.Web.Core/Dto/Inventory/BoxInventoryTakeGenerateDto.cs +++ b/src/WMS.Web.Core/Dto/Inventory/BoxInventoryTakeGenerateDto.cs @@ -30,9 +30,9 @@ namespace WMS.Web.Core.Dto.Inventory public string StockCode { get; set; } /// - /// 仓位ID + /// 仓位编码 /// - public int SubStockId { get; set; } + public string SubStockCode { get; set; } /// /// 明细 @@ -46,9 +46,9 @@ namespace WMS.Web.Core.Dto.Inventory public class BoxInventoryTakeDetailsGenerateDto { /// - /// 物料ID + /// 物料编码 /// - public int MaterialId { get; set; } + public string MaterialNumber { get; set; } /// /// 数量 /// diff --git a/src/WMS.Web.Core/Dto/Inventory/InventoryDetailsGenerateDto.cs b/src/WMS.Web.Core/Dto/Inventory/InventoryDetailsGenerateDto.cs index 197eedd1..7b34815c 100644 --- a/src/WMS.Web.Core/Dto/Inventory/InventoryDetailsGenerateDto.cs +++ b/src/WMS.Web.Core/Dto/Inventory/InventoryDetailsGenerateDto.cs @@ -10,9 +10,9 @@ namespace WMS.Web.Core.Dto.Inventory public class InventoryDetailsGenerateDto { /// - /// 物料ID + /// 物料编码 /// - public int MaterialId { get; set; } + public string MaterialNumber { get; set; } /// /// 组织编码 @@ -25,9 +25,9 @@ namespace WMS.Web.Core.Dto.Inventory public string StockCode { get; set; } /// - /// 仓位ID + /// 仓位编码 /// - public int SubStockId { get; set; } + public string SubStockCode { get; set; } /// /// 数量:出入库 diff --git a/src/WMS.Web.Core/Dto/Inventory/InventoryDetailsQueryRequest.cs b/src/WMS.Web.Core/Dto/Inventory/InventoryDetailsQueryRequest.cs index 0b7ab48f..756c4a25 100644 --- a/src/WMS.Web.Core/Dto/Inventory/InventoryDetailsQueryRequest.cs +++ b/src/WMS.Web.Core/Dto/Inventory/InventoryDetailsQueryRequest.cs @@ -15,9 +15,9 @@ namespace WMS.Web.Core.Dto.Inventory public string StockCode { get; set; } /// - /// 仓位 + /// 仓位编码 /// - public int? SubStockId { get; set; } + public string SubStockCode { get; set; } /// /// 物料编码 diff --git a/src/WMS.Web.Core/Dto/Inventory/InventoryDetailsSummaryResponse.cs b/src/WMS.Web.Core/Dto/Inventory/InventoryDetailsSummaryResponse.cs index 44d9389e..185dfb00 100644 --- a/src/WMS.Web.Core/Dto/Inventory/InventoryDetailsSummaryResponse.cs +++ b/src/WMS.Web.Core/Dto/Inventory/InventoryDetailsSummaryResponse.cs @@ -10,9 +10,9 @@ namespace WMS.Web.Core.Dto.Inventory public class InventoryDetailsSummaryResponse { /// - /// 物料ID + /// 物料编码 /// - public int MaterialId { get; set; } + public string MaterialNumber { get; set; } /// /// 组织编码 /// diff --git a/src/WMS.Web.Core/Dto/Inventory/InventoryInOutDetailsGenerateDto.cs b/src/WMS.Web.Core/Dto/Inventory/InventoryInOutDetailsGenerateDto.cs index 2d3f2d55..ace92fb0 100644 --- a/src/WMS.Web.Core/Dto/Inventory/InventoryInOutDetailsGenerateDto.cs +++ b/src/WMS.Web.Core/Dto/Inventory/InventoryInOutDetailsGenerateDto.cs @@ -20,19 +20,18 @@ namespace WMS.Web.Core.Dto.Inventory public string StockCode { get; set; } /// - /// 仓位ID + /// 仓位编码 /// - public int SubStockId { get; set; } + public string SubStockCode { get; set; } /// /// 箱ID /// public int BoxId { get; set; } - /// - /// 物料ID + /// 物料编码 /// - public int MaterialId { get; set; } + public string MaterialNumber { get; set; } /// /// 单据类型 diff --git a/src/WMS.Web.Domain/Entitys/BackRecord.cs b/src/WMS.Web.Domain/Entitys/BackRecord.cs index 92a74161..bd0e7cdb 100644 --- a/src/WMS.Web.Domain/Entitys/BackRecord.cs +++ b/src/WMS.Web.Domain/Entitys/BackRecord.cs @@ -46,10 +46,6 @@ namespace WMS.Web.Domain.Entitys /// 仓库编码 /// public string StockCode { get; set; } - /// - /// 仓位ID - /// - public int SubStockId { get; set; } /// /// 仓位编码 diff --git a/src/WMS.Web.Domain/Entitys/BackRecordDetails.cs b/src/WMS.Web.Domain/Entitys/BackRecordDetails.cs index 4dd72887..e21a2678 100644 --- a/src/WMS.Web.Domain/Entitys/BackRecordDetails.cs +++ b/src/WMS.Web.Domain/Entitys/BackRecordDetails.cs @@ -24,10 +24,6 @@ namespace WMS.Web.Domain.Entitys /// 所属箱号ID /// public int BoxId { get; set; } - /// - /// 物料ID - /// - public int MaterialId { get; set; } /// /// 物料编码 diff --git a/src/WMS.Web.Domain/Entitys/BoxInventory.cs b/src/WMS.Web.Domain/Entitys/BoxInventory.cs index a53ff3b0..a6cc4f28 100644 --- a/src/WMS.Web.Domain/Entitys/BoxInventory.cs +++ b/src/WMS.Web.Domain/Entitys/BoxInventory.cs @@ -28,11 +28,6 @@ namespace WMS.Web.Domain.Entitys /// 仓库编码 /// public string StockCode { get; set; } - /// - /// 仓库ID - /// - public int SubStockId { get; set; } - /// /// 仓位编码 /// diff --git a/src/WMS.Web.Domain/Entitys/BoxInventoryDetails.cs b/src/WMS.Web.Domain/Entitys/BoxInventoryDetails.cs index 15dffd64..cbd33225 100644 --- a/src/WMS.Web.Domain/Entitys/BoxInventoryDetails.cs +++ b/src/WMS.Web.Domain/Entitys/BoxInventoryDetails.cs @@ -23,10 +23,6 @@ namespace WMS.Web.Domain.Entitys /// public int Fid { get; set; } - /// - /// 物料ID - /// - public int MaterialId { get; set; } /// /// 物料编码 /// diff --git a/src/WMS.Web.Domain/Entitys/BoxMark.cs b/src/WMS.Web.Domain/Entitys/BoxMark.cs index 387040de..be18a43c 100644 --- a/src/WMS.Web.Domain/Entitys/BoxMark.cs +++ b/src/WMS.Web.Domain/Entitys/BoxMark.cs @@ -23,11 +23,6 @@ namespace WMS.Web.Domain.Entitys /// public string OrderBillNo { get; set; } - /// - /// 物料ID - /// - public int MaterialId { get; set; } - /// /// 物料编码 /// diff --git a/src/WMS.Web.Domain/Entitys/InStock.cs b/src/WMS.Web.Domain/Entitys/InStock.cs index 86d4122e..0cac25f6 100644 --- a/src/WMS.Web.Domain/Entitys/InStock.cs +++ b/src/WMS.Web.Domain/Entitys/InStock.cs @@ -72,10 +72,7 @@ namespace WMS.Web.Domain.Entitys /// 仓库编码 /// public string StockCode { get; set; } - /// - /// 仓位ID - /// - public int SubStockId { get; set; } + /// /// 仓位编码 /// diff --git a/src/WMS.Web.Domain/Entitys/InStockDetails.cs b/src/WMS.Web.Domain/Entitys/InStockDetails.cs index 973ca879..669e5950 100644 --- a/src/WMS.Web.Domain/Entitys/InStockDetails.cs +++ b/src/WMS.Web.Domain/Entitys/InStockDetails.cs @@ -46,10 +46,7 @@ namespace WMS.Web.Domain.Entitys /// 供应商ID /// public int SupplierId { get; set; } - /// - /// 物料ID - /// - public int MaterialId { get; set; } + /// /// 物料编码 /// diff --git a/src/WMS.Web.Domain/Entitys/InStockErpDetails.cs b/src/WMS.Web.Domain/Entitys/InStockErpDetails.cs index d5e38662..dd669748 100644 --- a/src/WMS.Web.Domain/Entitys/InStockErpDetails.cs +++ b/src/WMS.Web.Domain/Entitys/InStockErpDetails.cs @@ -36,10 +36,6 @@ namespace WMS.Web.Domain.Entitys /// public string SourceBillNo { get; set; } - /// - /// 物料ID - /// - public int MaterialId { get; set; } /// /// 物料编码 /// diff --git a/src/WMS.Web.Domain/Entitys/InStockTaskBoxDetails.cs b/src/WMS.Web.Domain/Entitys/InStockTaskBoxDetails.cs index 4b7c2225..a17ee8a9 100644 --- a/src/WMS.Web.Domain/Entitys/InStockTaskBoxDetails.cs +++ b/src/WMS.Web.Domain/Entitys/InStockTaskBoxDetails.cs @@ -25,10 +25,7 @@ namespace WMS.Web.Domain.Entitys /// 对应金蝶的明细ID /// public int ErpDetailId { get; set; } - /// - /// 物料ID - /// - public int MaterialId { get; set; } + /// /// 物料编码 /// diff --git a/src/WMS.Web.Domain/Entitys/InstockTaskDetails.cs b/src/WMS.Web.Domain/Entitys/InstockTaskDetails.cs index 6c028140..9d7b6ef7 100644 --- a/src/WMS.Web.Domain/Entitys/InstockTaskDetails.cs +++ b/src/WMS.Web.Domain/Entitys/InstockTaskDetails.cs @@ -40,10 +40,6 @@ namespace WMS.Web.Domain.Entitys /// public string OrgCode { get; set; } - /// - /// 物料ID - /// - public int MaterialId { get; set; } /// /// 物料编码 /// diff --git a/src/WMS.Web.Domain/Entitys/InventoryInOutDetails.cs b/src/WMS.Web.Domain/Entitys/InventoryInOutDetails.cs index 45ef20eb..198e3168 100644 --- a/src/WMS.Web.Domain/Entitys/InventoryInOutDetails.cs +++ b/src/WMS.Web.Domain/Entitys/InventoryInOutDetails.cs @@ -22,6 +22,10 @@ namespace WMS.Web.Domain.Entitys /// public int MaterialId { get; set; } /// + /// 物料编码 + /// + public string MaterialNumber { get; set; } + /// /// 类型:1为入库,2为出库 /// public InventoryInOutType Type { get; set; } diff --git a/src/WMS.Web.Domain/IService/IInventoryDetailsService.cs b/src/WMS.Web.Domain/IService/IInventoryDetailsService.cs index b19f7bd6..787358a4 100644 --- a/src/WMS.Web.Domain/IService/IInventoryDetailsService.cs +++ b/src/WMS.Web.Domain/IService/IInventoryDetailsService.cs @@ -23,10 +23,10 @@ namespace WMS.Web.Domain.IService /// /// 获取即时库存明细汇总 /// - /// + /// /// /// /// - Task> GetInventoryDetailsSummary(List mids, List stockCodes, List orgCodes); + Task> GetInventoryDetailsSummary(List materialNumbers, List stockCodes, List orgCodes); } } diff --git a/src/WMS.Web.Domain/IService/IInventoryInOutDetailsService.cs b/src/WMS.Web.Domain/IService/IInventoryInOutDetailsService.cs index 01f70b2b..753be15e 100644 --- a/src/WMS.Web.Domain/IService/IInventoryInOutDetailsService.cs +++ b/src/WMS.Web.Domain/IService/IInventoryInOutDetailsService.cs @@ -25,15 +25,15 @@ namespace WMS.Web.Domain.IService /// 生成dto /// /// - /// + /// /// /// - /// + /// /// /// /// /// /// - InventoryInOutDetailsGenerateDto GenerateDto(int boxId, int materialId, string orgCode, string stockCode, int subStockId, OrderType orderType, string billNo, decimal qty, InventoryInOutType inventoryInOutType); + InventoryInOutDetailsGenerateDto GenerateDto(int boxId, string materialNumber, string orgCode, string stockCode, string subStockCode, OrderType orderType, string billNo, decimal qty, InventoryInOutType inventoryInOutType); } } diff --git a/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs b/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs index c60a0ec6..62d60c93 100644 --- a/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs +++ b/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs @@ -59,6 +59,14 @@ namespace WMS.Web.Domain.IService.Public /// string GetMaterialUnitName(List erpMaterials, int materialId); + /// + /// 获取物料基本单位名称 + /// + /// + /// + /// + string GetMaterialUnitName(List erpMaterials, string materialNumber); + /// /// 获取物料的条码 /// diff --git a/src/WMS.Web.Domain/Infrastructure/IInventoryDetailsRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IInventoryDetailsRepositories.cs index 012f0f2d..629882d3 100644 --- a/src/WMS.Web.Domain/Infrastructure/IInventoryDetailsRepositories.cs +++ b/src/WMS.Web.Domain/Infrastructure/IInventoryDetailsRepositories.cs @@ -40,20 +40,20 @@ namespace WMS.Web.Domain.Infrastructure /// /// 列表-根据物料和仓库和仓位 /// - /// + /// /// - /// + /// /// /// - Task> GetListBy(List materialIds, List stockCodes, List subStockIds, List orgCodes); + Task> GetListBy(List materialNumbers, List stockCodes, List subStockCodes, List orgCodes); /// /// 列表-根据物料和仓库 /// - /// + /// /// /// /// - Task> GetListBy(List materialIds, List stockCodes, List orgCodes); + Task> GetListBy(List materialNumbers, List stockCodes, List orgCodes); } } diff --git a/src/WMS.Web.Domain/Mappers/InStockMapper.cs b/src/WMS.Web.Domain/Mappers/InStockMapper.cs index 6a55251d..010adcb5 100644 --- a/src/WMS.Web.Domain/Mappers/InStockMapper.cs +++ b/src/WMS.Web.Domain/Mappers/InStockMapper.cs @@ -64,7 +64,7 @@ namespace WMS.Web.Domain.Mappers .ForMember(x => x.SupplierId, ops => ops.MapFrom(x => x.SupplierId)) .ForMember(x => x.OrgId, ops => ops.MapFrom(x => x.OrgId)) .ForMember(x => x.OrgCode, ops => ops.MapFrom(x => x.OrgCode)) - .ForMember(x => x.MaterialId, ops => ops.MapFrom(x => x.MaterialId)) + .ForMember(x => x.MaterialNumber, ops => ops.MapFrom(x => x.MaterialNumber)) .ForMember(x => x.StockCode, ops => ops.MapFrom(x => x.StockCode)) .ForMember(x => x.DeliveredQty, ops => ops.MapFrom(x => x.DeliveredQty)) .ForMember(x => x.FactoryPrice, ops => ops.MapFrom(x => x.FactoryPrice)) diff --git a/src/WMS.Web.Domain/Services/BoxInventoryService.cs b/src/WMS.Web.Domain/Services/BoxInventoryService.cs index 9d260a05..be4b8a7a 100644 --- a/src/WMS.Web.Domain/Services/BoxInventoryService.cs +++ b/src/WMS.Web.Domain/Services/BoxInventoryService.cs @@ -70,12 +70,12 @@ namespace WMS.Web.Domain.Services var targetBoxInventorys = await _boxInventoryRepositories.GetList(targetBoxIds); //2.2组合要生成的dto - var generateDtos = dtoDatas.GroupBy(x => new { x.SrcBoxId, x.DestBoxId, x.DestStockCode, x.DestSubStockId, x.DestBoxOrgCode }).Select(x => new BoxInventoryChangeGenerateDto() + var generateDtos = dtoDatas.GroupBy(x => new { x.SrcBoxId, x.DestBoxId, x.DestStockCode, x.DestSubStockCode, x.DestBoxOrgCode }).Select(x => new BoxInventoryChangeGenerateDto() { BoxId = x.Key.SrcBoxId, TargetBoxId = x.Key.DestBoxId, StockCode = x.Key.DestStockCode, - SubStockId = x.Key.DestSubStockId, + SubStockCode = x.Key.DestSubStockCode, TargetBoxOrgCode = x.Key.DestBoxOrgCode }).ToList(); @@ -90,7 +90,7 @@ namespace WMS.Web.Domain.Services { //3.2组装明细 var det = new BoxInventoryDetailsChangeGenerateDto(); - det.MaterialId = item.MaterialId; + det.MaterialNumber = item.MaterialNumber; det.Qty = item.Qty; det.SerialNumbers = item.SerialNumbers; x.Details.Add(det); @@ -113,9 +113,9 @@ namespace WMS.Web.Domain.Services if (sour != null) { var inventoryInOutDet = _inventoryInOutDetailsService.GenerateDto( - item.SrcBoxId, item.MaterialId, + item.SrcBoxId, item.MaterialNumber, sour.OrgCode, sour.StockCode, - sour.SubStockId, OrderType.ChangeBox, + sour.SubStockCode, OrderType.ChangeBox, item.BillNo, item.Qty, InventoryInOutType.Out); InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet); } @@ -124,9 +124,9 @@ namespace WMS.Web.Domain.Services if (tagBox != null) { var inventoryInOutDet = _inventoryInOutDetailsService.GenerateDto( - item.DestBoxId, item.MaterialId, + item.DestBoxId, item.MaterialNumber, item.DestBoxOrgCode, item.DestStockCode, - item.DestSubStockId, OrderType.ChangeBox, + item.DestSubStockCode, OrderType.ChangeBox, item.BillNo, item.Qty, InventoryInOutType.In); InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet); } @@ -172,13 +172,13 @@ namespace WMS.Web.Domain.Services generateDto.BoxId = item.BoxId; generateDto.OrgCode = item.OrgCode; generateDto.StockCode = item.StockCode; - generateDto.SubStockId = item.Type == MoveBoxType.Up ? item.DestSubStockId : item.SrcSubStockId; + generateDto.SubStockCode = item.Type == MoveBoxType.Up ? item.DestSubStockCode : item.SrcSubStockCode; generateDto.InventoryInOutType = item.Type == MoveBoxType.Down ? (int)InventoryInOutType.Out : (int)InventoryInOutType.In; //2.2.2箱库存dto-组装明细 foreach (var detItem in item.Details) { var genDetDto = new BoxInventoryMoveDetailsGenerateDto(); - genDetDto.MaterialId = detItem.MaterialId; + genDetDto.MaterialNumber = detItem.MaterialNumber; genDetDto.Qty = detItem.Qty; genDetDto.SerialNumbers = detItem.SerialNumbers; generateDto.Details.Add(genDetDto); @@ -186,7 +186,7 @@ namespace WMS.Web.Domain.Services generateDtoList.Add(generateDto); //2.2.2物料收发明dto-组装 - var SubStockId = item.Type == MoveBoxType.Up ? item.DestSubStockId : item.SrcSubStockId; + var SubStockCode = item.Type == MoveBoxType.Up ? item.DestSubStockCode : item.SrcSubStockCode; InventoryInOutType InOutType = item.Type == MoveBoxType.Down ? InventoryInOutType.Out : InventoryInOutType.In; var ishave = boxInventorys.Where(x => x.BoxId == item.BoxId).Any(); //上架-箱是不存在库存的情况下,生成物料收发明细 @@ -197,9 +197,9 @@ namespace WMS.Web.Domain.Services foreach (var boxDet in item.Details) { var inventoryInOutDet = _inventoryInOutDetailsService.GenerateDto( - item.BoxId, boxDet.MaterialId, + item.BoxId, boxDet.MaterialNumber, item.OrgCode, item.StockCode, - SubStockId, OrderType.MoveBox, + SubStockCode, OrderType.MoveBox, item.BillNo, boxDet.Qty, InOutType); InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet); } @@ -246,8 +246,7 @@ namespace WMS.Web.Domain.Services BoxId = x.Key.BoxId, OrgCode = dtoData.OrgCode, StockCode = dtoData.StockCode, - SubStockId = dtoData.SubStockId, - //InventoryInOutMethod = (int)dtoData.Method, + SubStockCode = dtoData.SubStockCode, InventoryInOutType = dtoData.Type == BackRecordType.OutstockOn ? (int)InventoryInOutType.In : (int)InventoryInOutType.Out }).ToList(); @@ -262,7 +261,7 @@ namespace WMS.Web.Domain.Services { //3.2组装明细 var det = new BoxInventoryBackDetailsGenerateDto(); - det.MaterialId = detItem.MaterialId; + det.MaterialNumber = detItem.MaterialNumber; det.Qty = detItem.Qty; det.SerialNumbers = detItem.SerialNumbers; x.Details.Add(det); @@ -278,9 +277,9 @@ namespace WMS.Web.Domain.Services foreach (var item in dtoData.Details) { var inventoryInOutDet = _inventoryInOutDetailsService.GenerateDto( - item.BoxId, item.MaterialId, + item.BoxId, item.MaterialNumber, dtoData.OrgCode, dtoData.StockCode, - dtoData.SubStockId, OrderType.Back, + dtoData.SubStockCode, OrderType.Back, dtoData.BillNo, item.Qty, (dtoData.Type == BackRecordType.InstockOff ? InventoryInOutType.Out : InventoryInOutType.In)); InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet); } @@ -314,12 +313,12 @@ namespace WMS.Web.Domain.Services var dtoDetails_in = dtoDatas.Where(x => x.ResultType == TakeStockType.Profit).SelectMany(x => x.Details).ToList(); //2.组装:入库数据 - var generateDtoList_in = dtoDetails_in.GroupBy(x => new { x.BoxId, x.OrgCode, x.StockCode, x.SubStockId }).Select(x => new BoxInventoryTakeGenerateDto() + var generateDtoList_in = dtoDetails_in.GroupBy(x => new { x.BoxId, x.OrgCode, x.StockCode, x.SubStockCode }).Select(x => new BoxInventoryTakeGenerateDto() { BoxId = x.Key.BoxId, OrgCode = x.Key.OrgCode, StockCode = x.Key.StockCode, - SubStockId = x.Key.SubStockId, + SubStockCode = x.Key.SubStockCode, InventoryInOutType = (int)InventoryInOutType.In }).ToList(); @@ -333,7 +332,7 @@ namespace WMS.Web.Domain.Services { //3.2组装明细 var det = new BoxInventoryTakeDetailsGenerateDto(); - det.MaterialId = detItem.MaterialId; + det.MaterialNumber = detItem.MaterialNumber; det.Qty = detItem.FinalQty; det.SerialNumbers = detItem.SerialNumbers; x.Details.Add(det); @@ -343,12 +342,12 @@ namespace WMS.Web.Domain.Services //3.组装:出库数据 var dtoDetails_out = dtoDatas.Where(x => x.ResultType == TakeStockType.Loss).SelectMany(x => x.Details).ToList(); - var generateDtoList_out = dtoDetails_out.GroupBy(x => new { x.BoxId, x.OrgCode, x.StockCode, x.SubStockId }).Select(x => new BoxInventoryTakeGenerateDto() + var generateDtoList_out = dtoDetails_out.GroupBy(x => new { x.BoxId, x.OrgCode, x.StockCode, x.SubStockCode }).Select(x => new BoxInventoryTakeGenerateDto() { BoxId = x.Key.BoxId, OrgCode = x.Key.OrgCode, StockCode = x.Key.StockCode, - SubStockId = x.Key.SubStockId, + SubStockCode = x.Key.SubStockCode, InventoryInOutType = (int)InventoryInOutType.Out }).ToList(); @@ -362,7 +361,7 @@ namespace WMS.Web.Domain.Services { //3.2组装明细 var det = new BoxInventoryTakeDetailsGenerateDto(); - det.MaterialId = detItem.MaterialId; + det.MaterialNumber = detItem.MaterialNumber; det.Qty = detItem.FinalQty; det.SerialNumbers = detItem.SerialNumbers; x.Details.Add(det); @@ -386,9 +385,9 @@ namespace WMS.Web.Domain.Services if (entity != null) { var inventoryInOutDet = _inventoryInOutDetailsService.GenerateDto( - item.BoxId, item.MaterialId, + item.BoxId, item.MaterialNumber, item.OrgCode, item.StockCode, - item.SubStockId, OrderType.Take, + item.SubStockCode, OrderType.Take, entity.BillNo, item.FinalQty, (entity.ResultType == TakeStockType.Loss ? InventoryInOutType.Out : InventoryInOutType.In)); InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet); } @@ -427,7 +426,7 @@ namespace WMS.Web.Domain.Services BoxId = x.Key.BoxId, OrgCode = dtoData.OrgCode, StockCode = dtoData.StockCode, - SubStockId = dtoData.SubStockId, + SubStockCode = dtoData.SubStockCode, InventoryInOutMethod = (int)dtoData.Method, InventoryInOutType = (int)InventoryInOutType.In }).ToList(); @@ -442,7 +441,7 @@ namespace WMS.Web.Domain.Services { //2.2组装明细 var det = new BoxInventoryGenerateDetailsDto(); - det.MaterialId = detItem.MaterialId; + det.MaterialNumber = detItem.MaterialNumber; det.Qty = detItem.Qty; det.SerialNumbers = detItem.SerialNumbers; x.Details.Add(det); @@ -459,9 +458,9 @@ namespace WMS.Web.Domain.Services foreach (var item in dtoData.Details) { var inventoryInOutDet = _inventoryInOutDetailsService.GenerateDto( - item.BoxId, item.MaterialId, + item.BoxId, item.MaterialNumber, dtoData.OrgCode, dtoData.StockCode, - dtoData.SubStockId, InStockTypeConvert(dtoData.Type), + dtoData.SubStockCode, InStockTypeConvert(dtoData.Type), item.SourceBillNo, item.Qty, InventoryInOutType.In); InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet); @@ -523,7 +522,7 @@ namespace WMS.Web.Domain.Services { x.OrgCode = current_box_invetory.OrgCode; x.StockCode = current_box_invetory.StockCode; - x.SubStockId = current_box_invetory.SubStockId; + x.SubStockCode = current_box_invetory.SubStockCode; } ////3.1先通过中间层的明细的箱明细找到中间层明细的IDS //var current_materialDetails_ids = dtoData.Details.SelectMany(t => t.BoxsDetails).Where(t => t.BoxId == x.BoxId).GroupBy(t => t.DetailId).Select(t => t.Key).ToList(); @@ -539,7 +538,7 @@ namespace WMS.Web.Domain.Services //2.2组装明细 var det = new BoxInventoryGenerateDetailsDto(); - det.MaterialId = current_det == null ? 0 : current_det.MaterialId; + det.MaterialNumber = current_det == null ? "" : current_det.MaterialNumber; det.Qty = detItem.Qty; det.SerialNumbers = detItem.SerialNumbers; x.Details.Add(det); @@ -564,9 +563,9 @@ namespace WMS.Web.Domain.Services var currentDet = current_materialDetails.Where(x => x.Id == item.DetailId).FirstOrDefault(); var inventoryInOutDet = _inventoryInOutDetailsService.GenerateDto( - item.BoxId, currentDet.MaterialId, + item.BoxId, currentDet.MaterialNumber, dtoData.OrgCode, dtoData.StockCode, - item.SubStockId, OutStockTypeConvert(dtoData.Type), + item.SubStockCode, OutStockTypeConvert(dtoData.Type), dtoData.BillNo, item.Qty, InventoryInOutType.Out); InventoryInOutDetailsGenerateDtoList.Add(inventoryInOutDet); @@ -618,7 +617,7 @@ namespace WMS.Web.Domain.Services foreach (var dtoItem in dto.Details) { //2.2.1箱库存:找到原来的箱库存对应要改变的物料:这个一定是存在的,不存在就有问题 - var sour_ChangeDetail = sour_update_entity.Details.Where(x => x.MaterialId == dtoItem.MaterialId).FirstOrDefault(); + var sour_ChangeDetail = sour_update_entity.Details.Where(x => x.MaterialNumber == dtoItem.MaterialNumber).FirstOrDefault(); if (sour_ChangeDetail == null) return Result.ReFailure(ResultCodes.BoxInventoryNoDataError); //2.2.1箱库存:箱物料的库存数量不足;小于要拿出来的数量 @@ -632,10 +631,10 @@ namespace WMS.Web.Domain.Services //2.2.2组装即时库存dto var inventoryDet = new InventoryDetailsGenerateDto(); - inventoryDet.MaterialId = dtoItem.MaterialId; + inventoryDet.MaterialNumber = dtoItem.MaterialNumber; inventoryDet.OrgCode = sour_update_entity.OrgCode; inventoryDet.StockCode = sour_update_entity.StockCode; - inventoryDet.SubStockId = sour_update_entity.SubStockId; + inventoryDet.SubStockCode = sour_update_entity.SubStockCode; inventoryDet.Qty = dtoItem.Qty; inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out; //2.2.2即时库存:修改箱库存的集合 @@ -667,33 +666,33 @@ namespace WMS.Web.Domain.Services var tagBox = targetBoxInventorys.Where(x => x.BoxId == dto.TargetBoxId).FirstOrDefault(); if (tagBox != null) { - var subStockId = tagBox.SubStockId; + var subStockCode = tagBox.SubStockCode; var stockCode = tagBox.StockCode; var orgCode = tagBox.OrgCode; var tag_update_entity = tagBox; //2.2.1这里为了重新上架,改变仓库和仓位的需求 - if (!string.IsNullOrEmpty(dto.StockCode) && dto.SubStockId.HasValue) + if (!string.IsNullOrEmpty(dto.StockCode) && !string.IsNullOrEmpty(dto.SubStockCode)) { //2.2.3.在变更目标箱的-仓库-仓位-组织 tag_update_entity.StockCode = dto.StockCode; - tag_update_entity.SubStockId = dto.SubStockId.Value; + tag_update_entity.SubStockCode = dto.SubStockCode; tag_update_entity.OrgCode = dto.TargetBoxOrgCode; } tag_update_entity.Details = tagBox.Details; //2.2.2仓位和原来的目标箱的仓位不一致的情况下-》》把目标箱原来仓位的物料进行-即时库存的变更-(减库存) - if (subStockId != tag_update_entity.SubStockId) + if (subStockCode != tag_update_entity.SubStockCode) { foreach (var item in tag_update_entity.Details) { //2.2.2组装即时库存dto var inventoryDet = new InventoryDetailsGenerateDto(); - inventoryDet.MaterialId = item.MaterialId; + inventoryDet.MaterialNumber = item.MaterialNumber; inventoryDet.OrgCode = orgCode; inventoryDet.StockCode = stockCode; - inventoryDet.SubStockId = subStockId; + inventoryDet.SubStockCode = subStockCode; inventoryDet.Qty = item.Qty; inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out; //2.2.2即时库存:修改箱库存的集合 @@ -702,10 +701,10 @@ namespace WMS.Web.Domain.Services //2.2.2组装即时库存dto var inventoryDet_i = new InventoryDetailsGenerateDto(); - inventoryDet_i.MaterialId = item.MaterialId; + inventoryDet_i.MaterialNumber = item.MaterialNumber; inventoryDet_i.OrgCode = tag_update_entity.OrgCode; inventoryDet_i.StockCode = tag_update_entity.StockCode; - inventoryDet_i.SubStockId = tag_update_entity.SubStockId; + inventoryDet_i.SubStockCode = tag_update_entity.SubStockCode; inventoryDet_i.Qty = item.Qty; inventoryDet_i.InventoryInOutType = (int)InventoryInOutType.In; //2.2.2即时库存:修改箱库存的集合 @@ -717,7 +716,7 @@ namespace WMS.Web.Domain.Services foreach (var item in dto.Details) { //2.2.2找到目标箱对应要改变的物料 - var tagChangeDetail = tag_update_entity.Details.Where(x => x.MaterialId == item.MaterialId).FirstOrDefault(); + var tagChangeDetail = tag_update_entity.Details.Where(x => x.MaterialNumber == item.MaterialNumber).FirstOrDefault(); if (tagChangeDetail != null) { tagChangeDetail.Qty = tagChangeDetail.Qty + item.Qty; @@ -726,7 +725,7 @@ namespace WMS.Web.Domain.Services else { var newTagChangeDetail = new BoxInventoryDetails(); - newTagChangeDetail.MaterialId = item.MaterialId; + newTagChangeDetail.MaterialNumber = item.MaterialNumber; newTagChangeDetail.Qty = item.Qty; newTagChangeDetail.SerialNumbers = item.SerialNumbers; tag_update_entity.Details.Add(newTagChangeDetail); @@ -734,10 +733,10 @@ namespace WMS.Web.Domain.Services //2.2.2组装即时库存dto var inventoryDet = new InventoryDetailsGenerateDto(); - inventoryDet.MaterialId = item.MaterialId; + inventoryDet.MaterialNumber = item.MaterialNumber; inventoryDet.OrgCode = tag_update_entity.OrgCode; inventoryDet.StockCode = tag_update_entity.StockCode; - inventoryDet.SubStockId = tag_update_entity.SubStockId; + inventoryDet.SubStockCode = tag_update_entity.SubStockCode; inventoryDet.Qty = item.Qty; inventoryDet.InventoryInOutType = (int)InventoryInOutType.In; //2.2.2即时库存:修改箱库存的集合 @@ -777,21 +776,21 @@ namespace WMS.Web.Domain.Services } //5.即时库存:变更 //5.1先合并相同的数据 - var invDetGenDtos_in = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.In).GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto() + var invDetGenDtos_in = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.In).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto() { OrgCode = x.Key.OrgCode, StockCode = x.Key.StockCode, - MaterialId = x.Key.MaterialId, - SubStockId = x.Key.SubStockId, + MaterialNumber = x.Key.MaterialNumber, + SubStockCode = x.Key.SubStockCode, InventoryInOutType = (int)InventoryInOutType.In, Qty = x.Sum(t => t.Qty) }).ToList(); - var invDetGenDtos_out = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto() + var invDetGenDtos_out = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto() { OrgCode = x.Key.OrgCode, StockCode = x.Key.StockCode, - MaterialId = x.Key.MaterialId, - SubStockId = x.Key.SubStockId, + MaterialNumber = x.Key.MaterialNumber, + SubStockCode = x.Key.SubStockCode, InventoryInOutType = (int)InventoryInOutType.Out, Qty = x.Sum(t => t.Qty) }).ToList(); @@ -857,10 +856,10 @@ namespace WMS.Web.Domain.Services { //3.2.2组装即时库存dto var inventoryDet = new InventoryDetailsGenerateDto(); - inventoryDet.MaterialId = item.MaterialId; + inventoryDet.MaterialNumber = item.MaterialNumber; inventoryDet.OrgCode = dto.OrgCode; inventoryDet.StockCode = dto.StockCode; - inventoryDet.SubStockId = dto.SubStockId; + inventoryDet.SubStockCode = dto.SubStockCode; inventoryDet.Qty = item.Qty; inventoryDet.InventoryInOutType = (int)InventoryInOutType.In; //3.2.2即时库存:修改箱库存的集合 @@ -889,10 +888,10 @@ namespace WMS.Web.Domain.Services { //3.2.2组装即时库存dto var inventoryDet = new InventoryDetailsGenerateDto(); - inventoryDet.MaterialId = item.MaterialId; + inventoryDet.MaterialNumber = item.MaterialNumber; inventoryDet.OrgCode = dto.OrgCode; inventoryDet.StockCode = dto.StockCode; - inventoryDet.SubStockId = dto.SubStockId; + inventoryDet.SubStockCode = dto.SubStockCode; inventoryDet.Qty = item.Qty; inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out; //3.2.2即时库存:修改箱库存的集合 @@ -921,21 +920,21 @@ namespace WMS.Web.Domain.Services } //5.即时库存:处理 //5.1先合并相同的数据 - var invDetGenDtos_in = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.In).GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto() + var invDetGenDtos_in = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.In).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto() { OrgCode = x.Key.OrgCode, StockCode = x.Key.StockCode, - MaterialId = x.Key.MaterialId, - SubStockId = x.Key.SubStockId, + MaterialNumber = x.Key.MaterialNumber, + SubStockCode = x.Key.SubStockCode, InventoryInOutType = (int)InventoryInOutType.In, Qty = x.Sum(t => t.Qty) }).ToList(); - var invDetGenDtos_out = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto() + var invDetGenDtos_out = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto() { OrgCode = x.Key.OrgCode, StockCode = x.Key.StockCode, - MaterialId = x.Key.MaterialId, - SubStockId = x.Key.SubStockId, + MaterialNumber = x.Key.MaterialNumber, + SubStockCode = x.Key.SubStockCode, InventoryInOutType = (int)InventoryInOutType.Out, Qty = x.Sum(t => t.Qty) }).ToList(); @@ -1012,8 +1011,8 @@ namespace WMS.Web.Domain.Services //赋值序列号 addEntity.Details.ForEach(x => { - var current_box_mat_serNums = dto.Details.Where(m => m.MaterialId == x.MaterialId).FirstOrDefault(); - if (current_box_mat_serNums != null && current_box_mat_serNums.MaterialId == x.MaterialId) + var current_box_mat_serNums = dto.Details.Where(m => m.MaterialNumber == x.MaterialNumber).FirstOrDefault(); + if (current_box_mat_serNums != null && current_box_mat_serNums.MaterialNumber == x.MaterialNumber) x.SerialNumbers.AddRange(current_box_mat_serNums.SerialNumbers); }); @@ -1029,13 +1028,13 @@ namespace WMS.Web.Domain.Services var update_entity = boxInventory; update_entity.OrgCode = dto.OrgCode; update_entity.StockCode = dto.StockCode; - update_entity.SubStockId = dto.SubStockId; + update_entity.SubStockCode = dto.SubStockCode; update_entity.Details = boxInventory.Details; //3.3遍历dto明细 foreach (var dtoItem in dto.Details) { //找到原来的箱库存对应要改变的物料:这个一定是存在的,不存在就有问题 - var updateDetail = update_entity.Details.Where(x => x.MaterialId == dtoItem.MaterialId).FirstOrDefault(); + var updateDetail = update_entity.Details.Where(x => x.MaterialNumber == dtoItem.MaterialNumber).FirstOrDefault(); if (updateDetail == null) { var det = _mapper.Map(dtoItem); @@ -1064,8 +1063,8 @@ namespace WMS.Web.Domain.Services //赋值序列号 update_entity.Details.ForEach(x => { - var current_box_mat_serNums = dto.Details.Where(m => m.MaterialId == x.MaterialId).FirstOrDefault(); - if (current_box_mat_serNums != null && current_box_mat_serNums.MaterialId == x.MaterialId) + var current_box_mat_serNums = dto.Details.Where(m => m.MaterialNumber == x.MaterialNumber).FirstOrDefault(); + if (current_box_mat_serNums != null && current_box_mat_serNums.MaterialNumber == x.MaterialNumber) { foreach (var serialitem in current_box_mat_serNums.SerialNumbers) { @@ -1091,10 +1090,10 @@ namespace WMS.Web.Domain.Services { //3.2.2组装即时库存dto var inventoryDet = new InventoryDetailsGenerateDto(); - inventoryDet.MaterialId = item.MaterialId; + inventoryDet.MaterialNumber = item.MaterialNumber; inventoryDet.OrgCode = dto.OrgCode; inventoryDet.StockCode = dto.StockCode; - inventoryDet.SubStockId = dto.SubStockId; + inventoryDet.SubStockCode = dto.SubStockCode; inventoryDet.Qty = item.Qty; inventoryDet.InventoryInOutType = (int)InventoryInOutType.In; //3.2.2即时库存:修改箱库存的集合 @@ -1118,7 +1117,7 @@ namespace WMS.Web.Domain.Services foreach (var dtoItem in dto.Details) { //找到原来的箱库存对应要改变的物料:这个一定是存在的,不存在就有问题 - var updateDetail = update_entity.Details.Where(x => x.MaterialId == dtoItem.MaterialId).FirstOrDefault(); + var updateDetail = update_entity.Details.Where(x => x.MaterialNumber == dtoItem.MaterialNumber).FirstOrDefault(); if (updateDetail == null) return Result.ReFailure(ResultCodes.BoxInventoryNoDataError); //箱物料的库存数量不足;小于要拿出来的数量 @@ -1132,10 +1131,10 @@ namespace WMS.Web.Domain.Services //4.1即时库存:组装出库 //3.2.2组装即时库存dto var inventoryDet = new InventoryDetailsGenerateDto(); - inventoryDet.MaterialId = dtoItem.MaterialId; + inventoryDet.MaterialNumber = dtoItem.MaterialNumber; inventoryDet.OrgCode = dto.OrgCode; inventoryDet.StockCode = dto.StockCode; - inventoryDet.SubStockId = dto.SubStockId; + inventoryDet.SubStockCode = dto.SubStockCode; inventoryDet.Qty = dtoItem.Qty; inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out; //3.2.2即时库存:修改箱库存的集合 @@ -1187,21 +1186,21 @@ namespace WMS.Web.Domain.Services } //5.即时库存:处理 //5.1先合并相同的数据 - var invDetGenDtos_in = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.In).GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto() + var invDetGenDtos_in = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.In).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto() { OrgCode = x.Key.OrgCode, StockCode = x.Key.StockCode, - MaterialId = x.Key.MaterialId, - SubStockId = x.Key.SubStockId, + MaterialNumber = x.Key.MaterialNumber, + SubStockCode = x.Key.SubStockCode, InventoryInOutType = (int)InventoryInOutType.In, Qty = x.Sum(t => t.Qty) }).ToList(); - var invDetGenDtos_out = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto() + var invDetGenDtos_out = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto() { OrgCode = x.Key.OrgCode, StockCode = x.Key.StockCode, - MaterialId = x.Key.MaterialId, - SubStockId = x.Key.SubStockId, + MaterialNumber = x.Key.MaterialNumber, + SubStockCode = x.Key.SubStockCode, InventoryInOutType = (int)InventoryInOutType.Out, Qty = x.Sum(t => t.Qty) }).ToList(); @@ -1259,7 +1258,7 @@ namespace WMS.Web.Domain.Services { foreach (var detItem in dto.Details) { - if (x.MaterialId == detItem.MaterialId) + if (x.MaterialNumber == detItem.MaterialNumber) { x.Qty = x.Qty + detItem.Qty; x.SerialNumbers = detItem.SerialNumbers; @@ -1270,7 +1269,7 @@ namespace WMS.Web.Domain.Services //3.4明细添加新的物料 foreach (var detItem in dto.Details) { - var IsHave_upEnDet = updateEntity.Details.Where(x => x.MaterialId == detItem.MaterialId).Any(); + var IsHave_upEnDet = updateEntity.Details.Where(x => x.MaterialNumber == detItem.MaterialNumber).Any(); if (!IsHave_upEnDet) { var newDet = _mapper.Map(detItem); @@ -1279,10 +1278,10 @@ namespace WMS.Web.Domain.Services //3.2.2组装即时库存dto var inventoryDet = new InventoryDetailsGenerateDto(); - inventoryDet.MaterialId = detItem.MaterialId; + inventoryDet.MaterialNumber = detItem.MaterialNumber; inventoryDet.OrgCode = dto.OrgCode; inventoryDet.StockCode = dto.StockCode; - inventoryDet.SubStockId = dto.SubStockId; + inventoryDet.SubStockCode = dto.SubStockCode; inventoryDet.Qty = detItem.Qty; inventoryDet.InventoryInOutType = (int)InventoryInOutType.In; //3.2.2即时库存:修改箱库存的集合 @@ -1311,7 +1310,7 @@ namespace WMS.Web.Domain.Services { foreach (var detItem in dto.Details) { - if (x.MaterialId == detItem.MaterialId) + if (x.MaterialNumber == detItem.MaterialNumber) { x.Qty = x.Qty - detItem.Qty; x.SerialNumbers = detItem.SerialNumbers; @@ -1324,10 +1323,10 @@ namespace WMS.Web.Domain.Services { //3.2.2组装即时库存dto var inventoryDet = new InventoryDetailsGenerateDto(); - inventoryDet.MaterialId = detItem.MaterialId; + inventoryDet.MaterialNumber = detItem.MaterialNumber; inventoryDet.OrgCode = dto.OrgCode; inventoryDet.StockCode = dto.StockCode; - inventoryDet.SubStockId = dto.SubStockId; + inventoryDet.SubStockCode = dto.SubStockCode; inventoryDet.Qty = detItem.Qty; inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out; //3.2.2即时库存:修改箱库存的集合 @@ -1378,21 +1377,21 @@ namespace WMS.Web.Domain.Services //5.即时库存:处理 //5.1先合并相同的数据 - var invDetGenDtos_in = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.In).GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto() + var invDetGenDtos_in = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.In).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto() { OrgCode = x.Key.OrgCode, StockCode = x.Key.StockCode, - MaterialId = x.Key.MaterialId, - SubStockId = x.Key.SubStockId, + MaterialNumber = x.Key.MaterialNumber, + SubStockCode = x.Key.SubStockCode, InventoryInOutType = (int)InventoryInOutType.In, Qty = x.Sum(t => t.Qty) }).ToList(); - var invDetGenDtos_out = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto() + var invDetGenDtos_out = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto() { OrgCode = x.Key.OrgCode, StockCode = x.Key.StockCode, - MaterialId = x.Key.MaterialId, - SubStockId = x.Key.SubStockId, + MaterialNumber = x.Key.MaterialNumber, + SubStockCode = x.Key.SubStockCode, InventoryInOutType = (int)InventoryInOutType.Out, Qty = x.Sum(t => t.Qty) }).ToList(); @@ -1431,7 +1430,7 @@ namespace WMS.Web.Domain.Services item.Details.ForEach(x => { - var current_sers_info = out_SerialNumbers.Where(o => o.BoxId == item.BoxId && o.MaterialId == x.MaterialId).ToList(); + var current_sers_info = out_SerialNumbers.Where(o => o.BoxId == item.BoxId && o.MaterialNumber == x.MaterialNumber).ToList(); if (current_sers_info != null && current_sers_info.Count != 0) { x.Qty = x.Qty - current_sers_info.Count; @@ -1440,10 +1439,10 @@ namespace WMS.Web.Domain.Services //3.2.2组装即时库存dto var inventoryDet = new InventoryDetailsGenerateDto(); - inventoryDet.MaterialId = x.MaterialId; + inventoryDet.MaterialNumber = x.MaterialNumber; inventoryDet.OrgCode = item.OrgCode; inventoryDet.StockCode = item.StockCode; - inventoryDet.SubStockId = item.SubStockId; + inventoryDet.SubStockCode = item.SubStockCode; inventoryDet.Qty = current_sers_info.Count; inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out; //3.2.2即时库存:修改的集合 @@ -1533,9 +1532,9 @@ namespace WMS.Web.Domain.Services var addEntity = _mapper.Map(dto); //3.3要合并下相同的物料 - var dtoDets_merge = dto.Details.GroupBy(d => new { d.MaterialId }).Select(d => new BoxInventoryGenerateDetailsDto + var dtoDets_merge = dto.Details.GroupBy(d => new { d.MaterialNumber }).Select(d => new BoxInventoryGenerateDetailsDto { - MaterialId = d.Key.MaterialId, + MaterialNumber = d.Key.MaterialNumber, Qty = d.Sum(t => t.Qty), SerialNumbers = d.SelectMany(t => t.SerialNumbers).ToList() }).ToList(); @@ -1551,10 +1550,10 @@ namespace WMS.Web.Domain.Services { //4.1组装即时库存dto var inventoryDet = new InventoryDetailsGenerateDto(); - inventoryDet.MaterialId = detItem.MaterialId; + inventoryDet.MaterialNumber = detItem.MaterialNumber; inventoryDet.OrgCode = dto.OrgCode; inventoryDet.StockCode = dto.StockCode; - inventoryDet.SubStockId = dto.SubStockId ?? 0; + inventoryDet.SubStockCode = dto.SubStockCode; inventoryDet.Qty = detItem.Qty; inventoryDet.InventoryInOutType = (int)InventoryInOutType.In; //4.2即时库存:修改箱库存的集合 @@ -1572,9 +1571,9 @@ namespace WMS.Web.Domain.Services //3.2组装要新增的箱库存信息:箱和明细和序列号 var addEntity = _mapper.Map(dto); //3.3要合并下相同的物料 - var dtoDets_merge = dto.Details.GroupBy(d => new { d.MaterialId }).Select(d => new BoxInventoryGenerateDetailsDto + var dtoDets_merge = dto.Details.GroupBy(d => new { d.MaterialNumber }).Select(d => new BoxInventoryGenerateDetailsDto { - MaterialId = d.Key.MaterialId, + MaterialNumber = d.Key.MaterialNumber, Qty = d.Sum(t => t.Qty), SerialNumbers = d.SelectMany(t => t.SerialNumbers).ToList() }).ToList(); @@ -1590,10 +1589,10 @@ namespace WMS.Web.Domain.Services { //4.1组装即时库存dto var inventoryDet = new InventoryDetailsGenerateDto(); - inventoryDet.MaterialId = dtoItem.MaterialId; + inventoryDet.MaterialNumber = dtoItem.MaterialNumber; inventoryDet.OrgCode = dto.OrgCode; inventoryDet.StockCode = dto.StockCode; - inventoryDet.SubStockId = dto.SubStockId ?? 0; + inventoryDet.SubStockCode = dto.SubStockCode; inventoryDet.Qty = dtoItem.Qty; inventoryDet.InventoryInOutType = (int)InventoryInOutType.In; //4.2即时库存:修改箱库存的集合 @@ -1609,11 +1608,11 @@ namespace WMS.Web.Domain.Services { //明细对应的物料:存在就修改,不存在即新增 var update_entity_det = new BoxInventoryDetails(); - var updateDetail = update_entity.Details.Where(x => x.MaterialId == dtoItem.MaterialId).FirstOrDefault(); + var updateDetail = update_entity.Details.Where(x => x.MaterialNumber == dtoItem.MaterialNumber).FirstOrDefault(); if (updateDetail == null) { update_entity_det.Qty = dtoItem.Qty; - update_entity_det.MaterialId = dtoItem.MaterialId; + update_entity_det.MaterialNumber = dtoItem.MaterialNumber; update_entity_det.SerialNumbers = dtoItem.SerialNumbers; update_entity.Details.Add(update_entity_det); } @@ -1625,10 +1624,10 @@ namespace WMS.Web.Domain.Services //4.1组装即时库存dto var inventoryDet = new InventoryDetailsGenerateDto(); - inventoryDet.MaterialId = dtoItem.MaterialId; + inventoryDet.MaterialNumber = dtoItem.MaterialNumber; inventoryDet.OrgCode = dto.OrgCode; inventoryDet.StockCode = dto.StockCode; - inventoryDet.SubStockId = dto.SubStockId ?? 0; + inventoryDet.SubStockCode = dto.SubStockCode; inventoryDet.Qty = dtoItem.Qty; inventoryDet.InventoryInOutType = (int)InventoryInOutType.In; //4.2即时库存:修改箱库存的集合 @@ -1660,21 +1659,21 @@ namespace WMS.Web.Domain.Services } //5.即时库存:处理 //5.1先合并相同的数据 - var invDetGenDtos_in = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.In).GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto() + var invDetGenDtos_in = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.In).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto() { OrgCode = x.Key.OrgCode, StockCode = x.Key.StockCode, - MaterialId = x.Key.MaterialId, - SubStockId = x.Key.SubStockId, + MaterialNumber = x.Key.MaterialNumber, + SubStockCode = x.Key.SubStockCode, InventoryInOutType = (int)InventoryInOutType.In, Qty = x.Sum(t => t.Qty) }).ToList(); - var invDetGenDtos_out = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto() + var invDetGenDtos_out = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto() { OrgCode = x.Key.OrgCode, StockCode = x.Key.StockCode, - MaterialId = x.Key.MaterialId, - SubStockId = x.Key.SubStockId, + MaterialNumber = x.Key.MaterialNumber, + SubStockCode = x.Key.SubStockCode, InventoryInOutType = (int)InventoryInOutType.Out, Qty = x.Sum(t => t.Qty) }).ToList(); @@ -1735,10 +1734,10 @@ namespace WMS.Web.Domain.Services { //4.1组装即时库存dto var inventoryDet = new InventoryDetailsGenerateDto(); - inventoryDet.MaterialId = detItem.MaterialId; + inventoryDet.MaterialNumber = detItem.MaterialNumber; inventoryDet.OrgCode = dto.OrgCode; inventoryDet.StockCode = dto.StockCode; - inventoryDet.SubStockId = dto.SubStockId ?? 0; + inventoryDet.SubStockCode = dto.SubStockCode; inventoryDet.Qty = detItem.Qty; inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out; //4.2即时库存:修改箱库存的集合 @@ -1756,7 +1755,7 @@ namespace WMS.Web.Domain.Services foreach (var dtoItem in dto.Details) { //3.3.找到当前明细物料:没有则返回失败;提示:“该箱物料库存不存在” - var update_entityDetail = update_entity.Details.Where(x => x.MaterialId == dtoItem.MaterialId).FirstOrDefault(); + var update_entityDetail = update_entity.Details.Where(x => x.MaterialNumber == dtoItem.MaterialNumber).FirstOrDefault(); if (update_entityDetail == null) return Result.ReFailure(ResultCodes.BoxInventoryMaterialNoDataError); //3.4判断库存数量是否不足 @@ -1770,10 +1769,10 @@ namespace WMS.Web.Domain.Services //4.1组装即时库存dto var inventoryDet = new InventoryDetailsGenerateDto(); - inventoryDet.MaterialId = dtoItem.MaterialId; + inventoryDet.MaterialNumber = dtoItem.MaterialNumber; inventoryDet.OrgCode = dto.OrgCode; inventoryDet.StockCode = dto.StockCode; - inventoryDet.SubStockId = dto.SubStockId ?? 0; + inventoryDet.SubStockCode = dto.SubStockCode; inventoryDet.Qty = dtoItem.Qty; inventoryDet.InventoryInOutType = (int)InventoryInOutType.Out; //4.2即时库存:修改箱库存的集合 @@ -1817,12 +1816,12 @@ namespace WMS.Web.Domain.Services if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); } //5.即时库存:变更处理 - var invDetGenDtos = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode, x.SubStockId }).Select(x => new InventoryDetailsGenerateDto() + var invDetGenDtos = InventoryDetailsGenerateDto.Where(x => x.InventoryInOutType == (int)InventoryInOutType.Out).GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode, x.SubStockCode }).Select(x => new InventoryDetailsGenerateDto() { OrgCode = x.Key.OrgCode, StockCode = x.Key.StockCode, - MaterialId = x.Key.MaterialId, - SubStockId = x.Key.SubStockId, + MaterialNumber = x.Key.MaterialNumber, + SubStockCode = x.Key.SubStockCode, InventoryInOutType = (int)InventoryInOutType.Out, Qty = x.Sum(t => t.Qty) }).ToList(); @@ -2004,7 +2003,7 @@ namespace WMS.Web.Domain.Services foreach (var dtoItem in dto.Details) { //3.3.找到当前明细物料:没有则返回失败;提示:“该箱物料库存不存在” - var update_entityDetail = update_entity.Details.Where(x => x.MaterialId == dtoItem.MaterialId).FirstOrDefault(); + var update_entityDetail = update_entity.Details.Where(x => x.MaterialNumber == dtoItem.MaterialNumber).FirstOrDefault(); if (update_entityDetail == null) return Result.ReFailure(ResultCodes.BoxInventoryMaterialNoDataError); //3.4判断库存数量是否不足 @@ -2073,11 +2072,11 @@ namespace WMS.Web.Domain.Services { //明细对应的物料:存在就修改,不存在即新增 var update_entity_det = new BoxInventoryDetails(); - var updateDetail = update_entity.Details.Where(x => x.MaterialId == dtoItem.MaterialId).FirstOrDefault(); + var updateDetail = update_entity.Details.Where(x => x.MaterialNumber == dtoItem.MaterialNumber).FirstOrDefault(); if (updateDetail == null) { update_entity_det.Qty = dtoItem.Qty; - update_entity_det.MaterialId = dtoItem.MaterialId; + update_entity_det.MaterialNumber = dtoItem.MaterialNumber; update_entity_det.SerialNumbers = dtoItem.SerialNumbers; update_entity.Details.Add(update_entity_det); } @@ -2108,8 +2107,8 @@ namespace WMS.Web.Domain.Services invDto.OrgCode = dto.OrgCode; invDto.InventoryInOutType = dto.InventoryInOutType; invDto.StockCode = dto.StockCode; - invDto.SubStockId = dto.SubStockId ?? 0; - invDto.MaterialId = dtoDet.MaterialId; + invDto.SubStockCode = dto.SubStockCode; + invDto.MaterialNumber = dtoDet.MaterialNumber; invDto.Qty = dtoDet.Qty; invDtos.Add(invDto); } diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs index c9c9817a..1c59abc0 100644 --- a/src/WMS.Web.Domain/Services/InStockService.cs +++ b/src/WMS.Web.Domain/Services/InStockService.cs @@ -234,11 +234,10 @@ namespace WMS.Web.Domain.Services box_task_detail.ReceiveQty = current_task_det.ReceiveQty; box_task_detail.AccruedQty = current_task_det.AccruedQty; box_task_detail.ErpDetailId = item.ErpDetailId; - box_task_detail.MaterialId = item.MaterialId; box_task_detail.BoxMaterialQty = item.ReceiveQty; - box_task_detail.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, item.MaterialId); - box_task_detail.MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, item.MaterialId); - box_task_detail.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, item.MaterialId); + box_task_detail.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, item.MaterialNumber); + box_task_detail.MaterialNumber = item.MaterialNumber; + box_task_detail.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, item.MaterialNumber); result.Details.Add(box_task_detail); } @@ -271,15 +270,6 @@ namespace WMS.Web.Domain.Services if (tasks == null || tasks.Count==0) return Result.ReFailure(ResultCodes.SourceBillNoDateError); - ////1.1.2判断上架数量不能超过应入库数量 - //var dtoTotalDetails = dto.Details.GroupBy(x => new { x.ErpDetailId }).Select(x => new { ErpDetailId = x.Key.ErpDetailId, Qty = x.Sum(t => t.Qty) }).ToList(); - //foreach (var item in tasks.SelectMany(x => x.Details).ToList()) - //{ - // var current_det = dtoTotalDetails.Where(x => x.ErpDetailId == item.ErpDetailId).FirstOrDefault(); - // if (current_det != null && current_det.ErpDetailId == item.ErpDetailId && (item.AccruedQty - item.RealityQty) < current_det.Qty) - // return Result.ReFailure(ResultCodes.ShelfNoPurchaseSave_Qty_Error); - //} - // 组织集合 var orgs = new List(); var orgs_result = await _erpService.BillQueryForOrg(); @@ -292,17 +282,17 @@ namespace WMS.Web.Domain.Services entity.OrgId = currentOrg == null ? 0 : currentOrg.Id; entity.StockCode = dto.StockCode; entity.OrgCode = dto.OrgCode; - entity.SubStockId = dto.SubStockId; + entity.SubStockCode = dto.SubStockCode; entity.Method = InventoryInOutMethod.Box; entity.Details = _mapper.Map>(dto.Details); entity.Create(loginInfo.UserInfo.StaffId); //组装:erp明细 - entity.ErpDetails = dto.Details.GroupBy(x => new { x.ErpDetailId, x.MaterialId, x.SourceBillNo }) + entity.ErpDetails = dto.Details.GroupBy(x => new { x.ErpDetailId, x.MaterialNumber, x.SourceBillNo }) .Select(x => new InStockErpDetails { ErpDetailId = x.Key.ErpDetailId, - MaterialId = x.Key.MaterialId, + MaterialNumber = x.Key.MaterialNumber, SourceBillNo = x.Key.SourceBillNo, Qty = x.Sum(t => t.Qty) }).ToList(); @@ -316,7 +306,7 @@ namespace WMS.Web.Domain.Services var current_box_serNums = serialNumbers.Where(t => t.BoxId == x.BoxId).ToList(); if (current_box_serNums != null) { - var current_box_mat_serNums = current_box_serNums.Where(t => t.MaterialId == x.MaterialId).Select(t => t.SerialNumber).ToList(); + var current_box_mat_serNums = current_box_serNums.Where(t => t.MaterialNumber == x.MaterialNumber).Select(t => t.SerialNumber).ToList(); x.SerialNumbers.AddRange(current_box_mat_serNums); } }); @@ -326,14 +316,14 @@ namespace WMS.Web.Domain.Services return Result.ReFailure(ResultCodes.DateWriteError); //处理添加入库汇总明细 - var totalDetails = dto.Details.GroupBy(x => new { x.TaskId, x.SourceBillNo, x.SupplierId, x.MaterialId }) + var totalDetails = dto.Details.GroupBy(x => new { x.TaskId, x.SourceBillNo, x.SupplierId, x.MaterialNumber }) .Select(x => new InStockTotalDetails { InStockId = entity.Id, TaskId = x.Key.TaskId, SourceBillNo = x.Key.SourceBillNo, SupplierId = x.Key.SupplierId, - MaterialId = x.Key.MaterialId, + MaterialNumber = x.Key.MaterialNumber, Qty = x.Sum(t => t.Qty), SerialNumbers = x.SelectMany(t => t.SerialNumbers).ToList() }).ToList(); @@ -348,7 +338,7 @@ namespace WMS.Web.Domain.Services { task.Details.ForEach(x => { - var current_entityDets = dto.Details.Where(t => t.ErpDetailId == x.ErpDetailId && t.MaterialId==x.MaterialId).ToList(); + var current_entityDets = dto.Details.Where(t => t.ErpDetailId == x.ErpDetailId && t.MaterialNumber == x.MaterialNumber).ToList(); if (current_entityDets != null && current_entityDets.Count != 0 && x.ErpDetailId == current_entityDets.FirstOrDefault().ErpDetailId) { var current_entityDet_matQty = current_entityDets.Sum(x => x.Qty); @@ -407,10 +397,10 @@ namespace WMS.Web.Domain.Services //1.1.2判断上架数量不能超过应入库数量 var dtoDetails = dto.Boxs.SelectMany(x => x.Details).ToList(); - var dtoTotalDetails = dtoDetails.GroupBy(x => new { x.ErpDetailId,x.MaterialId }).Select(x => new { ErpDetailId = x.Key.ErpDetailId, MaterialId=x.Key.MaterialId, Qty = x.Sum(t => t.Qty) }).ToList(); + var dtoTotalDetails = dtoDetails.GroupBy(x => new { x.ErpDetailId,x.MaterialNumber }).Select(x => new { ErpDetailId = x.Key.ErpDetailId, MaterialNumber = x.Key.MaterialNumber, Qty = x.Sum(t => t.Qty) }).ToList(); foreach (var item in task.Details) { - var current_det = dtoTotalDetails.Where(x => x.ErpDetailId == item.ErpDetailId && x.MaterialId==item.MaterialId).FirstOrDefault(); + var current_det = dtoTotalDetails.Where(x => x.ErpDetailId == item.ErpDetailId && x.MaterialNumber == item.MaterialNumber).FirstOrDefault(); if (current_det != null && current_det.ErpDetailId == item.ErpDetailId && (item.AccruedQty - item.RealityQty) < current_det.Qty) return Result.ReFailure(ResultCodes.ShelfNoPurchaseSave_Qty_Error); } @@ -421,7 +411,7 @@ namespace WMS.Web.Domain.Services entity.OrgId = task.Details.Select(x => x.OrgId).FirstOrDefault(); entity.StockCode = dto.StockCode; entity.OrgCode = dto.OrgCode; - entity.SubStockId = dto.SubStockId; + entity.SubStockCode = dto.SubStockCode; entity.Method = dto.ShelfMethod == (int)ShelfMethod.Box ? InventoryInOutMethod.Box : InventoryInOutMethod.Product; entity.Details = new List(); @@ -437,10 +427,6 @@ namespace WMS.Web.Domain.Services item.TaskId = dto.TaskId; item.SourceBillNo = task.SourceBillNo; item.BoxId = box.BoxId; - //item.SubStockId = dto.SubStockId; - //item.StockCode = dto.StockCode; - //item.OrgCode = dto.OrgCode; - //item.OrgId = task.Details.Select(x => x.OrgId).FirstOrDefault(); }); //3.3添加到临时集合中 temps.AddRange(dets); @@ -461,7 +447,7 @@ namespace WMS.Web.Domain.Services var current_box_serNums = serialNumbers.Where(t => t.BoxId == x.BoxId).ToList(); if (current_box_serNums != null) { - var current_box_mat_serNums = current_box_serNums.Where(t => t.MaterialId == x.MaterialId).Select(t => t.SerialNumber).ToList(); + var current_box_mat_serNums = current_box_serNums.Where(t => t.MaterialNumber == x.MaterialNumber).Select(t => t.SerialNumber).ToList(); x.SerialNumbers.AddRange(current_box_mat_serNums); } }); @@ -473,13 +459,13 @@ namespace WMS.Web.Domain.Services return Result.ReFailure(ResultCodes.DateWriteError); //处理添加入库汇总明细 - var totalDetails = dto.Boxs.SelectMany(x => x.Details).GroupBy(x => new { x.MaterialId }) + var totalDetails = dto.Boxs.SelectMany(x => x.Details).GroupBy(x => new { x.MaterialNumber }) .Select(x => new InStockTotalDetails { InStockId = entity.Id, TaskId = dto.TaskId, SourceBillNo = task.SourceBillNo, - MaterialId = x.Key.MaterialId, + MaterialNumber = x.Key.MaterialNumber, Qty = x.Sum(t => t.Qty), SerialNumbers = x.SelectMany(t => t.SerialNumbers).ToList() }).ToList(); @@ -493,7 +479,7 @@ namespace WMS.Web.Domain.Services { task.Details.ForEach(x => { - var current_entityDets = entity.Details.Where(t => t.ErpDetailId == x.ErpDetailId && t.MaterialId==x.MaterialId).ToList(); + var current_entityDets = entity.Details.Where(t => t.ErpDetailId == x.ErpDetailId && t.MaterialNumber == x.MaterialNumber).ToList(); if (current_entityDets != null && current_entityDets.Count != 0 && x.ErpDetailId == current_entityDets.FirstOrDefault().ErpDetailId) { var current_entityDet_matQty = current_entityDets.Sum(x => x.Qty); @@ -508,87 +494,6 @@ namespace WMS.Web.Domain.Services return Result.ReFailure(ResultCodes.DateWriteError); } - //6.当按产品上架:就要调用改箱的操作; - if (dto.ShelfMethod == (int)ShelfMethod.Product) - { - ////通过序列号,获取序列号对应的箱 - //var cureent_serialNumbs = await _serialNumbersRepositories.GetEntityList(dto.Boxs.SelectMany(x => x.Details).SelectMany(x => x.SerialNumbers).ToList()); - //var current_boxIds = cureent_serialNumbs.GroupBy(x => x.BoxId).Select(x => x.Key).ToList(); - - ////当前序列号对应的箱的集合信息 - //var current_boxs = await _boxRepositories.GetEntityList(current_boxIds); - - ////要改箱的数据集合 - //var ganenrateChangeBoxs = new List(); - ////当前按产品上架的箱子 - //var dto_box = dto.Boxs.FirstOrDefault(); - - ////遍历:序列号对应多个箱 - //foreach (var boxId in current_boxIds) - //{ - // if (dto_box.BoxId != boxId) - // { - // var box = current_boxs.Where(x => x.Id == boxId).FirstOrDefault(); - // //遍历:明细 - // var changeBox = new SaveChangeBoxRecordRequest(); - // changeBox.DestBoxId = dto_box.BoxId; - // changeBox.SubStockId = dto.SubStockId; - // foreach (var item in dto_box.Details) - // { - // var boxDet = box.Details.Where(t => t.MaterialId == item.MaterialId).FirstOrDefault(); - // if (boxDet != null && boxDet.MaterialId == item.MaterialId) - // { - // var changeBoxRD = new SaveChangeBoxRecordDetailsRequest(); - // changeBoxRD.MaterialId = item.MaterialId; - // changeBoxRD.Qty = item.Qty; - // changeBoxRD.SerialNumbers = item.SerialNumbers; - // changeBox.Details.Add(changeBoxRD); - // } - // } - // //当明细存在,则要有原箱的情况下进行改箱 - // if (changeBox.Details.Count != 0) - // { - // changeBox.SrcBoxId = boxId; - // ganenrateChangeBoxs.Add(changeBox); - // } - // } - //} - ////没有原箱的情况下,要改箱操作对象 - //var serialNub_isNotHaveBOx = new List(); - //var serialNumbs = dto.Boxs.SelectMany(x => x.Details).SelectMany(x => x.SerialNumbers).ToList(); - //foreach (var item in serialNumbs) - //{ - // var current_IsHaveBox_serialNub = cureent_serialNumbs.Where(x => x.SerialNumber == item).Any(); - // if (!current_IsHaveBox_serialNub) - // serialNub_isNotHaveBOx.Add(item); - //} - - //if (serialNub_isNotHaveBOx.Count != 0) - //{ - // var changeBox_tag = new SaveChangeBoxRecordRequest(); - // changeBox_tag.DestBoxId = dto_box.BoxId; - // changeBox_tag.SrcBoxId = 0; - // changeBox_tag.SubStockId = dto.SubStockId; - // foreach (var item in dto_box.Details) - // { - - // //遍历:明细 - // var changeBoxRD = new SaveChangeBoxRecordDetailsRequest(); - // changeBoxRD.MaterialId = item.MaterialId; - // changeBoxRD.Qty = item.Qty; - // changeBoxRD.SerialNumbers = item.SerialNumbers; - // changeBox_tag.Details.Add(changeBoxRD); - - // } - // ganenrateChangeBoxs.Add(changeBox_tag); - //} - - ////改箱保存操作--弃用 - //var changeBoxSave_Result = await _changeMoveBoxService.ChangeBox_InStock(entity, loginInfo, isTransaction); - //if (!changeBoxSave_Result.IsSuccess) - // return changeBoxSave_Result; - } - //6.1序列号跟踪流程添加;备注:和上面的改箱操作后会记录序列号轨迹不冲突; var serialNumber_result = await _serialNumberService.InStock(entity, loginInfo, isTransaction); if (!serialNumber_result.IsSuccess) @@ -630,7 +535,7 @@ namespace WMS.Web.Domain.Services { //当前明细收货的明细:可以通过erp明细ID获取唯一一个;并变更收货数量 var current_dto_det = dto.Details.Where(t => t.ErpDetailId == x.ErpDetailId).FirstOrDefault(); - if (current_dto_det != null && x.ErpDetailId == current_dto_det.ErpDetailId && x.MaterialId==current_dto_det.MaterialId) + if (current_dto_det != null && x.ErpDetailId == current_dto_det.ErpDetailId && x.MaterialNumber == current_dto_det.MaterialNumber) x.ReceiveQty = x.ReceiveQty + current_dto_det.ReceiveQty; }); @@ -727,16 +632,16 @@ namespace WMS.Web.Domain.Services return Result.ReFailure(ResultCodes.BoxInventoryHaveInventoryError); //合并多个箱明细的数据:相同物料数量合并 - var boxDetails = boxs.SelectMany(x => x.Details).GroupBy(x => x.MaterialId).Select(x => new { MaterialId = x.Key, Qty = x.Sum(t => t.Qty) }).ToList(); + var boxDetails = boxs.SelectMany(x => x.Details).GroupBy(x => x.MaterialNumber).Select(x => new { MaterialNumber = x.Key, Qty = x.Sum(t => t.Qty) }).ToList(); //采购单:要对比数量 if (task.Type == InstockType.Purchase) { //3.比对:false为比对失败; - bool isRight = boxDetails.All(x => task_details.Any(t => t.MaterialId == x.MaterialId && t.AccruedQty >= x.Qty)) && boxDetails.Count <= task_details.Count; + bool isRight = boxDetails.All(x => task_details.Any(t => t.MaterialNumber == x.MaterialNumber && t.AccruedQty >= x.Qty)) && boxDetails.Count <= task_details.Count; if (!isRight) { - var qtyIsError = boxDetails.All(x => task_details.Any(t => t.MaterialId == x.MaterialId && t.AccruedQty < x.Qty)); + var qtyIsError = boxDetails.All(x => task_details.Any(t => t.MaterialNumber == x.MaterialNumber && t.AccruedQty < x.Qty)); if (boxDetails.Count > task_details.Count && qtyIsError) return Result.ReFailure(ResultCodes.Contrast_Purchase_Error); else if (qtyIsError) @@ -750,7 +655,7 @@ namespace WMS.Web.Domain.Services else { //3.比对:false为比对失败; - bool isRight = boxDetails.All(x => task_details.Any(t => t.MaterialId == x.MaterialId)) && boxDetails.Count <= task_details.Count; + bool isRight = boxDetails.All(x => task_details.Any(t => t.MaterialNumber == x.MaterialNumber)) && boxDetails.Count <= task_details.Count; if (!isRight) return Result.ReFailure(ResultCodes.Contrast_Count_Error); } @@ -803,7 +708,7 @@ namespace WMS.Web.Domain.Services //然后刷选出对应金蝶明细和物料和wms的任务单的明细和物料是一致的就同步下推 foreach (var item in erpDetails_tags) { - var isHave= erp_purchase_result.Data.Where(x => x.ErpDetailId == item.ErpDetailId && x.MaterialId == item.MaterialId).Any(); + var isHave= erp_purchase_result.Data.Where(x => x.ErpDetailId == item.ErpDetailId && x.MaterialNumber == item.MaterialNumber).Any(); if (isHave) erpDetails.Add(item); } diff --git a/src/WMS.Web.Domain/Services/InStockTaskService.cs b/src/WMS.Web.Domain/Services/InStockTaskService.cs index c257ea4c..8ed8f3fa 100644 --- a/src/WMS.Web.Domain/Services/InStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/InStockTaskService.cs @@ -380,7 +380,7 @@ namespace WMS.Web.Domain.Services var erp_data = erp_list.Where(t => t.ErpDetailId == x.ErpDetailId).FirstOrDefault(); if (erp_data != null) { - if (erp_data.MaterialId != x.MaterialId) + if (erp_data.MaterialNumber != x.MaterialNumber) { //给老的物料应收数量改为0 x.AccruedQty = 0; @@ -400,7 +400,7 @@ namespace WMS.Web.Domain.Services var local_data = data_list_details_new.Where(t => t.ErpDetailId == item.ErpDetailId).ToList(); if (local_data != null && local_data.Count != 0) { - var isHaveMater_detail = local_data.Where(t => t.MaterialId == item.MaterialId).Any(); + var isHaveMater_detail = local_data.Where(t => t.MaterialNumber == item.MaterialNumber).Any(); if (!isHaveMater_detail) { //明细的物料改变了:新的物料重新添加一条明细 @@ -496,7 +496,7 @@ namespace WMS.Web.Domain.Services var erp_data = erp_list.FirstOrDefault(a => a.ErpDetailId == det.ErpDetailId && a.BillNo == order.SourceBillNo); if (erp_data != null) { - if (erp_data.MaterialId == det.MaterialId) + if (erp_data.MaterialNumber == det.MaterialNumber) { //物料相同的,就改变数值 det.Remark = erp_data.Remark; @@ -523,7 +523,7 @@ namespace WMS.Web.Domain.Services var order= data_list.Where(x => x.SourceBillNo == erp_data.BillNo).FirstOrDefault(); if (order != null) { - var IsHaveNewMaterial = order.Details.Where(x => x.ErpDetailId == erp_data.ErpDetailId && erp_data.MaterialId == x.MaterialId).Any(); + var IsHaveNewMaterial = order.Details.Where(x => x.ErpDetailId == erp_data.ErpDetailId && erp_data.MaterialNumber == x.MaterialNumber).Any(); if (!IsHaveNewMaterial) { //当物料相同,仓库不同或者物料不同,就新增一条明细 @@ -555,10 +555,10 @@ namespace WMS.Web.Domain.Services { //当应入库数量大于实际入库数量:状态就部分入库 //当应入库数量小于等于实际入库数量:状态就已入库 - var details_Groups = order.Details.Where(x => x.AccruedQty != 0).GroupBy(x => x.MaterialId) + var details_Groups = order.Details.Where(x => x.AccruedQty != 0).GroupBy(x => x.MaterialNumber) .Select(x => new - { - MaterialId = x.Key, + { + MaterialNumber = x.Key, AccruedQtyTotal = x.Sum(t => t.AccruedQty), ReceiveQtyTotal=x.Sum(t=>t.ReceiveQty), RealityQtyTotal =x.Sum(t=>t.RealityQty) @@ -573,15 +573,7 @@ namespace WMS.Web.Domain.Services order.Status = InstockStatus.WaitInStock; else if(details_Groups.Sum(x => x.RealityQtyTotal) >= details_Groups.Sum(x => x.AccruedQtyTotal)) order.Status = InstockStatus.Already; - - - - //var AccruedQtyTotal = order.Details.Where(x => x.AccruedQty != 0).Sum(x => x.AccruedQty); - //var RealityQtyTotal = order.Details.Where(x => x.AccruedQty != 0).Sum(x => x.RealityQty); - //if (RealityQtyTotal != 0 && AccruedQtyTotal > RealityQtyTotal) - // order.Status = InstockStatus.Part; - //else if (AccruedQtyTotal <= RealityQtyTotal) - // order.Status = InstockStatus.Already; + }); diff --git a/src/WMS.Web.Domain/Services/InventoryDetailsService.cs b/src/WMS.Web.Domain/Services/InventoryDetailsService.cs index ce005dfa..5301e7e9 100644 --- a/src/WMS.Web.Domain/Services/InventoryDetailsService.cs +++ b/src/WMS.Web.Domain/Services/InventoryDetailsService.cs @@ -46,10 +46,10 @@ namespace WMS.Web.Domain.Services { //找到物料对应的即时库存明细 var orgCodes = dtos.Select(x => x.OrgCode).ToList(); - var materialIds = dtos.Select(x => x.MaterialId).ToList(); + var materialNumbers = dtos.Select(x => x.MaterialNumber).ToList(); var stockCodes = dtos.GroupBy(x => x.StockCode).Select(x => x.Key).ToList(); - var subStockIds = dtos.GroupBy(x => x.SubStockId).Select(x => x.Key).ToList(); - var inventoryDetails = await _inventoryDetailsRepositories.GetListBy(materialIds, stockCodes, subStockIds, orgCodes); + var subStockCodes = dtos.GroupBy(x => x.SubStockCode).Select(x => x.Key).ToList(); + var inventoryDetails = await _inventoryDetailsRepositories.GetListBy(materialNumbers, stockCodes, subStockCodes, orgCodes); var add_entitys = new List(); @@ -60,9 +60,9 @@ namespace WMS.Web.Domain.Services { //2.1当前的即时库存明细 var currentDetail = inventoryDetails.Where(x => - x.MaterialId == dto.MaterialId && + x.MaterialNumber == dto.MaterialNumber && x.StockCode == dto.StockCode && - x.SubStockId == dto.SubStockId && + x.SubStockCode == dto.SubStockCode && x.OrgCode==dto.OrgCode).FirstOrDefault(); if (currentDetail == null) { @@ -114,17 +114,17 @@ namespace WMS.Web.Domain.Services /// /// 获取即时库存明细汇总 /// - /// + /// /// /// /// - public async Task> GetInventoryDetailsSummary(List mids, List stockCodes, List orgCodes) + public async Task> GetInventoryDetailsSummary(List materialNumbers, List stockCodes, List orgCodes) { - var inventoryDetails = await _inventoryDetailsRepositories.GetListBy(mids, stockCodes, orgCodes); - var resultList = inventoryDetails.GroupBy(x => new { MaterialId = x.MaterialId, StockCode = x.StockCode, OrgCode = x.OrgCode }) + var inventoryDetails = await _inventoryDetailsRepositories.GetListBy(materialNumbers, stockCodes, orgCodes); + var resultList = inventoryDetails.GroupBy(x => new { MaterialNumber = x.MaterialNumber, StockCode = x.StockCode, OrgCode = x.OrgCode }) .Select(x => new InventoryDetailsSummaryResponse() { - MaterialId=x.Key.MaterialId, + MaterialNumber = x.Key.MaterialNumber, StockCode=x.Key.StockCode, OrgCode=x.Key.OrgCode, Qty=x.Sum(t=>t.Qty) diff --git a/src/WMS.Web.Domain/Services/InventoryInOutDetailsService.cs b/src/WMS.Web.Domain/Services/InventoryInOutDetailsService.cs index 5ade8e5c..44a81f70 100644 --- a/src/WMS.Web.Domain/Services/InventoryInOutDetailsService.cs +++ b/src/WMS.Web.Domain/Services/InventoryInOutDetailsService.cs @@ -51,16 +51,16 @@ namespace WMS.Web.Domain.Services //找到物料对应的即时库存明细 var orgCodes = dtos.Select(x => x.OrgCode).ToList(); - var materialIds = dtos.Select(x => x.MaterialId).ToList(); + var materialNumbers = dtos.Select(x => x.MaterialNumber).ToList(); var stockCodes = dtos.GroupBy(x => x.StockCode).Select(x => x.Key).ToList(); - var inventoryDetails=await _inventoryDetailsRepositories.GetListBy(materialIds, stockCodes, orgCodes); + var inventoryDetails=await _inventoryDetailsRepositories.GetListBy(materialNumbers, stockCodes, orgCodes); //还要汇总出:只对仓库的库存合集,不要仓位 - var inventoryDetailsTotal = inventoryDetails.GroupBy(x => new { x.OrgCode, x.MaterialId, x.StockCode }) + var inventoryDetailsTotal = inventoryDetails.GroupBy(x => new { x.OrgCode, x.MaterialNumber, x.StockCode }) .Select(x => new { OrgCode = x.Key.OrgCode, - MaterialId = x.Key.MaterialId, + MaterialNumber = x.Key.MaterialNumber, StockCode = x.Key.StockCode, Qty = x.Sum(t => t.Qty) }).ToList(); @@ -73,7 +73,7 @@ namespace WMS.Web.Domain.Services { //2.1当前的即时库存明细 var currentDetail= inventoryDetailsTotal.Where(x => - x.MaterialId == dto.MaterialId && + x.MaterialNumber == dto.MaterialNumber && x.StockCode == dto.StockCode && x.OrgCode==dto.OrgCode).FirstOrDefault(); @@ -99,23 +99,23 @@ namespace WMS.Web.Domain.Services /// 生成dto /// /// - /// + /// /// /// - /// + /// /// /// /// /// /// - public InventoryInOutDetailsGenerateDto GenerateDto(int boxId,int materialId,string orgCode,string stockCode,int subStockId, OrderType orderType,string billNo,decimal qty, InventoryInOutType inventoryInOutType) + public InventoryInOutDetailsGenerateDto GenerateDto(int boxId,string materialNumber, string orgCode,string stockCode, string subStockCode, OrderType orderType,string billNo,decimal qty, InventoryInOutType inventoryInOutType) { var item = new InventoryInOutDetailsGenerateDto(); item.BoxId = boxId; - item.MaterialId = materialId; + item.MaterialNumber = materialNumber; item.OrgCode = orgCode; item.StockCode = stockCode; - item.SubStockId = subStockId; + item.SubStockCode = subStockCode; item.OrderType = (int)orderType; item.OrderBillNo = billNo; item.Qty = qty; diff --git a/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs b/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs index 1db0c14d..340f1fe7 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs @@ -162,6 +162,27 @@ namespace WMS.Web.Domain.Services.Public return mat.BaseUnitName; } + /// + /// 获取物料基本单位名称 + /// + /// + /// + /// + public string GetMaterialUnitName(List erpMaterials, string materialNumber) + { + if (erpMaterials == null || erpMaterials.Count == 0) + return ""; + var mat = erpMaterials.Where(x => x.MaterialNumber == materialNumber).FirstOrDefault(); + if (mat == null) + { + var result = _erpService.BillQueryForMaterial(materialNumber).GetAwaiter().GetResult(); + if (!result.IsSuccess) + return ""; + return result.Data == null ? "" : result.Data.BaseUnitName; + } + return mat.BaseUnitName; + } + /// /// 获取物料的条码 /// diff --git a/src/WMS.Web.Repositories/BoxInventoryRepositories.cs b/src/WMS.Web.Repositories/BoxInventoryRepositories.cs index 67d4251c..7fb2db3d 100644 --- a/src/WMS.Web.Repositories/BoxInventoryRepositories.cs +++ b/src/WMS.Web.Repositories/BoxInventoryRepositories.cs @@ -67,11 +67,13 @@ namespace WMS.Web.Repositories //物料集合;模糊查询后的物料集合 if (!string.IsNullOrEmpty(dto.MaterialNumber)) { - //materials = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber)).ToList(); - materials = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber) - || w.MaterialName.Contains(dto.MaterialNumber) - || w.Specifications.Contains(dto.MaterialNumber) - ).ToList(); + if (materials.Count != 0) + { + materials = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber) + || w.MaterialName.Contains(dto.MaterialNumber) + || w.Specifications.Contains(dto.MaterialNumber) + ).ToList(); + } } //组织集合 @@ -96,19 +98,17 @@ namespace WMS.Web.Repositories query = query.Where(w => w.order.StockCode == splitStrs[0] && w.order.OrgCode == splitStrs[1]); } - if (dto.SubStockId.HasValue) - query = query.Where(w => w.order.SubStockId == dto.SubStockId.Value); + if (!string.IsNullOrEmpty(dto.SubStockCode)) + query = query.Where(w => w.order.SubStockCode == dto.SubStockCode); //物料ID在模糊后的物料 if (!string.IsNullOrEmpty(dto.MaterialNumber)) { if (materials != null && materials.Count != 0) { - var mids = materials.Select(x => x.MaterialId).ToList(); - query = query.Where(w => mids.Contains(w.detail.MaterialId)); + var mids = materials.Select(x => x.MaterialNumber).ToList(); + query = query.Where(w => mids.Contains(w.detail.MaterialNumber)); } - else - query = query.Where(w => w.detail.MaterialId == 0); } @@ -118,11 +118,11 @@ namespace WMS.Web.Repositories Id = s.order.Id, DetailsId = s.detail.Id, BoxBillNo = s.box.BoxBillNo, - MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail.MaterialId), - MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.detail.MaterialId), - Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialId), + MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail.MaterialNumber), + MaterialNumber = s.detail.MaterialNumber, + Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialNumber), Stock = _singleDataService.GetSingleData(SingleAction.StocksJoinOrgCode, companyId, s.order.StockCode+s.order.OrgCode), - SubStock = _singleDataService.GetSingleData(SingleAction.SubStocks, companyId, s.order.SubStockId), + SubStock = _singleDataService.GetSingleData(SingleAction.SubStocks, companyId, s.order.SubStockCode), SerialNumbers=(string.Join(",",s.detail.SerialNumbers)).TrimEnd(','), Org = _erpBasicDataExtendService.GetOrgName(orgs, s.order.OrgCode), Qty = s.detail.Qty, @@ -154,13 +154,13 @@ namespace WMS.Web.Repositories if (response != null) { response.Stock = _singleDataService.GetSingleData(SingleAction.StocksJoinOrgCode, _loginRepositories.CompanyId, response.StockCode + response.OrgCode); - response.SubStock = _singleDataService.GetSingleData(SingleAction.SubStocks, _loginRepositories.CompanyId, response.SubStockId); + response.SubStock = _singleDataService.GetSingleData(SingleAction.SubStocks, _loginRepositories.CompanyId, response.SubStockCode); response.Details = _mapper.Map>(entity.Details); response.Details.ForEach(x => { - x.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, x.MaterialId); - x.MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, x.MaterialId); - x.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, x.MaterialId); + x.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, x.MaterialNumber); + x.MaterialNumber = x.MaterialNumber; + x.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, x.MaterialNumber); }); response.TotalQty = response.Details.Sum(x=>x.Qty); } @@ -240,7 +240,6 @@ namespace WMS.Web.Repositories List list = entitys.Select(s => s.Id).ToList(); var res = await _context.BoxInventory.Include(x => x.Details).Where(f => list.Contains(f.Id)).ToListAsync(); _mapper.Map(entitys, res); - //_mapper.ToMapList(entitys.SelectMany(x=>x.Details).ToList(), res.SelectMany(x=>x.Details).ToList()); var tt= await _context.SaveChangesAsync(); if (_transaction != null) _transaction.Commit(); diff --git a/src/WMS.Web.Repositories/InStockRepositories.cs b/src/WMS.Web.Repositories/InStockRepositories.cs index 3d37aabf..42ad9346 100644 --- a/src/WMS.Web.Repositories/InStockRepositories.cs +++ b/src/WMS.Web.Repositories/InStockRepositories.cs @@ -284,11 +284,13 @@ namespace WMS.Web.Repositories //物料集合;模糊查询后的物料集合 if (!string.IsNullOrEmpty(dto.MaterialNumber)) { - //materials = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber)).ToList(); - materials = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber) - || w.MaterialName.Contains(dto.MaterialNumber) - || w.Specifications.Contains(dto.MaterialNumber) - ).ToList(); + if (materials.Count != 0) + { + materials = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber) + || w.MaterialName.Contains(dto.MaterialNumber) + || w.Specifications.Contains(dto.MaterialNumber) + ).ToList(); + } } if (companyId == 0) @@ -314,11 +316,9 @@ namespace WMS.Web.Repositories { if (materials != null && materials.Count != 0) { - var mids = materials.Select(x => x.MaterialId).ToList(); - query = query.Where(w => mids.Contains(w.detail.MaterialId)); + var mids = materials.Select(x => x.MaterialNumber).ToList(); + query = query.Where(w => mids.Contains(w.detail.MaterialNumber)); } - else - query = query.Where(w => w.detail.MaterialId == 0); } if (!string.IsNullOrEmpty(dto.Creator)) @@ -365,12 +365,11 @@ namespace WMS.Web.Repositories BillNo = s.order.BillNo, Type = s.order.Type.GetRemark(), SourceBillNo = s.detail.SourceBillNo, - MaterialId=s.detail.MaterialId, Supplier = _erpBasicDataExtendService.GetSupplierName(suppliers, s.detail.SupplierId), Org = _erpBasicDataExtendService.GetOrgName(orgs, s.order.OrgId), - MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail.MaterialId), - MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.detail.MaterialId), - Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialId), + MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail.MaterialNumber), + MaterialNumber = s.detail.MaterialNumber, + Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialNumber), Stock = _singleDataService.GetSingleData(SingleAction.StocksJoinOrgCode, companyId, s.order.StockCode + s.order.OrgCode), Qty = s.detail.Qty, Creator = _singleDataService.GetSingleData(SingleAction.Staffs, companyId, s.order.CreatorId), @@ -387,7 +386,7 @@ namespace WMS.Web.Repositories var taskDetailsList= taskList.SelectMany(x => x.Details).Where(x=>x.AccruedQty<=0).ToList(); list.ForEach(x => { - var isHave= taskDetailsList.Where(t => t.MaterialId == x.MaterialId && t.Fid == x.TaskId).Any(); + var isHave= taskDetailsList.Where(t => t.MaterialNumber == x.MaterialNumber && t.Fid == x.TaskId).Any(); if (isHave) x.SuccessSync = "--"; }); diff --git a/src/WMS.Web.Repositories/InStockTaskRepositories.cs b/src/WMS.Web.Repositories/InStockTaskRepositories.cs index 7689636f..31891369 100644 --- a/src/WMS.Web.Repositories/InStockTaskRepositories.cs +++ b/src/WMS.Web.Repositories/InStockTaskRepositories.cs @@ -93,11 +93,6 @@ namespace WMS.Web.Repositories /// public async Task> GetList(List ids) { - //var entitys = await _context.InStockTask - // .Include(s => s.Details.Where(x=>x.AccruedQty>0)) - // .Where(f => ids.Contains(f.Id) && f.Details.Where(x=>x.AccruedQty>0).Count()>0) - // .ToListAsync(); - //return entitys; var entitys = await _context.InStockTask .Include(s => s.Details) .Where(f => ids.Contains(f.Id)) @@ -165,17 +160,15 @@ namespace WMS.Web.Repositories SupplierId = s.detail.SupplierId, OrgId = s.detail.OrgId, SourceBillNo = s.order.SourceBillNo, - MaterialId = s.detail.MaterialId, StockCode = s.detail.StockCode, StockName = _singleDataService.GetSingleData(SingleAction.StocksJoinOrgCode, _loginRepositories.CompanyId, s.detail.StockCode + s.detail.OrgCode), - MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail.MaterialId), - MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.detail.MaterialId), - Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialId), + MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail.MaterialNumber), + MaterialNumber = s.detail.MaterialNumber, + Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialNumber), Qty = s.detail.AccruedQty, DeliveredQty = s.detail.DeliveredQty, ReceiveQty = s.detail.ReceiveQty, //采购:可入库数量=应入库数量-收货数量-已交数量+该明细的入库数量之和; - //AvailableQty = s.detail.AccruedQty - s.detail.ReceiveQty- s.detail.DeliveredQty+s.detail.RealityQty, AvailableQty = s.detail.AccruedQty - s.detail.ReceiveQty - (s.detail.DeliveredQty> s.detail.RealityQty? s.detail.DeliveredQty : s.detail.RealityQty), Remark = s.detail.Remark, ErpDetailId=s.detail.ErpDetailId @@ -189,7 +182,7 @@ namespace WMS.Web.Repositories { list.ForEach(x => { - var current_instock_dets = instockDets.Where(t => t.ErpDetailId == x.ErpDetailId && t.MaterialId == x.MaterialId && t.Qty != 0).ToList(); + var current_instock_dets = instockDets.Where(t => t.ErpDetailId == x.ErpDetailId && t.MaterialNumber == x.MaterialNumber && t.Qty != 0).ToList(); if (current_instock_dets != null && current_instock_dets.Count != 0 && x.ErpDetailId == current_instock_dets.FirstOrDefault().ErpDetailId) { //+该明细的入库数量之和;在这里处理 @@ -200,7 +193,6 @@ namespace WMS.Web.Repositories } return list; - } /// @@ -244,12 +236,11 @@ namespace WMS.Web.Repositories SupplierId = s.SupplierId, OrgId = s.OrgId, OrgCode=s.OrgCode, - MaterialId = s.MaterialId, StockCode = s.StockCode, StockName = _singleDataService.GetSingleData(SingleAction.StocksJoinOrgCode, _loginRepositories.CompanyId, s.StockCode+s.OrgCode), - MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.MaterialId), - MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.MaterialId), - Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialId), + MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.MaterialNumber), + MaterialNumber = s.MaterialNumber, + Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialNumber), Qty = s.AccruedQty, DeliveredQty = s.DeliveredQty, //非采购:可入库数量=应入库数量-收货数量; @@ -479,11 +470,13 @@ namespace WMS.Web.Repositories //物料集合;模糊查询后的物料集合 if (!string.IsNullOrEmpty(dto.MaterialNumber)) { - //materials = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber)).ToList(); - materials = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber) - || w.MaterialName.Contains(dto.MaterialNumber) - || w.Specifications.Contains(dto.MaterialNumber) - ).ToList(); + if (materials.Count != 0) + { + materials = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber) + || w.MaterialName.Contains(dto.MaterialNumber) + || w.Specifications.Contains(dto.MaterialNumber) + ).ToList(); + } } var query = _context.InStockTaskDetails @@ -499,11 +492,9 @@ namespace WMS.Web.Repositories { if (materials != null && materials.Count != 0) { - var mids = materials.Select(x => x.MaterialId).ToList(); - query = query.Where(w => mids.Contains(w.detail.MaterialId)); + var mids = materials.Select(x => x.MaterialNumber).ToList(); + query = query.Where(w => mids.Contains(w.detail.MaterialNumber)); } - else - query = query.Where(w => w.detail.MaterialId == 0); } if (!string.IsNullOrEmpty(dto.Receiver)) @@ -547,9 +538,9 @@ namespace WMS.Web.Repositories SourceBillNo = s.order.SourceBillNo, Supplier = _erpBasicDataExtendService.GetSupplierName(suppliers, s.detail.SupplierId), Org = _erpBasicDataExtendService.GetOrgName(orgs, s.detail.OrgId), - MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail.MaterialId), - MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.detail.MaterialId), - Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialId), + MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail.MaterialNumber), + MaterialNumber = s.detail.MaterialNumber, + Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialNumber), FactoryPrice = s.detail.FactoryPrice, Stock = _singleDataService.GetSingleData(SingleAction.StocksJoinOrgCode, companyId, s.detail.StockCode + s.detail.OrgCode), AccruedQty = s.detail.AccruedQty, diff --git a/src/WMS.Web.Repositories/InventoryDetailsRepositories.cs b/src/WMS.Web.Repositories/InventoryDetailsRepositories.cs index 502627a9..45a357ef 100644 --- a/src/WMS.Web.Repositories/InventoryDetailsRepositories.cs +++ b/src/WMS.Web.Repositories/InventoryDetailsRepositories.cs @@ -65,11 +65,13 @@ namespace WMS.Web.Repositories //物料集合;模糊查询后的物料集合 if (!string.IsNullOrEmpty(dto.MaterialNumber)) { - //materials = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber)).ToList(); - materials = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber) - || w.MaterialName.Contains(dto.MaterialNumber) - || w.Specifications.Contains(dto.MaterialNumber) - ).ToList(); + if (materials.Count != 0) + { + materials = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber) + || w.MaterialName.Contains(dto.MaterialNumber) + || w.Specifications.Contains(dto.MaterialNumber) + ).ToList(); + } } //组织集合 @@ -86,10 +88,9 @@ namespace WMS.Web.Repositories { if (materials != null && materials.Count != 0) { - var mids = materials.Select(x => x.MaterialId).ToList(); - query = query.Where(w => mids.Contains(w.MaterialId)); - }else - query = query.Where(w => w.MaterialId==0); + var mids = materials.Select(x => x.MaterialNumber).ToList(); + query = query.Where(w => mids.Contains(w.MaterialNumber)); + } } if (!string.IsNullOrEmpty(dto.StockCode)) @@ -98,8 +99,8 @@ namespace WMS.Web.Repositories query = query.Where(w => w.StockCode == splitStrs[0] && w.OrgCode == splitStrs[1]); } - if (dto.SubStockId.HasValue) - query = query.Where(w => w.SubStockId == dto.SubStockId.Value); + if (!string.IsNullOrEmpty(dto.SubStockCode)) + query = query.Where(w => w.SubStockCode == dto.SubStockCode); if (dto.Qty.HasValue) query = query.Where(w => w.Qty == dto.Qty); @@ -110,14 +111,14 @@ namespace WMS.Web.Repositories var list = await query.Select(s => new InventoryDetailsQueryResponse() { Id=s.Id, - MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.MaterialId), - MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.MaterialId), - Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialId), + MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.MaterialNumber), + MaterialNumber = s.MaterialNumber, + Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialNumber), Org= _erpBasicDataExtendService.GetOrgName(orgs, s.OrgCode), Stock = _singleDataService.GetSingleData(SingleAction.StocksJoinOrgCode, companyId, s.StockCode + s.OrgCode), Qty = s.Qty, - SubStock = _singleDataService.GetSingleData(SingleAction.SubStocks, companyId, s.SubStockId), - Unit = _erpBasicDataExtendService.GetMaterialUnitName(materials, s.MaterialId), + SubStock = _singleDataService.GetSingleData(SingleAction.SubStocks, companyId, s.SubStockCode), + Unit = _erpBasicDataExtendService.GetMaterialUnitName(materials, s.MaterialNumber), }).OrderByDescending(x => x.Id).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync(); return (list,total); @@ -197,30 +198,30 @@ namespace WMS.Web.Repositories /// /// 列表-根据物料和仓库和仓位 /// - /// + /// /// - /// + /// /// /// - public async Task> GetListBy(List materialIds, List stockCodes, List subStockIds, List orgCodes) + public async Task> GetListBy(List materialNumbers, List stockCodes, List subStockCodes, List orgCodes) { - return await _context.InventoryDetails.Where(x => materialIds.Contains(x.MaterialId) && + return await _context.InventoryDetails.Where(x => materialNumbers.Contains(x.MaterialNumber) && stockCodes.Contains(x.StockCode) && orgCodes.Contains(x.OrgCode) && - subStockIds.Contains(x.SubStockId) ).ToListAsync(); + subStockCodes.Contains(x.SubStockCode) ).ToListAsync(); } /// /// 列表-根据物料和仓库和仓位 /// - /// + /// /// /// /// /// - public async Task> GetListBy(List materialIds, List stockCodes,List orgCodes) + public async Task> GetListBy(List materialNumbers, List stockCodes,List orgCodes) { - return await _context.InventoryDetails.Where(x => materialIds.Contains(x.MaterialId) && + return await _context.InventoryDetails.Where(x => materialNumbers.Contains(x.MaterialNumber) && stockCodes.Contains(x.StockCode) && orgCodes.Contains(x.OrgCode)).ToListAsync(); } diff --git a/src/WMS.Web.Repositories/InventoryInOutDetailsRepositories.cs b/src/WMS.Web.Repositories/InventoryInOutDetailsRepositories.cs index 5a2e9a94..348b8081 100644 --- a/src/WMS.Web.Repositories/InventoryInOutDetailsRepositories.cs +++ b/src/WMS.Web.Repositories/InventoryInOutDetailsRepositories.cs @@ -72,11 +72,13 @@ namespace WMS.Web.Repositories //物料集合;模糊查询后的物料集合 if (!string.IsNullOrEmpty(dto.MaterialNumber)) { - //materials = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber)).ToList(); - materials = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber) - || w.MaterialName.Contains(dto.MaterialNumber) - || w.Specifications.Contains(dto.MaterialNumber) - ).ToList(); + if (materials.Count != 0) + { + materials = materials.Where(w => w.MaterialNumber.Contains(dto.MaterialNumber) + || w.MaterialName.Contains(dto.MaterialNumber) + || w.Specifications.Contains(dto.MaterialNumber) + ).ToList(); + } } var query = _context.InventoryInOutDetails @@ -87,11 +89,9 @@ namespace WMS.Web.Repositories { if (materials != null && materials.Count != 0) { - var mids = materials.Select(x => x.MaterialId).ToList(); - query = query.Where(w => mids.Contains(w.MaterialId)); + var mids = materials.Select(x => x.MaterialNumber).ToList(); + query = query.Where(w => mids.Contains(w.MaterialNumber)); } - else - query = query.Where(w => w.MaterialId == 0); } if (!string.IsNullOrEmpty(dto.StockCode)) @@ -113,9 +113,9 @@ namespace WMS.Web.Repositories var list = await query.Select(s => new InventoryInOutDetailsQueryResponse() { Id = s.Id, - MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.MaterialId), - MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.MaterialId), - Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialId), + MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.MaterialNumber), + MaterialNumber = s.MaterialNumber, + Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.MaterialNumber), Type =s.Type.GetRemark(), OrderType=s.OrderType.GetRemark(), OrderBillNo=s.OrderBillNo,