From b5904672914f1088841208b4084fc7619576fa2e Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 20 5月 2025 11:50:32 +0800
Subject: [PATCH] 优化
---
PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/WorkPlanAppService.cs | 508 +++++++++++++++++++++++++++++++-------------------------
1 files changed, 282 insertions(+), 226 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 686a0d9..01ffc44 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,15 +21,18 @@
/// </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)
+ public WorkPlanAppService(IWorkPlanRepository workPlanRepository, SharedService sharedService, IServiceProvider serviceProvider)
{
- workPlanRepository = _WorkPlanRepository;
+ _workPlanRepository = workPlanRepository;
+ _sharedService = sharedService;
+ _serviceProvider = serviceProvider;
}
/// <summary>
@@ -36,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>
/// 鍒嗛〉鑾峰彇浣滀笟璁″垝琛�
@@ -60,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));
}
@@ -99,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)
//{
@@ -133,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]);
@@ -144,57 +152,43 @@
input.MapExtraPropertiesTo(updateObj, MappingPropertyDefinitionChecks.None);
updateObj.TaskCode = input.TaskCode;
- updateObj.OrgMaterialCode = input.OrgMaterialCode;
- 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.WorkPlanStatus = input.WorkPlanStatus;
+ updateObj.CallMaterialStatus = input.CallMaterialStatus;
updateObj.DataIdentifier = input.DataIdentifier;
- updateObj.PipeSpecCode = input.PipeSpecCode;
- updateObj.PipeSectionName = input.PipeSectionName;
- updateObj.OuterDiameter = input.OuterDiameter;
- updateObj.Bevel = input.Bevel;
- updateObj.Material = input.Material;
+ updateObj.MaterialMode = input.MaterialMode;
updateObj.Length = input.Length;
- updateObj.DrillingPosition = input.DrillingPosition;
- updateObj.Intersecting = input.Intersecting;
- updateObj.InterfaceRequirement = input.InterfaceRequirement;
- updateObj.HasMainSignature = input.HasMainSignature;
- updateObj.Quantity = input.Quantity;
updateObj.MarkingContent = input.MarkingContent;
- updateObj.CuttingFile = input.CuttingFile;
- updateObj.BranchOuterDiameter = input.BranchOuterDiameter;
- updateObj.BranchWallThickness = input.BranchWallThickness;
- updateObj.BranchMaterial = input.BranchMaterial;
- updateObj.BranchPortRadius = input.BranchPortRadius;
- updateObj.BranchPortAngle = input.BranchPortAngle;
- updateObj.BranchPortRequirement = input.BranchPortRequirement;
- updateObj.IntersectingLineType = input.IntersectingLineType;
- updateObj.IntersectingLineCategory = input.IntersectingLineCategory;
- updateObj.FinishedProductScale = input.FinishedProductScale;
+ 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.VRData = input.VRData;
+ updateObj.FactoryCode = input.FactoryCode;
+ updateObj.ProductCode = input.ProductCode;
+ updateObj.WorkstationCode = input.WorkstationCode;
+ updateObj.EquipmentCode = input.EquipmentCode;
+
+ 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.TimeInfo = input.TimeInfo;
- updateObj.RedundantField1 = input.RedundantField1;
- updateObj.RedundantField2 = input.RedundantField2;
- updateObj.RedundantField3 = input.RedundantField3;
+ updateObj.TeamInfo = input.TeamInfo;
+ updateObj.Timestamp = input.Timestamp;
updateObj.Remark = input.Remark;
- updateObj.IsDisabled = input.IsDisabled;
- await workPlanRepository.UpdateAsync(updateObj);
+ await _workPlanRepository.UpdateAsync(updateObj);
return ObjectMapper.Map<WorkPlan, WorkPlanDto>(updateObj);
}
@@ -246,7 +240,7 @@
/// <returns></returns>
public virtual Task DeleteAsync(Guid id)
{
- return workPlanRepository.DeleteAsync(id);
+ return _workPlanRepository.DeleteAsync(id);
}
/// <summary>
@@ -270,7 +264,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;
@@ -297,7 +291,7 @@
}
}
- await workPlanRepository.UpdateManyAsync(list);
+ await _workPlanRepository.UpdateManyAsync(list);
}
/// <summary>
@@ -306,189 +300,166 @@
/// <param name="input"></param>
/// <returns></returns>
/// <exception cref="UserFriendlyException"></exception>
- public async Task ImportAsync(WorkPlansImportModel input)
+ public async Task ImportAsync(WorkPlansImportModel input, MyCurrentUser myCurrentUser)
{
- Check.NotNull(input, nameof(input));
+ //杞崲鏁版嵁
+ var result = ObjectMapper.Map<List<WorkPlansImportModel.WorkPlanImportModel>, List<WorkPlanInput>>(input.WorkPlans);
- var workPlanCreateDtos = new List<(int RowIndex, WorkPlanCreateDto Item)>();
- var workPlanUpdateDtos = new List<(int RowIndex, Guid Id, WorkPlanUpdateDto Item)>();
- var importItems = input.WorkPlans;
+ //await CreatebyApsAsync(result);
+ await _sharedService.CommonCreatebyApsAsync(result, _serviceProvider, this, myCurrentUser.UserId, myCurrentUser.UserAccount);
+ // Check.NotNull(input, nameof(input));
- if (importItems != null && importItems.Any())
- {
- #region 瀵煎叆鏍¢獙
+ // var workPlanCreateDtos = new List<(int RowIndex, WorkPlanCreateDto Item)>();
+ // var workPlanUpdateDtos = new List<(int RowIndex, Guid Id, WorkPlanUpdateDto Item)>();
+ // var importItems = input.WorkPlans;
- // 鍒ゆ柇鍚嶇О鏄惁閲嶅锛屽苟杈撳嚭绗嚑琛岄噸澶�
- 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);
- }
+ // if (importItems != null && importItems.Any())
+ // {
+ // #region 瀵煎叆鏍¢獙
- #endregion
+ // // 鍒ゆ柇鍚嶇О鏄惁閲嶅锛屽苟杈撳嚭绗嚑琛岄噸澶�
+ // 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);
+ // }
- foreach (var impItem in importItems)
- {
- if (impItem.TaskCode.IsNullOrWhiteSpace())
- {
- continue;
- }
+ // #endregion
- if (impItem.TaskCode.IsNullOrWhiteSpace())
- {
- var errorMsg = $"瀵煎叆澶辫触锛侀厤缃紝绗瑊impItem.RowIndex}琛岋細WorkPlan鍚嶇О涓嶈兘涓虹┖";
- throw new UserFriendlyException(errorMsg);
- }
+ // foreach (var impItem in importItems)
+ // {
+ // if (impItem.TaskCode.IsNullOrWhiteSpace())
+ // {
+ // continue;
+ // }
- var oldWorkPlan = await workPlanRepository.FindByNameAsync(impItem.TaskCode);
- if (oldWorkPlan != null)
- {
- var workPlanUpdateDto = new WorkPlanUpdateDto
- {
- TaskCode = impItem.TaskCode,
- OrgMaterialCode = impItem.OrgMaterialCode,
- FactoryCode = impItem.FactoryCode,
- ProductCode = impItem.ProductCode,
- WorkstationCode = impItem.WorkstationCode,
- EquipmentCode = impItem.EquipmentCode,
- WorkpieceName = impItem.WorkpieceName,
- ProcessName = impItem.ProcessName,
- PipeFittingCode = impItem.PipeFittingCode,
- PreSerialNumber = impItem.PreSerialNumber,
- DataIdentifier = impItem.DataIdentifier,
- PipeSpecCode = impItem.PipeSpecCode,
- PipeSectionName = impItem.PipeSectionName,
- OuterDiameter = impItem.OuterDiameter,
- Bevel = impItem.Bevel,
- Material = impItem.Material,
- Length = impItem.Length,
- DrillingPosition = impItem.DrillingPosition,
- Intersecting = impItem.Intersecting,
- InterfaceRequirement = impItem.InterfaceRequirement,
- HasMainSignature = impItem.HasMainSignature,
- Quantity = impItem.Quantity,
- MarkingContent = impItem.MarkingContent,
- CuttingFile = impItem.CuttingFile,
- BranchOuterDiameter = impItem.BranchOuterDiameter,
- BranchWallThickness = impItem.BranchWallThickness,
- BranchMaterial = impItem.BranchMaterial,
- BranchPortRadius = impItem.BranchPortRadius,
- BranchPortAngle = impItem.BranchPortAngle,
- BranchPortRequirement = impItem.BranchPortRequirement,
- IntersectingLineType = impItem.IntersectingLineType,
- IntersectingLineCategory = impItem.IntersectingLineCategory,
- FinishedProductScale = impItem.FinishedProductScale,
- FlangeThickness = impItem.FlangeThickness,
- FlangeInnerDiameter = impItem.FlangeInnerDiameter,
- WeldingHeatInput = impItem.WeldingHeatInput,
- PipeAllowableStress = impItem.PipeAllowableStress,
- PipeDiameter = impItem.PipeDiameter,
- PipeWallThickness = impItem.PipeWallThickness,
- VRData = impItem.VRData,
- ProcessRouteNumber = impItem.ProcessRouteNumber,
- PlannedStartTime = impItem.PlannedStartTime,
- PlannedEndTime = impItem.PlannedEndTime,
- TimeInfo = impItem.TimeInfo,
- RedundantField1 = impItem.RedundantField1,
- RedundantField2 = impItem.RedundantField2,
- RedundantField3 = impItem.RedundantField3,
- Remark = impItem.Remark,
- IsDisabled = impItem.IsDisabled,
+ // 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,
- OrgMaterialCode = impItem.OrgMaterialCode,
- FactoryCode = impItem.FactoryCode,
- ProductCode = impItem.ProductCode,
- WorkstationCode = impItem.WorkstationCode,
- EquipmentCode = impItem.EquipmentCode,
- WorkpieceName = impItem.WorkpieceName,
- ProcessName = impItem.ProcessName,
- PipeFittingCode = impItem.PipeFittingCode,
- PreSerialNumber = impItem.PreSerialNumber,
- DataIdentifier = impItem.DataIdentifier,
- PipeSpecCode = impItem.PipeSpecCode,
- PipeSectionName = impItem.PipeSectionName,
- OuterDiameter = impItem.OuterDiameter,
- Bevel = impItem.Bevel,
- Material = impItem.Material,
- Length = impItem.Length,
- DrillingPosition = impItem.DrillingPosition,
- Intersecting = impItem.Intersecting,
- InterfaceRequirement = impItem.InterfaceRequirement,
- HasMainSignature = impItem.HasMainSignature,
- Quantity = impItem.Quantity,
- MarkingContent = impItem.MarkingContent,
- CuttingFile = impItem.CuttingFile,
- BranchOuterDiameter = impItem.BranchOuterDiameter,
- BranchWallThickness = impItem.BranchWallThickness,
- BranchMaterial = impItem.BranchMaterial,
- BranchPortRadius = impItem.BranchPortRadius,
- BranchPortAngle = impItem.BranchPortAngle,
- BranchPortRequirement = impItem.BranchPortRequirement,
- IntersectingLineType = impItem.IntersectingLineType,
- IntersectingLineCategory = impItem.IntersectingLineCategory,
- FinishedProductScale = impItem.FinishedProductScale,
- FlangeThickness = impItem.FlangeThickness,
- FlangeInnerDiameter = impItem.FlangeInnerDiameter,
- WeldingHeatInput = impItem.WeldingHeatInput,
- PipeAllowableStress = impItem.PipeAllowableStress,
- PipeDiameter = impItem.PipeDiameter,
- PipeWallThickness = impItem.PipeWallThickness,
- VRData = impItem.VRData,
- ProcessRouteNumber = impItem.ProcessRouteNumber,
- PlannedStartTime = impItem.PlannedStartTime,
- PlannedEndTime = impItem.PlannedEndTime,
- TimeInfo = impItem.TimeInfo,
- RedundantField1 = impItem.RedundantField1,
- RedundantField2 = impItem.RedundantField2,
- RedundantField3 = impItem.RedundantField3,
- Remark = impItem.Remark,
- IsDisabled = impItem.IsDisabled,
+ // };
- };
+ // 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);
- }
- }
+ // workPlanCreateDtos.Add((impItem.RowIndex, workPlanCreateDto));
+ // }
+ // }
+ // }
- // 鏇存柊
- 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);
- }
- }
+ // // 鏂板
+ // 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>
@@ -513,7 +484,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>
@@ -521,7 +492,7 @@
["閰嶇疆"] = ExportHelper.ConvertListToExportData(result),
};
- var fileName = result.Count > 1 ? "浣滀笟璁″垝琛ㄥ垪琛�" : result.Count == 1 ? result[0]?.TaskCode : "WorkPlan妯$増";
+ var fileName = "浣滀笟璁″垝";
return (sheets, fileName);
}
@@ -533,11 +504,96 @@
protected Task CheckCreateOrUpdateDtoAsync(WorkPlanCreateOrUpdateDtoBase input)
{
Check.NotNull(input, nameof(input));
- Check.NotNullOrWhiteSpace(input.TaskCode, "浠诲姟缂栫爜", 64);
- Check.NotNullOrWhiteSpace(input.OrgMaterialCode, "鍘熸枡缂栧彿", 64);
- Check.NotNull(input.HasMainSignature, "鏄惁鏈変富绛�");
- Check.NotNull(input.Quantity, "鍖呮嫭鏁伴噺");
+ 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, "鍒囧壊浣嶇疆");
+ Check.NotNull(input.Quantity, "绠℃鏁伴噺");
+ Check.NotNull(input.FlangeThickness, "娉曞叞鍘氬害(mm)");
+ Check.NotNull(input.FlangeInnerDiameter, "娉曞叞鐩村緞(mm)");
+ Check.NotNull(input.PipeDiameter, "濂楃闀垮害(mm)");
+ Check.NotNull(input.PipeWallThickness, "濂楃鐩村緞(mm)");
+ Check.NotNull(input.OuterDiameter, "澶栧緞(mm)");
+ Check.NotNull(input.Thickness, "澹佸帤(mm)");
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