From 3aa3b3e91f274d1544f397e9f286853d01187fcd Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周三, 04 6月 2025 17:41:04 +0800
Subject: [PATCH] 变量文档
---
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs | 54 ++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 40 insertions(+), 14 deletions(-)
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 0bb41f5..6e98af0 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs
@@ -1,4 +1,6 @@
-锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto;
+锘縰sing CMS.Plugin.HIAWms.Application.Contracts.Dtos.CommonDto;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.OutStockDto;
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsMaterialStocks;
using CMS.Plugin.HIAWms.Application.Contracts.Services;
using CMS.Plugin.HIAWms.Domain.Shared.Enums;
using CMS.Plugin.HIAWms.Domain.WmsInOutStockOrder;
@@ -37,7 +39,7 @@
_serviceProvider = serviceProvider;
}
- public async Task CallMaterialAsync(List<CallMaterialInput> input)
+ public async Task<List<CallMaterialOutput>> CallMaterialAsync(List<CallMaterialInput> input)
{
using var scope = _serviceProvider.CreateScope();
var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>();
@@ -48,25 +50,38 @@
{
throw new UserFriendlyException("涓�娆″彨鏂欏彧鑳介拡瀵瑰悓涓�鍨嬪彿鐨勭墿鏂欙紒");
}
+ var callOutput = new List<CallMaterialOutput>();
foreach (var inputItem in input)
{
- var order = await _wmsInOutStockOrderRepository.FindByNameAsync(inputItem.OrderNo);
- if (order == null)
- {
- throw new UserFriendlyException("鍑哄簱鍗曟嵁涓嶅瓨鍦�");
- }
if (inputItem.MaterialNumber <= 0)
{
throw new UserFriendlyException("鍙枡鏁伴噺蹇呴』澶т簬0");
}
- if (order.MaterialNumber < inputItem.MaterialNumber)
+ if (!inputItem.IgnoreOrder)
{
- throw new UserFriendlyException("鍙枡鏁伴噺涓嶈兘澶т簬鍗曟嵁鏁伴噺");
- }
- order.OrderStatus = OrderStatusEnum.Executing;
- order.DistributeNumber = inputItem.MaterialNumber;
+ 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)
@@ -90,16 +105,25 @@
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,
TaskDodeviceStatus = TaskDodeviceStatus.SrmNoStart,
IsNextTask = (int)YesNoEnum.Y,
IsRead = true,
+ PlcTaskId = new Random(Guid.NewGuid().GetHashCode()).Next(101, 99999),
SourceOrderNo = inputItem.OrderNo,
MutableParam1 = inputItem.MaterialModel,
+ MutableParam2 = inputItem.DataIdentifier
};
taskList.Add(task);
+
+ var output = ObjectMapper.Map<WmsMaterialStockDto, CallMaterialOutput>(stock);
+ output.TaskNo = task.TaskNo;
+ output.PlcTaskId = task.PlcTaskId;
+ output.SourceOrderNo = task.SourceOrderNo;
+ callOutput.Add(output);
}
}
await _wmsTaskRepository.InsertManyAsync(taskList);
@@ -107,6 +131,8 @@
await uow.SaveChangesAsync();
await uow.CompleteAsync();
+
+ return callOutput;
}
}
}
--
Gitblit v1.9.3