From a3a2b238a2626ef8744e7a135f9ca2e2fbb5184c Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 21 5月 2025 10:17:36 +0800
Subject: [PATCH] 优化

---
 PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/WorkPlanAppService.cs |  163 +++++++++++++++++++++++++++++++++---------------------
 1 files changed, 100 insertions(+), 63 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 285fecf..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,19 +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> 
-    /// 鎸夌収 鍘熸枡鏍囪 鏌ユ壘浣滀笟璁″垝琛� 
-    /// </summary> 
-    /// <param name="name"></param> 
-    /// <param name="cancellationToken"></param> 
-    /// <returns></returns> 
-    public virtual async Task<List<WorkPlan>> FindByDataIdentifierAsync(string dataIdentifier)
-    {
-        return await workPlanRepository.FindByDataIdentifierAsync(dataIdentifier);
-    }
 
     /// <summary> 
     /// 鍒嗛〉鑾峰彇浣滀笟璁″垝琛� 
@@ -74,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));
     }
@@ -113,13 +106,13 @@
     {
         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);
@@ -127,7 +120,7 @@
         insertObj.CreatorName = "SuperAdmin";
         input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None);
 
-        await workPlanRepository.InsertAsync(insertObj);
+        await _workPlanRepository.InsertAsync(insertObj);
 
         //if (input.Sort.HasValue && insertObj.Sort != maxSort) 
         //{ 
@@ -148,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]);
@@ -158,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);
     }
@@ -247,7 +208,7 @@
     /// <returns></returns> 
     public virtual Task DeleteAsync(Guid id)
     {
-        return workPlanRepository.DeleteAsync(id);
+        return _workPlanRepository.DeleteAsync(id);
     }
 
     /// <summary> 
@@ -271,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;
@@ -298,7 +259,7 @@
             }
         }
 
-        await workPlanRepository.UpdateManyAsync(list);
+        await _workPlanRepository.UpdateManyAsync(list);
     }
 
     /// <summary> 
@@ -307,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)>(); 
@@ -491,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>
@@ -527,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