From 4209c8ff313ce8bac44bc9fe0b2260111a3fb388 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周六, 10 5月 2025 15:22:13 +0800
Subject: [PATCH] 优化接口
---
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs | 145 +++++++++++++++++++++++++++++-------------------
1 files changed, 88 insertions(+), 57 deletions(-)
diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs
index a5ffc7b..2366783 100644
--- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs
+++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs
@@ -1,8 +1,8 @@
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsTask;
using CMS.Plugin.HIAWms.Application.Contracts.Services;
using CMS.Plugin.HIAWms.Domain.Shared;
-using CMS.Plugin.HIAWms.Domain.WmsTask;
using CmsQueryExtensions;
+using CMS.Plugin.HIAWms.Domain.WmsTask;
using CmsQueryExtensions.Extension;
using System.Linq.Expressions;
using Volo.Abp;
@@ -10,27 +10,33 @@
using Volo.Abp.Data;
using Volo.Abp.ObjectExtending;
using Volo.Abp.ObjectMapping;
+using CMS.Plugin.HIAWms.Domain.WmsContainers;
+using CMS.Plugin.HIAWms.Domain.WmsPlaces;
namespace CMS.Plugin.HIAWms.Application.Implements;
/// <summary>
-/// Wms浠诲姟绠$悊琛ㄥ簲鐢ㄦ湇鍔�
+/// Wms浠诲姟绠$悊搴旂敤鏈嶅姟
/// </summary>
public class WmsTaskAppService : CMSPluginAppService, IWmsTaskAppService
{
private readonly IWmsTaskRepository wmsTaskRepository;
+ private readonly IWmsContainerRepository _wmsContainerRepository;
+ private readonly IWmsPlaceRepository _wmsPlaceRepository;
/// <summary>
/// Initializes a new instance of the <see cref="WmsTaskAppService"/> class.
/// </summary>
/// <param name="WmsTaskRepository">The task job repository.</param>
- public WmsTaskAppService(IWmsTaskRepository _WmsTaskRepository)
+ public WmsTaskAppService(IWmsTaskRepository _WmsTaskRepository, IWmsContainerRepository wmsContainerRepository, IWmsPlaceRepository wmsPlaceRepository)
{
wmsTaskRepository = _WmsTaskRepository;
+ _wmsContainerRepository = wmsContainerRepository;
+ _wmsPlaceRepository = wmsPlaceRepository;
}
/// <summary>
- /// 鑾峰彇鎸囧畾Wms浠诲姟绠$悊琛�
+ /// 鑾峰彇鎸囧畾Wms浠诲姟绠$悊
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
@@ -40,7 +46,7 @@
}
/// <summary>
- /// 鍒嗛〉鑾峰彇Wms浠诲姟绠$悊琛�
+ /// 鍒嗛〉鑾峰彇Wms浠诲姟绠$悊
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
@@ -90,7 +96,7 @@
}
/// <summary>
- /// 鏂板缓Wms浠诲姟绠$悊琛�
+ /// 鏂板缓Wms浠诲姟绠$悊
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
@@ -103,6 +109,24 @@
if (exist)
{
throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.TaskNo]);
+ }
+ // 鏍¢獙鎵樼洏鏄惁瀛樺湪
+ var existContainer = await _wmsContainerRepository.NameExistAsync(input.ContainerNo);
+ if (existContainer)
+ {
+ throw new UserFriendlyException("鎵樼洏涓嶅瓨鍦紝璇峰厛娣诲姞鎵樼洏");
+ }
+ // 鏍¢獙鐗╂枡鏄惁瀛樺湪
+ var existSourcePlace = await _wmsPlaceRepository.NameExistAsync(input.SourcePlace);
+ if (existSourcePlace)
+ {
+ throw new UserFriendlyException("璧峰搴撲綅涓嶅瓨鍦紝璇峰厛娣诲姞搴撲綅");
+ }
+ //鏍¢獙搴撲綅鏄惁瀛樺湪
+ var existToPlace = await _wmsPlaceRepository.NameExistAsync(input.ToPlace);
+ if (existToPlace)
+ {
+ throw new UserFriendlyException("鐩爣搴撲綅涓嶅瓨鍦紝璇峰厛娣诲姞搴撲綅");
}
var maxSort = await wmsTaskRepository.GetMaxSortAsync();
@@ -123,7 +147,7 @@
}
/// <summary>
- /// 鏇存柊Wms浠诲姟绠$悊琛�
+ /// 鏇存柊Wms浠诲姟绠$悊
/// </summary>
/// <param name="id"></param>
/// <param name="input"></param>
@@ -141,28 +165,32 @@
}
updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp);
+ if(input.TaskStatus == Domain.Shared.Enums.WmsTaskStatus.WANCHENG || input.TaskStatus == Domain.Shared.Enums.WmsTaskStatus.QUXIAO)
+ {
+ throw new UserFriendlyException("瀹屾垚鎴栬�呭彇娑堢殑浠诲姟涓嶅厑璁告洿鏀�");
+ }
+
input.MapExtraPropertiesTo(updateObj, MappingPropertyDefinitionChecks.None);
- updateObj.Aisle = input.Aisle;
+ updateObj.TaskNo = input.TaskNo;
+ updateObj.TaskType = input.TaskType;
+ updateObj.TaskLevel = input.TaskLevel;
+ updateObj.TaskStatus = input.TaskStatus;
updateObj.ContainerNo = input.ContainerNo;
+ updateObj.SourcePlace = input.SourcePlace;
+ updateObj.ToPlace = input.ToPlace;
+ updateObj.Aisle = input.Aisle;
updateObj.DodeviceId = input.DodeviceId;
updateObj.Dodevicetype = input.Dodevicetype;
- updateObj.IsDisabled = input.IsDisabled;
- updateObj.IsNextTask = input.IsNextTask;
+ updateObj.TaskDodeviceStatus = input.TaskDodeviceStatus;
updateObj.IsRead = input.IsRead;
+ updateObj.SonTaskType = input.SonTaskType;
+ updateObj.SourceOrderNo = input.SourceOrderNo;
+ updateObj.IsNextTask = input.IsNextTask;
updateObj.MutableParam1 = input.MutableParam1;
updateObj.MutableParam2 = input.MutableParam2;
updateObj.MutableParam3 = input.MutableParam3;
- updateObj.SonTaskType = input.SonTaskType;
- updateObj.SourceOrderNo = input.SourceOrderNo;
- updateObj.SourcePlace = input.SourcePlace;
- updateObj.TaskDodeviceStatus = input.TaskDodeviceStatus;
- updateObj.TaskLevel = input.TaskLevel;
- updateObj.TaskNo = input.TaskNo;
- updateObj.TaskStatus = input.TaskStatus;
- updateObj.TaskType = input.TaskType;
- updateObj.ToPlace = input.ToPlace;
-
+ updateObj.IsDisabled = input.IsDisabled;
await wmsTaskRepository.UpdateAsync(updateObj);
@@ -170,7 +198,7 @@
}
/// <summary>
- /// 鍏嬮殕Wms浠诲姟绠$悊琛�
+ /// 鍏嬮殕Wms浠诲姟绠$悊
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
@@ -210,7 +238,7 @@
}
/// <summary>
- /// 鍒犻櫎鍗曚釜Wms浠诲姟绠$悊琛�
+ /// 鍒犻櫎鍗曚釜Wms浠诲姟绠$悊
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
@@ -220,7 +248,7 @@
}
/// <summary>
- /// 鍒犻櫎澶氫釜Wms浠诲姟绠$悊琛�
+ /// 鍒犻櫎澶氫釜Wms浠诲姟绠$悊
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
@@ -233,7 +261,7 @@
}
/// <summary>
- /// 璋冩暣鎺掑簭Wms浠诲姟绠$悊琛�
+ /// 璋冩暣鎺掑簭Wms浠诲姟绠$悊
/// </summary>
/// <param name="id"></param>
/// <param name="sort"></param>
@@ -271,7 +299,7 @@
}
/// <summary>
- /// 瀵煎叆Wms浠诲姟绠$悊琛�
+ /// 瀵煎叆Wms浠诲姟绠$悊
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
@@ -317,25 +345,25 @@
{
var wmsTaskUpdateDto = new WmsTaskUpdateDto
{
- Aisle = impItem.Aisle,
+ TaskNo = impItem.TaskNo,
+ TaskType = impItem.TaskType,
+ TaskLevel = impItem.TaskLevel,
+ TaskStatus = impItem.TaskStatus,
ContainerNo = impItem.ContainerNo,
+ SourcePlace = impItem.SourcePlace,
+ ToPlace = impItem.ToPlace,
+ Aisle = impItem.Aisle,
DodeviceId = impItem.DodeviceId,
Dodevicetype = impItem.Dodevicetype,
- IsDisabled = impItem.IsDisabled,
- IsNextTask = impItem.IsNextTask,
+ TaskDodeviceStatus = impItem.TaskDodeviceStatus,
IsRead = impItem.IsRead,
+ SonTaskType = impItem.SonTaskType,
+ SourceOrderNo = impItem.SourceOrderNo,
+ IsNextTask = impItem.IsNextTask,
MutableParam1 = impItem.MutableParam1,
MutableParam2 = impItem.MutableParam2,
MutableParam3 = impItem.MutableParam3,
- SonTaskType = impItem.SonTaskType,
- SourceOrderNo = impItem.SourceOrderNo,
- SourcePlace = impItem.SourcePlace,
- TaskDodeviceStatus = impItem.TaskDodeviceStatus,
- TaskLevel = impItem.TaskLevel,
- TaskNo = impItem.TaskNo,
- TaskStatus = impItem.TaskStatus,
- TaskType = impItem.TaskType,
- ToPlace = impItem.ToPlace,
+ IsDisabled = impItem.IsDisabled,
};
@@ -345,25 +373,25 @@
{
var wmsTaskCreateDto = new WmsTaskCreateDto
{
- Aisle = impItem.Aisle,
+ TaskNo = impItem.TaskNo,
+ TaskType = impItem.TaskType,
+ TaskLevel = impItem.TaskLevel,
+ TaskStatus = impItem.TaskStatus,
ContainerNo = impItem.ContainerNo,
+ SourcePlace = impItem.SourcePlace,
+ ToPlace = impItem.ToPlace,
+ Aisle = impItem.Aisle,
DodeviceId = impItem.DodeviceId,
Dodevicetype = impItem.Dodevicetype,
- IsDisabled = impItem.IsDisabled,
- IsNextTask = impItem.IsNextTask,
+ TaskDodeviceStatus = impItem.TaskDodeviceStatus,
IsRead = impItem.IsRead,
+ SonTaskType = impItem.SonTaskType,
+ SourceOrderNo = impItem.SourceOrderNo,
+ IsNextTask = impItem.IsNextTask,
MutableParam1 = impItem.MutableParam1,
MutableParam2 = impItem.MutableParam2,
MutableParam3 = impItem.MutableParam3,
- SonTaskType = impItem.SonTaskType,
- SourceOrderNo = impItem.SourceOrderNo,
- SourcePlace = impItem.SourcePlace,
- TaskDodeviceStatus = impItem.TaskDodeviceStatus,
- TaskLevel = impItem.TaskLevel,
- TaskNo = impItem.TaskNo,
- TaskStatus = impItem.TaskStatus,
- TaskType = impItem.TaskType,
- ToPlace = impItem.ToPlace,
+ IsDisabled = impItem.IsDisabled,
};
@@ -402,7 +430,7 @@
}
/// <summary>
- /// 瀵煎嚭Wms浠诲姟绠$悊琛�
+ /// 瀵煎嚭Wms浠诲姟绠$悊
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
@@ -431,25 +459,28 @@
["閰嶇疆"] = ExportHelper.ConvertListToExportData(result),
};
- var fileName = result.Count > 1 ? "Wms浠诲姟绠$悊琛ㄥ垪琛�" : result.Count == 1 ? result[0]?.TaskNo : "WmsTask妯$増";
+ var fileName = result.Count > 1 ? "Wms浠诲姟绠$悊鍒楄〃" : result.Count == 1 ? result[0]?.TaskNo : "WmsTask妯$増";
return (sheets, fileName);
}
/// <summary>
- /// 鏍¢獙Wms浠诲姟绠$悊琛紝褰撴柊寤烘垨鏇存柊鏃�
+ /// 鏍¢獙Wms浠诲姟绠$悊锛屽綋鏂板缓鎴栨洿鏂版椂
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
protected Task CheckCreateOrUpdateDtoAsync(WmsTaskCreateOrUpdateDtoBase input)
{
Check.NotNull(input, nameof(input));
- Check.NotNull(input.Dodevicetype, "璁惧绫诲瀷");
- Check.NotNull(input.IsRead, "WCS鏄惁鍙互璇诲彇");
- Check.NotNull(input.TaskDodeviceStatus, "璁惧浠诲姟鐘舵��");
- Check.NotNull(input.TaskLevel, "浠诲姟绛夌骇");
Check.NotNullOrWhiteSpace(input.TaskNo, "浠诲姟鍙�", 50);
- Check.NotNull(input.TaskStatus, "浠诲姟鐘舵��");
Check.NotNull(input.TaskType, "浠诲姟绫诲瀷");
+ Check.NotNull(input.TaskLevel, "浠诲姟绛夌骇");
+ Check.NotNull(input.TaskStatus, "浠诲姟鐘舵��");
+ Check.NotNull(input.Dodevicetype, "璁惧绫诲瀷");
+ Check.NotNull(input.ContainerNo, "鎵樼洏鍙�");
+ Check.NotNull(input.SourcePlace, "璧峰浣嶇疆");
+ Check.NotNull(input.ToPlace, "鐩爣鏈煡");
+ Check.NotNull(input.TaskDodeviceStatus, "璁惧浠诲姟鐘舵��");
+ Check.NotNull(input.IsRead, "WCS鏄惁鍙互璇诲彇");
return Task.CompletedTask;
}
--
Gitblit v1.9.3