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 |  491 ++++++++++++++++++++++++++++-------------------------
 1 files changed, 259 insertions(+), 232 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 0b1715d..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,12 +10,9 @@
 using Volo.Abp.Data;
 using Volo.Abp.ObjectExtending;
 using Volo.Abp.ObjectMapping;
-using CMS.Plugin.FormulaManagement.Abstractions;
-using CMS.Plugin.OrderManagement.Abstractions.Enums;
-using CMS.Plugin.OrderManagement.Abstractions.Models;
-using CMS.Plugin.OrderManagement.Abstractions;
-using CMS.Plugin.ProductManagement.Abstractions;
-using Microsoft.Extensions.DependencyInjection;
+using Volo.Abp.Users;
+using CmsQueryExtensions.Entitys;
+using System.Collections.Generic;
 
 namespace CMS.Plugin.PipeLineLems.Application.Implements;
 
@@ -24,19 +21,18 @@
 /// </summary> 
 public class WorkPlanAppService : CMSPluginAppService, IWorkPlanAppService
 {
-    private readonly IWorkPlanRepository workPlanRepository;
-    private readonly IServiceProvider _serviceProvider;
+    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, IServiceProvider serviceProvider, SharedService sharedService)
+    public WorkPlanAppService(IWorkPlanRepository workPlanRepository, SharedService sharedService, IServiceProvider serviceProvider)
     {
-        workPlanRepository = _WorkPlanRepository;
-        _serviceProvider = serviceProvider;
+        _workPlanRepository = workPlanRepository;
         _sharedService = sharedService;
+        _serviceProvider = serviceProvider;
     }
 
     /// <summary> 
@@ -46,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> 
     /// 鍒嗛〉鑾峰彇浣滀笟璁″垝琛� 
@@ -70,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));
     }
@@ -109,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) 
         //{ 
@@ -143,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]);
@@ -153,43 +151,12 @@
         updateObj.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp);
         input.MapExtraPropertiesTo(updateObj, MappingPropertyDefinitionChecks.None);
 
-        updateObj.TaskCode = input.TaskCode;
-        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.HasMainSignature = input.HasMainSignature;
-        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);
     }
@@ -241,7 +208,7 @@
     /// <returns></returns> 
     public virtual Task DeleteAsync(Guid id)
     {
-        return workPlanRepository.DeleteAsync(id);
+        return _workPlanRepository.DeleteAsync(id);
     }
 
     /// <summary> 
@@ -265,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;
@@ -292,7 +259,7 @@
             }
         }
 
-        await workPlanRepository.UpdateManyAsync(list);
+        await _workPlanRepository.UpdateManyAsync(list);
     }
 
     /// <summary> 
@@ -301,184 +268,167 @@
     /// <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)>(); 
