diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/Incoming/InjectionMoldingRequestReader.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/Incoming/InjectionMoldingRequestReader.cs
index a29d697f6..efbb754bb 100644
--- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/Incoming/InjectionMoldingRequestReader.cs
+++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent/Incoming/InjectionMoldingRequestReader.cs
@@ -20,6 +20,8 @@ using System.Text.Json.Serialization;
using System.IdentityModel.Tokens.Jwt;
using Volo.Abp;
using System.Net.NetworkInformation;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
+
namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.InjectionMoldingTaskAgent.Incoming;
public class InjectionMoldingRequestReader : IReader
{
@@ -121,7 +123,7 @@ public class InjectionMoldingRequestReader : IReader
InjectionIssueRequestEditInput input = new InjectionIssueRequestEditInput();
input.Worker = "Vision";
- input.Type = "Vision";
+ input.IssueRequestType = EnumIssueRequestType.Vision;
input.AutoSubmit = true;
input.ActiveDate = DateTime.Now;
input.UseOnTheWayLocation = false;
@@ -135,7 +137,7 @@ public class InjectionMoldingRequestReader : IReader
ToLocationCode = inject.AreaID.ToString(),
PositionCode=inject.CargoID,
Qty = 1,
- RecommendType = EnumRecommendType.W,
+ RecommendType = EnumRecommendType.RAW,
IssuedQty = 0,
ReceivedQty = 0,
Status = EnumStatus.Open,
diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/PositionCodes/PositionCodeAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/PositionCodes/PositionCodeAppService.cs
index 5431a0142..c70f4caf8 100644
--- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/PositionCodes/PositionCodeAppService.cs
+++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/PositionCodes/PositionCodeAppService.cs
@@ -68,7 +68,7 @@ public class PositionCodeAppService
var itemBasic = await ItemBasicAppService.GetByCodeAsync(input.PartCode).ConfigureAwait(false);
Check.NotNull(itemBasic, "物品代码", $"物品 {input.PartCode} 不存在");
//如果类型选择为原料,校验物料号类型必须为原料,器具、KItting 的不用加校验
- if (input.Type == EnumRecommendType.W && itemBasic.CanBuy != true)
+ if (input.Type == EnumRecommendType.RAW && itemBasic.CanBuy != true)
{
throw new UserFriendlyException($"{input.PartCode} 物料号类型必须为采购件");
}
@@ -80,7 +80,7 @@ public class PositionCodeAppService
var location = await LocationAppService.GetByCodeAsync(input.LocationCode).ConfigureAwait(false);
Check.NotNull(location, "库位代码", $"库位 {input.LocationCode} 不存在");
//如果类型选择为原料,库位的类型必须为原料库位
- if (input.Type == EnumRecommendType.W && location.Type != EnumLocationType.RAW)
+ if (input.Type == EnumRecommendType.RAW && location.Type != EnumLocationType.RAW)
{
throw new UserFriendlyException($"{input.LocationCode} 库位的类型必须为原料库位");
}
@@ -120,7 +120,7 @@ public class PositionCodeAppService
var itemBasic = await ItemBasicAppService.GetByCodeAsync(input.PartCode).ConfigureAwait(false);
Check.NotNull(itemBasic, "物品代码", $"物品 {input.PartCode} 不存在");
//如果类型选择为原料,校验物料号类型必须为原料,器具、KItting 的不用加校验
- if (input.Type == EnumRecommendType.W && itemBasic.Type != "10C02")
+ if (input.Type == EnumRecommendType.RAW && itemBasic.Type != "10C02")
{
throw new UserFriendlyException($"{input.PartCode} 物料号类型必须为原料");
}
@@ -132,7 +132,7 @@ public class PositionCodeAppService
var location = await LocationAppService.GetByCodeAsync(input.LocationCode).ConfigureAwait(false);
Check.NotNull(location, "库位代码", $"库位 {input.LocationCode} 不存在");
//如果类型选择为原料,库位的类型必须为原料库位
- if (input.Type == EnumRecommendType.W && location.Type!= EnumLocationType.RAW)
+ if (input.Type == EnumRecommendType.RAW && location.Type!= EnumLocationType.RAW)
{
throw new UserFriendlyException($"{input.LocationCode} 库位的类型必须为原料库位");
}
@@ -180,13 +180,13 @@ public class PositionCodeAppService
}
var itemBasic = await ItemBasicAppService.GetByCodeAsync(input.PartCode).ConfigureAwait(false);
//如果类型选择为原料,校验物料号类型必须为原料,器具、KItting 的不用加校验
- if (input.Type == EnumRecommendType.W && itemBasic.Type != "10C02")
+ if (input.Type == EnumRecommendType.RAW && itemBasic.Type != "10C02")
{
validationRresult.Add(new ValidationResult($"物品代码{input.PartCode} 物料号类型必须为原料", new string[] { "物料号类型" }));
}
var location = await LocationAppService.GetByCodeAsync(input.LocationCode).ConfigureAwait(false);
//如果类型选择为原料,库位的类型必须为原料库位
- if (input.Type==EnumRecommendType.W && location.Type != EnumLocationType.RAW)
+ if (input.Type==EnumRecommendType.RAW && location.Type != EnumLocationType.RAW)
{
validationRresult.Add(new ValidationResult($"库位代码{input.LocationCode} 库位的类型必须为原料库位", new string[] { "库位类型" }));
}
diff --git a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/ExpectOuts/IExpectOutAppService.cs b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/ExpectOuts/IExpectOutAppService.cs
index 31ae65e93..f0e17a5b7 100644
--- a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/ExpectOuts/IExpectOutAppService.cs
+++ b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/ExpectOuts/IExpectOutAppService.cs
@@ -24,23 +24,25 @@ public interface IExpectOutAppService
EnumInventoryStatus enumInventoryStatus,
string lot);
- Task RemoveListByItemCodeAndStatusAndPackingCodeAsync(
- string itemCode,
- string locationCode,
- string packingCode,
- EnumInventoryStatus enumInventoryStatus,
- string lot);
-
///
- /// 保存拆箱时涉及的明细修改
+ /// 保存拆箱时涉及的明细修改
///
///
Task> SaveDetail_SplitPackingAsync(SplitPacking_UpdateDetailInput input);
///
- /// 根据任务号、箱码、数量、库位取预计出列表
+ /// 根据任务号、箱码、数量、库位取预计出列表
///
///
Task> GetListByJobNumberAsync(SplitPacking_UpdateDetailInput input);
+
+ Task RemoveByNumberAndInventoryAsync(
+ string jobNumber,
+ string itemCode,
+ string locationCode,
+ string packingCode,
+ EnumInventoryStatus enumInventoryStatus,
+ string lot,
+ decimal qty);
}
diff --git a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs
index 3a8a08cfe..fcbccf703 100644
--- a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs
+++ b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs
@@ -604,8 +604,9 @@ public class BalanceAppService
[HttpGet("usable-list")]
public virtual async Task> GetUsableListAsync(RecommendBalanceRequestInput input)
{
+
var inventoryBalances = await _balanceManager
- .GetUsableListAsync(input.ItemCode, input.Locations, input.Statuses, true).ConfigureAwait(false);
+ .GetUsableListAsync(input.ItemCode, input.Locations, input.Statuses, input.IsPackingCode).ConfigureAwait(false);
var dtos = ObjectMapper.Map, List>(inventoryBalances);
diff --git a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/ExpectOuts/ExpectOutAppService.cs b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/ExpectOuts/ExpectOutAppService.cs
index fb64edbd3..252ff34cd 100644
--- a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/ExpectOuts/ExpectOutAppService.cs
+++ b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/ExpectOuts/ExpectOutAppService.cs
@@ -43,6 +43,39 @@ public class ExpectOutAppService
await _expectOutManager.RemoveAsync(jobNumber).ConfigureAwait(false);
}
+ [HttpPost("remove/job-number-and-inventory-balance")]
+ public virtual async Task RemoveByNumberAndInventoryAsync(
+ string jobNumber,
+ string itemCode,
+ string locationCode,
+ string packingCode,
+ EnumInventoryStatus enumInventoryStatus,
+ string lot,
+ decimal qty)
+ {
+ var expectOut= await _repository.FindAsync(p =>
+ p.ItemCode == itemCode &&
+ p.Status == enumInventoryStatus &&
+ p.PackingCode == packingCode &&
+ p.Lot == lot&&
+ p.JobNumber==jobNumber
+ ).ConfigureAwait(false);
+
+ if (expectOut != null)
+ {
+ expectOut.Qty -= qty;
+ }
+
+ if (expectOut.Qty == 0)
+ {
+ await _repository.DeleteAsync(expectOut).ConfigureAwait(false);
+ }
+ else
+ {
+ await _repository.UpdateAsync(expectOut).ConfigureAwait(false);
+ }
+ }
+
[HttpPost("remove/{id}")]
public virtual async Task RemoveAsync(Guid id)
{
diff --git a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Domain/Balances/BalanceManager.cs b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Domain/Balances/BalanceManager.cs
index 4ecd07b1e..8891a9be3 100644
--- a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Domain/Balances/BalanceManager.cs
+++ b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Domain/Balances/BalanceManager.cs
@@ -867,6 +867,7 @@ public class BalanceManager : DomainService, IBalanceManager
.FilterLocationEnablePickAsync(locations)
//排序库存余额 最终可用的余额集合
.SortByFifo();
+ usableBalances = usableBalances.Where(p => p.Qty != 0).ToList();
return usableBalances;
}
diff --git a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Basedata/EnumLocationType.cs b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Basedata/EnumLocationType.cs
index 4bb67435f..7e147f8c7 100644
--- a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Basedata/EnumLocationType.cs
+++ b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Basedata/EnumLocationType.cs
@@ -83,4 +83,9 @@ public enum EnumLocationType
/// Kitting线边
///
[Display(Name = "Kitting线边")] KittingWip = 15,
+
+ ///
+ /// 立体库
+ ///
+ [Display(Name = "立体库")] DimensionalStorehouse = 16,
}
diff --git a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Basedata/EnumProductionLineType.cs b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Basedata/EnumProductionLineType.cs
index 55fbcf988..4c9ebc563 100644
--- a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Basedata/EnumProductionLineType.cs
+++ b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Basedata/EnumProductionLineType.cs
@@ -19,5 +19,10 @@ public enum EnumProductionLineType
///
/// 装配
///
- [Display(Name = "装配")] Assemble = 3
+ [Display(Name = "装配")] Assemble = 3,
+
+ ///
+ /// Kitting
+ ///
+ [Display(Name = "Kitting")] Kitting = 4
}
diff --git a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumIssueRequestType - 复制.cs b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumIssueRequestType - 复制.cs
new file mode 100644
index 000000000..416d6706b
--- /dev/null
+++ b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumIssueRequestType - 复制.cs
@@ -0,0 +1,18 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
+
+public enum EnumIssueSendType
+{
+ None = 0,
+
+ ///
+ /// 按数量
+ ///
+ [Display(Name = "按数量")] QtyType = 1,
+
+ ///
+ /// 按箱数
+ ///
+ [Display(Name = "按箱数")] BoxQtyType = 2
+}
diff --git a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumIssueRequestType.cs b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumIssueRequestType.cs
new file mode 100644
index 000000000..2ca84955e
--- /dev/null
+++ b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumIssueRequestType.cs
@@ -0,0 +1,36 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
+public enum EnumIssueRequestType
+{
+ None = 0,
+
+ ///
+ /// 视觉
+ ///
+ [Display(Name = "视觉发起")]
+ Vision =1,
+
+ ///
+ /// Mes
+ ///
+ [Display(Name = "Mes发起")]
+ Mes =2,
+
+ ///
+ /// 立体库
+ ///
+ [Display(Name = "立体库发起")]
+ DimensionalStorehouse=3,
+
+ ///
+ /// 位置码
+ ///
+ [Display(Name = "位置码")]
+ PositionCode =4,
+}
diff --git a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumIssueType.cs b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumIssueType.cs
deleted file mode 100644
index fb4faedca..000000000
--- a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumIssueType.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
-public enum EnumIssueType
-{
- None=0,
-
- ///
- /// 按箱 叫料
- ///
- BoxQty=1,
-
- ///
- /// 按数量 叫料
- ///
- Qty=2,
-
-
- ///
- /// 按视觉 叫料
- ///
- Vision = 3,
-
-
-}
diff --git a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumRecommendType.cs b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumRecommendType.cs
index 08e1bc6a2..5ff6d6616 100644
--- a/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumRecommendType.cs
+++ b/be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumRecommendType.cs
@@ -16,17 +16,17 @@ public enum EnumRecommendType
/// 原料
///
[Display(Name = "原料")]
- W = 1,
+ RAW = 1,
///
/// 半成品
///
[Display(Name = "半成品")]
- B = 2,
+ SEMI = 2,
///
/// kitting区
///
[Display(Name = "Kitting区")]
- K = 3
+ KITTING = 3
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/DTOs/AssembleIssueJobDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/DTOs/AssembleIssueJobDTO.cs
index ad35d8655..791161af2 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/DTOs/AssembleIssueJobDTO.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/DTOs/AssembleIssueJobDTO.cs
@@ -1,5 +1,6 @@
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@@ -10,11 +11,10 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class AssembleIssueJobDTO : SfsJobDTOBase
{
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [Display(Name = "叫料请求类型")]
- [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 生产线
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/Inputs/AssembleIssueJobEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/Inputs/AssembleIssueJobEditInput.cs
index 0130ce68d..92f6458ff 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/Inputs/AssembleIssueJobEditInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/AssembleIssueJobs/Inputs/AssembleIssueJobEditInput.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@@ -25,11 +26,10 @@ public class AssembleIssueJobEditInput : SfsJobCreateUpdateInputBase, ISfsJobCre
public string AssembleRequestNumber { get; set; }
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [Display(Name = "叫料请求类型")]
- [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 任务类型
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/DTOs/CoatingIssueJobDTO.cs
similarity index 82%
rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobDTO.cs
rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/DTOs/CoatingIssueJobDTO.cs
index 83ef675d4..e924db543 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobDTO.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/DTOs/CoatingIssueJobDTO.cs
@@ -1,5 +1,6 @@
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
using Win_in.Sfs.Wms.Store.Application.Contracts;
namespace Win_in.Sfs.Wms.Store.Jobs.IssueJobs;
@@ -11,11 +12,10 @@ namespace Win_in.Sfs.Wms.Store.Jobs.IssueJobs;
public class CoatingIssueJobDTO : SfsJobDTOBase
{
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [Display(Name = "叫料请求类型")]
- [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 生产线
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobDetailDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/DTOs/CoatingIssueJobDetailDTO.cs
similarity index 100%
rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobDetailDTO.cs
rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/DTOs/CoatingIssueJobDetailDTO.cs
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobCheckInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/Inputs/CoatingIssueJobCheckInput.cs
similarity index 100%
rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobCheckInput.cs
rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/Inputs/CoatingIssueJobCheckInput.cs
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobDetailInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/Inputs/CoatingIssueJobDetailInput.cs
similarity index 100%
rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobDetailInput.cs
rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/Inputs/CoatingIssueJobDetailInput.cs
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/Inputs/CoatingIssueJobEditInput.cs
similarity index 90%
rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobEditInput.cs
rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/Inputs/CoatingIssueJobEditInput.cs
index 45f024128..64622363b 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobEditInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/Inputs/CoatingIssueJobEditInput.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
using Win_in.Sfs.Wms.Store.Application.Contracts;
namespace Win_in.Sfs.Wms.Store.Jobs.IssueJobs;
@@ -26,11 +27,10 @@ public class CoatingIssueJobEditInput : SfsJobCreateUpdateInputBase, ISfsJobCrea
public string MaterialRequestNumber { get; set; }
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [Display(Name = "叫料请求类型")]
- [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 任务类型
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/DTOs/InjectionIssueJobDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/DTOs/InjectionIssueJobDTO.cs
index a1d432a34..6601669a4 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/DTOs/InjectionIssueJobDTO.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/DTOs/InjectionIssueJobDTO.cs
@@ -1,5 +1,6 @@
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@@ -10,11 +11,10 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class InjectionIssueJobDTO : SfsJobDTOBase
{
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [Display(Name = "叫料请求类型")]
- [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 生产线
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/DTOs/InjectionIssueJobDetailDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/DTOs/InjectionIssueJobDetailDTO.cs
index b045edec5..af14fc381 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/DTOs/InjectionIssueJobDetailDTO.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/DTOs/InjectionIssueJobDetailDTO.cs
@@ -3,6 +3,7 @@ using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/Inputs/InjectionIssueJobDetailInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/Inputs/InjectionIssueJobDetailInput.cs
index ce12a5905..49e3e43d9 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/Inputs/InjectionIssueJobDetailInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/Inputs/InjectionIssueJobDetailInput.cs
@@ -3,6 +3,7 @@ using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/Inputs/InjectionIssueJobEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/Inputs/InjectionIssueJobEditInput.cs
index 744659c31..a64b8e588 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/Inputs/InjectionIssueJobEditInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/InjectionJobs/Inputs/InjectionIssueJobEditInput.cs
@@ -9,16 +9,15 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class InjectionIssueJobEditInput : SfsJobCreateUpdateInputBase, ISfsJobCreateInput
{
- #region Create
///
- /// 上游任务编号
+ /// 上游任务编号
///
[Display(Name = "上游任务编号")]
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
public string UpStreamJobNumber { get; set; }
///
- /// 要货单号
+ /// 要货单号
///
[Display(Name = "要货单号")]
[Required(ErrorMessage = "{0}是必填项")]
@@ -26,44 +25,42 @@ public class InjectionIssueJobEditInput : SfsJobCreateUpdateInputBase, ISfsJobCr
public string InjectionIssueRequestNumber { get; set; }
///
- /// 叫料请求类型
- ///
- [Display(Name = "叫料请求类型")]
- [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
- public string RequestType { get; set; }
-
- ///
- /// 任务类型
+ /// 任务类型
///
[Display(Name = "任务类型")]
[Required(ErrorMessage = "{0}是必填项")]
public EnumJobType JobType { get; set; }
///
- /// 是否自动完成
+ /// 是否自动完成
///
[Display(Name = "是否自动完成")]
[Required(ErrorMessage = "{0}是必填项")]
public bool IsAutoComplete { get; set; }
///
- /// 过期时间
+ /// 过期时间
///
[Display(Name = "过期时间")]
[Required(ErrorMessage = "{0}是必填项")]
public DateTime ExpiredTime { get; set; }
///
- /// 任务明细
+ /// 任务明细
///
[Display(Name = "任务明细")]
[Required(ErrorMessage = "{0}是必填项")]
public List Details { get; set; } = new();
///
- /// 使用在途库
+ /// 使用在途库
///
[Display(Name = "使用在途库")]
public bool UseOnTheWayLocation { get; set; }
- #endregion
+
+ ///
+ /// 叫料类型
+ ///
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/DTOs/KittingIssueJobDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/DTOs/KittingIssueJobDTO.cs
index edfc95b19..17ed6fcb3 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/DTOs/KittingIssueJobDTO.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/DTOs/KittingIssueJobDTO.cs
@@ -1,5 +1,6 @@
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@@ -10,12 +11,10 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class KittingIssueJobDTO : SfsJobDTOBase
{
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [Display(Name = "叫料请求类型")]
- [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
- public string RequestType { get; set; }
-
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 生产线
///
@@ -35,4 +34,6 @@ public class KittingIssueJobDTO : SfsJobDTOBase
///
[Display(Name = "使用在途库")]
public bool UseOnTheWayLocation { get; set; }
+
+ public EnumIssueSendType EnumIssueSendType { get; set; }
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/IKittingIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/IKittingIssueJobAppService.cs
index 318b19bd7..549de9dac 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/IKittingIssueJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/IKittingIssueJobAppService.cs
@@ -1,3 +1,4 @@
+using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
@@ -11,4 +12,10 @@ public interface IKittingIssueJobAppService
Task CancelByMaterialRequestAsync(string requestNumber);
Task> GetByRequestNumberAsync(string requestNumber);
+
+ ///
+ /// 执行任务明细
+ ///
+ ///
+ Task ExecuteDetailAsync(Guid masterId,Guid detailId, KittingIssueJobDetailDTO issueJobDetailDto);
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/Inputs/KittingIssueJobEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/Inputs/KittingIssueJobEditInput.cs
index 8fae44e90..d22be4f4d 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/Inputs/KittingIssueJobEditInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/KittingIssueJobs/Inputs/KittingIssueJobEditInput.cs
@@ -26,11 +26,10 @@ public class KittingIssueJobEditInput : SfsJobCreateUpdateInputBase, ISfsJobCrea
public string KittingRequestNumber { get; set; }
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [Display(Name = "叫料请求类型")]
- [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 任务类型
@@ -65,5 +64,7 @@ public class KittingIssueJobEditInput : SfsJobCreateUpdateInputBase, ISfsJobCrea
///
[Display(Name = "使用在途库")]
public bool UseOnTheWayLocation { get; set; }
+
+ public EnumIssueSendType EnumIssueSendType { get; set; }
#endregion
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/AssembleIssueNotes/DTOs/AssembleIssueNoteDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/AssembleIssueNotes/DTOs/AssembleIssueNoteDTO.cs
index 073f187c6..5662ecd0b 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/AssembleIssueNotes/DTOs/AssembleIssueNoteDTO.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/AssembleIssueNotes/DTOs/AssembleIssueNoteDTO.cs
@@ -1,6 +1,7 @@
using System;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@@ -20,11 +21,10 @@ public class AssembleIssueNoteDTO : SfsStoreDTOBase,
public string RequestNumber { get; set; }
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [Display(Name = "叫料请求类型")]
- [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 使用在途库
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/AssembleIssueNotes/IAssembleIssueNoteAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/AssembleIssueNotes/IAssembleIssueNoteAppService.cs
index 83f8e6bbc..9e08af906 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/AssembleIssueNotes/IAssembleIssueNoteAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/AssembleIssueNotes/IAssembleIssueNoteAppService.cs
@@ -12,10 +12,5 @@ public interface IAssembleIssueNoteAppService : ISfsStoreMasterReadOnlyAppServic
Task ConfirmAsync(Guid id);
- Task ConfirmAsync(string number);
-
- Task> GetListByTypeAsync(SfsStoreRequestInputBase requestInput,
- string requestType, bool includeDetails = false, CancellationToken cancellationToken = default);
-
- Task> GetListUnConfirmedByTypeAsync(string requestType);
+
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/AssembleIssueNotes/Inputs/AssembleIssueNoteEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/AssembleIssueNotes/Inputs/AssembleIssueNoteEditInput.cs
index 731359c29..ac5e63b64 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/AssembleIssueNotes/Inputs/AssembleIssueNoteEditInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/AssembleIssueNotes/Inputs/AssembleIssueNoteEditInput.cs
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@@ -41,11 +42,10 @@ public class AssembleIssueNoteEditInput : SfsStoreCreateOrUpdateInputBase
public string RequestNumber { get; set; }
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [Display(Name = "叫料请求类型")]
- [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 使用在途库
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/AssembleIssueNotes/Inputs/AssembleIssueNoteImportInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/AssembleIssueNotes/Inputs/AssembleIssueNoteImportInput.cs
index 1a1487de5..6c43288f4 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/AssembleIssueNotes/Inputs/AssembleIssueNoteImportInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/AssembleIssueNotes/Inputs/AssembleIssueNoteImportInput.cs
@@ -1,4 +1,5 @@
using System.ComponentModel.DataAnnotations;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@@ -19,10 +20,10 @@ public class AssembleIssueNoteImportInput : SfsStoreImportInputBase, IHasJobNumb
public string RequestNumber { get; set; }
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [Display(Name = "叫料请求类型")]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 使用在途库
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNoteDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/DTOs/CoatingIssueNoteDTO.cs
similarity index 82%
rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNoteDTO.cs
rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/DTOs/CoatingIssueNoteDTO.cs
index dfadc255f..df2738704 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNoteDTO.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/DTOs/CoatingIssueNoteDTO.cs
@@ -1,6 +1,7 @@
using System;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
using Win_in.Sfs.Wms.Store.Application.Contracts;
namespace Win_in.Sfs.Wms.Store.Notes.IssueNotes;
@@ -18,13 +19,11 @@ public class CoatingIssueNoteDTO : SfsStoreDTOBase, I
///
[Display(Name = "请求代码")]
public string RequestNumber { get; set; }
-
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [Display(Name = "叫料请求类型")]
- [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 使用在途库
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNoteDetailDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/DTOs/CoatingIssueNoteDetailDTO.cs
similarity index 100%
rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNoteDetailDTO.cs
rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/DTOs/CoatingIssueNoteDetailDTO.cs
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/ICoatingIssueNoteAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/ICoatingIssueNoteAppService.cs
index 79fbe99cc..20bb6f3c5 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/ICoatingIssueNoteAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/ICoatingIssueNoteAppService.cs
@@ -13,10 +13,5 @@ public interface ICoatingIssueNoteAppService : ISfsStoreMasterReadOnlyAppService
Task ConfirmAsync(Guid id);
- Task ConfirmAsync(string number);
-
- Task> GetListByTypeAsync(SfsStoreRequestInputBase requestInput,
- string requestType, bool includeDetails = false, CancellationToken cancellationToken = default);
-
- Task> GetListUnConfirmedByTypeAsync(string requestType);
+
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNoteDetailInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/Inputs/CoatingIssueNoteDetailInput.cs
similarity index 100%
rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNoteDetailInput.cs
rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/Inputs/CoatingIssueNoteDetailInput.cs
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNoteEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/Inputs/CoatingIssueNoteEditInput.cs
similarity index 85%
rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNoteEditInput.cs
rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/Inputs/CoatingIssueNoteEditInput.cs
index 210a1db12..a306ad9d6 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNoteEditInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/Inputs/CoatingIssueNoteEditInput.cs
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
using Win_in.Sfs.Wms.Store.Application.Contracts;
namespace Win_in.Sfs.Wms.Store.Notes.IssueNotes;
@@ -42,11 +43,10 @@ public class CoatingIssueNoteEditInput : SfsStoreCreateOrUpdateInputBase
public string RequestNumber { get; set; }
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [Display(Name = "叫料请求类型")]
- [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 使用在途库
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNoteImportInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/Inputs/CoatingIssueNoteImportInput.cs
similarity index 81%
rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNoteImportInput.cs
rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/Inputs/CoatingIssueNoteImportInput.cs
index 5d180cb21..7c40b7379 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNoteImportInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/CoatingIssueNotes/Inputs/CoatingIssueNoteImportInput.cs
@@ -1,4 +1,5 @@
using System.ComponentModel.DataAnnotations;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
using Win_in.Sfs.Wms.Store.Application.Contracts;
namespace Win_in.Sfs.Wms.Store.Notes.IssueNotes;
@@ -20,10 +21,10 @@ public class CoatingIssueNoteImportInput : SfsStoreImportInputBase, IHasJobNumbe
public string RequestNumber { get; set; }
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [Display(Name = "叫料请求类型")]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 使用在途库
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/DTOs/InjectionIssueNoteDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/DTOs/InjectionIssueNoteDTO.cs
index bd4ec40ee..fa7ffbc0f 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/DTOs/InjectionIssueNoteDTO.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/DTOs/InjectionIssueNoteDTO.cs
@@ -1,6 +1,7 @@
using System;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@@ -20,11 +21,10 @@ public class InjectionIssueNoteDTO : SfsStoreDTOBase
- /// 叫料请求类型
+ /// 叫料类型
///
- [Display(Name = "叫料请求类型")]
- [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 使用在途库
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/DTOs/InjectionIssueNoteDetailDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/DTOs/InjectionIssueNoteDetailDTO.cs
index 7d9411de5..5aa659fb8 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/DTOs/InjectionIssueNoteDetailDTO.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/DTOs/InjectionIssueNoteDetailDTO.cs
@@ -3,6 +3,7 @@ using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/IInjectionIssueNoteAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/IInjectionIssueNoteAppService.cs
index f2d341edd..1c1b06e64 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/IInjectionIssueNoteAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/IInjectionIssueNoteAppService.cs
@@ -3,10 +3,12 @@ using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
-public interface IInjectionIssueNoteAppService : ISfsStoreMasterReadOnlyAppServiceBase
+public interface IInjectionIssueNoteAppService : ISfsStoreMasterReadOnlyAppServiceBase
{
Task CreateAsync(InjectionIssueNoteEditInput input);
@@ -14,8 +16,9 @@ public interface IInjectionIssueNoteAppService : ISfsStoreMasterReadOnlyAppServi
Task ConfirmAsync(string number);
- Task> GetListByTypeAsync(SfsStoreRequestInputBase requestInput,
- string requestType, bool includeDetails = false, CancellationToken cancellationToken = default);
+ Task> GetListUnConfirmedByTypeAsync(EnumIssueRequestType issueRequestType);
- Task> GetListUnConfirmedByTypeAsync(string requestType);
+ Task> GetListByTypeAsync(SfsStoreRequestInputBase requestInput,
+ EnumIssueRequestType issueRequestType, bool includeDetails = false,
+ CancellationToken cancellationToken = default);
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/Inputs/InjectionIssueNoteDetailInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/Inputs/InjectionIssueNoteDetailInput.cs
index f05f28827..8cee7d2f5 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/Inputs/InjectionIssueNoteDetailInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/Inputs/InjectionIssueNoteDetailInput.cs
@@ -3,6 +3,7 @@ using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/Inputs/InjectionIssueNoteEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/Inputs/InjectionIssueNoteEditInput.cs
index ac52e49e9..369d92783 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/Inputs/InjectionIssueNoteEditInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/Inputs/InjectionIssueNoteEditInput.cs
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@@ -41,11 +42,10 @@ public class InjectionIssueNoteEditInput : SfsStoreCreateOrUpdateInputBase
public string RequestNumber { get; set; }
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [Display(Name = "叫料请求类型")]
- [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 使用在途库
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/Inputs/InjectionIssueNoteImportInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/Inputs/InjectionIssueNoteImportInput.cs
index 8e79cfec6..2fe3b17ba 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/Inputs/InjectionIssueNoteImportInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/InjectionIssueNotes/Inputs/InjectionIssueNoteImportInput.cs
@@ -1,17 +1,18 @@
using System.ComponentModel.DataAnnotations;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class InjectionIssueNoteImportInput : SfsStoreImportInputBase, IHasJobNumber, IHasRequestNumber
{
///
- /// 任务ID
+ /// 任务ID
///
[Display(Name = "任务ID")]
public string JobNumber { get; set; }
///
- /// 车间
+ /// 车间
///
[Display(Name = "车间")]
public string Workshop { get; set; }
@@ -19,13 +20,13 @@ public class InjectionIssueNoteImportInput : SfsStoreImportInputBase, IHasJobNum
public string RequestNumber { get; set; }
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [Display(Name = "叫料请求类型")]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
- /// 使用在途库
+ /// 使用在途库
///
[Display(Name = "使用在途库")]
[Required(ErrorMessage = "{0}是必填项")]
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/KittingIssueNotes/DTOs/KittingIssueNoteDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/KittingIssueNotes/DTOs/KittingIssueNoteDTO.cs
index f9a2f2dba..e0019e8a6 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/KittingIssueNotes/DTOs/KittingIssueNoteDTO.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/KittingIssueNotes/DTOs/KittingIssueNoteDTO.cs
@@ -1,6 +1,7 @@
using System;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@@ -20,11 +21,10 @@ public class KittingIssueNoteDTO : SfsStoreDTOBase, I
public string RequestNumber { get; set; }
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [Display(Name = "叫料请求类型")]
- [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 使用在途库
@@ -44,4 +44,5 @@ public class KittingIssueNoteDTO : SfsStoreDTOBase, I
[Display(Name = "确认时间")]
public DateTime? ConfirmTime { get; set; }
+ public EnumIssueSendType EnumIssueSendType { get; set; }
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/KittingIssueNotes/IKittingIssueNoteAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/KittingIssueNotes/IKittingIssueNoteAppService.cs
index 105094c18..db775120e 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/KittingIssueNotes/IKittingIssueNoteAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/KittingIssueNotes/IKittingIssueNoteAppService.cs
@@ -12,10 +12,5 @@ public interface IKittingIssueNoteAppService : ISfsStoreMasterReadOnlyAppService
Task ConfirmAsync(Guid id);
- Task ConfirmAsync(string number);
-
- Task> GetListByTypeAsync(SfsStoreRequestInputBase requestInput,
- string requestType, bool includeDetails = false, CancellationToken cancellationToken = default);
-
- Task> GetListUnConfirmedByTypeAsync(string requestType);
+
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/KittingIssueNotes/Inputs/KittingIssueNoteEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/KittingIssueNotes/Inputs/KittingIssueNoteEditInput.cs
index b7969e323..18afb29d3 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/KittingIssueNotes/Inputs/KittingIssueNoteEditInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/KittingIssueNotes/Inputs/KittingIssueNoteEditInput.cs
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@@ -41,16 +42,17 @@ public class KittingIssueNoteEditInput : SfsStoreCreateOrUpdateInputBase
public string RequestNumber { get; set; }
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [Display(Name = "叫料请求类型")]
- [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 使用在途库
///
[Display(Name = "使用在途库")]
public bool UseOnTheWayLocation { get; set; }
+
+ public EnumIssueSendType EnumIssueSendType { get; set; }
#endregion
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/KittingIssueNotes/Inputs/KittingIssueNoteImportInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/KittingIssueNotes/Inputs/KittingIssueNoteImportInput.cs
index 52fa8e4a5..a829a65c0 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/KittingIssueNotes/Inputs/KittingIssueNoteImportInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/IssueNotes/KittingIssueNotes/Inputs/KittingIssueNoteImportInput.cs
@@ -1,4 +1,5 @@
using System.ComponentModel.DataAnnotations;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@@ -19,10 +20,10 @@ public class KittingIssueNoteImportInput : SfsStoreImportInputBase, IHasJobNumbe
public string RequestNumber { get; set; }
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [Display(Name = "叫料请求类型")]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 使用在途库
@@ -30,4 +31,6 @@ public class KittingIssueNoteImportInput : SfsStoreImportInputBase, IHasJobNumbe
[Display(Name = "使用在途库")]
[Required(ErrorMessage = "{0}是必填项")]
public bool UseOnTheWayLocation { get; set; }
+
+ public EnumIssueSendType EnumIssueSendType { get; set; }
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/DTOs/InjectionIssueRequestDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/DTOs/InjectionIssueRequestDTO.cs
index fd24d8341..f4bdf0723 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/DTOs/InjectionIssueRequestDTO.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/DTOs/InjectionIssueRequestDTO.cs
@@ -1,14 +1,16 @@
using System.ComponentModel.DataAnnotations;
+using Win_in.Sfs.Shared.Domain.Entities;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class InjectionIssueRequestDTO : SfsStoreRequestDTOBase, IHasNumber
{
///
- /// 叫料类型
+ /// 叫料类型
///
[Display(Name = "叫料类型")]
- public string Type { get; set; }
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 是否使用在途库
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/DTOs/InjectionIssueRequestDetailDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/DTOs/InjectionIssueRequestDetailDTO.cs
index e4607976b..5a3c8a39f 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/DTOs/InjectionIssueRequestDetailDTO.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/DTOs/InjectionIssueRequestDetailDTO.cs
@@ -8,55 +8,92 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class InjectionIssueRequestDetailDTO : SfsStoreDetailWithQtyDTOBase
{
+ #region 目标库位信息
+
+ ///
+ /// 目标库位
+ ///
+ [Display(Name = "目标库位")]
+ [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
+ public string ToLocationCode { get; set; }
+
+ ///
+ /// 目标库区
+ ///
+ [Display(Name = "目标库区")]
+ public string ToLocationArea { get; set; }
+
+ ///
+ /// 目标库位组
+ ///
+ [Display(Name = "目标库位组")]
+ public string ToLocationGroup { get; set; }
+
+ ///
+ /// 目标ERP储位
+ ///
+ [Display(Name = "目标ERP储位")]
+ public string ToLocationErpCode { get; set; }
+
///
- /// 已发数量
+ /// 目标仓库
+ ///
+ [Display(Name = "目标仓库")]
+ public string ToWarehouseCode { get; set; }
+
+ #endregion
+
+ ///
+ /// 生产线
+ ///
+ public string ProdLine { get; set; }
+
+ ///
+ /// 已发数量
///
- [Display(Name = "已发数量")]
public decimal IssuedQty { get; set; }
///
- /// 已收数量
+ /// 已收数量
///
- [Display(Name = "已收数量")]
public decimal ReceivedQty { get; set; }
///
- /// 明细状态
+ /// 明细状态
///
- [Display(Name = "明细状态")]
public EnumStatus Status { get; set; }
///
- /// 请求未发
+ /// 请求未发 还未发送的数量
///
- [Display(Name = "请求未发")]
[NotMapped]
public decimal ToBeIssuedQty => Qty - IssuedQty;
///
- /// 已发未收
+ /// 已发未收
///
- [Display(Name = "已发未收")]
[NotMapped]
public decimal ToBeReceivedQty => IssuedQty - ReceivedQty;
///
- /// 请求未收
+ /// 请求未收
///
- [Display(Name = "请求未收")]
[NotMapped]
public decimal NotFinishQty => Qty - ReceivedQty;
///
- /// 需求箱数量
+ /// 位置码
///
- [Display(Name = "需求箱数量")]
- public decimal BoxQty { get; set; }
-}
-public class UnCompletedRequestDto
-{
- public string ItemCode { get; set; }
- public string LocCode { get; set; }
public string PositionCode { get; set; }
+ ///
+ /// 推荐类型
+ ///
+ public EnumRecommendType RecommendType { get; set; }
+
+ ///
+ /// 需求箱数量
+ ///
+ [Display(Name = "需求箱数量")]
+ public decimal BoxQty { get; set; }
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/DTOs/UnCompletedRequestDto.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/DTOs/UnCompletedRequestDto.cs
new file mode 100644
index 000000000..fbf8d2754
--- /dev/null
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/DTOs/UnCompletedRequestDto.cs
@@ -0,0 +1,8 @@
+namespace Win_in.Sfs.Wms.Store.Application.Contracts;
+
+public class UnCompletedRequestDto
+{
+ public string ItemCode { get; set; }
+ public string LocCode { get; set; }
+ public string PositionCode { get; set; }
+}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/IInjectionIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/IInjectionIssueRequestAppService.cs
index dca017df7..a90672c54 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/IInjectionIssueRequestAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/IInjectionIssueRequestAppService.cs
@@ -10,14 +10,6 @@ public interface IInjectionIssueRequestAppService
: ISfsStoreRequestMasterAppServiceBase
{
- Task CreateAndHandleAsync(InjectionIssueRequestEditInput input);
-
- ///
- /// 获取已完成的叫料单数量
- ///
- ///
- Task GetCountAsync();
-
///
/// 获取物品类别列表
///
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/Inputs/InjectionIssueRequestEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/Inputs/InjectionIssueRequestEditInput.cs
index 850f3ee63..791f34047 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/Inputs/InjectionIssueRequestEditInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/Inputs/InjectionIssueRequestEditInput.cs
@@ -1,33 +1,26 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
-using Win_in.Sfs.Shared.Domain;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class InjectionIssueRequestEditInput : SfsStoreRequestCreateOrUpdateInputBase
{
- #region Base
-
///
- /// 叫料类型
+ /// 叫料类型
///
[Display(Name = "叫料类型")]
- public string Type { get; set; }
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
- /// 使用在途库
+ /// 使用在途库
///
[Display(Name = "使用在途库")]
- public bool UseOnTheWayLocation { get; set; }
+ public bool UseOnTheWayLocation { get; set; }
///
- /// 明细列表
+ /// 明细列表
///
[Display(Name = "明细列表")]
- public List Details { get; set; } = new List();
- #endregion
-
- #region Create
-
- #endregion
+ public List Details { get; set; } = new();
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/Inputs/InjectionIssueRequestImportInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/Inputs/InjectionIssueRequestImportInput.cs
index cca7cf5eb..f1b773911 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/Inputs/InjectionIssueRequestImportInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/InjectionIssueRequests/Inputs/InjectionIssueRequestImportInput.cs
@@ -1,6 +1,5 @@
using System.ComponentModel.DataAnnotations;
-using Win_in.Sfs.Shared.Application.Contracts;
-using Win_in.Sfs.Shared.Domain.Shared;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@@ -8,45 +7,41 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class InjectionIssueRequestImportInput : SfsStoreImportInputBase
{
///
- /// 叫料类型
+ /// 叫料类型
///
[Display(Name = "叫料类型")]
- [Required(ErrorMessage = "{0}是必填项")]
- [ImporterHeader(Name = "叫料类型")]
- [ExporterHeader(DisplayName = "叫料类型")]
- [ValueMapping("人工拉动", EnumMaterialRequestType.Issue_Manual)]
- public string Type { get; set; }
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
- /// 物品代码
+ /// 物品代码
///
[Display(Name = "物品代码")]
[Required]
public string ItemCode { get; set; }
///
- /// 目标库位
+ /// 目标库位
///
[Display(Name = "目标库位")]
[Required]
public string ToLocationCode { get; set; }
///
- /// 来源库区
+ /// 来源库区
///
[Display(Name = "调出库区")]
[Required]
public string FromLocationArea { get; set; }
///
- /// 数量
+ /// 数量
///
[Display(Name = "数量")]
[Required(ErrorMessage = "{0}是必填项")]
public decimal Qty { get; set; }
///
- /// 备注
+ /// 备注
///
[Display(Name = "备注")]
public string Remark { get; set; }
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/DTOs/KittingIssueRequestDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/DTOs/KittingIssueRequestDTO.cs
index 6cfdb6a79..2728d810e 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/DTOs/KittingIssueRequestDTO.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/DTOs/KittingIssueRequestDTO.cs
@@ -1,4 +1,5 @@
using System.ComponentModel.DataAnnotations;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@@ -8,8 +9,7 @@ public class KittingIssueRequestDTO : SfsStoreRequestDTOBase
[Display(Name = "叫料类型")]
- public string Type { get; set; }
-
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 是否使用在途库
///
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/DTOs/KittingIssueRequestDetailDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/DTOs/KittingIssueRequestDetailDTO.cs
index 6981f306d..61f0df54f 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/DTOs/KittingIssueRequestDetailDTO.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/DTOs/KittingIssueRequestDetailDTO.cs
@@ -8,47 +8,91 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class KittingIssueRequestDetailDTO : SfsStoreDetailWithQtyDTOBase
{
+ #region 目标库位信息
+
+ ///
+ /// 目标库位
+ ///
+ [Display(Name = "目标库位")]
+ [StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
+ public string ToLocationCode { get; set; }
+
+ ///
+ /// 目标库区
+ ///
+ [Display(Name = "目标库区")]
+ public string ToLocationArea { get; set; }
+
+ ///
+ /// 目标库位组
+ ///
+ [Display(Name = "目标库位组")]
+ public string ToLocationGroup { get; set; }
+
+ ///
+ /// 目标ERP储位
+ ///
+ [Display(Name = "目标ERP储位")]
+ public string ToLocationErpCode { get; set; }
+
///
- /// 已发数量
+ /// 目标仓库
+ ///
+ [Display(Name = "目标仓库")]
+ public string ToWarehouseCode { get; set; }
+
+ #endregion
+
+ ///
+ /// 生产线
+ ///
+ public string ProdLine { get; set; }
+
+ ///
+ /// 已发数量
///
- [Display(Name = "已发数量")]
public decimal IssuedQty { get; set; }
///
- /// 已收数量
+ /// 已收数量
///
- [Display(Name = "已收数量")]
public decimal ReceivedQty { get; set; }
///
- /// 明细状态
+ /// 明细状态
///
- [Display(Name = "明细状态")]
public EnumStatus Status { get; set; }
///
- /// 请求未发
+ /// 请求未发 还未发送的数量
///
- [Display(Name = "请求未发")]
[NotMapped]
public decimal ToBeIssuedQty => Qty - IssuedQty;
///
- /// 已发未收
+ /// 已发未收
///
- [Display(Name = "已发未收")]
[NotMapped]
public decimal ToBeReceivedQty => IssuedQty - ReceivedQty;
///
- /// 请求未收
+ /// 请求未收
///
- [Display(Name = "请求未收")]
[NotMapped]
public decimal NotFinishQty => Qty - ReceivedQty;
///
- /// 需求箱数量
+ /// 位置码
+ ///
+ public string PositionCode { get; set; }
+
+ ///
+ /// 推荐类型
+ ///
+ public EnumRecommendType RecommendType { get; set; }
+
+ ///
+ /// 需求箱数量
///
[Display(Name = "需求箱数量")]
public decimal BoxQty { get; set; }
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/IKittingIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/IKittingIssueRequestAppService.cs
index 4dded00d6..f7d630cc0 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/IKittingIssueRequestAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/IKittingIssueRequestAppService.cs
@@ -1,3 +1,4 @@
+using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
@@ -10,4 +11,5 @@ public interface IKittingIssueRequestAppService
{
Task CreateAndHandleAsync(KittingIssueRequestEditInput input);
+ Task UpdateStatusCompletedAsync(string number);
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/Inputs/KittingIssueRequestEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/Inputs/KittingIssueRequestEditInput.cs
index 06db7ba73..f7373855a 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/Inputs/KittingIssueRequestEditInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/Inputs/KittingIssueRequestEditInput.cs
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@@ -9,10 +10,10 @@ public class KittingIssueRequestEditInput : SfsStoreRequestCreateOrUpdateInputBa
#region Base
///
- /// 叫料类型
+ /// 叫料类型
///
[Display(Name = "叫料类型")]
- public string Type { get; set; }
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 使用在途库
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/Inputs/KittingIssueRequestImportInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/Inputs/KittingIssueRequestImportInput.cs
index 8a0d5f78b..7e65fd510 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/Inputs/KittingIssueRequestImportInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/IssueRequest/KittingIssueRequests/Inputs/KittingIssueRequestImportInput.cs
@@ -1,6 +1,7 @@
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@@ -8,14 +9,10 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class KittingIssueRequestImportInput : SfsStoreImportInputBase
{
///
- /// 叫料类型
+ /// 叫料类型
///
[Display(Name = "叫料类型")]
- [Required(ErrorMessage = "{0}是必填项")]
- [ImporterHeader(Name = "叫料类型")]
- [ExporterHeader(DisplayName = "叫料类型")]
- [ValueMapping("人工拉动", EnumMaterialRequestType.Issue_Manual)]
- public string Type { get; set; }
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 物品代码
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs
index 5d025c921..b28529921 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs
@@ -72,7 +72,7 @@ public class AssembleIssueJobAppService
var loctionDto = await _locationAppService.GetByCodeAsync(jobDetailInputdetail.RecommendFromLocationCode)
.ConfigureAwait(false);
- if (loctionDto.RowCode != 1)
+ if (loctionDto.Type == EnumLocationType.RAW && loctionDto.RowCode != 1)
{
input.JobStatus = EnumJobStatus.Wait;
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs
index a07a74d69..3416299a8 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs
@@ -73,7 +73,7 @@ public class CoatingIssueJobAppService
var loctionDto = await _locationAppService.GetByCodeAsync(jobDetailInputdetail.RecommendFromLocationCode)
.ConfigureAwait(false);
- if (loctionDto.RowCode != 1)
+ if (loctionDto.Type == EnumLocationType.RAW && loctionDto.RowCode != 1)
{
input.JobStatus = EnumJobStatus.Wait;
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobAppService.cs
index 416005a4a..9e6acbc3c 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobAppService.cs
@@ -74,8 +74,8 @@ public class InjectionIssueJobAppService
var loctionDto = await _locationAppService.GetByCodeAsync(jobDetailInputdetail.RecommendFromLocationCode)
.ConfigureAwait(false);
-
- if (loctionDto.RowCode != 1)
+
+ if (loctionDto.Type == EnumLocationType.RAW && loctionDto.RowCode != 1)
{
input.JobStatus = EnumJobStatus.Wait;
@@ -184,11 +184,4 @@ public class InjectionIssueJobAppService
return;
}
-
- [HttpPost("test")]
- public virtual async Task Test()
- {
- Console.WriteLine("FuAZCZXVZXVXZVZ");
- await Task.CompletedTask;
- }
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs
index fe92ae472..848f90ada 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs
@@ -1,19 +1,14 @@
using System;
using System.Collections.Generic;
-using System.Data;
using System.Linq;
-using System.Linq.Expressions;
-using System.Threading;
using System.Threading.Tasks;
-using Castle.Components.DictionaryAdapter;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
-using Volo.Abp.Application.Dtos;
using Win_in.Sfs.Basedata.Application.Contracts;
-using Win_in.Sfs.Basedata.Domain.Shared;
-using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
+using Win_in.Sfs.Wms.Inventory.Application.Contracts;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain;
using Win_in.Sfs.Wms.Store.Domain.Shared;
@@ -31,14 +26,23 @@ public class KittingIssueJobAppService
private readonly IKittingIssueJobManager _kittingIssueJobManager;
private readonly ILocationAppService _locationAppService;
private readonly ITransferLibJobAppService _transferLibJobAppService;
+ private readonly IKittingIssueNoteAppService _kittingIssueNoteAppService;
+ private readonly IExpectOutAppService _expectOutAppService;
+
+ protected IKittingIssueRequestAppService KittingIssueRequestAppService =>
+ LazyServiceProvider.LazyGetRequiredService();
public KittingIssueJobAppService(
IKittingIssueJobRepository repository, IKittingIssueJobManager kittingIssueJobManager,
- ILocationAppService locationAppService, ITransferLibJobAppService transferLibJobAppService) : base(repository, kittingIssueJobManager)
+ ILocationAppService locationAppService, ITransferLibJobAppService transferLibJobAppService,
+ IKittingIssueNoteAppService kittingIssueNoteAppService, IExpectOutAppService expectOutAppService) : base(
+ repository, kittingIssueJobManager)
{
_kittingIssueJobManager = kittingIssueJobManager;
_locationAppService = locationAppService;
_transferLibJobAppService = transferLibJobAppService;
+ _kittingIssueNoteAppService = kittingIssueNoteAppService;
+ _expectOutAppService = expectOutAppService;
}
[HttpPost("add-many")]
@@ -47,6 +51,7 @@ public class KittingIssueJobAppService
foreach (var input in inputs)
{
await CheckMinRowAndSetStatusAsync(input).ConfigureAwait(false);
+ await CheckDimensionalStorehouseAsync(input).ConfigureAwait(false);
}
return await base.CreateManyAsync(inputs).ConfigureAwait(false);
@@ -56,10 +61,139 @@ public class KittingIssueJobAppService
public override async Task CreateAsync(KittingIssueJobEditInput input)
{
await CheckMinRowAndSetStatusAsync(input).ConfigureAwait(false);
+ await CheckDimensionalStorehouseAsync(input).ConfigureAwait(false);
return await base.CreateAsync(input).ConfigureAwait(false);
}
+ [HttpPost("invalid")]
+ public override async Task CancelAsync(Guid id)
+ {
+ var injectionJob = await _repository.GetAsync(id).ConfigureAwait(false);
+ if (injectionJob == null)
+ {
+ throw new UserFriendlyException($"未找到ID为 {id} 的任务");
+ }
+
+ await _kittingIssueJobManager.CancelAsync(injectionJob).ConfigureAwait(false);
+ }
+
+
+ [HttpPost("cancel-by-request/{injectionNumber}")]
+ public virtual async Task CancelByMaterialRequestAsync(string injectionNumber)
+ {
+ var entities = await _repository.GetListAsync(p => p.KittingRequestNumber == injectionNumber)
+ .ConfigureAwait(false);
+ foreach (var entity in entities)
+ {
+ await _kittingIssueJobManager.CancelAsync(entity).ConfigureAwait(false);
+ }
+ }
+
+ [HttpPost("by-request-number/{requestNumber}")]
+ public virtual async Task> GetByRequestNumberAsync(string requestNumber)
+ {
+ var entitys = await _repository.GetListAsync(p => p.KittingRequestNumber == requestNumber)
+ .ConfigureAwait(false);
+ return ObjectMapper.Map, List>(entitys);
+ }
+
+ ///
+ /// 库移回调
+ ///
+ ///
+ ///
+ [HttpPost("Do-Call-Back")]
+ public async Task DoTransferLibCallbackAsync(TransferLibJobDTO dto)
+ {
+ var job = await _repository.FindAsync(p => p.Number == dto.CallJobNumber).ConfigureAwait(false);
+
+ var transferLibJobDto = await _transferLibJobAppService.GetByNumberAsync(dto.Number).ConfigureAwait(false);
+
+ var transferLibNoteDetail = dto.Details.First();
+
+ var jobDetail = job.Details.First();
+ job.JobStatus = EnumJobStatus.Open;
+
+ jobDetail.TransferLibFromArriveDate = transferLibNoteDetail.HandledFromArriveDate;
+ jobDetail.TransferLibFromContainerCode = transferLibNoteDetail.HandledFromContainerCode;
+ jobDetail.TransferLibFromExpireDate = transferLibNoteDetail.HandledFromExpireDate;
+ jobDetail.TransferLibFromLocationArea = transferLibNoteDetail.HandledFromLocationArea;
+ jobDetail.TransferLibFromLocationCode = transferLibNoteDetail.HandledFromLocationCode;
+ jobDetail.TransferLibFromLocationErpCode = transferLibNoteDetail.HandledFromLocationErpCode;
+ jobDetail.TransferLibFromLocationGroup = transferLibNoteDetail.HandledFromLocationGroup;
+ jobDetail.TransferLibFromLot = transferLibNoteDetail.HandledFromLot;
+ jobDetail.TransferLibFromPackingCode = transferLibNoteDetail.HandledFromPackingCode;
+ jobDetail.TransferLibFromProduceDate = transferLibNoteDetail.HandledFromProduceDate;
+ jobDetail.TransferLibFromQty = transferLibNoteDetail.HandledFromQty;
+ jobDetail.TransferLibFromSupplierBatch = transferLibNoteDetail.HandledFromSupplierBatch;
+ jobDetail.TransferLibFromWarehouseCode = transferLibNoteDetail.HandledFromWarehouseCode;
+
+ jobDetail.TransferLibToArriveDate = transferLibNoteDetail.HandledToArriveDate;
+ jobDetail.TransferLibToContainerCode = transferLibNoteDetail.HandledToContainerCode;
+ jobDetail.TransferLibToExpireDate = transferLibNoteDetail.HandledToExpireDate;
+ jobDetail.TransferLibToLocationArea = transferLibNoteDetail.HandledToLocationArea;
+ jobDetail.TransferLibToLocationCode = transferLibNoteDetail.HandledToLocationCode;
+ jobDetail.TransferLibToLocationErpCode = transferLibNoteDetail.HandledToLocationErpCode;
+ jobDetail.TransferLibToLocationGroup = transferLibNoteDetail.HandledToLocationGroup;
+ jobDetail.TransferLibToLot = transferLibNoteDetail.HandledToLot;
+ jobDetail.TransferLibToPackingCode = transferLibNoteDetail.HandledToPackingCode;
+ jobDetail.TransferLibToProduceDate = transferLibNoteDetail.HandledToProduceDate;
+ jobDetail.TransferLibToQty = transferLibNoteDetail.HandledToQty;
+ jobDetail.TransferLibToSupplierBatch = transferLibNoteDetail.HandledToSupplierBatch;
+ jobDetail.TransferLibToWarehouseCode = transferLibNoteDetail.HandledToWarehouseCode;
+
+ await _repository.UpdateAsync(job).ConfigureAwait(false);
+ }
+
+ ///
+ /// 执行任务明细
+ ///
+ ///
+ [HttpPost("ExecuteDetail/{masterId}")]
+ public async Task ExecuteDetailAsync(Guid masterId, Guid detailId, KittingIssueJobDetailDTO issueJobDetailDto)
+ {
+ var kittingIssueJob = await _repository.GetAsync(masterId).ConfigureAwait(false);
+
+ var kittingIssueJobDto = ObjectMapper.Map(kittingIssueJob);
+ kittingIssueJobDto.Details = new List { issueJobDetailDto };
+ var kittingIssueNoteEditInput = await BuildKittingIssueNoteAsync(kittingIssueJobDto).ConfigureAwait(false);
+ await _kittingIssueNoteAppService.CreateAsync(kittingIssueNoteEditInput).ConfigureAwait(false);
+
+ kittingIssueJobDto = ObjectMapper.Map(kittingIssueJob);
+
+ if (kittingIssueJob.EnumIssueSendType == EnumIssueSendType.QtyType) //按箱叫料 因为任务只有1箱 所以可以直接完成
+ {
+ await UpdateJobStatusDoneAsync(kittingIssueJob, issueJobDetailDto).ConfigureAwait(false);
+ }
+ else
+ {
+ var detail = kittingIssueJob.Details.First(p => p.Id == issueJobDetailDto.Id);
+ if (issueJobDetailDto.HandledToQty >= detail.RequestQty)
+ {
+ await UpdateJobStatusDoneAsync(kittingIssueJob, issueJobDetailDto).ConfigureAwait(false);
+ }
+ }
+ }
+
+ #region 私有
+
+ ///
+ /// 创建补料记录实体
+ ///
+ ///
+ ///
+ private async Task BuildKittingIssueNoteAsync(KittingIssueJobDTO kittingIssueJobDto)
+ {
+ var kittingIssueNoteCreateInput =
+ ObjectMapper.Map(kittingIssueJobDto);
+ kittingIssueNoteCreateInput.JobNumber = kittingIssueJobDto.Number;
+
+ await Task.CompletedTask.ConfigureAwait(false);
+
+ return kittingIssueNoteCreateInput;
+ }
+
///
/// 判断是不是在最底层 如果不是则把状态变更为等待 并把库移推荐的From和To赋值
///
@@ -71,8 +205,8 @@ public class KittingIssueJobAppService
var loctionDto = await _locationAppService.GetByCodeAsync(jobDetailInputdetail.RecommendFromLocationCode)
.ConfigureAwait(false);
-
- if (loctionDto.RowCode != 1)
+
+ if (loctionDto.Type == EnumLocationType.RAW && loctionDto.RowCode != 1)
{
input.JobStatus = EnumJobStatus.Wait;
@@ -106,86 +240,49 @@ public class KittingIssueJobAppService
}
}
- [HttpPost("cancel-by-request/{requestNumber}")]
- public virtual async Task CancelByMaterialRequestAsync(string requestNumber)
+ ///
+ /// 判断是不是在立体库
+ ///
+ ///
+ ///
+ private async Task CheckDimensionalStorehouseAsync(KittingIssueJobEditInput input)
{
- var entities = await _repository.GetListAsync(p => p.KittingRequestNumber == requestNumber)
+ var jobDetailInputdetail = input.Details.FirstOrDefault();
+
+ var loctionDto = await _locationAppService.GetByCodeAsync(jobDetailInputdetail.RecommendFromLocationCode)
.ConfigureAwait(false);
- foreach (var entity in entities)
+
+ if (loctionDto.Type == EnumLocationType.DimensionalStorehouse)
{
- await _kittingIssueJobManager.CancelAsync(entity).ConfigureAwait(false);
+ input.JobStatus = EnumJobStatus.Wait;
+
+ //todo 调用立库接口
}
}
- [HttpPost("invalid")]
- public override async Task CancelAsync(Guid id)
+ private async Task UpdateJobStatusDoneAsync(KittingIssueJob kittingIssueJob,
+ KittingIssueJobDetailDTO kittingIssueJobDetailDto)
{
- var kittingIssueJob = await _repository.GetAsync(id).ConfigureAwait(false);
- if (kittingIssueJob == null)
+ if (kittingIssueJob.JobStatus is EnumJobStatus.Closed or EnumJobStatus.Cancelled or EnumJobStatus.None
+ or EnumJobStatus.Done) //需要考虑下 多次提交的问题 所以不判断 进行中
{
- throw new UserFriendlyException($"未找到ID为 {id} 的任务");
+ throw new UserFriendlyException(
+ $"任务状态错误:编号为【{kittingIssueJob.Number}】的任务已经【{kittingIssueJob.JobStatus.GetDisplayName()}】");
}
- await _kittingIssueJobManager.CancelAsync(kittingIssueJob).ConfigureAwait(false);
- }
-
- [HttpPost("by-request-number/{requestNumber}")]
- public virtual async Task> GetByRequestNumberAsync(string requestNumber)
- {
- var entitys = await _repository.GetListAsync(p => p.KittingRequestNumber == requestNumber)
- .ConfigureAwait(false);
- return ObjectMapper.Map, List>(entitys);
- }
-
- [HttpPost("Do-Call-Back")]
- public async Task DoTransferLibCallbackAsync(TransferLibJobDTO dto)
- {
- var job = await _repository.FindAsync(p => p.Number == dto.CallJobNumber).ConfigureAwait(false);
-
- var transferLibJobDto= await _transferLibJobAppService.GetByNumberAsync(dto.Number).ConfigureAwait(false);
-
- var transferLibNoteDetail= dto.Details.First();
+ kittingIssueJob.JobStatus = EnumJobStatus.Done;
- var jobDetail = job.Details.First();
- job.JobStatus = EnumJobStatus.Open;
+ await _expectOutAppService.RemoveByNumberAndInventoryAsync(kittingIssueJob.Number,
+ kittingIssueJobDetailDto.ItemCode,
+ kittingIssueJobDetailDto.HandledToLocationCode, kittingIssueJobDetailDto.HandledToPackingCode,
+ kittingIssueJobDetailDto.Status, kittingIssueJobDetailDto.HandledToLot,
+ kittingIssueJobDetailDto.HandledToQty).ConfigureAwait(false);
- jobDetail.TransferLibFromArriveDate = transferLibNoteDetail.HandledFromArriveDate;
- jobDetail.TransferLibFromContainerCode=transferLibNoteDetail.HandledFromContainerCode;
- jobDetail.TransferLibFromExpireDate=transferLibNoteDetail.HandledFromExpireDate;
- jobDetail.TransferLibFromLocationArea=transferLibNoteDetail.HandledFromLocationArea;
- jobDetail.TransferLibFromLocationCode=transferLibNoteDetail.HandledFromLocationCode;
- jobDetail.TransferLibFromLocationErpCode = transferLibNoteDetail.HandledFromLocationErpCode;
- jobDetail.TransferLibFromLocationGroup=transferLibNoteDetail.HandledFromLocationGroup;
- jobDetail.TransferLibFromLot=transferLibNoteDetail.HandledFromLot;
- jobDetail.TransferLibFromPackingCode = transferLibNoteDetail.HandledFromPackingCode;
- jobDetail.TransferLibFromProduceDate = transferLibNoteDetail.HandledFromProduceDate;
- jobDetail.TransferLibFromQty=transferLibNoteDetail.HandledFromQty;
- jobDetail.TransferLibFromSupplierBatch=transferLibNoteDetail.HandledFromSupplierBatch;
- jobDetail.TransferLibFromWarehouseCode = transferLibNoteDetail.HandledFromWarehouseCode;
-
- jobDetail.TransferLibToArriveDate = transferLibNoteDetail.HandledToArriveDate;
- jobDetail.TransferLibToContainerCode = transferLibNoteDetail.HandledToContainerCode;
- jobDetail.TransferLibToExpireDate = transferLibNoteDetail.HandledToExpireDate;
- jobDetail.TransferLibToLocationArea = transferLibNoteDetail.HandledToLocationArea;
- jobDetail.TransferLibToLocationCode = transferLibNoteDetail.HandledToLocationCode;
- jobDetail.TransferLibToLocationErpCode = transferLibNoteDetail.HandledToLocationErpCode;
- jobDetail.TransferLibToLocationGroup = transferLibNoteDetail.HandledToLocationGroup;
- jobDetail.TransferLibToLot = transferLibNoteDetail.HandledToLot;
- jobDetail.TransferLibToPackingCode = transferLibNoteDetail.HandledToPackingCode;
- jobDetail.TransferLibToProduceDate = transferLibNoteDetail.HandledToProduceDate;
- jobDetail.TransferLibToQty = transferLibNoteDetail.HandledToQty;
- jobDetail.TransferLibToSupplierBatch = transferLibNoteDetail.HandledToSupplierBatch;
- jobDetail.TransferLibToWarehouseCode = transferLibNoteDetail.HandledToWarehouseCode;
-
- await _repository.UpdateAsync(job).ConfigureAwait(false);
+ await KittingIssueRequestAppService.UpdateStatusCompletedAsync(kittingIssueJob.KittingRequestNumber)
+ .ConfigureAwait(false);
- return;
+ await Task.CompletedTask.ConfigureAwait(false);
}
- [HttpPost("test")]
- public virtual async Task Test()
- {
- Console.WriteLine("FuAZCZXVZXVXZVZ");
- await Task.CompletedTask;
- }
+ #endregion
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/AssembleIssueNotes/AssembleIssueNoteAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/AssembleIssueNotes/AssembleIssueNoteAppService.cs
index cfa6a3cc2..36ce2a342 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/AssembleIssueNotes/AssembleIssueNoteAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/AssembleIssueNotes/AssembleIssueNoteAppService.cs
@@ -58,51 +58,4 @@ public class AssembleIssueNoteAppService :
await LocalEventBus.PublishAsync(new SfsConfirmedEntityEventData(assembleNote), false).ConfigureAwait(false);
return ObjectMapper.Map(assembleNote);
}
-
- [HttpPost("confirm-by-number/{number}")]
- public virtual async Task ConfirmAsync(string number)
- {
- var entity = await _repository.FindAsync(p => p.Number == number).ConfigureAwait(false);
- Check.NotNull(entity, nameof(AssembleIssueNote));
- var result = await _assembleNoteManager.ConfirmAsync(entity.Id).ConfigureAwait(false);
- var dto = ObjectMapper.Map(result);
- return dto;
- }
- ///
- /// 根据叫料请求类型获取发料记录
- ///
- ///
- ///
- /// 叫料请求类型:
- /// 人工拉动:Issue_Manual;
- /// 线边拉动:Issue_WIP;
- ///
- ///
- ///
- ///
- [HttpPost("by-type/{requestType}")]
- public virtual async Task> GetListByTypeAsync(SfsStoreRequestInputBase requestInput,
- string requestType, bool includeDetails = false, CancellationToken cancellationToken = default)
- {
- Expression> expression = p => p.RequestType == requestType;
- if (requestInput.Condition.Filters?.Count > 0)
- {
- expression = expression.And(requestInput.Condition.Filters.ToLambda());
- }
-
- return await GetPagedListAsync(expression, requestInput.SkipCount, requestInput.MaxResultCount,
- requestInput.Sorting, includeDetails, cancellationToken).ConfigureAwait(false);
- }
-
- [HttpGet("list/un-confirmed/{requestType}")]
- public virtual async Task> GetListUnConfirmedByTypeAsync(string requestType)
- {
- var entities = await _repository.GetListAsync(c => !c.Confirmed && c.RequestType == requestType)
- .ConfigureAwait(false);
-
- var dtos = ObjectMapper.Map, List>(entities);
-
- return dtos;
- }
-
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNoteAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNoteAppService.cs
index 8480c6c88..9259126d2 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNoteAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNoteAppService.cs
@@ -60,50 +60,6 @@ public class CoatingIssueNoteAppService :
return ObjectMapper.Map(coatingIssueNote);
}
- [HttpPost("confirm-by-number/{number}")]
- public virtual async Task ConfirmAsync(string number)
- {
- var entity = await _repository.FindAsync(p => p.Number == number).ConfigureAwait(false);
- Check.NotNull(entity, nameof(CoatingIssueNote));
- var result = await _coatingIssueNoteManager.ConfirmAsync(entity.Id).ConfigureAwait(false);
- var dto = ObjectMapper.Map(result);
- return dto;
- }
- ///
- /// 根据叫料请求类型获取发料记录
- ///
- ///
- ///
- /// 叫料请求类型:
- /// 人工拉动:Issue_Manual;
- /// 线边拉动:Issue_WIP;
- ///
- ///
- ///
- ///
- [HttpPost("by-type/{requestType}")]
- public virtual async Task> GetListByTypeAsync(SfsStoreRequestInputBase requestInput,
- string requestType, bool includeDetails = false, CancellationToken cancellationToken = default)
- {
- Expression> expression = p => p.RequestType == requestType;
- if (requestInput.Condition.Filters?.Count > 0)
- {
- expression = expression.And(requestInput.Condition.Filters.ToLambda());
- }
-
- return await GetPagedListAsync(expression, requestInput.SkipCount, requestInput.MaxResultCount,
- requestInput.Sorting, includeDetails, cancellationToken).ConfigureAwait(false);
- }
-
- [HttpGet("list/un-confirmed/{requestType}")]
- public virtual async Task> GetListUnConfirmedByTypeAsync(string requestType)
- {
- var entities = await _repository.GetListAsync(c => !c.Confirmed && c.RequestType == requestType)
- .ConfigureAwait(false);
-
- var dtos = ObjectMapper.Map, List>(entities);
-
- return dtos;
- }
+
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/InjectionIssueNotes/InjectionIssueNoteAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/InjectionIssueNotes/InjectionIssueNoteAppService.cs
index 5bddd6b32..148f6439d 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/InjectionIssueNotes/InjectionIssueNoteAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/InjectionIssueNotes/InjectionIssueNoteAppService.cs
@@ -10,6 +10,7 @@ using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Domain.Entities;
using Win_in.Sfs.Shared.Domain;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
using Win_in.Sfs.Shared.Event;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain;
@@ -85,9 +86,9 @@ public class InjectionIssueNoteAppService :
///
[HttpPost("by-type/{requestType}")]
public virtual async Task> GetListByTypeAsync(SfsStoreRequestInputBase requestInput,
- string requestType, bool includeDetails = false, CancellationToken cancellationToken = default)
+ EnumIssueRequestType issueRequestType, bool includeDetails = false, CancellationToken cancellationToken = default)
{
- Expression> expression = p => p.RequestType == requestType;
+ Expression> expression = p => p.IssueRequestType == issueRequestType;
if (requestInput.Condition.Filters?.Count > 0)
{
expression = expression.And(requestInput.Condition.Filters.ToLambda());
@@ -97,10 +98,10 @@ public class InjectionIssueNoteAppService :
requestInput.Sorting, includeDetails, cancellationToken).ConfigureAwait(false);
}
- [HttpGet("list/un-confirmed/{requestType}")]
- public virtual async Task> GetListUnConfirmedByTypeAsync(string requestType)
+ [HttpPost("list-by-type-and-un-confirmed")]
+ public virtual async Task> GetListUnConfirmedByTypeAsync(EnumIssueRequestType issueRequestType)
{
- var entities = await _repository.GetListAsync(c => !c.Confirmed && c.RequestType == requestType)
+ var entities = await _repository.GetListAsync(c => !c.Confirmed && c.IssueRequestType == issueRequestType)
.ConfigureAwait(false);
var dtos = ObjectMapper.Map, List>(entities);
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/KittingIssueNotes/KittingIssueNoteAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/KittingIssueNotes/KittingIssueNoteAppService.cs
index ccbc71b2b..d5b2ce396 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/KittingIssueNotes/KittingIssueNoteAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/IssueNotes/KittingIssueNotes/KittingIssueNoteAppService.cs
@@ -59,50 +59,4 @@ public class KittingIssueNoteAppService :
return ObjectMapper.Map(kittingIssueNote);
}
- [HttpPost("confirm-by-number/{number}")]
- public virtual async Task ConfirmAsync(string number)
- {
- var entity = await _repository.FindAsync(p => p.Number == number).ConfigureAwait(false);
- Check.NotNull(entity, nameof(KittingIssueNote));
- var result = await _kittingIssueNoteManager.ConfirmAsync(entity.Id).ConfigureAwait(false);
- var dto = ObjectMapper.Map(result);
- return dto;
- }
- ///
- /// 根据叫料请求类型获取发料记录
- ///
- ///
- ///
- /// 叫料请求类型:
- /// 人工拉动:Issue_Manual;
- /// 线边拉动:Issue_WIP;
- ///
- ///
- ///
- ///
- [HttpPost("by-type/{requestType}")]
- public virtual async Task> GetListByTypeAsync(SfsStoreRequestInputBase requestInput,
- string requestType, bool includeDetails = false, CancellationToken cancellationToken = default)
- {
- Expression> expression = p => p.RequestType == requestType;
- if (requestInput.Condition.Filters?.Count > 0)
- {
- expression = expression.And(requestInput.Condition.Filters.ToLambda());
- }
-
- return await GetPagedListAsync(expression, requestInput.SkipCount, requestInput.MaxResultCount,
- requestInput.Sorting, includeDetails, cancellationToken).ConfigureAwait(false);
- }
-
- [HttpGet("list/un-confirmed/{requestType}")]
- public virtual async Task> GetListUnConfirmedByTypeAsync(string requestType)
- {
- var entities = await _repository.GetListAsync(c => !c.Confirmed && c.RequestType == requestType)
- .ConfigureAwait(false);
-
- var dtos = ObjectMapper.Map, List>(entities);
-
- return dtos;
- }
-
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestAppService.cs
index a1a23d5a5..e673737eb 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestAppService.cs
@@ -1,25 +1,10 @@
using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
-using System.Linq;
-using System.Linq.Expressions;
-using System.Threading;
using System.Threading.Tasks;
-using DocumentFormat.OpenXml.Office.PowerPoint.Y2021.M06.Main;
-using IdentityModel;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
-using Microsoft.EntityFrameworkCore;
using Volo.Abp;
-using Volo.Abp.Application.Dtos;
-using Volo.Abp.Domain.Entities;
-using Volo.Abp.Domain.Repositories;
-using Volo.Abp.ObjectMapping;
-using Win_in.Sfs.Basedata.Application;
using Win_in.Sfs.Basedata.Application.Contracts;
-using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
-using Win_in.Sfs.Shared.Event;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain;
using Win_in.Sfs.Wms.Store.Domain.Shared;
@@ -27,12 +12,14 @@ using Win_in.Sfs.Wms.Store.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Application;
///
-/// 装配叫料
+/// 装配叫料
///
[Authorize]
[Route($"{StoreConsts.RootPath}assemble-request")]
-public class AssembleIssueRequestAppService : SfsStoreRequestAppServiceBase,
IAssembleIssueRequestAppService
{
@@ -41,7 +28,7 @@ public class AssembleIssueRequestAppService : SfsStoreRequestAppServiceBase HandleAsync(Guid id)
{
await Task.CompletedTask.ConfigureAwait(false);
@@ -123,13 +108,14 @@ public class AssembleIssueRequestAppService : SfsStoreRequestAppServiceBase
- /// 赋值Request业务属性
+ /// 赋值Request业务属性
///
///
///
private async Task SetRequestAutoPropertiesAsync(AssembleIssueRequestEditInput entity)
{
- var tranType = await _transactionTypeAppService.GetByTransTypeAsync(EnumTransType.Issue, EnumTransSubType.None).ConfigureAwait(false);
+ var tranType = await _transactionTypeAppService.GetByTransTypeAsync(EnumTransType.Issue, EnumTransSubType.None)
+ .ConfigureAwait(false);
Check.NotNull(tranType, "事务类型", "事务类型不存在");
entity.AutoSubmit = tranType.AutoSubmitRequest;
entity.AutoAgree = tranType.AutoAgreeRequest;
@@ -148,113 +134,9 @@ public class AssembleIssueRequestAppService : SfsStoreRequestAppServiceBase
- /// 用来重写 导入数据时可以加工数据
- ///
- ///
- ///
- protected override async Task> ImportProcessingEntityAsync(
- Dictionary dictionary)
- {
- var addList = dictionary.Where(p => p.Value == EntityState.Added).Select(p => p.Key);
-
- foreach (var assembleRequest in addList)
- {
- assembleRequest.Worker = CurrentUser.GetUserName();
- assembleRequest.CreatorId = CurrentUser.Id;
- if (assembleRequest.Type == EnumTransSubType.Issue_Manual.GetDisplayName())
- {
- assembleRequest.Type = EnumTransSubType.Issue_Manual.ToString();
- }
-
- foreach (var detail in assembleRequest.Details)
- {
- var locationDto = await _locationAppService.GetByCodeAsync(detail.ToLocationCode).ConfigureAwait(false);
- CheckLocation(locationDto, detail.ToLocationCode);
-
- var itemBasicDto = await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false);
- CheckItemBasic(itemBasicDto, detail.ItemCode);
-
- detail.ToLocationArea = locationDto.AreaCode;
- detail.ToLocationErpCode = locationDto.ErpLocationCode;
- detail.ToLocationGroup = locationDto.LocationGroupCode;
- detail.ToWarehouseCode = locationDto.WarehouseCode;
- detail.ItemDesc1 = itemBasicDto.Desc1;
- detail.ItemDesc2 = itemBasicDto.Desc2;
- detail.ItemName = itemBasicDto.Name;
- detail.Uom = itemBasicDto.BasicUom;
- detail.StdPackQty = itemBasicDto.StdPackQty;
- }
- }
-
- return dictionary;
- }
-
- ///
- /// 导入验证
- ///
- ///
- ///
- ///
- protected override async Task ValidateImportModelAsync(AssembleIssueRequestImportInput model,
- List validationRresult)
- {
- _ = new Dictionary();
- _ = await CheckItemBasicAsync(model, validationRresult).ConfigureAwait(false);
- _ = await CheckLocationAsync(model, validationRresult).ConfigureAwait(false);
- await CheckAreaAsync(model, validationRresult).ConfigureAwait(false);
- await CheckStoreRelationAsync(model, validationRresult).ConfigureAwait(false);
- }
-
- #endregion
#region 校验
- protected override async Task ValidateImportEntities(Dictionary dict)
- {
- foreach (var entity in dict.Keys)
- {
- var tranType = await TransactionTypeAclService
- .GetByTransTypeAsync(EnumTransType.Issue, EnumTransSubType.None).ConfigureAwait(false);
-
- Check.NotNull(tranType, "事务类型", "事务类型不存在");
-
- entity.AutoCompleteJob = tranType.AutoCompleteJob;
- entity.AutoSubmit = tranType.AutoSubmitRequest;
- entity.AutoAgree = tranType.AutoAgreeRequest;
- entity.AutoHandle = tranType.AutoHandleRequest;
- entity.DirectCreateNote = tranType.DirectCreateNote;
- }
-
- return await base.ValidateImportEntities(dict).ConfigureAwait(false);
- }
-
- protected async Task CheckAreaAsync(AssembleIssueRequestImportInput importInput,
- List validationRresult)
- {
- var area = await _areaApp.GetByCodeAsync(importInput.FromLocationArea).ConfigureAwait(false);
- if (area == null)
- {
- validationRresult.Add(new ValidationResult($"调出库区{importInput.FromLocationArea}不存在", new[] { "调出库区" }));
- }
- }
-
- protected async Task CheckStoreRelationAsync(AssembleIssueRequestImportInput importInput,
- List validationRresult)
- {
- var itemStoreRelation = await _itemStoreRelationApp
- .GetFirstAsync(importInput.ItemCode, importInput.ToLocationCode).ConfigureAwait(false);
- if (itemStoreRelation == null)
- {
- validationRresult.Add(new ValidationResult(
- $"物品代码{importInput.ItemCode}与目标库位{importInput.ToLocationCode}不存在对应关", new[] { "物品库位对应关系" }));
- }
- }
-
private void CheckItemBasic(ItemBasicDTO itemBasicDto, string itemCode)
{
if (itemBasicDto == null)
@@ -276,34 +158,5 @@ public class AssembleIssueRequestAppService : SfsStoreRequestAppServiceBase CheckItemBasicAsync(AssembleIssueRequestImportInput importInput,
- List validationRresult)
- {
- var item = await _itemBasicAppService.GetByCodeAsync(importInput.ItemCode).ConfigureAwait(false);
- if (item == null)
- {
- validationRresult.Add(new ValidationResult($"物品代码{importInput.ItemCode}不存在", new[] { "物品代码" }));
- }
- else if (item.StdPackQty == 0)
- {
- validationRresult.Add(
- new ValidationResult($"物品代码{importInput.ItemCode}的物品信息中标准包装等于0或不存在", new[] { "标准包装" }));
- }
-
- return item;
- }
-
- protected async Task CheckLocationAsync(AssembleIssueRequestImportInput importInput,
- List validationRresult)
- {
- var location = await _locationAppService.GetByCodeAsync(importInput.ToLocationCode).ConfigureAwait(false);
- if (location == null)
- {
- validationRresult.Add(new ValidationResult($"目标库位{importInput.ToLocationCode}不存在", new[] { "目标库位" }));
- }
-
- return location;
- }
-
#endregion
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestAutoMapperProfile.cs
index 5393620f0..ac0ce512d 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestAutoMapperProfile.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/AssembleIssueRequests/AssembleIssueRequestAutoMapperProfile.cs
@@ -25,7 +25,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
CreateMap()
.IgnoreAuditedObjectProperties()
- .ForMember(x => x.Type, y => y.MapFrom(t => t.Type.ToString()))
.Ignore(x => x.UseOnTheWayLocation)
.Ignore(x => x.Details)
.Ignore(x => x.Remark)
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/CoatingIssueRequests/CoatingIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/CoatingIssueRequests/CoatingIssueRequestAppService.cs
index 5e852df32..bef19ed95 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/CoatingIssueRequests/CoatingIssueRequestAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/CoatingIssueRequests/CoatingIssueRequestAppService.cs
@@ -67,9 +67,6 @@ public class CoatingIssueRequestAppService : SfsStoreRequestAppServiceBase HandleAsync(Guid id)
{
await Task.CompletedTask.ConfigureAwait(false);
@@ -150,113 +147,8 @@ public class CoatingIssueRequestAppService : SfsStoreRequestAppServiceBase
- /// 用来重写 导入数据时可以加工数据
- ///
- ///
- ///
- protected override async Task> ImportProcessingEntityAsync(
- Dictionary dictionary)
- {
- var addList = dictionary.Where(p => p.Value == EntityState.Added).Select(p => p.Key);
-
- foreach (var coatingMaterialRequest in addList)
- {
- coatingMaterialRequest.Worker = CurrentUser.GetUserName();
- coatingMaterialRequest.CreatorId = CurrentUser.Id;
- if (coatingMaterialRequest.Type == EnumTransSubType.Issue_Manual.GetDisplayName())
- {
- coatingMaterialRequest.Type = EnumTransSubType.Issue_Manual.ToString();
- }
-
- foreach (var detail in coatingMaterialRequest.Details)
- {
- var locationDto = await _locationAppService.GetByCodeAsync(detail.ToLocationCode).ConfigureAwait(false);
- CheckLocation(locationDto, detail.ToLocationCode);
-
- var itemBasicDto = await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false);
- CheckItemBasic(itemBasicDto, detail.ItemCode);
-
- detail.ToLocationArea = locationDto.AreaCode;
- detail.ToLocationErpCode = locationDto.ErpLocationCode;
- detail.ToLocationGroup = locationDto.LocationGroupCode;
- detail.ToWarehouseCode = locationDto.WarehouseCode;
- detail.ItemDesc1 = itemBasicDto.Desc1;
- detail.ItemDesc2 = itemBasicDto.Desc2;
- detail.ItemName = itemBasicDto.Name;
- detail.Uom = itemBasicDto.BasicUom;
- detail.StdPackQty = itemBasicDto.StdPackQty;
- }
- }
-
- return dictionary;
- }
-
- ///
- /// 导入验证
- ///
- ///
- ///
- ///
- protected override async Task ValidateImportModelAsync(CoatingIssueRequestImportInput model,
- List validationRresult)
- {
- _ = new Dictionary();
- _ = await CheckItemBasicAsync(model, validationRresult).ConfigureAwait(false);
- _ = await CheckLocationAsync(model, validationRresult).ConfigureAwait(false);
- await CheckAreaAsync(model, validationRresult).ConfigureAwait(false);
- await CheckStoreRelationAsync(model, validationRresult).ConfigureAwait(false);
- }
-
- #endregion
-
#region 校验
- protected override async Task ValidateImportEntities(Dictionary dict)
- {
- foreach (var entity in dict.Keys)
- {
- var tranType = await TransactionTypeAclService
- .GetByTransTypeAsync(EnumTransType.Issue, EnumTransSubType.None).ConfigureAwait(false);
-
- Check.NotNull(tranType, "事务类型", "事务类型不存在");
-
- entity.AutoCompleteJob = tranType.AutoCompleteJob;
- entity.AutoSubmit = tranType.AutoSubmitRequest;
- entity.AutoAgree = tranType.AutoAgreeRequest;
- entity.AutoHandle = tranType.AutoHandleRequest;
- entity.DirectCreateNote = tranType.DirectCreateNote;
- }
-
- return await base.ValidateImportEntities(dict).ConfigureAwait(false);
- }
-
- protected async Task CheckAreaAsync(CoatingIssueRequestImportInput importInput,
- List validationRresult)
- {
- var area = await _areaApp.GetByCodeAsync(importInput.FromLocationArea).ConfigureAwait(false);
- if (area == null)
- {
- validationRresult.Add(new ValidationResult($"调出库区{importInput.FromLocationArea}不存在", new[] { "调出库区" }));
- }
- }
-
- protected async Task CheckStoreRelationAsync(CoatingIssueRequestImportInput importInput,
- List validationRresult)
- {
- var itemStoreRelation = await _itemStoreRelationApp
- .GetFirstAsync(importInput.ItemCode, importInput.ToLocationCode).ConfigureAwait(false);
- if (itemStoreRelation == null)
- {
- validationRresult.Add(new ValidationResult(
- $"物品代码{importInput.ItemCode}与目标库位{importInput.ToLocationCode}不存在对应关", new[] { "物品库位对应关系" }));
- }
- }
-
private void CheckItemBasic(ItemBasicDTO itemBasicDto, string itemCode)
{
if (itemBasicDto == null)
@@ -278,34 +170,5 @@ public class CoatingIssueRequestAppService : SfsStoreRequestAppServiceBase CheckItemBasicAsync(CoatingIssueRequestImportInput importInput,
- List validationRresult)
- {
- var item = await _itemBasicAppService.GetByCodeAsync(importInput.ItemCode).ConfigureAwait(false);
- if (item == null)
- {
- validationRresult.Add(new ValidationResult($"物品代码{importInput.ItemCode}不存在", new[] { "物品代码" }));
- }
- else if (item.StdPackQty == 0)
- {
- validationRresult.Add(
- new ValidationResult($"物品代码{importInput.ItemCode}的物品信息中标准包装等于0或不存在", new[] { "标准包装" }));
- }
-
- return item;
- }
-
- protected async Task CheckLocationAsync(CoatingIssueRequestImportInput importInput,
- List validationRresult)
- {
- var location = await _locationAppService.GetByCodeAsync(importInput.ToLocationCode).ConfigureAwait(false);
- if (location == null)
- {
- validationRresult.Add(new ValidationResult($"目标库位{importInput.ToLocationCode}不存在", new[] { "目标库位" }));
- }
-
- return location;
- }
-
#endregion
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/CoatingIssueRequests/CoatingIssueRequestAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/CoatingIssueRequests/CoatingIssueRequestAutoMapperProfile.cs
index 9dd74e917..02a21e0fa 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/CoatingIssueRequests/CoatingIssueRequestAutoMapperProfile.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/CoatingIssueRequests/CoatingIssueRequestAutoMapperProfile.cs
@@ -26,7 +26,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
CreateMap()
.IgnoreAuditedObjectProperties()
- .ForMember(x => x.Type, y => y.MapFrom(t => t.Type.ToString()))
.Ignore(x => x.UseOnTheWayLocation)
.Ignore(x => x.Details)
.Ignore(x => x.Remark)
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAppService.cs
index 119c5d67f..e02f54e3a 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAppService.cs
@@ -1,26 +1,13 @@
using System;
using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
using System.Linq;
-using System.Linq.Expressions;
-using System.Threading;
using System.Threading.Tasks;
-using DocumentFormat.OpenXml.Office.PowerPoint.Y2021.M06.Main;
-using IdentityModel;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
-using Microsoft.EntityFrameworkCore;
using Volo.Abp;
-using Volo.Abp.Application.Dtos;
-using Volo.Abp.Domain.Entities;
-using Volo.Abp.Domain.Repositories;
-using Volo.Abp.ObjectMapping;
-using Win_in.Sfs.Basedata.Application;
using Win_in.Sfs.Basedata.Application.Contracts;
-using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
-using Win_in.Sfs.Shared.Event;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain;
using Win_in.Sfs.Wms.Store.Domain.Shared;
@@ -28,52 +15,41 @@ using Win_in.Sfs.Wms.Store.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Application;
///
-/// 注塑发料申请
+/// 注塑发料申请
///
[Authorize]
[Route($"{StoreConsts.RootPath}injection-issue-request")]
-public class InjectionIssueRequestAppService : SfsStoreRequestAppServiceBase,
IInjectionIssueRequestAppService
{
private readonly IInjectionIssueRequestManager _injectionRequestManager;
- private readonly IItemStoreRelationAppService _itemStoreRelationApp;
- private readonly IAreaAppService _areaApp;
private readonly ILocationAppService _locationAppService;
private readonly IItemBasicAppService _itemBasicAppService;
private readonly IItemContainerAppService _itemContainerAppService;
- private readonly IProductionLineAppService _productionLineAppService;
-
+
private readonly ITransactionTypeAppService _transactionTypeAppService;
public InjectionIssueRequestAppService(
IInjectionIssueRequestRepository repository,
IInjectionIssueRequestManager injectionRequestManager,
- IPreparationPlanManager preparationPlanManager,
- IItemStoreRelationAppService itemStoreRelationApp,
- IAreaAppService areaApp,
ILocationAppService locationAppService,
IItemBasicAppService itemBasicAppService,
IItemContainerAppService itemContainerAppService,
- IProductionLineAppService productionLineAppService,
ITransactionTypeAppService transactionTypeAppService
- )
+ )
: base(repository, injectionRequestManager)
{
_injectionRequestManager = injectionRequestManager;
- _itemStoreRelationApp = itemStoreRelationApp;
- _areaApp = areaApp;
_locationAppService = locationAppService;
_itemBasicAppService = itemBasicAppService;
- _itemContainerAppService= itemContainerAppService;
- _productionLineAppService = productionLineAppService;
+ _itemContainerAppService = itemContainerAppService;
_transactionTypeAppService = transactionTypeAppService;
}
-
- #region 东阳V2
-
public override async Task HandleAsync(Guid id)
{
await Task.CompletedTask.ConfigureAwait(false);
@@ -101,7 +77,7 @@ public class InjectionIssueRequestAppService : SfsStoreRequestAppServiceBase0)
+ var itemContainerDto = await _itemContainerAppService.GetListByItemCodeAsync(detailInput.ItemCode)
+ .ConfigureAwait(false);
+ if (itemContainerDto.Count > 0)
{
detailInput.Uom = itemContainerDto[0].BasicUom;
detailInput.Qty = itemContainerDto[0].Qty;
@@ -121,7 +98,7 @@ public class InjectionIssueRequestAppService : SfsStoreRequestAppServiceBase
- /// 赋值Request业务属性
+ /// 赋值Request业务属性
///
///
///
private async Task SetRequestAutoPropertiesAsync(InjectionIssueRequestEditInput entity)
{
- var tranType = await _transactionTypeAppService.GetByTransTypeAsync(EnumTransType.Issue, EnumTransSubType.None).ConfigureAwait(false);
+ var tranType = await _transactionTypeAppService.GetByTransTypeAsync(EnumTransType.Issue, EnumTransSubType.None)
+ .ConfigureAwait(false);
Check.NotNull(tranType, "事务类型", "事务类型不存在");
entity.AutoSubmit = tranType.AutoSubmitRequest;
entity.AutoAgree = tranType.AutoAgreeRequest;
@@ -166,125 +144,51 @@ public class InjectionIssueRequestAppService : SfsStoreRequestAppServiceBase
- /// 获取物品类别列表
+ /// 获取物品类别列表
///
///
///
[HttpGet("list/item-category")]
public virtual async Task> GetItemCategoryListAsync()
{
- var entities = await _itemBasicAppService.GetCategoryListAsync().ConfigureAwait(false);
+ var entities = await _itemBasicAppService.GetCategoryListAsync().ConfigureAwait(false);
return entities;
}
- #endregion
-
- #region 导入
-
///
- /// 用来重写 导入数据时可以加工数据
+ /// 获取已完成的叫料单数量
///
- ///
///
- protected override async Task> ImportProcessingEntityAsync(
- Dictionary dictionary)
+ [HttpPost("get-uncompleted-request")]
+ public async Task> GetUnCompletedRequestAsync(List p_list)
{
- var addList = dictionary.Where(p => p.Value == EntityState.Added).Select(p => p.Key);
-
- foreach (var injectionRequest in addList)
+ var returnList = new List();
+ //枚举类型查不到改成SQL查询
+ var list = await _repository.GetListAsync(p =>
+ p.RequestStatus != EnumRequestStatus.Completed && p.IssueRequestType == EnumIssueRequestType.Vision)
+ .ConfigureAwait(false);
+ foreach (var itm in list)
{
- injectionRequest.Worker = CurrentUser.GetUserName();
- injectionRequest.CreatorId = CurrentUser.Id;
- if (injectionRequest.Type == EnumTransSubType.Issue_Manual.GetDisplayName())
- {
- injectionRequest.Type = EnumTransSubType.Issue_Manual.ToString();
- }
-
- foreach (var detail in injectionRequest.Details)
- {
- var locationDto = await _locationAppService.GetByCodeAsync(detail.ToLocationCode).ConfigureAwait(false);
- CheckLocation(locationDto, detail.ToLocationCode);
-
- var itemBasicDto = await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false);
- CheckItemBasic(itemBasicDto, detail.ItemCode);
-
- detail.ToLocationArea = locationDto.AreaCode;
- detail.ToLocationErpCode = locationDto.ErpLocationCode;
- detail.ToLocationGroup = locationDto.LocationGroupCode;
- detail.ToWarehouseCode = locationDto.WarehouseCode;
- detail.ItemDesc1 = itemBasicDto.Desc1;
- detail.ItemDesc2 = itemBasicDto.Desc2;
- detail.ItemName = itemBasicDto.Name;
- detail.Uom = itemBasicDto.BasicUom;
- detail.StdPackQty = itemBasicDto.StdPackQty;
- }
+ var query = from detail in itm.Details
+ join citm in p_list on new
+ {
+ detail.ItemCode, locCode = detail.ToLocationCode, areaCode = detail.PositionCode
+ } equals
+ new { citm.ItemCode, locCode = citm.LocCode, areaCode = citm.PositionCode }
+ select new UnCompletedRequestDto
+ {
+ ItemCode = detail.ItemCode, LocCode = detail.ToLocationCode, PositionCode = detail.PositionCode
+ };
+
+ returnList.AddRange(query.ToList());
}
- return dictionary;
- }
-
- ///
- /// 导入验证
- ///
- ///
- ///
- ///
- protected override async Task ValidateImportModelAsync(InjectionIssueRequestImportInput model,
- List validationRresult)
- {
- _ = new Dictionary();
- _ = await CheckItemBasicAsync(model, validationRresult).ConfigureAwait(false);
- _ = await CheckLocationAsync(model, validationRresult).ConfigureAwait(false);
- await CheckAreaAsync(model, validationRresult).ConfigureAwait(false);
- await CheckStoreRelationAsync(model, validationRresult).ConfigureAwait(false);
+ return returnList;
}
- #endregion
-
#region 校验
- protected override async Task ValidateImportEntities(Dictionary dict)
- {
- foreach (var entity in dict.Keys)
- {
- var tranType = await TransactionTypeAclService
- .GetByTransTypeAsync(EnumTransType.Issue, EnumTransSubType.None).ConfigureAwait(false);
-
- Check.NotNull(tranType, "事务类型", "事务类型不存在");
-
- entity.AutoCompleteJob = tranType.AutoCompleteJob;
- entity.AutoSubmit = tranType.AutoSubmitRequest;
- entity.AutoAgree = tranType.AutoAgreeRequest;
- entity.AutoHandle = tranType.AutoHandleRequest;
- entity.DirectCreateNote = tranType.DirectCreateNote;
- }
-
- return await base.ValidateImportEntities(dict).ConfigureAwait(false);
- }
-
- protected async Task CheckAreaAsync(InjectionIssueRequestImportInput importInput,
- List validationRresult)
- {
- var area = await _areaApp.GetByCodeAsync(importInput.FromLocationArea).ConfigureAwait(false);
- if (area == null)
- {
- validationRresult.Add(new ValidationResult($"调出库区{importInput.FromLocationArea}不存在", new[] { "调出库区" }));
- }
- }
-
- protected async Task CheckStoreRelationAsync(InjectionIssueRequestImportInput importInput,
- List validationRresult)
- {
- var itemStoreRelation = await _itemStoreRelationApp
- .GetFirstAsync(importInput.ItemCode, importInput.ToLocationCode).ConfigureAwait(false);
- if (itemStoreRelation == null)
- {
- validationRresult.Add(new ValidationResult(
- $"物品代码{importInput.ItemCode}与目标库位{importInput.ToLocationCode}不存在对应关", new[] { "物品库位对应关系" }));
- }
- }
-
private void CheckItemBasic(ItemBasicDTO itemBasicDto, string itemCode)
{
if (itemBasicDto == null)
@@ -306,78 +210,5 @@ public class InjectionIssueRequestAppService : SfsStoreRequestAppServiceBase CheckItemBasicAsync(InjectionIssueRequestImportInput importInput,
- List validationRresult)
- {
- var item = await _itemBasicAppService.GetByCodeAsync(importInput.ItemCode).ConfigureAwait(false);
- if (item == null)
- {
- validationRresult.Add(new ValidationResult($"物品代码{importInput.ItemCode}不存在", new[] { "物品代码" }));
- }
- else if (item.StdPackQty == 0)
- {
- validationRresult.Add(
- new ValidationResult($"物品代码{importInput.ItemCode}的物品信息中标准包装等于0或不存在", new[] { "标准包装" }));
- }
-
- return item;
- }
-
- protected async Task CheckLocationAsync(InjectionIssueRequestImportInput importInput,
- List validationRresult)
- {
- var location = await _locationAppService.GetByCodeAsync(importInput.ToLocationCode).ConfigureAwait(false);
- if (location == null)
- {
- validationRresult.Add(new ValidationResult($"目标库位{importInput.ToLocationCode}不存在", new[] { "目标库位" }));
- }
-
- return location;
- }
-
- ///
- /// 获取已完成的叫料单数量
- ///
- ///
- [HttpGet("get-completed-injection-request-count")]
- public async Task GetCountAsync()
- {
- //枚举类型查不到改成SQL查询
- var query =await _repository.GetCountAsync(p => p.RequestStatus != EnumRequestStatus.Completed
- &&p.Type==nameof(EnumIssueType.Vision)).ConfigureAwait(false);
-
- return query;
- }
-
- ///
- /// 获取已完成的叫料单数量
- ///
- ///
- [HttpPost("get-uncompleted-request")]
- public async Task> GetUnCompletedRequestAsync(List p_list)
- {
- List returnList = new List();
- //枚举类型查不到改成SQL查询
- var list =await _repository.WithDetails().Where(p => p.RequestStatus != EnumRequestStatus.Completed && p.Type == nameof(EnumIssueType.Vision)).ToListAsync().ConfigureAwait(false);
- foreach (var itm in list)
- {
- var query = from detail in itm.Details join citm in p_list on new { detail.ItemCode, locCode= detail.ToLocationCode,areaCode=detail.PositionCode } equals
- new { citm.ItemCode, locCode= citm.LocCode,areaCode=citm.PositionCode }
- select new UnCompletedRequestDto { ItemCode = detail.ItemCode, LocCode = detail.ToLocationCode, PositionCode = detail.PositionCode } ;
-
- returnList.AddRange(query.ToList());
- }
- return returnList;
- }
-
-
-
-
-
-
-
-
-
-
#endregion
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAutoMapperProfile.cs
index b4a66ebf8..99eef2047 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAutoMapperProfile.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/InjectionIssueRequests/InjectionIssueRequestAutoMapperProfile.cs
@@ -25,7 +25,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
CreateMap()
.IgnoreAuditedObjectProperties()
- .ForMember(x => x.Type, y => y.MapFrom(t => t.Type.ToString()))
.Ignore(x => x.UseOnTheWayLocation)
.Ignore(x => x.Details)
.Ignore(x => x.Remark)
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/KittingIssueRequests/KittingIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/KittingIssueRequests/KittingIssueRequestAppService.cs
index 8e348599b..f508e12b5 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/KittingIssueRequests/KittingIssueRequestAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/KittingIssueRequests/KittingIssueRequestAppService.cs
@@ -1,25 +1,12 @@
using System;
using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations;
using System.Linq;
-using System.Linq.Expressions;
-using System.Threading;
using System.Threading.Tasks;
-using DocumentFormat.OpenXml.Office.PowerPoint.Y2021.M06.Main;
-using IdentityModel;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
-using Microsoft.EntityFrameworkCore;
using Volo.Abp;
-using Volo.Abp.Application.Dtos;
-using Volo.Abp.Domain.Entities;
-using Volo.Abp.Domain.Repositories;
-using Volo.Abp.ObjectMapping;
-using Win_in.Sfs.Basedata.Application;
using Win_in.Sfs.Basedata.Application.Contracts;
-using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
-using Win_in.Sfs.Shared.Event;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain;
using Win_in.Sfs.Wms.Store.Domain.Shared;
@@ -27,7 +14,7 @@ using Win_in.Sfs.Wms.Store.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Application;
///
-/// kitting叫料申请
+/// kitting叫料申请
///
[Authorize]
[Route($"{StoreConsts.RootPath}kitting-issue-request")]
@@ -42,7 +29,8 @@ public class KittingIssueRequestAppService : SfsStoreRequestAppServiceBase HandleAsync(Guid id)
{
- await Task.CompletedTask.ConfigureAwait(false);
- return null;
+ return await base.HandleAsync(id).ConfigureAwait(false);
}
[HttpPost("")]
@@ -88,18 +72,21 @@ public class KittingIssueRequestAppService : SfsStoreRequestAppServiceBase
- /// 赋值Request业务属性
+ /// 赋值Request业务属性
///
///
///
private async Task SetRequestAutoPropertiesAsync(KittingIssueRequestEditInput entity)
{
- var tranType = await _transactionTypeAppService.GetByTransTypeAsync(EnumTransType.Issue, EnumTransSubType.None).ConfigureAwait(false);
+ var tranType = await _transactionTypeAppService.GetByTransTypeAsync(EnumTransType.Issue, EnumTransSubType.None)
+ .ConfigureAwait(false);
Check.NotNull(tranType, "事务类型", "事务类型不存在");
entity.AutoSubmit = tranType.AutoSubmitRequest;
entity.AutoAgree = tranType.AutoAgreeRequest;
@@ -144,115 +133,108 @@ public class KittingIssueRequestAppService : SfsStoreRequestAppServiceBase
- /// 用来重写 导入数据时可以加工数据
- ///
- ///
- ///
- protected override async Task> ImportProcessingEntityAsync(
- Dictionary dictionary)
+ [HttpPost("UpdateStatusCompleted")]
+ public async Task UpdateStatusCompletedAsync(string number)
{
- var addList = dictionary.Where(p => p.Value == EntityState.Added).Select(p => p.Key);
+ var kittingIssueRequest=await _repository.FindAsync(p=>p.Number== number).ConfigureAwait(false);
+
+ var kittingIssueJobDtos=await _kittingIssueJobAppService.GetByRequestNumberAsync(kittingIssueRequest.Number).ConfigureAwait(false);
- foreach (var kittingIssueRequest in addList)
+ if (!kittingIssueJobDtos.Any(p =>
+ p.JobStatus == EnumJobStatus.Open || p.JobStatus == EnumJobStatus.Doing ||
+ p.JobStatus == EnumJobStatus.Partial) )
{
- kittingIssueRequest.Worker = CurrentUser.GetUserName();
- kittingIssueRequest.CreatorId = CurrentUser.Id;
- if (kittingIssueRequest.Type == EnumTransSubType.Issue_Manual.GetDisplayName())
+ return;
+ }
+ else
+ {
+ bool flag = true;
+
+ foreach (var detail in kittingIssueRequest.Details)
{
- kittingIssueRequest.Type = EnumTransSubType.Issue_Manual.ToString();
+ if (detail.Qty > detail.IssuedQty)
+ {
+ flag = false;
+ return;
+ }
}
- foreach (var detail in kittingIssueRequest.Details)
+ if (flag)
{
- var locationDto = await _locationAppService.GetByCodeAsync(detail.ToLocationCode).ConfigureAwait(false);
- CheckLocation(locationDto, detail.ToLocationCode);
-
- var itemBasicDto = await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false);
- CheckItemBasic(itemBasicDto, detail.ItemCode);
-
- detail.ToLocationArea = locationDto.AreaCode;
- detail.ToLocationErpCode = locationDto.ErpLocationCode;
- detail.ToLocationGroup = locationDto.LocationGroupCode;
- detail.ToWarehouseCode = locationDto.WarehouseCode;
- detail.ItemDesc1 = itemBasicDto.Desc1;
- detail.ItemDesc2 = itemBasicDto.Desc2;
- detail.ItemName = itemBasicDto.Name;
- detail.Uom = itemBasicDto.BasicUom;
- detail.StdPackQty = itemBasicDto.StdPackQty;
+ CheckStatus(EnumRequestStatus.Completed, kittingIssueRequest.RequestStatus);
+ kittingIssueRequest.RequestStatus = EnumRequestStatus.Completed;
+ await _repository.UpdateAsync(kittingIssueRequest).ConfigureAwait(false);
}
}
- return dictionary;
- }
-
- ///
- /// 导入验证
- ///
- ///
- ///
- ///
- protected override async Task ValidateImportModelAsync(KittingIssueRequestImportInput model,
- List validationRresult)
- {
- _ = new Dictionary();
- _ = await CheckItemBasicAsync(model, validationRresult).ConfigureAwait(false);
- _ = await CheckLocationAsync(model, validationRresult).ConfigureAwait(false);
- await CheckAreaAsync(model, validationRresult).ConfigureAwait(false);
- await CheckStoreRelationAsync(model, validationRresult).ConfigureAwait(false);
+ kittingIssueRequest.RequestStatus = EnumRequestStatus.Completed;
}
- #endregion
-
#region 校验
- protected override async Task ValidateImportEntities(Dictionary dict)
+ private void CheckStatus(EnumRequestStatus targetStatus, EnumRequestStatus nowStatus)
{
- foreach (var entity in dict.Keys)
+ var validSourceStatuses = new List();
+ switch (targetStatus)
{
- var tranType = await TransactionTypeAclService
- .GetByTransTypeAsync(EnumTransType.Issue, EnumTransSubType.None).ConfigureAwait(false);
-
- Check.NotNull(tranType, "事务类型", "事务类型不存在");
-
- entity.AutoCompleteJob = tranType.AutoCompleteJob;
- entity.AutoSubmit = tranType.AutoSubmitRequest;
- entity.AutoAgree = tranType.AutoAgreeRequest;
- entity.AutoHandle = tranType.AutoHandleRequest;
- entity.DirectCreateNote = tranType.DirectCreateNote;
+ case EnumRequestStatus.None:
+ break;
+ case EnumRequestStatus.New:
+ break;
+ case EnumRequestStatus.Reviewing:
+ validSourceStatuses = new List { EnumRequestStatus.New };
+ break;
+ case EnumRequestStatus.Refused:
+ validSourceStatuses = new List { EnumRequestStatus.Reviewing };
+ break;
+ case EnumRequestStatus.Agreed:
+ validSourceStatuses = new List { EnumRequestStatus.Reviewing };
+ break;
+ case EnumRequestStatus.Handling:
+ validSourceStatuses = new List
+ {
+ EnumRequestStatus.Agreed, EnumRequestStatus.Partial,
+ };
+ break;
+ case EnumRequestStatus.Completed:
+ validSourceStatuses = new List
+ {
+ EnumRequestStatus.Handling, EnumRequestStatus.Partial,
+ };
+ break;
+ case EnumRequestStatus.Cancelled:
+ validSourceStatuses = new List
+ {
+ EnumRequestStatus.New, EnumRequestStatus.Reviewing, EnumRequestStatus.Agreed,
+ };
+ break;
+ case EnumRequestStatus.Abort:
+ validSourceStatuses = new List
+ {
+ EnumRequestStatus.Handling, EnumRequestStatus.Partial,
+ };
+ break;
+ case EnumRequestStatus.Partial:
+ {
+ validSourceStatuses = new List
+ {
+ EnumRequestStatus.Handling, EnumRequestStatus.Partial,
+ };
+ break;
+ }
+ default:
+ throw new ArgumentOutOfRangeException(nameof(targetStatus), targetStatus, null);
}
- return await base.ValidateImportEntities(dict).ConfigureAwait(false);
- }
-
- protected async Task CheckAreaAsync(KittingIssueRequestImportInput importInput,
- List validationRresult)
- {
- var area = await _areaApp.GetByCodeAsync(importInput.FromLocationArea).ConfigureAwait(false);
- if (area == null)
+ if (!validSourceStatuses.Contains(nowStatus))
{
- validationRresult.Add(new ValidationResult($"调出库区{importInput.FromLocationArea}不存在", new[] { "调出库区" }));
- }
- }
-
- protected async Task CheckStoreRelationAsync(KittingIssueRequestImportInput importInput,
- List validationRresult)
- {
- var itemStoreRelation = await _itemStoreRelationApp
- .GetFirstAsync(importInput.ItemCode, importInput.ToLocationCode).ConfigureAwait(false);
- if (itemStoreRelation == null)
- {
- validationRresult.Add(new ValidationResult(
- $"物品代码{importInput.ItemCode}与目标库位{importInput.ToLocationCode}不存在对应关", new[] { "物品库位对应关系" }));
+ throw new UserFriendlyException(
+ $"当前状态为 {nowStatus.GetDisplayName()} ,无法变更为 {targetStatus.GetDisplayName()}");
}
}
@@ -271,39 +253,18 @@ public class KittingIssueRequestAppService : SfsStoreRequestAppServiceBase CheckItemBasicAsync(KittingIssueRequestImportInput importInput,
- List validationRresult)
+ private void CheckProductionLine(ProductionLineDTO productionLineDto, string productionCode)
{
- var item = await _itemBasicAppService.GetByCodeAsync(importInput.ItemCode).ConfigureAwait(false);
- if (item == null)
- {
- validationRresult.Add(new ValidationResult($"物品代码{importInput.ItemCode}不存在", new[] { "物品代码" }));
- }
- else if (item.StdPackQty == 0)
+ if (productionLineDto == null)
{
- validationRresult.Add(
- new ValidationResult($"物品代码{importInput.ItemCode}的物品信息中标准包装等于0或不存在", new[] { "标准包装" }));
+ throw new UserFriendlyException($"未找到生产线【{productionCode}】");
}
-
- return item;
- }
-
- protected async Task CheckLocationAsync(KittingIssueRequestImportInput importInput,
- List validationRresult)
- {
- var location = await _locationAppService.GetByCodeAsync(importInput.ToLocationCode).ConfigureAwait(false);
- if (location == null)
- {
- validationRresult.Add(new ValidationResult($"目标库位{importInput.ToLocationCode}不存在", new[] { "目标库位" }));
- }
-
- return location;
}
#endregion
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/KittingIssueRequests/KittingIssueRequestAutoMapperProfile.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/KittingIssueRequests/KittingIssueRequestAutoMapperProfile.cs
index 679bc87b1..641908973 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/KittingIssueRequests/KittingIssueRequestAutoMapperProfile.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/IssuelRequests/KittingIssueRequests/KittingIssueRequestAutoMapperProfile.cs
@@ -25,7 +25,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
CreateMap()
.IgnoreAuditedObjectProperties()
- .ForMember(x => x.Type, y => y.MapFrom(t => t.Type.ToString()))
.Ignore(x => x.UseOnTheWayLocation)
.Ignore(x => x.Details)
.Ignore(x => x.Remark)
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJob.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJob.cs
index 6dded95ea..c51492a35 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJob.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJob.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Threading.Tasks;
using Win_in.Sfs.Shared.Domain.Entities;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Domain;
@@ -12,11 +13,12 @@ namespace Win_in.Sfs.Wms.Store.Domain;
[Display(Name = "装配发料任务")]
public class AssembleIssueJob : SfsJobAggregateRootBase
{
+
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [IgnoreUpdate]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 生产线
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJob.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJob.cs
index 9acd01250..53715b721 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJob.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJob.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Threading.Tasks;
using Win_in.Sfs.Shared.Domain.Entities;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
using Win_in.Sfs.Wms.Store.Domain;
namespace Win_in.Sfs.Wms.Store.Jobs.IssueJobs;
@@ -14,10 +15,10 @@ namespace Win_in.Sfs.Wms.Store.Jobs.IssueJobs;
public class CoatingIssueJob : SfsJobAggregateRootBase
{
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [IgnoreUpdate]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 生产线
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJob.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJob.cs
index 44bcd96f8..819c4104e 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJob.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJob.cs
@@ -1,47 +1,44 @@
-using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
-using System.Threading.Tasks;
using Win_in.Sfs.Shared.Domain.Entities;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Domain;
///
-/// 注塑发料任务
+/// 注塑发料任务
///
[Display(Name = "注塑发料任务")]
public class InjectionIssueJob : SfsJobAggregateRootBase
{
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [IgnoreUpdate]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
- /// 生产线
+ /// 生产线
///
[IgnoreUpdate]
public string ProdLine { get; set; }
///
- /// 注塑要料单号
+ /// 注塑要料单号
///
[IgnoreUpdate]
public string InjectionIssueRequestNumber { get; set; }
///
- /// 使用在途库
+ /// 使用在途库
///
[Display(Name = "使用在途库")]
[IgnoreUpdate]
public bool UseOnTheWayLocation { get; set; }
///
- /// 任务明细
+ /// 任务明细
///
[IgnoreUpdate]
- public override List Details { get; set; } = new List();
-
-
+ public override List Details { get; set; } = new();
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobDetail.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobDetail.cs
index 436d8104e..b7a715fd9 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobDetail.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobDetail.cs
@@ -1,8 +1,9 @@
using System;
-using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Domain;
@@ -11,40 +12,46 @@ public class InjectionIssueJobDetail : SfsDetailEntityBase
#region 库存基础信息
///
- /// 物品代码
+ /// 物品代码
///
+ [Display(Name = "物品代码")]
public string ItemCode { get; set; }
///
- /// 物品名称
+ /// 物品名称
///
+ [Display(Name = "物品名称")]
public string ItemName { get; set; }
///
- /// 物品描述1
+ /// 物品描述1
///
+ [Display(Name = "物品描述1")]
public string ItemDesc1 { get; set; }
///
- /// 物品描述2
+ /// 物品描述2
///
+ [Display(Name = "物品描述2")]
public string ItemDesc2 { get; set; }
///
- /// 标包数量
+ /// 标包数量
///
[Display(Name = "标包数量")]
[Column(TypeName = "decimal(18,6)")]
public decimal StdPackQty { get; set; }
///
- /// 库存状态
+ /// 库存状态
///
+ [Display(Name = "库存状态")]
public EnumInventoryStatus Status { get; set; }
///
- /// 计量单位
+ /// 计量单位
///
+ [Display(Name = "计量单位")]
public string Uom { get; set; }
#endregion
@@ -52,52 +59,52 @@ public class InjectionIssueJobDetail : SfsDetailEntityBase
#region 请求信息
///
- /// 请求库位
+ /// 请求库位
///
public string RequestLocationCode { get; set; }
///
- /// 到库区
+ /// 到库区
///
public string RequestLocationArea { get; set; }
///
- /// 到库位组
+ /// 到库位组
///
public string RequestLocationGroup { get; set; }
///
- /// 到ERP库位
+ /// 到ERP库位
///
public string RequestLocationErpCode { get; set; }
///
- /// 到仓库
+ /// 到仓库
///
public string RequestWarehouseCode { get; set; }
///
- /// 在途库库位
+ /// 在途库库位
///
public string OnTheWayLocationCode { get; set; }
///
- /// 生产线
+ /// 生产线
///
public string ProdLine { get; set; }
///
- /// 位置码
+ /// 位置码
///
public string PositionCode { get; set; }
///
- /// 推荐的类型
+ /// 推荐的类型
///
public EnumRecommendType RecommendType { get; set; }
///
- /// 需求数量
+ /// 需求数量
///
public decimal RequestQty { get; set; }
@@ -106,67 +113,67 @@ public class InjectionIssueJobDetail : SfsDetailEntityBase
#region 推荐来源
///
- /// 推荐来源托标签
+ /// 推荐来源托标签
///
public string RecommendFromContainerCode { get; set; }
///
- /// 推荐来源箱标签
+ /// 推荐来源箱标签
///
public string RecommendFromPackingCode { get; set; }
///
- /// 推荐来源批次供应商批次
+ /// 推荐来源批次供应商批次
///
public string RecommendFromSupplierBatch { get; set; }
///
- /// 推荐来源批次到货时间
+ /// 推荐来源批次到货时间
///
public DateTime RecommendFromArriveDate { get; set; }
///
- /// 推荐来源批次生产时间
+ /// 推荐来源批次生产时间
///
public DateTime RecommendFromProduceDate { get; set; }
///
- /// 推荐来源批次过期时间
+ /// 推荐来源批次过期时间
///
public DateTime RecommendFromExpireDate { get; set; }
///
- /// 推荐来源批次排序
+ /// 推荐来源批次排序
///
public string RecommendFromLot { get; set; }
///
- /// 推荐来源库位
+ /// 推荐来源库位
///
public string RecommendFromLocationCode { get; set; }
///
- /// 推荐来源库区
+ /// 推荐来源库区
///
public string RecommendFromLocationArea { get; set; }
///
- /// 推荐来源库位组
+ /// 推荐来源库位组
///
public string RecommendFromLocationGroup { get; set; }
///
- /// 推荐来源ERP库位
+ /// 推荐来源ERP库位
///
public string RecommendFromLocationErpCode { get; set; }
///
- /// 推荐来源仓库
+ /// 推荐来源仓库
///
public string RecommendFromWarehouseCode { get; set; }
///
- /// 推荐来源数量
+ /// 推荐来源数量
///
public decimal RecommendFromQty { get; set; }
@@ -175,67 +182,67 @@ public class InjectionIssueJobDetail : SfsDetailEntityBase
#region 推荐目标
///
- /// 推荐目标托标签
+ /// 推荐目标托标签
///
public string RecommendToContainerCode { get; set; }
///
- /// 推荐目标箱标签
+ /// 推荐目标箱标签
///
public string RecommendToPackingCode { get; set; }
///
- /// 推荐目标批次供应商批次
+ /// 推荐目标批次供应商批次
///
public string RecommendToSupplierBatch { get; set; }
///
- /// 推荐目标批次到货时间
+ /// 推荐目标批次到货时间
///
public DateTime RecommendToArriveDate { get; set; }
///
- /// 推荐目标批次生产时间
+ /// 推荐目标批次生产时间
///
public DateTime RecommendToProduceDate { get; set; }
///
- /// 推荐目标批次过期时间
+ /// 推荐目标批次过期时间
///
public DateTime RecommendToExpireDate { get; set; }
///
- /// 推荐目标批次排序
+ /// 推荐目标批次排序
///
public string RecommendToLot { get; set; }
///
- /// 推荐目标库位
+ /// 推荐目标库位
///
public string RecommendToLocationCode { get; set; }
///
- /// 推荐目标库区
+ /// 推荐目标库区
///
public string RecommendToLocationArea { get; set; }
///
- /// 推荐目标库位组
+ /// 推荐目标库位组
///
public string RecommendToLocationGroup { get; set; }
///
- /// 推荐目标ERP库位
+ /// 推荐目标ERP库位
///
public string RecommendToLocationErpCode { get; set; }
///
- /// 推荐目标仓库
+ /// 推荐目标仓库
///
public string RecommendToWarehouseCode { get; set; }
///
- /// 推荐目标数量
+ /// 推荐目标数量
///
public decimal RecommendToQty { get; set; }
@@ -244,67 +251,67 @@ public class InjectionIssueJobDetail : SfsDetailEntityBase
#region 库移来源
///
- /// 库移来源托标签
+ /// 库移来源托标签
///
public string TransferLibFromContainerCode { get; set; }
///
- /// 库移来源箱标签
+ /// 库移来源箱标签
///
public string TransferLibFromPackingCode { get; set; }
///
- /// 库移来源批次供应商批次
+ /// 库移来源批次供应商批次
///
public string TransferLibFromSupplierBatch { get; set; }
///
- /// 库移来源批次到货时间
+ /// 库移来源批次到货时间
///
public DateTime TransferLibFromArriveDate { get; set; }
///
- /// 库移来源批次生产时间
+ /// 库移来源批次生产时间
///
public DateTime TransferLibFromProduceDate { get; set; }
///
- /// 库移来源批次过期时间
+ /// 库移来源批次过期时间
///
public DateTime TransferLibFromExpireDate { get; set; }
///
- /// 库移来源批次排序
+ /// 库移来源批次排序
///
public string TransferLibFromLot { get; set; }
///
- /// 库移来源库位
+ /// 库移来源库位
///
public string TransferLibFromLocationCode { get; set; }
///
- /// 库移来源库区
+ /// 库移来源库区
///
public string TransferLibFromLocationArea { get; set; }
///
- /// 库移来源库位组
+ /// 库移来源库位组
///
public string TransferLibFromLocationGroup { get; set; }
///
- /// 库移来源ERP库位
+ /// 库移来源ERP库位
///
public string TransferLibFromLocationErpCode { get; set; }
///
- /// 库移来源仓库
+ /// 库移来源仓库
///
public string TransferLibFromWarehouseCode { get; set; }
///
- /// 库移来源数量
+ /// 库移来源数量
///
public decimal TransferLibFromQty { get; set; }
@@ -313,67 +320,67 @@ public class InjectionIssueJobDetail : SfsDetailEntityBase
#region 库移目标
///
- /// 库移目标托标签
+ /// 库移目标托标签
///
public string TransferLibToContainerCode { get; set; }
///
- /// 库移目标箱标签
+ /// 库移目标箱标签
///
public string TransferLibToPackingCode { get; set; }
///
- /// 库移目标批次供应商批次
+ /// 库移目标批次供应商批次
///
public string TransferLibToSupplierBatch { get; set; }
///
- /// 库移目标批次到货时间
+ /// 库移目标批次到货时间
///
public DateTime TransferLibToArriveDate { get; set; }
///
- /// 库移目标批次生产时间
+ /// 库移目标批次生产时间
///
public DateTime TransferLibToProduceDate { get; set; }
///
- /// 库移目标批次过期时间
+ /// 库移目标批次过期时间
///
public DateTime TransferLibToExpireDate { get; set; }
///
- /// 库移目标批次排序
+ /// 库移目标批次排序
///
public string TransferLibToLot { get; set; }
///
- /// 库移目标库位
+ /// 库移目标库位
///
public string TransferLibToLocationCode { get; set; }
///
- /// 库移目标库区
+ /// 库移目标库区
///
public string TransferLibToLocationArea { get; set; }
///
- /// 库移目标库位组
+ /// 库移目标库位组
///
public string TransferLibToLocationGroup { get; set; }
///
- /// 库移目标ERP库位
+ /// 库移目标ERP库位
///
public string TransferLibToLocationErpCode { get; set; }
///
- /// 库移目标仓库
+ /// 库移目标仓库
///
public string TransferLibToWarehouseCode { get; set; }
///
- /// 库移目标数量
+ /// 库移目标数量
///
public decimal TransferLibToQty { get; set; }
@@ -382,67 +389,67 @@ public class InjectionIssueJobDetail : SfsDetailEntityBase
#region 实际来源
///
- /// 实际目标托标签
+ /// 实际目标托标签
///
public string HandledFromContainerCode { get; set; }
///
- /// 实际箱标签
+ /// 实际箱标签
///
public string HandledFromPackingCode { get; set; }
///
- /// 实际批次供应商批次
+ /// 实际批次供应商批次
///
public string HandledFromSupplierBatch { get; set; }
///
- /// 实际批次到货时间
+ /// 实际批次到货时间
///
public DateTime HandledFromArriveDate { get; set; }
///
- /// 实际批次生产时间
+ /// 实际批次生产时间
///
public DateTime HandledFromProduceDate { get; set; }
///
- /// 实际批次过期时间
+ /// 实际批次过期时间
///
public DateTime HandledFromExpireDate { get; set; }
///
- /// 实际批次排序
+ /// 实际批次排序
///
public string HandledFromLot { get; set; }
///
- /// 实际库位
+ /// 实际库位
///
public string HandledFromLocationCode { get; set; }
///
- /// 实际库区
+ /// 实际库区
///
public string HandledFromLocationArea { get; set; }
///
- /// 实际库位组
+ /// 实际库位组
///
public string HandledFromLocationGroup { get; set; }
///
- /// 实际ERP库位
+ /// 实际ERP库位
///
public string HandledFromLocationErpCode { get; set; }
///
- /// 实际仓库
+ /// 实际仓库
///
public string HandledFromWarehouseCode { get; set; }
///
- /// 实际数量
+ /// 实际数量
///
public decimal HandledFromQty { get; set; }
@@ -451,67 +458,67 @@ public class InjectionIssueJobDetail : SfsDetailEntityBase
#region 实际目标
///
- /// 实际目标托标签
+ /// 实际目标托标签
///
public string HandledToContainerCode { get; set; }
///
- /// 实际箱标签
+ /// 实际箱标签
///
public string HandledToPackingCode { get; set; }
///
- /// 实际批次供应商批次
+ /// 实际批次供应商批次
///
public string HandledToSupplierBatch { get; set; }
///
- /// 实际批次到货时间
+ /// 实际批次到货时间
///
public DateTime HandledToArriveDate { get; set; }
///
- /// 实际批次生产时间
+ /// 实际批次生产时间
///
public DateTime HandledToProduceDate { get; set; }
///
- /// 实际批次过期时间
+ /// 实际批次过期时间
///
public DateTime HandledToExpireDate { get; set; }
///
- /// 实际批次排序
+ /// 实际批次排序
///
public string HandledToLot { get; set; }
///
- /// 实际库位
+ /// 实际库位
///
public string HandledToLocationCode { get; set; }
///
- /// 实际库区
+ /// 实际库区
///
public string HandledToLocationArea { get; set; }
///
- /// 实际库位组
+ /// 实际库位组
///
public string HandledToLocationGroup { get; set; }
///
- /// 实际ERP库位
+ /// 实际ERP库位
///
public string HandledToLocationErpCode { get; set; }
///
- /// 实际仓库
+ /// 实际仓库
///
public string HandledToWarehouseCode { get; set; }
///
- /// 实际数量
+ /// 实际数量
///
public decimal HandledToQty { get; set; }
@@ -519,6 +526,6 @@ public class InjectionIssueJobDetail : SfsDetailEntityBase
public void SetId(Guid id)
{
- this.Id = id;
+ Id = id;
}
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJob.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJob.cs
index 74707b71a..5d4cf2c24 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJob.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJob.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Threading.Tasks;
using Win_in.Sfs.Shared.Domain.Entities;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Domain;
@@ -13,35 +14,31 @@ namespace Win_in.Sfs.Wms.Store.Domain;
public class KittingIssueJob : SfsJobAggregateRootBase
{
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [IgnoreUpdate]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 生产线
///
- [IgnoreUpdate]
public string ProdLine { get; set; }
///
/// 要料单号
///
- [IgnoreUpdate]
public string KittingRequestNumber { get; set; }
///
/// 使用在途库
///
[Display(Name = "使用在途库")]
- [IgnoreUpdate]
public bool UseOnTheWayLocation { get; set; }
///
/// 任务明细
///
- [IgnoreUpdate]
public override List Details { get; set; } = new List();
-
+ public EnumIssueSendType EnumIssueSendType { get; set; }
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/IssueNotes/AssembleIssueNotes/AssembleIssueNote.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/IssueNotes/AssembleIssueNotes/AssembleIssueNote.cs
index 533852b2d..60310d53e 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/IssueNotes/AssembleIssueNotes/AssembleIssueNote.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/IssueNotes/AssembleIssueNotes/AssembleIssueNote.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Volo.Abp;
using Win_in.Sfs.Shared.Domain.Entities;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Domain;
@@ -27,10 +28,10 @@ public class AssembleIssueNote : SfsStoreAggregateRootBase
- /// 叫料请求类型
+ /// 叫料类型
///
- [IgnoreUpdate]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 使用在途库
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNote.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNote.cs
index 360c84095..5c3280457 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNote.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/IssueNotes/CoatingIssueNotes/CoatingIssueNote.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Volo.Abp;
using Win_in.Sfs.Shared.Domain.Entities;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
using Win_in.Sfs.Wms.Store.Domain;
namespace Win_in.Sfs.Wms.Store.Notes.IssueNotes;
@@ -28,10 +29,10 @@ public class CoatingIssueNote : SfsStoreAggregateRootBase
- /// 叫料请求类型
+ /// 叫料类型
///
- [IgnoreUpdate]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 使用在途库
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/IssueNotes/InjectionIssueNotes/InjectionIssueNote.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/IssueNotes/InjectionIssueNotes/InjectionIssueNote.cs
index 6f650d255..960879c43 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/IssueNotes/InjectionIssueNotes/InjectionIssueNote.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/IssueNotes/InjectionIssueNotes/InjectionIssueNote.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Volo.Abp;
using Win_in.Sfs.Shared.Domain.Entities;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Domain;
@@ -27,10 +28,10 @@ public class InjectionIssueNote : SfsStoreAggregateRootBase
- /// 叫料请求类型
+ /// 叫料类型
///
- [IgnoreUpdate]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 使用在途库
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/IssueNotes/InjectionIssueNotes/InjectionIssueNoteDetail.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/IssueNotes/InjectionIssueNotes/InjectionIssueNoteDetail.cs
index 2ebdcc003..7428e0eb6 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/IssueNotes/InjectionIssueNotes/InjectionIssueNoteDetail.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/IssueNotes/InjectionIssueNotes/InjectionIssueNoteDetail.cs
@@ -3,6 +3,7 @@ using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Domain;
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/IssueNotes/KittingIssueNotes/KittingIssueNote.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/IssueNotes/KittingIssueNotes/KittingIssueNote.cs
index 46394a025..378f0ac76 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/IssueNotes/KittingIssueNotes/KittingIssueNote.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/IssueNotes/KittingIssueNotes/KittingIssueNote.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Volo.Abp;
using Win_in.Sfs.Shared.Domain.Entities;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Domain;
@@ -20,29 +21,24 @@ public class KittingIssueNote : SfsStoreAggregateRootBase
/// 明细列表
///
- [IgnoreUpdate]
public override List Details { get; set; } = new List();
- [IgnoreUpdate]
public string RequestNumber { get; set; }
-
///
- /// 叫料请求类型
+ /// 叫料类型
///
- [IgnoreUpdate]
- public string RequestType { get; set; }
+ [Display(Name = "叫料类型")]
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 使用在途库
///
- [IgnoreUpdate]
public bool UseOnTheWayLocation { get; set; }
///
/// 确认时间
///
[Display(Name = "确认时间")]
- [IgnoreUpdate]
public DateTime? ConfirmTime { get; set; }
///
@@ -51,6 +47,8 @@ public class KittingIssueNote : SfsStoreAggregateRootBase
{
///
- /// 叫料类型
+ /// 叫料类型
///
[Display(Name = "叫料类型")]
- [IgnoreUpdate]
- public string Type { get; set; }
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 使用在途库
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/CoatingIssuelRequests/CoatingIssueRequest.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/CoatingIssuelRequests/CoatingIssueRequest.cs
index 1af995bc6..1cbce661a 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/CoatingIssuelRequests/CoatingIssueRequest.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/CoatingIssuelRequests/CoatingIssueRequest.cs
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain.Entities;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
using Win_in.Sfs.Wms.Store.Domain;
namespace Win_in.Sfs.Wms.Store.Requests.MaterialRequests;
@@ -11,11 +12,10 @@ namespace Win_in.Sfs.Wms.Store.Requests.MaterialRequests;
public class CoatingIssueRequest : SfsStoreRequestAggregateRootBase
{
///
- /// 叫料类型
+ /// 叫料类型
///
[Display(Name = "叫料类型")]
- [IgnoreUpdate]
- public string Type { get; set; }
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 使用在途库
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/InjectionIssueRequests/InjectionIssueRequest.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/InjectionIssueRequests/InjectionIssueRequest.cs
index fc8355c98..55a447a0f 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/InjectionIssueRequests/InjectionIssueRequest.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/InjectionIssueRequests/InjectionIssueRequest.cs
@@ -1,29 +1,29 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain.Entities;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Domain;
///
-/// 注塑申请
+/// 注塑申请
///
public class InjectionIssueRequest : SfsStoreRequestAggregateRootBase
{
///
- /// 叫料类型
+ /// 叫料类型
///
[Display(Name = "叫料类型")]
- [IgnoreUpdate]
- public string Type { get; set; }
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
- /// 使用在途库
+ /// 使用在途库
///
public bool UseOnTheWayLocation { get; set; }
///
- /// 明细列表
+ /// 明细列表
///
[IgnoreUpdate]
- public override List Details { get; set; } = new List();
+ public override List Details { get; set; } = new();
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/InjectionIssueRequests/InjectionIssueRequestDetail.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/InjectionIssueRequests/InjectionIssueRequestDetail.cs
index 843bdcb62..7d74e93ef 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/InjectionIssueRequests/InjectionIssueRequestDetail.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/InjectionIssueRequests/InjectionIssueRequestDetail.cs
@@ -1,4 +1,3 @@
-using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Win_in.Sfs.Shared.Domain;
@@ -7,96 +6,95 @@ using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Domain;
///
-/// 注塑叫料申请明细
+/// 注塑叫料申请明细
///
public class InjectionIssueRequestDetail : SfsStoreDetailWithQtyEntityBase, IHasToLocation
{
#region 目标库位信息
///
- /// 目标库位
+ /// 目标库位
///
[Display(Name = "目标库位")]
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
public string ToLocationCode { get; set; }
///
- /// 目标库区
+ /// 目标库区
///
[Display(Name = "目标库区")]
public string ToLocationArea { get; set; }
///
- /// 目标库位组
+ /// 目标库位组
///
[Display(Name = "目标库位组")]
public string ToLocationGroup { get; set; }
///
- /// 目标ERP储位
+ /// 目标ERP储位
///
[Display(Name = "目标ERP储位")]
public string ToLocationErpCode { get; set; }
///
- /// 目标仓库
+ /// 目标仓库
///
[Display(Name = "目标仓库")]
public string ToWarehouseCode { get; set; }
#endregion
-
///
- /// 生产线
+ /// 生产线
///
public string ProdLine { get; set; }
///
- /// 已发数量
+ /// 已发数量
///
public decimal IssuedQty { get; set; }
///
- /// 已收数量
+ /// 已收数量
///
public decimal ReceivedQty { get; set; }
///
- /// 明细状态
+ /// 明细状态
///
public EnumStatus Status { get; set; }
///
- /// 请求未发 还未发送的数量
+ /// 请求未发 还未发送的数量
///
[NotMapped]
public decimal ToBeIssuedQty => Qty - IssuedQty;
///
- /// 已发未收
+ /// 已发未收
///
[NotMapped]
public decimal ToBeReceivedQty => IssuedQty - ReceivedQty;
///
- /// 请求未收
+ /// 请求未收
///
[NotMapped]
public decimal NotFinishQty => Qty - ReceivedQty;
///
- /// 位置码
+ /// 位置码
///
public string PositionCode { get; set; }
///
- /// 推荐类型
+ /// 推荐类型
///
public EnumRecommendType RecommendType { get; set; }
///
- /// 需求箱数量
+ /// 需求箱数量
///
[Display(Name = "需求箱数量")]
public decimal BoxQty { get; set; }
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/KittingIssueRequests/KittingIssueRequest.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/KittingIssueRequests/KittingIssueRequest.cs
index 35a4ec107..1bc480097 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/KittingIssueRequests/KittingIssueRequest.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/KittingIssueRequests/KittingIssueRequest.cs
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain.Entities;
+using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
namespace Win_in.Sfs.Wms.Store.Domain;
@@ -10,20 +11,18 @@ namespace Win_in.Sfs.Wms.Store.Domain;
public class KittingIssueRequest : SfsStoreRequestAggregateRootBase
{
///
- /// 叫料类型
+ /// 叫料类型
///
[Display(Name = "叫料类型")]
- [IgnoreUpdate]
- public string Type { get; set; }
+ public EnumIssueRequestType IssueRequestType { get; set; }
///
/// 使用在途库
///
public bool UseOnTheWayLocation { get; set; }
- ///
- /// 明细列表
- ///
- [IgnoreUpdate]
- public override List Details { get; set; } = new List();
+ /////
+ ///// 明细列表
+ /////
+ //public List Details { get; set; } = new List();
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/KittingIssueRequests/KittingIssueRequestManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/KittingIssueRequests/KittingIssueRequestManager.cs
index 2624c553d..7bd369ae5 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/KittingIssueRequests/KittingIssueRequestManager.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/IssueRequests/KittingIssueRequests/KittingIssueRequestManager.cs
@@ -19,11 +19,6 @@ public class KittingIssueRequestManager
_repository = repository;
}
- #region 东阳V2
-
- #endregion
-
-
///
/// 创建 同时 直接赋值Number 为了返回Number
///
@@ -53,22 +48,8 @@ public class KittingIssueRequestManager
}
}
-
- #region 导入
-
- ///
- /// 执行导入
- ///
- public virtual async Task ImportDataAsync(List mergeEntities,
- List deleteEntities = null)
+ public Task ImportDataAsync(List entities, List deleteEntities = null)
{
- if (deleteEntities != null && deleteEntities.Count > 0)
- {
- await _repository.BulkDeleteAsync(deleteEntities).ConfigureAwait(false);
- }
-
- await CreateManyAsync(mergeEntities).ConfigureAwait(false);
+ throw new System.NotImplementedException();
}
-
- #endregion
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobDbContextModelCreatingExtensions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobDbContextModelCreatingExtensions.cs
index b5fd375b9..5af1510ff 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobDbContextModelCreatingExtensions.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobDbContextModelCreatingExtensions.cs
@@ -21,7 +21,6 @@ public static class AssembleIssueJobDbContextModelCreatingExtensions
//Configure Job base properties
b.ConfigureJob();
//Properties
- b.Property(q => q.RequestType).HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.AssembleRequestNumber).HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.ProdLine).HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.JobType).HasConversion();
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/IssueJobs/CoatingIssueJob/CoatingIssueJobDbContextModelCreatingExtensions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/IssueJobs/CoatingIssueJob/CoatingIssueJobDbContextModelCreatingExtensions.cs
index f9abf7d85..304324f4f 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/IssueJobs/CoatingIssueJob/CoatingIssueJobDbContextModelCreatingExtensions.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/IssueJobs/CoatingIssueJob/CoatingIssueJobDbContextModelCreatingExtensions.cs
@@ -22,7 +22,6 @@ public static class CoatingIssueJobDbContextModelCreatingExtensions
//Configure Job base properties
b.ConfigureJob();
//Properties
- b.Property(q => q.RequestType).HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.MaterialRequestNumber).HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.ProdLine).HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.JobType).HasConversion();
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobDbContextModelCreatingExtensions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobDbContextModelCreatingExtensions.cs
index 70a34bc6f..0a5feec23 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobDbContextModelCreatingExtensions.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobDbContextModelCreatingExtensions.cs
@@ -21,7 +21,6 @@ public static class InjectionIssueJobDbContextModelCreatingExtensions
//Configure Job base properties
b.ConfigureJob();
//Properties
- b.Property(q => q.RequestType).HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.InjectionIssueRequestNumber).HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.ProdLine).HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.JobType).HasConversion();
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobDbContextModelCreatingExtensions.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobDbContextModelCreatingExtensions.cs
index e2ca203f8..11f32d8f2 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobDbContextModelCreatingExtensions.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobDbContextModelCreatingExtensions.cs
@@ -21,7 +21,6 @@ public static class KittingIssueJobDbContextModelCreatingExtensions
//Configure Job base properties
b.ConfigureJob();
//Properties
- b.Property(q => q.RequestType).HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.KittingRequestNumber).HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.ProdLine).HasMaxLength(SfsPropertyConst.CodeLength);
b.Property(q => q.JobType).HasConversion();
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Migrations/20240426024936_Update_Issue.Designer.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Migrations/20240426024936_Update_Issue.Designer.cs
new file mode 100644
index 000000000..f9920e15b
--- /dev/null
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.EntityFrameworkCore/Migrations/20240426024936_Update_Issue.Designer.cs
@@ -0,0 +1,32114 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Volo.Abp.EntityFrameworkCore;
+using Win_in.Sfs.Wms.Store.EntityFrameworkCore;
+
+#nullable disable
+
+namespace Win_in.Sfs.Wms.Store.Migrations
+{
+ [DbContext(typeof(StoreDbContext))]
+ [Migration("20240426024936_Update_Issue")]
+ partial class Update_Issue
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
+ .HasAnnotation("ProductVersion", "6.0.13")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
+
+ modelBuilder.Entity("Win_in.Sfs.Wms.Store.Domain.AssembleIssueJob", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("AcceptTime")
+ .HasColumnType("datetime2");
+
+ b.Property("AcceptUserId")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("AcceptUserName")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("AssembleRequestNumber")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("CompleteTime")
+ .HasColumnType("datetime2");
+
+ b.Property("CompleteUserId")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CompleteUserName")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("nvarchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("IsAutoComplete")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bit")
+ .HasDefaultValue(false);
+
+ b.Property("JobDescription")
+ .HasMaxLength(1024)
+ .HasColumnType("nvarchar(1024)");
+
+ b.Property("JobStatus")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("JobType")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("Number")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("Priority")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int")
+ .HasDefaultValue(0);
+
+ b.Property("PriorityIncrement")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int")
+ .HasDefaultValue(0);
+
+ b.Property("ProdLine")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("Remark")
+ .HasMaxLength(3072)
+ .HasColumnType("nvarchar(3072)")
+ .HasColumnName("Remark");
+
+ b.Property("RequestType")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("TenantId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("TenantId");
+
+ b.Property("UpStreamJobNumber")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("UseOnTheWayLocation")
+ .HasColumnType("bit");
+
+ b.Property("WarehouseCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("WorkGroupCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("Worker")
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Number")
+ .IsUnique();
+
+ b.ToTable("Job_AssembleIssueJob", (string)null);
+ });
+
+ modelBuilder.Entity("Win_in.Sfs.Wms.Store.Domain.AssembleIssueJobDetail", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("HandledFromArriveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("HandledFromContainerCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledFromExpireDate")
+ .HasColumnType("datetime2");
+
+ b.Property("HandledFromLocationArea")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledFromLocationCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledFromLocationErpCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledFromLocationGroup")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledFromLot")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledFromPackingCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledFromProduceDate")
+ .HasColumnType("datetime2");
+
+ b.Property("HandledFromQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("HandledFromSupplierBatch")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledFromWarehouseCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledToArriveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("HandledToContainerCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledToExpireDate")
+ .HasColumnType("datetime2");
+
+ b.Property("HandledToLocationArea")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledToLocationCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledToLocationErpCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledToLocationGroup")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledToLot")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledToPackingCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledToProduceDate")
+ .HasColumnType("datetime2");
+
+ b.Property("HandledToQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("HandledToSupplierBatch")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledToWarehouseCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ItemCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ItemDesc1")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ItemDesc2")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("ItemName")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("MasterID")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("Number")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("OnTheWayLocationCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("PositionCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("ProdLine")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("RecommendFromArriveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("RecommendFromContainerCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RecommendFromExpireDate")
+ .HasColumnType("datetime2");
+
+ b.Property("RecommendFromLocationArea")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RecommendFromLocationCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RecommendFromLocationErpCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RecommendFromLocationGroup")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RecommendFromLot")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RecommendFromPackingCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RecommendFromProduceDate")
+ .HasColumnType("datetime2");
+
+ b.Property("RecommendFromQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("RecommendFromSupplierBatch")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RecommendFromWarehouseCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RecommendToArriveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("RecommendToContainerCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RecommendToExpireDate")
+ .HasColumnType("datetime2");
+
+ b.Property("RecommendToLocationArea")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RecommendToLocationCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RecommendToLocationErpCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RecommendToLocationGroup")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RecommendToLot")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RecommendToPackingCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RecommendToProduceDate")
+ .HasColumnType("datetime2");
+
+ b.Property("RecommendToQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("RecommendToSupplierBatch")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RecommendToWarehouseCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RecommendType")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("Remark")
+ .HasMaxLength(3072)
+ .HasColumnType("nvarchar(3072)")
+ .HasColumnName("Remark");
+
+ b.Property("RequestLocationArea")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RequestLocationCode")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("RequestLocationErpCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RequestLocationGroup")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("RequestQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("RequestWarehouseCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Status")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("StdPackQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("TenantId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("TenantId");
+
+ b.Property("TransferLibFromArriveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("TransferLibFromContainerCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TransferLibFromExpireDate")
+ .HasColumnType("datetime2");
+
+ b.Property("TransferLibFromLocationArea")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TransferLibFromLocationCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TransferLibFromLocationErpCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TransferLibFromLocationGroup")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TransferLibFromLot")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TransferLibFromPackingCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TransferLibFromProduceDate")
+ .HasColumnType("datetime2");
+
+ b.Property("TransferLibFromQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("TransferLibFromSupplierBatch")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TransferLibFromWarehouseCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TransferLibToArriveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("TransferLibToContainerCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TransferLibToExpireDate")
+ .HasColumnType("datetime2");
+
+ b.Property("TransferLibToLocationArea")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TransferLibToLocationCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TransferLibToLocationErpCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TransferLibToLocationGroup")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TransferLibToLot")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TransferLibToPackingCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TransferLibToProduceDate")
+ .HasColumnType("datetime2");
+
+ b.Property("TransferLibToQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("TransferLibToSupplierBatch")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("TransferLibToWarehouseCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Uom")
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("MasterID");
+
+ b.ToTable("Job_AssembleIssueJobDetail", (string)null);
+ });
+
+ modelBuilder.Entity("Win_in.Sfs.Wms.Store.Domain.AssembleIssueNote", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("ActiveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("nvarchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("ConfirmTime")
+ .HasColumnType("datetime2");
+
+ b.Property("Confirmed")
+ .HasColumnType("bit");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("JobNumber")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("JobNumber");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("Number")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("Number");
+
+ b.Property("Remark")
+ .HasMaxLength(3072)
+ .HasColumnType("nvarchar(3072)")
+ .HasColumnName("Remark");
+
+ b.Property("RequestNumber")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("RequestType")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ b.Property("TenantId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("TenantId");
+
+ b.Property("UseOnTheWayLocation")
+ .HasColumnType("bit");
+
+ b.Property("Worker")
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Number")
+ .IsUnique();
+
+ b.ToTable("Store_AssembleIssueNote", (string)null);
+ });
+
+ modelBuilder.Entity("Win_in.Sfs.Wms.Store.Domain.AssembleIssueNoteDetail", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("HandledFromArriveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("HandledFromContainerCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledFromExpireDate")
+ .HasColumnType("datetime2");
+
+ b.Property("HandledFromLocationArea")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledFromLocationCode")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("HandledFromLocationErpCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledFromLocationGroup")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledFromLot")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledFromPackingCode")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("HandledFromProduceDate")
+ .HasColumnType("datetime2");
+
+ b.Property("HandledFromQty")
+ .HasColumnType("decimal(18,6)");
+
+ b.Property("HandledFromSupplierBatch")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledFromWarehouseCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledToArriveDate")
+ .HasColumnType("datetime2");
+
+ b.Property("HandledToContainerCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledToExpireDate")
+ .HasColumnType("datetime2");
+
+ b.Property("HandledToLocationArea")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledToLocationCode")
+ .HasColumnType("nvarchar(450)");
+
+ b.Property("HandledToLocationErpCode")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("HandledToLocationGroup")
+ .HasColumnType("nvarchar(max)");
+
+ b.Property