From 98ea0648f9373679de108ccbab5dcc97c2f0c67c Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周五, 16 5月 2025 13:00:17 +0800
Subject: [PATCH] 叫料接口
---
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/LMesOperateAppService.cs | 12 +++--
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs | 10 +++++
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs | 47 ++++++++++++-----------
3 files changed, 42 insertions(+), 27 deletions(-)
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs
index 81e92fe..ae4e6eb 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs
@@ -51,5 +51,15 @@
/// 鍘熸枡鏍囪瘑
/// </summary>
public string DataIdentifier { get; set; }
+
+ /// <summary>
+ /// 蹇界暐鍑哄簱鍗曞彿
+ /// </summary>
+ public bool IgnoreOrder { get; set; }
+
+ /// <summary>
+ /// 浼樺厛绾�
+ /// </summary>
+ public int Priority { get; set; }
}
}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/LMesOperateAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/LMesOperateAppService.cs
index 74cce40..d9d1571 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/LMesOperateAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/LMesOperateAppService.cs
@@ -53,9 +53,9 @@
throw new UserFriendlyException("鍙枡鍙傛暟閿欒");
}
- //using var scope = _serviceProvider.CreateScope();
- //var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
- //using var uow = unitOfWorkManager.Begin(requiresNew: true);
+ using var scope = _serviceProvider.CreateScope();
+ var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
+ using var uow = unitOfWorkManager.Begin(requiresNew: true);
var result = new List<CallMaterialOutput>();
foreach (var item in input)
@@ -89,7 +89,6 @@
OrderStatus = Domain.Shared.Enums.OrderStatusEnum.Executing,
OperateTime = DateTime.Now,
DistributeNumber = 1,
-
};
var createResult = await _wmsInOutStockOrderAppService.CreateAsync(createOrderInput);
@@ -104,13 +103,16 @@
MaterialNo = materiaL.MaterialNo,
MaterialName = materiaL.MaterialName,
DataIdentifier = item.DataIdentifier,
+ IgnoreOrder = true,
+ OrderType = createResult.OrderType,
+ Priority = createResult.Priority
},
};
var callresult = await _wmsOutStockOrderAppService.CallMaterialAsync(callInput);
result.AddRange(callresult);
}
- //await uow.SaveChangesAsync();
+ await uow.SaveChangesAsync();
return result;
}
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs
index acc587b..6e98af0 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs
@@ -39,7 +39,7 @@
_serviceProvider = serviceProvider;
}
- public async Task<List<CallMaterialOutput>>CallMaterialAsync(List<CallMaterialInput> input)
+ public async Task<List<CallMaterialOutput>> CallMaterialAsync(List<CallMaterialInput> input)
{
using var scope = _serviceProvider.CreateScope();
var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
@@ -53,32 +53,35 @@
var callOutput = new List<CallMaterialOutput>();
foreach (var inputItem in input)
{
- var order = await _wmsInOutStockOrderRepository.FindByNameAsync(inputItem.OrderNo);
- if (order == null)
- {
- throw new UserFriendlyException("鍑哄簱鍗曟嵁涓嶅瓨鍦�");
- }
- if(order.OrderType == OrderTypeEnum.SelfMadeParts || order.OrderType == OrderTypeEnum.PERSONIN)
- {
- throw new UserFriendlyException("鍏ュ簱鍗曚笉鍏佽鍙枡");
- }
if (inputItem.MaterialNumber <= 0)
{
throw new UserFriendlyException("鍙枡鏁伴噺蹇呴』澶т簬0");
}
- if(order.OrderStatus == OrderStatusEnum.Finish)
+ if (!inputItem.IgnoreOrder)
{
- throw new UserFriendlyException("宸插畬鎴愬崟鎹笉鍏佽鍙枡");
- }
- if (order.MaterialNumber < inputItem.MaterialNumber+order.DistributeNumber)
- {
- throw new UserFriendlyException("鍙枡鏁伴噺涓嶈兘澶т簬鍗曟嵁鏁伴噺");
- }
- order.OrderStatus = OrderStatusEnum.Executing;
- order.DistributeNumber = inputItem.MaterialNumber;
- order.OperateTime = DateTime.Now;
+ var order = await _wmsInOutStockOrderRepository.FindByNameAsync(inputItem.OrderNo);
+ if (order == null)
+ {
+ throw new UserFriendlyException("鍑哄簱鍗曟嵁涓嶅瓨鍦�");
+ }
+ if (order.OrderType == OrderTypeEnum.SelfMadeParts || order.OrderType == OrderTypeEnum.PERSONIN)
+ {
+ throw new UserFriendlyException("鍏ュ簱鍗曚笉鍏佽鍙枡");
+ }
+ if (order.OrderStatus == OrderStatusEnum.Finish)
+ {
+ throw new UserFriendlyException("宸插畬鎴愬崟鎹笉鍏佽鍙枡");
+ }
+ if (order.MaterialNumber < inputItem.MaterialNumber + order.DistributeNumber)
+ {
+ throw new UserFriendlyException("鍙枡鏁伴噺涓嶈兘澶т簬鍗曟嵁鏁伴噺");
+ }
+ order.OrderStatus = OrderStatusEnum.Executing;
+ order.DistributeNumber = inputItem.MaterialNumber;
+ order.OperateTime = DateTime.Now;
- await _wmsInOutStockOrderRepository.UpdateAsync(order);
+ await _wmsInOutStockOrderRepository.UpdateAsync(order);
+ }
var stockresult = await _wmsCommonAppService.FindStockAsync(inputItem.MaterialModel, inputItem.MaterialNumber);
if (stockresult == null)
@@ -102,7 +105,7 @@
TaskType = TaskTypeEnum.CHUKU,
SonTaskType = inputItem.OrderType == OrderTypeEnum.PRODUCTCALL ? SonTaskTypeEnum.ZDCHUKU : SonTaskTypeEnum.RGRUKU,
TaskStatus = WmsTaskStatus.WEIZHIXING,
- TaskLevel = order.Priority,
+ TaskLevel = inputItem.Priority,
Aisle = 1,
DodeviceId = 0,
Dodevicetype = DodevicetypeEnum.Srm,
--
Gitblit v1.9.3