+        //        var workPlanUpdateDtos = new List<(int RowIndex, Guid Id, WorkPlanUpdateDto Item)>(); 
+        //        var importItems = input.WorkPlans; 
+
+        //        if (importItems != null && importItems.Any()) 
+        //        { 
+        //            #region 瀵煎叆鏍¢獙 
+
+        //            // 鍒ゆ柇鍚嶇О鏄惁閲嶅锛屽苟杈撳嚭绗嚑琛岄噸澶� 
+        //            var duplicateWorkPlans = importItems.GroupBy(x => x.TaskCode).Where(x => x.Count() > 1).ToList(); 
+        //            if (duplicateWorkPlans?.Any() == true) 
+        //            { 
+        //                var duplicateWorkPlanMsgs = duplicateWorkPlans.Select(x => $"绗� {string.Join(",", x.Select(x => x.RowIndex))} 琛岋細{x.Key}  鍚嶇О閲嶅"); 
+        //                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝 {string.Join(",", duplicateWorkPlanMsgs)}锛岀粓姝㈠鍏�"; 
+        //                throw new UserFriendlyException(errorMsg); 
+        //            } 
+
+        //            #endregion 
+
+        //            foreach (var impItem in importItems) 
+        //            { 
+        //                if (impItem.TaskCode.IsNullOrWhiteSpace()) 
+        //                { 
+        //                    continue; 
+        //                } 
+
+        //                if (impItem.TaskCode.IsNullOrWhiteSpace()) 
+        //                { 
+        //                    var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊impItem.RowIndex}琛岋細WorkPlan鍚嶇О涓嶈兘涓虹┖"; 
+        //                    throw new UserFriendlyException(errorMsg); 
+        //                } 
+
+        //                var oldWorkPlan = await workPlanRepository.FindByNameAsync(impItem.TaskCode); 
+        //                if (oldWorkPlan != null) 
+        //                { 
+        //                    var workPlanUpdateDto = new WorkPlanUpdateDto 
+        //                    { 
+        //                        TaskCode = impItem.TaskCode,
+        //WorkPlanStatus = impItem.WorkPlanStatus,
+        //CallMaterialStatus = impItem.CallMaterialStatus,
+        //DataIdentifier = impItem.DataIdentifier,
+        //MaterialMode = impItem.MaterialMode,
+        //Length = impItem.Length,
+        //MarkingContent = impItem.MarkingContent,
+        //MarkingPosition = impItem.MarkingPosition,
+        //CuttingPosition = impItem.CuttingPosition,
+        //Quantity = impItem.Quantity,
+        //FlangeThickness = impItem.FlangeThickness,
+        //FlangeInnerDiameter = impItem.FlangeInnerDiameter,
+        //WeldingHeatInput = impItem.WeldingHeatInput,
+        //PipeAllowableStress = impItem.PipeAllowableStress,
+        //PipeDiameter = impItem.PipeDiameter,
+        //PipeWallThickness = impItem.PipeWallThickness,
+        //FactoryCode = impItem.FactoryCode,
+        //ProductCode = impItem.ProductCode,
+        //WorkstationCode = impItem.WorkstationCode,
+        //EquipmentCode = impItem.EquipmentCode,
+        //WorkpieceName = impItem.WorkpieceName,
+        //ProcessName = impItem.ProcessName,
+        //PipeFittingCode = impItem.PipeFittingCode,
+        //PreSerialNumber = impItem.PreSerialNumber,
+        //PipeSpecCode = impItem.PipeSpecCode,
+        //PipeSectionName = impItem.PipeSectionName,
+        //OuterDiameter = impItem.OuterDiameter,
+        //Thickness = impItem.Thickness,
+        //Material = impItem.Material,
+        //ProcessRouteNumber = impItem.ProcessRouteNumber,
+        //PlannedStartTime = impItem.PlannedStartTime,
+        //PlannedEndTime = impItem.PlannedEndTime,
+        //TeamInfo = impItem.TeamInfo,
+        //Timestamp = impItem.Timestamp,
+        //Remark = impItem.Remark,
+
+        //                    }; 
+
+        //                    workPlanUpdateDtos.Add((impItem.RowIndex, oldWorkPlan.Id, workPlanUpdateDto)); 
+        //                } 
+        //                else 
+        //                { 
+        //                    var workPlanCreateDto = new WorkPlanCreateDto 
+        //                    { 
+        //                        TaskCode = impItem.TaskCode,
+        //WorkPlanStatus = impItem.WorkPlanStatus,
+        //CallMaterialStatus = impItem.CallMaterialStatus,
+        //DataIdentifier = impItem.DataIdentifier,
+        //MaterialMode = impItem.MaterialMode,
+        //Length = impItem.Length,
+        //MarkingContent = impItem.MarkingContent,
+        //MarkingPosition = impItem.MarkingPosition,
+        //CuttingPosition = impItem.CuttingPosition,
+        //Quantity = impItem.Quantity,
+        //FlangeThickness = impItem.FlangeThickness,
+        //FlangeInnerDiameter = impItem.FlangeInnerDiameter,
+        //WeldingHeatInput = impItem.WeldingHeatInput,
+        //PipeAllowableStress = impItem.PipeAllowableStress,
+        //PipeDiameter = impItem.PipeDiameter,
+        //PipeWallThickness = impItem.PipeWallThickness,
+        //FactoryCode = impItem.FactoryCode,
+        //ProductCode = impItem.ProductCode,
+        //WorkstationCode = impItem.WorkstationCode,
+        //EquipmentCode = impItem.EquipmentCode,
+        //WorkpieceName = impItem.WorkpieceName,
+        //ProcessName = impItem.ProcessName,
+        //PipeFittingCode = impItem.PipeFittingCode,
+        //PreSerialNumber = impItem.PreSerialNumber,
+        //PipeSpecCode = impItem.PipeSpecCode,
+        //PipeSectionName = impItem.PipeSectionName,
+        //OuterDiameter = impItem.OuterDiameter,
+        //Thickness = impItem.Thickness,
+        //Material = impItem.Material,
+        //ProcessRouteNumber = impItem.ProcessRouteNumber,
+        //PlannedStartTime = impItem.PlannedStartTime,
+        //PlannedEndTime = impItem.PlannedEndTime,
+        //TeamInfo = impItem.TeamInfo,
+        //Timestamp = impItem.Timestamp,
+        //Remark = impItem.Remark,
+
+        //                    }; 
+
+        //                    workPlanCreateDtos.Add((impItem.RowIndex, workPlanCreateDto)); 
+        //                } 
+        //            } 
+        //        } 
+
+        //        // 鏂板 
+        //        foreach (var workPlanDto in workPlanCreateDtos) 
+        //        { 
+        //            try 
+        //            { 
+        //                await CreateAsync(workPlanDto.Item); 
+        //            } 
+        //            catch (Exception e) 
+        //            { 
+        //                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊workPlanDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�"; 
+        //                throw new UserFriendlyException(errorMsg); 
+        //            } 
+        //        } 
+
+        //        // 鏇存柊 
+        //        foreach (var workPlanDto in workPlanUpdateDtos) 
+        //        { 
+        //            try 
+        //            { 
+        //                await UpdateAsync(workPlanDto.Id, workPlanDto.Item); 
+        //            } 
+        //            catch (Exception e) 
+        //            { 
+        //                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊workPlanDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�"; 
+        //                throw new UserFriendlyException(errorMsg); 
+        //            } 
+        //        } 
     }
