From 7b39877789927220489f8d8cae75a3ed592af017 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周日, 11 5月 2025 14:14:17 +0800
Subject: [PATCH] 去掉重复的 |
---
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsTaskAppService.cs | 671 +++++++++++++++++++++++++++++--------------------------
1 files changed, 351 insertions(+), 320 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 60c2611..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,127 +1,151 @@
-using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsTask;
-using CMS.Plugin.HIAWms.Application.Contracts.Services;
-using CMS.Plugin.HIAWms.Domain.Shared;
-using CmsQueryExtensions;
-using CMS.Plugin.HIAWms.Domain.WmsTask;
-using CmsQueryExtensions.Extension;
-using System.Linq.Expressions;
-using Volo.Abp;
-using Volo.Abp.Application.Dtos;
-using Volo.Abp.Data;
-using Volo.Abp.ObjectExtending;
-using Volo.Abp.ObjectMapping;
-
-namespace CMS.Plugin.HIAWms.Application.Implements;
-
+using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsTask;
+using CMS.Plugin.HIAWms.Application.Contracts.Services;
+using CMS.Plugin.HIAWms.Domain.Shared;
+using CmsQueryExtensions;
+using CMS.Plugin.HIAWms.Domain.WmsTask;
+using CmsQueryExtensions.Extension;
+using System.Linq.Expressions;
+using Volo.Abp;
+using Volo.Abp.Application.Dtos;
+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浠诲姟绠$悊搴旂敤鏈嶅姟
/// </summary>
-public class WmsTaskAppService : CMSPluginAppService, IWmsTaskAppService
-{
- private readonly IWmsTaskRepository wmsTaskRepository;
-
+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)
- {
- wmsTaskRepository = _WmsTaskRepository;
- }
-
+ public WmsTaskAppService(IWmsTaskRepository _WmsTaskRepository, IWmsContainerRepository wmsContainerRepository, IWmsPlaceRepository wmsPlaceRepository)
+ {
+ wmsTaskRepository = _WmsTaskRepository;
+ _wmsContainerRepository = wmsContainerRepository;
+ _wmsPlaceRepository = wmsPlaceRepository;
+ }
+
/// <summary>
/// 鑾峰彇鎸囧畾Wms浠诲姟绠$悊
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
- public virtual async Task<WmsTaskDto> GetAsync(Guid id)
- {
- return ObjectMapper.Map<WmsTask, WmsTaskDto>(await wmsTaskRepository.GetAsync(id));
- }
-
+ public virtual async Task<WmsTaskDto> GetAsync(Guid id)
+ {
+ return ObjectMapper.Map<WmsTask, WmsTaskDto>(await wmsTaskRepository.GetAsync(id));
+ }
+
/// <summary>
/// 鍒嗛〉鑾峰彇Wms浠诲姟绠$悊
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
- public virtual async Task<PagedResultDto<WmsTaskDto>> GetListAsync(GetWmsTaskInput input)
- {
- Check.NotNull(input, nameof(input));
-
- if (input.Sorting.IsNullOrWhiteSpace())
- {
- input.Sorting = nameof(WmsTask.Sort);
- }
-
+ public virtual async Task<PagedResultDto<WmsTaskDto>> GetListAsync(GetWmsTaskInput input)
+ {
+ Check.NotNull(input, nameof(input));
+
+ if (input.Sorting.IsNullOrWhiteSpace())
+ {
+ input.Sorting = nameof(WmsTask.Sort);
+ }
+
#region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�
-
+
//鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�
- var whereConditions = DynamicGetQueryParams(input);
-
- #endregion
-
- var count = await wmsTaskRepository.GetCountAsync(whereConditions);
- var list = await wmsTaskRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
-
- return new PagedResultDto<WmsTaskDto>(count, ObjectMapper.Map<List<WmsTask>, List<WmsTaskDto>>(list));
- }
-
+ var whereConditions = DynamicGetQueryParams(input);
+
+ #endregion
+
+ var count = await wmsTaskRepository.GetCountAsync(whereConditions);
+ var list = await wmsTaskRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
+
+ return new PagedResultDto<WmsTaskDto>(count, ObjectMapper.Map<List<WmsTask>, List<WmsTaskDto>>(list));
+ }
+
/// <summary>
/// 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�
/// </summary>
/// <param name="input">杈撳叆鍙傛暟</param>
/// <returns></returns>
- private FunReturnResultModel<Expression<Func<WmsTask, bool>>> DynamicGetQueryParams(GetWmsTaskInput input)
- {
+ private FunReturnResultModel<Expression<Func<WmsTask, bool>>> DynamicGetQueryParams(GetWmsTaskInput input)
+ {
//鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�
- var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsTask, GetWmsTaskInput>(input);
- if (!whereConditions.IsSuccess)
- {
- throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg);
- }
-
+ var whereConditions = WhereConditionsExtensions.GetWhereConditions<WmsTask, GetWmsTaskInput>(input);
+ if (!whereConditions.IsSuccess)
+ {
+ throw new Exception("鍔ㄦ�佹瀯閫犳煡璇㈡潯浠跺け璐�:" + whereConditions.ErrMsg);
+ }
+
//涔熷彲鍐嶆鑷畾涔夋瀯寤烘煡璇㈡潯浠�
- Expression<Func<WmsTask, bool>> extendExpression = a => a.IsDeleted == false;
+ Expression<Func<WmsTask, bool>> extendExpression = a => a.IsDeleted == false;
// 浣跨敤 System.Linq.PredicateBuilder 鐨� And
- var pres = (System.Linq.Expressions.Expression<Func<WmsTask, bool>>)(whereConditions.data);
- whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression);
-
- return whereConditions;
- }
-
+ var pres = (System.Linq.Expressions.Expression<Func<WmsTask, bool>>)(whereConditions.data);
+ whereConditions.data = System.Linq.PredicateBuilder.And(pres, extendExpression);
+
+ return whereConditions;
+ }
+
/// <summary>
/// 鏂板缓Wms浠诲姟绠$悊
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
- public virtual async Task<WmsTaskDto> CreateAsync(WmsTaskCreateDto input)
- {
- await CheckCreateOrUpdateDtoAsync(input);
-
- var exist = await wmsTaskRepository.NameExistAsync(input.TaskNo);
- if (exist)
- {
- throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.TaskNo]);
- }
-
- var maxSort = await wmsTaskRepository.GetMaxSortAsync();
- var sort = input.Sort ?? maxSort;
-
- var insertObj = ObjectMapper.Map<WmsTaskCreateDto, WmsTask>(input);
- insertObj.Sort = sort;
- input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None);
-
- await wmsTaskRepository.InsertAsync(insertObj);
-
- if (input.Sort.HasValue && insertObj.Sort != maxSort)
- {
- await AdjustSortAsync(insertObj.Id, insertObj.Sort);
- }
-
- return ObjectMapper.Map<WmsTask, WmsTaskDto>(insertObj);
- }
-
+ public virtual async Task<WmsTaskDto> CreateAsync(WmsTaskCreateDto input)
+ {
+ await CheckCreateOrUpdateDtoAsync(input);
+
+ var exist = await wmsTaskRepository.NameExistAsync(input.TaskNo);
+ 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();
+ var sort = input.Sort ?? maxSort;
+
+ var insertObj = ObjectMapper.Map<WmsTaskCreateDto, WmsTask>(input);
+ insertObj.Sort = sort;
+ input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None);
+
+ await wmsTaskRepository.InsertAsync(insertObj);
+
+ if (input.Sort.HasValue && insertObj.Sort != maxSort)
+ {
+ await AdjustSortAsync(insertObj.Id, insertObj.Sort);
+ }
+
+ return ObjectMapper.Map<WmsTask, WmsTaskDto>(insertObj);
+ }
+
/// <summary>
/// 鏇存柊Wms浠诲姟绠$悊
/// </summary>
@@ -129,21 +153,26 @@
/// <param name="input"></param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
- public virtual async Task<WmsTaskDto> UpdateAsync(Guid id, WmsTaskUpdateDto input)
- {
- await CheckCreateOrUpdateDtoAsync(input);
-
- var updateObj = await wmsTaskRepository.GetAsync(id);
- var exist = await wmsTaskRepository.NameExistAsync(input.TaskNo, updateObj.Id);
- if (exist)
- {
- throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.TaskNo]);
- }
-
- updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp);
- input.MapExtraPropertiesTo(updateObj, MappingPropertyDefinitionChecks.None);
-
- updateObj.TaskNo = input.TaskNo;
+ public virtual async Task<WmsTaskDto> UpdateAsync(Guid id, WmsTaskUpdateDto input)
+ {
+ await CheckCreateOrUpdateDtoAsync(input);
+
+ var updateObj = await wmsTaskRepository.GetAsync(id);
+ var exist = await wmsTaskRepository.NameExistAsync(input.TaskNo, updateObj.Id);
+ if (exist)
+ {
+ throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.TaskNo]);
+ }
+
+ 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.TaskNo = input.TaskNo;
updateObj.TaskType = input.TaskType;
updateObj.TaskLevel = input.TaskLevel;
updateObj.TaskStatus = input.TaskStatus;
@@ -162,20 +191,19 @@
updateObj.MutableParam2 = input.MutableParam2;
updateObj.MutableParam3 = input.MutableParam3;
updateObj.IsDisabled = input.IsDisabled;
-
-
- await wmsTaskRepository.UpdateAsync(updateObj);
-
- return ObjectMapper.Map<WmsTask, WmsTaskDto>(updateObj);
- }
-
+
+ await wmsTaskRepository.UpdateAsync(updateObj);
+
+ return ObjectMapper.Map<WmsTask, WmsTaskDto>(updateObj);
+ }
+
/// <summary>
/// 鍏嬮殕Wms浠诲姟绠$悊
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
- public async Task<List<WmsTaskDto>> CloneAsync(IEnumerable<Guid> ids)
- {
+ public async Task<List<WmsTaskDto>> CloneAsync(IEnumerable<Guid> ids)
+ {
//var wmsTasks = new List<WmsTask>();
//if (ids != null)
//{
@@ -195,262 +223,265 @@
// name += WmsTaskConsts.CloneTag;
// continue;
// }
-
+
// notExist = true;
// }
-
+
// //WmsTask = await wmsTaskRepository.InsertAsync(WmsTask.Clone(GuidGenerator.Create(), name, sort++));
// wmsTasks.Add(WmsTask);
// }
// }
//}
-
+
//return ObjectMapper.Map<List<WmsTask>, List<WmsTaskDto>>(wmsTasks);
- return new List<WmsTaskDto>();
- }
-
+ return new List<WmsTaskDto>();
+ }
+
/// <summary>
/// 鍒犻櫎鍗曚釜Wms浠诲姟绠$悊
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
- public virtual Task DeleteAsync(Guid id)
- {
- return wmsTaskRepository.DeleteAsync(id);
- }
-
+ public virtual Task DeleteAsync(Guid id)
+ {
+ return wmsTaskRepository.DeleteAsync(id);
+ }
+
/// <summary>
/// 鍒犻櫎澶氫釜Wms浠诲姟绠$悊
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
- public async Task DeleteManyAsync(IEnumerable<Guid> ids)
- {
- foreach (var id in ids)
- {
- await DeleteAsync(id);
- }
- }
-
+ public async Task DeleteManyAsync(IEnumerable<Guid> ids)
+ {
+ foreach (var id in ids)
+ {
+ await DeleteAsync(id);
+ }
+ }
+
/// <summary>
/// 璋冩暣鎺掑簭Wms浠诲姟绠$悊
/// </summary>
/// <param name="id"></param>
/// <param name="sort"></param>
/// <returns></returns>
- public virtual async Task AdjustSortAsync(Guid id, int sort)
- {
- var list = await wmsTaskRepository.GetListAsync(null, nameof(WmsTask.Sort));
- if (list != null && list.Any())
- {
- var initSort = 1;
- list.ForEach(x => x.AdjustSort(initSort++));
- var entity = list.FirstOrDefault(x => x.Id == id);
- if (entity != null)
- {
- if (sort == 1)
- {
- list.Where(x => x.Id != id).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
- }
- else if (entity.Sort > sort)
- {
- list.Where(x => x.Id != id && x.Sort >= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
- list.Where(x => x.Id != id && x.Sort < sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1));
- }
- else if (entity.Sort < sort)
- {
- list.Where(x => x.Id != id && x.Sort > sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
- list.Where(x => x.Id != id && x.Sort <= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1));
- }
-
- entity.AdjustSort(sort);
- }
- }
-
- await wmsTaskRepository.UpdateManyAsync(list);
- }
-
+ public virtual async Task AdjustSortAsync(Guid id, int sort)
+ {
+ var list = await wmsTaskRepository.GetListAsync(null, nameof(WmsTask.Sort));
+ if (list != null && list.Any())
+ {
+ var initSort = 1;
+ list.ForEach(x => x.AdjustSort(initSort++));
+ var entity = list.FirstOrDefault(x => x.Id == id);
+ if (entity != null)
+ {
+ if (sort == 1)
+ {
+ list.Where(x => x.Id != id).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
+ }
+ else if (entity.Sort > sort)
+ {
+ list.Where(x => x.Id != id && x.Sort >= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
+ list.Where(x => x.Id != id && x.Sort < sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1));
+ }
+ else if (entity.Sort < sort)
+ {
+ list.Where(x => x.Id != id && x.Sort > sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort + 1));
+ list.Where(x => x.Id != id && x.Sort <= sort).ToList()?.ForEach(x => x.AdjustSort(x.Sort - 1));
+ }
+
+ entity.AdjustSort(sort);
+ }
+ }
+
+ await wmsTaskRepository.UpdateManyAsync(list);
+ }
+
/// <summary>
/// 瀵煎叆Wms浠诲姟绠$悊
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
- public async Task ImportAsync(WmsTasksImportModel input)
- {
- Check.NotNull(input, nameof(input));
-
- var wmsTaskCreateDtos = new List<(int RowIndex, WmsTaskCreateDto Item)>();
- var wmsTaskUpdateDtos = new List<(int RowIndex, Guid Id, WmsTaskUpdateDto Item)>();
- var importItems = input.WmsTasks;
-
- if (importItems != null && importItems.Any())
- {
+ public async Task ImportAsync(WmsTasksImportModel input)
+ {
+ Check.NotNull(input, nameof(input));
+
+ var wmsTaskCreateDtos = new List<(int RowIndex, WmsTaskCreateDto Item)>();
+ var wmsTaskUpdateDtos = new List<(int RowIndex, Guid Id, WmsTaskUpdateDto Item)>();
+ var importItems = input.WmsTasks;
+
+ if (importItems != null && importItems.Any())
+ {
#region 瀵煎叆鏍¢獙
-
+
// 鍒ゆ柇鍚嶇О鏄惁閲嶅锛屽苟杈撳嚭绗嚑琛岄噸澶�
- var duplicateWmsTasks = importItems.GroupBy(x => x.TaskNo).Where(x => x.Count() > 1).ToList();
- if (duplicateWmsTasks?.Any() == true)
- {
- var duplicateWmsTaskMsgs = duplicateWmsTasks.Select(x => $"绗� {string.Join(",", x.Select(x => x.RowIndex))} 琛岋細{x.Key} 鍚嶇О閲嶅");
- var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝 {string.Join(",", duplicateWmsTaskMsgs)}锛岀粓姝㈠鍏�";
- throw new UserFriendlyException(errorMsg);
- }
-
- #endregion
-
- foreach (var impItem in importItems)
- {
- if (impItem.TaskNo.IsNullOrWhiteSpace())
- {
- continue;
- }
-
- if (impItem.TaskNo.IsNullOrWhiteSpace())
- {
- var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊impItem.RowIndex}琛岋細WmsTask鍚嶇О涓嶈兘涓虹┖";
- throw new UserFriendlyException(errorMsg);
- }
-
- var oldWmsTask = await wmsTaskRepository.FindByNameAsync(impItem.TaskNo);
- if (oldWmsTask != null)
- {
- var wmsTaskUpdateDto = new WmsTaskUpdateDto
- {
+ var duplicateWmsTasks = importItems.GroupBy(x => x.TaskNo).Where(x => x.Count() > 1).ToList();
+ if (duplicateWmsTasks?.Any() == true)
+ {
+ var duplicateWmsTaskMsgs = duplicateWmsTasks.Select(x => $"绗� {string.Join(",", x.Select(x => x.RowIndex))} 琛岋細{x.Key} 鍚嶇О閲嶅");
+ var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝 {string.Join(",", duplicateWmsTaskMsgs)}锛岀粓姝㈠鍏�";
+ throw new UserFriendlyException(errorMsg);
+ }
+
+ #endregion
+
+ foreach (var impItem in importItems)
+ {
+ if (impItem.TaskNo.IsNullOrWhiteSpace())
+ {
+ continue;
+ }
+
+ if (impItem.TaskNo.IsNullOrWhiteSpace())
+ {
+ var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊impItem.RowIndex}琛岋細WmsTask鍚嶇О涓嶈兘涓虹┖";
+ throw new UserFriendlyException(errorMsg);
+ }
+
+ var oldWmsTask = await wmsTaskRepository.FindByNameAsync(impItem.TaskNo);
+ if (oldWmsTask != null)
+ {
+ var wmsTaskUpdateDto = new WmsTaskUpdateDto
+ {
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,
-TaskDodeviceStatus = impItem.TaskDodeviceStatus,
-IsRead = impItem.IsRead,
-SonTaskType = impItem.SonTaskType,
-SourceOrderNo = impItem.SourceOrderNo,
-IsNextTask = impItem.IsNextTask,
-MutableParam1 = impItem.MutableParam1,
-MutableParam2 = impItem.MutableParam2,
-MutableParam3 = impItem.MutableParam3,
-IsDisabled = impItem.IsDisabled,
-
- };
-
- wmsTaskUpdateDtos.Add((impItem.RowIndex, oldWmsTask.Id, wmsTaskUpdateDto));
- }
- else
- {
- var wmsTaskCreateDto = new WmsTaskCreateDto
- {
+ 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,
+ TaskDodeviceStatus = impItem.TaskDodeviceStatus,
+ IsRead = impItem.IsRead,
+ SonTaskType = impItem.SonTaskType,
+ SourceOrderNo = impItem.SourceOrderNo,
+ IsNextTask = impItem.IsNextTask,
+ MutableParam1 = impItem.MutableParam1,
+ MutableParam2 = impItem.MutableParam2,
+ MutableParam3 = impItem.MutableParam3,
+ IsDisabled = impItem.IsDisabled,
+
+ };
+
+ wmsTaskUpdateDtos.Add((impItem.RowIndex, oldWmsTask.Id, wmsTaskUpdateDto));
+ }
+ else
+ {
+ var wmsTaskCreateDto = new WmsTaskCreateDto
+ {
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,
-TaskDodeviceStatus = impItem.TaskDodeviceStatus,
-IsRead = impItem.IsRead,
-SonTaskType = impItem.SonTaskType,
-SourceOrderNo = impItem.SourceOrderNo,
-IsNextTask = impItem.IsNextTask,
-MutableParam1 = impItem.MutableParam1,
-MutableParam2 = impItem.MutableParam2,
-MutableParam3 = impItem.MutableParam3,
-IsDisabled = impItem.IsDisabled,
-
- };
-
- wmsTaskCreateDtos.Add((impItem.RowIndex, wmsTaskCreateDto));
- }
- }
- }
-
+ 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,
+ TaskDodeviceStatus = impItem.TaskDodeviceStatus,
+ IsRead = impItem.IsRead,
+ SonTaskType = impItem.SonTaskType,
+ SourceOrderNo = impItem.SourceOrderNo,
+ IsNextTask = impItem.IsNextTask,
+ MutableParam1 = impItem.MutableParam1,
+ MutableParam2 = impItem.MutableParam2,
+ MutableParam3 = impItem.MutableParam3,
+ IsDisabled = impItem.IsDisabled,
+
+ };
+
+ wmsTaskCreateDtos.Add((impItem.RowIndex, wmsTaskCreateDto));
+ }
+ }
+ }
+
// 鏂板
- foreach (var wmsTaskDto in wmsTaskCreateDtos)
- {
- try
- {
- await CreateAsync(wmsTaskDto.Item);
- }
- catch (Exception e)
- {
- var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsTaskDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�";
- throw new UserFriendlyException(errorMsg);
- }
- }
-
+ foreach (var wmsTaskDto in wmsTaskCreateDtos)
+ {
+ try
+ {
+ await CreateAsync(wmsTaskDto.Item);
+ }
+ catch (Exception e)
+ {
+ var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsTaskDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�";
+ throw new UserFriendlyException(errorMsg);
+ }
+ }
+
// 鏇存柊
- foreach (var wmsTaskDto in wmsTaskUpdateDtos)
- {
- try
- {
- await UpdateAsync(wmsTaskDto.Id, wmsTaskDto.Item);
- }
- catch (Exception e)
- {
- var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsTaskDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�";
- throw new UserFriendlyException(errorMsg);
- }
- }
- }
-
+ foreach (var wmsTaskDto in wmsTaskUpdateDtos)
+ {
+ try
+ {
+ await UpdateAsync(wmsTaskDto.Id, wmsTaskDto.Item);
+ }
+ catch (Exception e)
+ {
+ var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊wmsTaskDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�";
+ throw new UserFriendlyException(errorMsg);
+ }
+ }
+ }
+
/// <summary>
/// 瀵煎嚭Wms浠诲姟绠$悊
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
- public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsTaskInput input)
- {
- Check.NotNull(input, nameof(input));
-
- if (input.Sorting.IsNullOrWhiteSpace())
- {
- input.Sorting = nameof(WmsTask.Sort);
- }
-
+ public async Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetWmsTaskInput input)
+ {
+ Check.NotNull(input, nameof(input));
+
+ if (input.Sorting.IsNullOrWhiteSpace())
+ {
+ input.Sorting = nameof(WmsTask.Sort);
+ }
+
#region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�
-
+
//鍔ㄦ�佹瀯閫犳煡璇㈡潯浠�
- var whereConditions = DynamicGetQueryParams(input);
-
- #endregion
-
-
- var list = await wmsTaskRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true);
- var result = ObjectMapper.Map<List<WmsTask>, List<WmsTaskDto>>(list);
-
- var sheets = new Dictionary<string, object>
- {
- ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result),
- };
-
- var fileName = result.Count > 1 ? "Wms浠诲姟绠$悊鍒楄〃" : result.Count == 1 ? result[0]?.TaskNo : "WmsTask妯$増";
- return (sheets, fileName);
- }
-
+ var whereConditions = DynamicGetQueryParams(input);
+
+ #endregion
+
+
+ var list = await wmsTaskRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true);
+ var result = ObjectMapper.Map<List<WmsTask>, List<WmsTaskDto>>(list);
+
+ var sheets = new Dictionary<string, object>
+ {
+ ["閰嶇疆"] = ExportHelper.ConvertListToExportData(result),
+ };
+
+ var fileName = result.Count > 1 ? "Wms浠诲姟绠$悊鍒楄〃" : result.Count == 1 ? result[0]?.TaskNo : "WmsTask妯$増";
+ return (sheets, fileName);
+ }
+
/// <summary>
/// 鏍¢獙Wms浠诲姟绠$悊锛屽綋鏂板缓鎴栨洿鏂版椂
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
- protected Task CheckCreateOrUpdateDtoAsync(WmsTaskCreateOrUpdateDtoBase input)
- {
- Check.NotNull(input, nameof(input));
- Check.NotNullOrWhiteSpace(input.TaskNo, "浠诲姟鍙�", 50);
+ protected Task CheckCreateOrUpdateDtoAsync(WmsTaskCreateOrUpdateDtoBase input)
+ {
+ Check.NotNull(input, nameof(input));
+ Check.NotNullOrWhiteSpace(input.TaskNo, "浠诲姟鍙�", 50);
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;
- }
-}
+
+ return Task.CompletedTask;
+ }
+}
--
Gitblit v1.9.3