From 0e42f871905f207658d822fcbe29aeb57b2156af Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周三, 21 5月 2025 16:18:01 +0800 Subject: [PATCH] 修复查询bug --- PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/WorkPlanAppService.cs | 155 ++++++++++++++++++++++++++++++++++----------------- 1 files changed, 102 insertions(+), 53 deletions(-) diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/WorkPlanAppService.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/WorkPlanAppService.cs index bc1a9cd..6ef527d 100644 --- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/WorkPlanAppService.cs +++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/WorkPlanAppService.cs @@ -10,6 +10,9 @@ using Volo.Abp.Data; using Volo.Abp.ObjectExtending; using Volo.Abp.ObjectMapping; +using Volo.Abp.Users; +using CmsQueryExtensions.Entitys; +using System.Collections.Generic; namespace CMS.Plugin.PipeLineLems.Application.Implements; @@ -18,16 +21,16 @@ /// </summary> public class WorkPlanAppService : CMSPluginAppService, IWorkPlanAppService { - private readonly IWorkPlanRepository workPlanRepository; + private readonly IWorkPlanRepository _workPlanRepository; private readonly SharedService _sharedService; private readonly IServiceProvider _serviceProvider; /// <summary> /// Initializes a new instance of the <see cref="WorkPlanAppService"/> class. /// </summary> /// <param name="WorkPlanRepository">The task job repository.</param> - public WorkPlanAppService(IWorkPlanRepository _WorkPlanRepository, SharedService sharedService, IServiceProvider serviceProvider) + public WorkPlanAppService(IWorkPlanRepository workPlanRepository, SharedService sharedService, IServiceProvider serviceProvider) { - workPlanRepository = _WorkPlanRepository; + _workPlanRepository = workPlanRepository; _sharedService = sharedService; _serviceProvider = serviceProvider; } @@ -39,8 +42,9 @@ /// <returns></returns> public virtual async Task<WorkPlanDto> GetAsync(Guid id) { - return ObjectMapper.Map<WorkPlan, WorkPlanDto>(await workPlanRepository.GetAsync(id)); + return ObjectMapper.Map<WorkPlan, WorkPlanDto>(await _workPlanRepository.GetAsync(id)); } + /// <summary> /// 鍒嗛〉鑾峰彇浣滀笟璁″垝琛� @@ -63,8 +67,8 @@ #endregion - var count = await workPlanRepository.GetCountAsync(whereConditions); - var list = await workPlanRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); + var count = await _workPlanRepository.GetCountAsync(whereConditions); + var list = await _workPlanRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount); return new PagedResultDto<WorkPlanDto>(count, ObjectMapper.Map<List<WorkPlan>, List<WorkPlanDto>>(list)); } @@ -102,20 +106,21 @@ { await CheckCreateOrUpdateDtoAsync(input); - var exist = await workPlanRepository.NameExistAsync(input.TaskCode); + var exist = await _workPlanRepository.NameExistAsync(input.TaskCode); if (exist) { throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.TaskCode]); } - var maxSort = await workPlanRepository.GetMaxSortAsync(); + var maxSort = await _workPlanRepository.GetMaxSortAsync(); var sort = input.Sort ?? maxSort; var insertObj = ObjectMapper.Map<WorkPlanCreateDto, WorkPlan>(input); insertObj.Sort = sort; + insertObj.CreatorName = "SuperAdmin"; input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None); - await workPlanRepository.InsertAsync(insertObj); + await _workPlanRepository.InsertAsync(insertObj); //if (input.Sort.HasValue && insertObj.Sort != maxSort) //{ @@ -136,8 +141,8 @@ { await CheckCreateOrUpdateDtoAsync(input); - var updateObj = await workPlanRepository.GetAsync(id); - var exist = await workPlanRepository.NameExistAsync(input.TaskCode, updateObj.Id); + var updateObj = await _workPlanRepository.GetAsync(id); + var exist = await _workPlanRepository.NameExistAsync(input.TaskCode, updateObj.Id); if (exist) { throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.TaskCode]); @@ -146,44 +151,12 @@ updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp); input.MapExtraPropertiesTo(updateObj, MappingPropertyDefinitionChecks.None); - updateObj.TaskCode = input.TaskCode; - updateObj.WorkPlanStatus = input.WorkPlanStatus; - updateObj.CallMaterialStatus = input.CallMaterialStatus; - updateObj.DataIdentifier = input.DataIdentifier; - updateObj.MaterialMode = input.MaterialMode; - updateObj.Length = input.Length; - updateObj.MarkingContent = input.MarkingContent; - updateObj.MarkingPosition = input.MarkingPosition; - updateObj.CuttingPosition = input.CuttingPosition; - updateObj.Quantity = input.Quantity; - updateObj.FlangeThickness = input.FlangeThickness; - updateObj.FlangeInnerDiameter = input.FlangeInnerDiameter; - updateObj.WeldingHeatInput = input.WeldingHeatInput; - updateObj.PipeAllowableStress = input.PipeAllowableStress; - updateObj.PipeDiameter = input.PipeDiameter; - updateObj.PipeWallThickness = input.PipeWallThickness; - updateObj.FactoryCode = input.FactoryCode; - updateObj.ProductCode = input.ProductCode; - updateObj.WorkstationCode = input.WorkstationCode; - updateObj.EquipmentCode = input.EquipmentCode; - updateObj.WorkpieceName = input.WorkpieceName; - updateObj.ProcessName = input.ProcessName; - updateObj.PipeFittingCode = input.PipeFittingCode; - updateObj.PreSerialNumber = input.PreSerialNumber; - updateObj.PipeSpecCode = input.PipeSpecCode; - updateObj.PipeSectionName = input.PipeSectionName; - updateObj.OuterDiameter = input.OuterDiameter; - updateObj.Thickness = input.Thickness; - updateObj.Material = input.Material; - updateObj.ProcessRouteNumber = input.ProcessRouteNumber; - updateObj.PlannedStartTime = input.PlannedStartTime; - updateObj.PlannedEndTime = input.PlannedEndTime; - updateObj.TeamInfo = input.TeamInfo; - updateObj.Timestamp = input.Timestamp; - updateObj.Remark = input.Remark; + // 鎵归噺璧嬪�兼墍鏈夊彲鏄犲皠瀛楁锛堥�氳繃鍖垮悕瀵硅薄锛� + updateObj = ObjectMapper.Map(input, updateObj); // 绛夋晥浜庢墜鍔ㄨ祴鍊兼墍鏈夊尮閰嶅瓧娈� + updateObj.LastModifierName = input.LastModifierName;//淇敼浜� - await workPlanRepository.UpdateAsync(updateObj); + await _workPlanRepository.UpdateAsync(updateObj); return ObjectMapper.Map<WorkPlan, WorkPlanDto>(updateObj); } @@ -235,7 +208,7 @@ /// <returns></returns> public virtual Task DeleteAsync(Guid id) { - return workPlanRepository.DeleteAsync(id); + return _workPlanRepository.DeleteAsync(id); } /// <summary> @@ -259,7 +232,7 @@ /// <returns></returns> public virtual async Task AdjustSortAsync(Guid id, int sort) { - var list = await workPlanRepository.GetListAsync(null, nameof(WorkPlan.Sort)); + var list = await _workPlanRepository.GetListAsync(null, nameof(WorkPlan.Sort)); if (list != null && list.Any()) { var initSort = 1; @@ -286,7 +259,7 @@ } } - await workPlanRepository.UpdateManyAsync(list); + await _workPlanRepository.UpdateManyAsync(list); } /// <summary> @@ -295,13 +268,13 @@ /// <param name="input"></param> /// <returns></returns> /// <exception cref="UserFriendlyException"></exception> - public async Task ImportAsync(WorkPlansImportModel input) + public async Task ImportAsync(WorkPlansImportModel input, MyCurrentUser myCurrentUser) { //杞崲鏁版嵁 var result = ObjectMapper.Map<List<WorkPlansImportModel.WorkPlanImportModel>, List<WorkPlanInput>>(input.WorkPlans); //await CreatebyApsAsync(result); - await _sharedService.CommonCreatebyApsAsync(result, _serviceProvider, this); + await _sharedService.CommonCreatebyApsAsync(result, _serviceProvider, this, myCurrentUser.UserId, myCurrentUser.UserAccount); // Check.NotNull(input, nameof(input)); // var workPlanCreateDtos = new List<(int RowIndex, WorkPlanCreateDto Item)>(); @@ -479,7 +452,7 @@ #endregion - var list = await workPlanRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true); + var list = await _workPlanRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true); var result = ObjectMapper.Map<List<WorkPlan>, List<WorkPlanDto>>(list); var sheets = new Dictionary<string, object> @@ -515,4 +488,80 @@ return Task.CompletedTask; } + + /// <summary> + /// 鏍规嵁鏉′欢鑾峰彇浣滀笟璁″垝琛ㄥ垪琛� + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + public async Task<List<WorkPlan>> GetListByFilterAsync(Expression<Func<WorkPlan, bool>> whereConditions, CancellationToken cancellationToken = default) + { + return await _workPlanRepository.GetListByFilterAsync(whereConditions); + } + + /// <summary> + /// 鏍规嵁鏉′欢鑾峰彇鍗曚釜浣滀笟璁″垝琛� + /// </summary> + /// <param name="whereConditions"></param> + /// <param name="isMultipleThrowException">鏄惁鏌ヨ鍑哄鏉″氨鎶ラ敊</param> + /// <param name="cancellationToken"></param> + /// <returns></returns> + /// <exception cref="UserFriendlyException"></exception> + public async Task<WorkPlan> GetSingleByFilterAsync(Expression<Func<WorkPlan, bool>> whereConditions, bool is鈥婱ultipleThrowException = false, CancellationToken cancellationToken = default) + { + return await _workPlanRepository.GetSingleByFilterAsync(whereConditions, is鈥婱ultipleThrowException); + } + + + /// <summary> + /// 鏍规嵁鏉′欢鑾峰彇浣滀笟璁″垝琛ㄥ垪琛� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + public virtual async Task<List<WorkPlanDto>> FindListByFilterAsync(GetWorkPlanInput input, CancellationToken cancellationToken = default) + { + Check.NotNull(input, nameof(input)); + + if (input.Sorting.IsNullOrWhiteSpace()) + { + input.Sorting = nameof(WorkPlan.Sort); + } + + #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + + //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = DynamicGetQueryParams(input); + + #endregion + + var list = await _workPlanRepository.GetListByFilterAsync(whereConditions?.data); + + return new List<WorkPlanDto>(ObjectMapper.Map<List<WorkPlan>, List<WorkPlanDto>>(list)); + } + /// <summary> + /// 鏍规嵁鏉′欢鑾峰彇鍗曚釜浣滀笟璁″垝琛� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + public virtual async Task<WorkPlanDto> FindSingleByFilterAsync(GetWorkPlanInput input, CancellationToken cancellationToken = default) + { + Check.NotNull(input, nameof(input)); + + if (input.Sorting.IsNullOrWhiteSpace()) + { + input.Sorting = nameof(WorkPlan.Sort); + } + + #region 鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + + //鍔ㄦ�佹瀯閫犳煡璇㈡潯浠� + var whereConditions = DynamicGetQueryParams(input); + + #endregion + + var dataObj = await _workPlanRepository.GetSingleByFilterAsync(whereConditions?.data); + + return (ObjectMapper.Map<WorkPlan, WorkPlanDto>(dataObj)); + } } -- Gitblit v1.9.3