-
-
-    public async Task<MesOrderResponse> CreatebyApsAsync(List<WorkPlanInput> input)
-    {
-        var response=await _sharedService.CommonCreatebyApsAsync(input, _serviceProvider, this);
-       
-        return response;
-    }
-
-    ///// <summary> 
-    ///// 瀵煎叆浣滀笟璁″垝琛� 
-    ///// </summary> 
-    ///// <param name="input"></param> 
-    ///// <returns></returns> 
-    ///// <exception cref="UserFriendlyException"></exception> 
-    //public async Task ImportAsync(WorkPlansImportModel input)
-    //{
-    //    Check.NotNull(input, nameof(input));
-
-    //    var workPlanCreateDtos = new List<(int RowIndex, WorkPlanCreateDto Item)>();
-    //    var workPlanUpdateDtos = new List<(int RowIndex, Guid Id, WorkPlanUpdateDto Item)>();
-    //    var importItems = input.WorkPlans;
-
-    //    if (importItems != null && importItems.Any())
-    //    {
-    //        #region 瀵煎叆鏍¢獙 
-
-    //        // 鍒ゆ柇鍚嶇О鏄惁閲嶅锛屽苟杈撳嚭绗嚑琛岄噸澶� 
-    //        var duplicateWorkPlans = importItems.GroupBy(x => x.TaskCode).Where(x => x.Count() > 1).ToList();
-    //        if (duplicateWorkPlans?.Any() == true)
-    //        {
-    //            var duplicateWorkPlanMsgs = duplicateWorkPlans.Select(x => $"绗� {string.Join(",", x.Select(x => x.RowIndex))} 琛岋細{x.Key}  鍚嶇О閲嶅");
-    //            var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝 {string.Join(",", duplicateWorkPlanMsgs)}锛岀粓姝㈠鍏�";
-    //            throw new UserFriendlyException(errorMsg);
-    //        }
-
-    //        #endregion
-
-    //        foreach (var impItem in importItems)
-    //        {
-    //            if (impItem.TaskCode.IsNullOrWhiteSpace())
-    //            {
-    //                continue;
-    //            }
-
-    //            if (impItem.TaskCode.IsNullOrWhiteSpace())
-    //            {
-    //                var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊impItem.RowIndex}琛岋細WorkPlan鍚嶇О涓嶈兘涓虹┖";
-    //                throw new UserFriendlyException(errorMsg);
-    //            }
-
-    //            var oldWorkPlan = await workPlanRepository.FindByNameAsync(impItem.TaskCode);
-    //            if (oldWorkPlan != null)
-    //            {
-    //                var workPlanUpdateDto = new WorkPlanUpdateDto
-    //                {
-    //                    TaskCode = impItem.TaskCode,
-    //                    DataIdentifier = impItem.DataIdentifier,
-    //                    MaterialMode = impItem.MaterialMode,
-    //                    Length = impItem.Length,
-    //                    MarkingContent = impItem.MarkingContent,
-    //                    MarkingPosition = impItem.MarkingPosition,
-    //                    CuttingPosition = impItem.CuttingPosition,
-    //                    Quantity = impItem.Quantity,
-    //                    FlangeThickness = impItem.FlangeThickness,
-    //                    FlangeInnerDiameter = impItem.FlangeInnerDiameter,
-    //                    WeldingHeatInput = impItem.WeldingHeatInput,
-    //                    PipeAllowableStress = impItem.PipeAllowableStress,
-    //                    PipeDiameter = impItem.PipeDiameter,
-    //                    PipeWallThickness = impItem.PipeWallThickness,
-    //                    FactoryCode = impItem.FactoryCode,
-    //                    ProductCode = impItem.ProductCode,
-    //                    WorkstationCode = impItem.WorkstationCode,
-    //                    EquipmentCode = impItem.EquipmentCode,
-    //                    WorkpieceName = impItem.WorkpieceName,
-    //                    ProcessName = impItem.ProcessName,
-    //                    PipeFittingCode = impItem.PipeFittingCode,
-    //                    PreSerialNumber = impItem.PreSerialNumber,
-    //                    PipeSpecCode = impItem.PipeSpecCode,
-    //                    PipeSectionName = impItem.PipeSectionName,
-    //                    OuterDiameter = impItem.OuterDiameter,
-    //                    Thickness = impItem.Thickness,
-    //                    Material = impItem.Material,
-    //                    HasMainSignature = impItem.HasMainSignature,
-    //                    ProcessRouteNumber = impItem.ProcessRouteNumber,
-    //                    PlannedStartTime = impItem.PlannedStartTime,
-    //                    PlannedEndTime = impItem.PlannedEndTime,
-    //                    TeamInfo = impItem.TeamInfo,
-    //                    Timestamp = impItem.Timestamp,
-    //                    Remark = impItem.Remark,
-
-    //                };
-
-    //                workPlanUpdateDtos.Add((impItem.RowIndex, oldWorkPlan.Id, workPlanUpdateDto));
-    //            }
-    //            else
-    //            {
-    //                var workPlanCreateDto = new WorkPlanCreateDto
-    //                {
-    //                    TaskCode = impItem.TaskCode,
-    //                    DataIdentifier = impItem.DataIdentifier,
-    //                    MaterialMode = impItem.MaterialMode,
-    //                    Length = impItem.Length,
-    //                    MarkingContent = impItem.MarkingContent,
-    //                    MarkingPosition = impItem.MarkingPosition,
-    //                    CuttingPosition = impItem.CuttingPosition,
-    //                    Quantity = impItem.Quantity,
-    //                    FlangeThickness = impItem.FlangeThickness,
-    //                    FlangeInnerDiameter = impItem.FlangeInnerDiameter,
-    //                    WeldingHeatInput = impItem.WeldingHeatInput,
-    //                    PipeAllowableStress = impItem.PipeAllowableStress,
-    //                    PipeDiameter = impItem.PipeDiameter,
-    //                    PipeWallThickness = impItem.PipeWallThickness,
-    //                    FactoryCode = impItem.FactoryCode,
-    //                    ProductCode = impItem.ProductCode,
-    //                    WorkstationCode = impItem.WorkstationCode,
-    //                    EquipmentCode = impItem.EquipmentCode,
-    //                    WorkpieceName = impItem.WorkpieceName,
-    //                    ProcessName = impItem.ProcessName,
-    //                    PipeFittingCode = impItem.PipeFittingCode,
-    //                    PreSerialNumber = impItem.PreSerialNumber,
-    //                    PipeSpecCode = impItem.PipeSpecCode,
-    //                    PipeSectionName = impItem.PipeSectionName,
-    //                    OuterDiameter = impItem.OuterDiameter,
-    //                    Thickness = impItem.Thickness,
-    //                    Material = impItem.Material,
-    //                    HasMainSignature = impItem.HasMainSignature,
-    //                    ProcessRouteNumber = impItem.ProcessRouteNumber,
-    //                    PlannedStartTime = impItem.PlannedStartTime,
-    //                    PlannedEndTime = impItem.PlannedEndTime,
-    //                    TeamInfo = impItem.TeamInfo,
-    //                    Timestamp = impItem.Timestamp,
-    //                    Remark = impItem.Remark,
-
-    //                };
-
-    //                workPlanCreateDtos.Add((impItem.RowIndex, workPlanCreateDto));
-    //            }
-    //        }
-    //    }
-
-    //    // 鏂板 
-    //    foreach (var workPlanDto in workPlanCreateDtos)
-    //    {
-    //        try
-    //        {
-    //            await CreateAsync(workPlanDto.Item);
-    //        }
-    //        catch (Exception e)
-    //        {
-    //            var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊workPlanDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�";
-    //            throw new UserFriendlyException(errorMsg);
-    //        }
-    //    }
-
-    //    // 鏇存柊 
-    //    foreach (var workPlanDto in workPlanUpdateDtos)
-    //    {
-    //        try
-    //        {
-    //            await UpdateAsync(workPlanDto.Id, workPlanDto.Item);
-    //        }
-    //        catch (Exception e)
-    //        {
-    //            var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊workPlanDto.RowIndex}琛岋細{e.Message}锛岀粓姝㈠鍏�";
-    //            throw new UserFriendlyException(errorMsg);
-    //        }
-    //    }
-    //}
 
     /// <summary> 
     /// 瀵煎嚭浣滀笟璁″垝琛� 
@@ -502,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>
@@ -523,6 +473,8 @@
     {
         Check.NotNull(input, nameof(input));
         Check.NotNullOrWhiteSpace(input.TaskCode, "浠诲姟缂栫爜", 256);
+        Check.NotNull(input.WorkPlanStatus, "璁″垝鐘舵��");
+        Check.NotNull(input.CallMaterialStatus, "鍙枡鐘舵��");
         Check.NotNull(input.Length, "闀垮害(mm)");
         Check.NotNull(input.MarkingPosition, "鎵撶爜浣嶇疆");
         Check.NotNull(input.CuttingPosition, "鍒囧壊浣嶇疆");
@@ -533,8 +485,83 @@
         Check.NotNull(input.PipeWallThickness, "濂楃鐩村緞(mm)");
         Check.NotNull(input.OuterDiameter, "澶栧緞(mm)");
         Check.NotNull(input.Thickness, "澹佸帤(mm)");
-        Check.NotNull(input.HasMainSignature, "鏄惁涓绘敮绠�");
 
         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