From 252edd99e9094bc8cd1c08be71e6f93e49dfce94 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周五, 16 5月 2025 11:05:05 +0800
Subject: [PATCH] 2222
---
PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Services/ICallMaterialOrderAppService.cs | 21 +++++++
PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Domain/CallMaterialOrder/ICallMaterialOrderRepository.cs | 20 ++++++
PipeLineLems/server/src/CMS.Plugin.PipeLineLems.EntityFrameworkCore/Repositories/EfCoreCallMaterialOrderRepository.cs | 56 ++++++++++++++++++
PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/CallMaterialOrderAppService.cs | 60 ++++++++++++++------
PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs | 8 +-
5 files changed, 140 insertions(+), 25 deletions(-)
diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Services/ICallMaterialOrderAppService.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Services/ICallMaterialOrderAppService.cs
index 706f0ba..c1be461 100644
--- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Services/ICallMaterialOrderAppService.cs
+++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application.Contracts/Services/ICallMaterialOrderAppService.cs
@@ -1,5 +1,7 @@
using CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.CallMaterialOrder;
using CMS.Plugin.PipeLineLems.Domain.CallMaterialOrder;
+using System.Linq.Expressions;
+using Volo.Abp;
using Volo.Abp.Application.Services;
namespace CMS.Plugin.PipeLineLems.Application.Contracts.Services;
@@ -49,4 +51,23 @@
/// <param name="input"></param>
/// <returns></returns>
Task<(Dictionary<string, object> Sheets, string FileName)> ExportAsync(GetCallMaterialOrderInput input);
+
+ /// <summary>
+ /// 鏍规嵁鏉′欢鑾峰彇鍙枡鍗曡〃鍒楄〃
+ /// </summary>
+ /// <param name="whereConditions"></param>
+ /// <param name="cancellationToken"></param>
+ /// <returns></returns>
+ Task<List<CallMaterialOrder>> GetListByFilterAsync(Expression<Func<CallMaterialOrder, bool>> whereConditions, CancellationToken cancellationToken = default);
+
+
+ /// <summary>
+ /// 鏍规嵁鏉′欢鑾峰彇鍗曚釜鍙枡鍗曡〃
+ /// </summary>
+ /// <param name="whereConditions"></param>
+ /// <param name="isMultipleThrowException">鏄惁鏌ヨ鍑哄鏉″氨鎶ラ敊</param>
+ /// <param name="cancellationToken"></param>
+ /// <returns></returns>
+ /// <exception cref="UserFriendlyException"></exception>
+ Task<CallMaterialOrder> GetSingleByFilterAsync(Expression<Func<CallMaterialOrder, bool>> whereConditions, bool is鈥婱ultipleThrowException = false, CancellationToken cancellationToken = default);
}
diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/CallMaterialOrderAppService.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/CallMaterialOrderAppService.cs
index 0ca282e..440d4f5 100644
--- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/CallMaterialOrderAppService.cs
+++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/CallMaterialOrderAppService.cs
@@ -18,16 +18,16 @@
/// </summary>
public class CallMaterialOrderAppService : CMSPluginAppService, ICallMaterialOrderAppService
{
- private readonly ICallMaterialOrderRepository callMaterialOrderRepository;
+ private readonly ICallMaterialOrderRepository _callMaterialOrderRepository;
private readonly SharedService _sharedService;
private readonly IServiceProvider _serviceProvider;
/// <summary>
/// Initializes a new instance of the <see cref="CallMaterialOrderAppService"/> class.
/// </summary>
/// <param name="CallMaterialOrderRepository">The task job repository.</param>
- public CallMaterialOrderAppService(ICallMaterialOrderRepository _CallMaterialOrderRepository, SharedService sharedService, IServiceProvider serviceProvider)
+ public CallMaterialOrderAppService(ICallMaterialOrderRepository callMaterialOrderRepository, SharedService sharedService, IServiceProvider serviceProvider)
{
- callMaterialOrderRepository = _CallMaterialOrderRepository;
+ _callMaterialOrderRepository = callMaterialOrderRepository;
_sharedService = sharedService;
_serviceProvider = serviceProvider;
}
@@ -39,7 +39,7 @@
/// <returns></returns>
public virtual async Task<CallMaterialOrderDto> GetAsync(Guid id)
{
- return ObjectMapper.Map<CallMaterialOrder, CallMaterialOrderDto>(await callMaterialOrderRepository.GetAsync(id));
+ return ObjectMapper.Map<CallMaterialOrder, CallMaterialOrderDto>(await _callMaterialOrderRepository.GetAsync(id));
}
public virtual async Task CallMaterialByDataIdentifier(Guid id)
@@ -49,7 +49,7 @@
public virtual async Task<CallMaterialOrder> FindByWmsTaskNoAsync(string wmsTaskNo)
{
- return await callMaterialOrderRepository.FindByWmsTaskNoAsync(wmsTaskNo);
+ return await _callMaterialOrderRepository.FindByWmsTaskNoAsync(wmsTaskNo);
}
/// <summary>
@@ -73,8 +73,8 @@
#endregion
- var count = await callMaterialOrderRepository.GetCountAsync(whereConditions);
- var list = await callMaterialOrderRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
+ var count = await _callMaterialOrderRepository.GetCountAsync(whereConditions);
+ var list = await _callMaterialOrderRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount);
return new PagedResultDto<CallMaterialOrderDto>(count, ObjectMapper.Map<List<CallMaterialOrder>, List<CallMaterialOrderDto>>(list));
}
@@ -112,20 +112,20 @@
{
await CheckCreateOrUpdateDtoAsync(input);
- var exist = await callMaterialOrderRepository.NameExistAsync(input.DataIdentifier);
+ var exist = await _callMaterialOrderRepository.NameExistAsync(input.DataIdentifier);
if (exist)
{
throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.DataIdentifier]);
}
- var maxSort = await callMaterialOrderRepository.GetMaxSortAsync();
+ var maxSort = await _callMaterialOrderRepository.GetMaxSortAsync();
var sort = input.Sort ?? maxSort;
var insertObj = ObjectMapper.Map<CallMaterialOrderCreateDto, CallMaterialOrder>(input);
insertObj.Sort = sort;
input.MapExtraPropertiesTo(insertObj, MappingPropertyDefinitionChecks.None);
- await callMaterialOrderRepository.InsertAsync(insertObj);
+ await _callMaterialOrderRepository.InsertAsync(insertObj);
//if (input.Sort.HasValue && insertObj.Sort != maxSort)
//{
@@ -146,8 +146,8 @@
{
await CheckCreateOrUpdateDtoAsync(input);
- var updateObj = await callMaterialOrderRepository.GetAsync(id);
- var exist = await callMaterialOrderRepository.NameExistAsync(input.DataIdentifier, updateObj.Id);
+ var updateObj = await _callMaterialOrderRepository.GetAsync(id);
+ var exist = await _callMaterialOrderRepository.NameExistAsync(input.DataIdentifier, updateObj.Id);
if (exist)
{
throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.DataIdentifier]);
@@ -165,7 +165,7 @@
updateObj.Remark = input.Remark;
- await callMaterialOrderRepository.UpdateAsync(updateObj);
+ await _callMaterialOrderRepository.UpdateAsync(updateObj);
return ObjectMapper.Map<CallMaterialOrder, CallMaterialOrderDto>(updateObj);
}
@@ -217,7 +217,7 @@
/// <returns></returns>
public virtual Task DeleteAsync(Guid id)
{
- return callMaterialOrderRepository.DeleteAsync(id);
+ return _callMaterialOrderRepository.DeleteAsync(id);
}
/// <summary>
@@ -241,7 +241,7 @@
/// <returns></returns>
public virtual async Task AdjustSortAsync(Guid id, int sort)
{
- var list = await callMaterialOrderRepository.GetListAsync(null, nameof(CallMaterialOrder.Sort));
+ var list = await _callMaterialOrderRepository.GetListAsync(null, nameof(CallMaterialOrder.Sort));
if (list != null && list.Any())
{
var initSort = 1;
@@ -268,7 +268,7 @@
}
}
- await callMaterialOrderRepository.UpdateManyAsync(list);
+ await _callMaterialOrderRepository.UpdateManyAsync(list);
}
/// <summary>
@@ -313,7 +313,7 @@
throw new UserFriendlyException(errorMsg);
}
- var oldCallMaterialOrder = await callMaterialOrderRepository.FindByNameAsync(impItem.DataIdentifier);
+ var oldCallMaterialOrder = await _callMaterialOrderRepository.FindByNameAsync(impItem.DataIdentifier);
if (oldCallMaterialOrder != null)
{
var callMaterialOrderUpdateDto = new CallMaterialOrderUpdateDto
@@ -400,7 +400,7 @@
#endregion
- var list = await callMaterialOrderRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true);
+ var list = await _callMaterialOrderRepository.GetListAsync(whereConditions, input.Sorting, input.MaxResultCount, input.SkipCount, includeDetails: true);
var result = ObjectMapper.Map<List<CallMaterialOrder>, List<CallMaterialOrderDto>>(list);
var sheets = new Dictionary<string, object>
@@ -426,4 +426,28 @@
return Task.CompletedTask;
}
+
+ /// <summary>
+ /// 鏍规嵁鏉′欢鑾峰彇鍙枡鍗曡〃鍒楄〃
+ /// </summary>
+ /// <param name="whereConditions"></param>
+ /// <param name="cancellationToken"></param>
+ /// <returns></returns>
+ public async Task<List<CallMaterialOrder>> GetListByFilterAsync(Expression<Func<CallMaterialOrder, bool>> whereConditions, CancellationToken cancellationToken = default)
+ {
+ return await _callMaterialOrderRepository.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<CallMaterialOrder> GetSingleByFilterAsync(Expression<Func<CallMaterialOrder, bool>> whereConditions, bool is鈥婱ultipleThrowException = false, CancellationToken cancellationToken = default)
+ {
+ return await _callMaterialOrderRepository.GetSingleByFilterAsync(whereConditions, is鈥婱ultipleThrowException);
+ }
}
diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Domain/CallMaterialOrder/ICallMaterialOrderRepository.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Domain/CallMaterialOrder/ICallMaterialOrderRepository.cs
index 5fa6208..4cc38c4 100644
--- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Domain/CallMaterialOrder/ICallMaterialOrderRepository.cs
+++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Domain/CallMaterialOrder/ICallMaterialOrderRepository.cs
@@ -54,5 +54,23 @@
/// <param name="whereConditions"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
- Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<CallMaterialOrder, bool>>> whereConditions, CancellationToken cancellationToken = default);
+ Task<long> GetCountAsync(FunReturnResultModel<Expression<Func<CallMaterialOrder, bool>>> whereConditions, CancellationToken cancellationToken = default);
+
+ /// <summary>
+ /// 鏍规嵁鏉′欢鑾峰彇鍙枡鍗曡〃鍒楄〃
+ /// </summary>
+ /// <param name="whereConditions"></param>
+ /// <param name="cancellationToken"></param>
+ /// <returns></returns>
+ Task<List<CallMaterialOrder>> GetListByFilterAsync(Expression<Func<CallMaterialOrder, bool>> whereConditions, CancellationToken cancellationToken = default);
+
+ /// <summary>
+ /// 鏍规嵁鏉′欢鑾峰彇鍗曚釜鍙枡鍗曡〃
+ /// </summary>
+ /// <param name="whereConditions"></param>
+ /// <param name="isMultipleThrowException">鏄惁鏌ヨ鍑哄鏉″氨鎶ラ敊</param>
+ /// <param name="cancellationToken"></param>
+ /// <returns></returns>
+ /// <exception cref="UserFriendlyException"></exception>
+ Task<CallMaterialOrder> GetSingleByFilterAsync(Expression<Func<CallMaterialOrder, bool>> whereConditions, bool is鈥婱ultipleThrowException = false, CancellationToken cancellationToken = default);
}
diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.EntityFrameworkCore/Repositories/EfCoreCallMaterialOrderRepository.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.EntityFrameworkCore/Repositories/EfCoreCallMaterialOrderRepository.cs
index 0a78686..da7e88a 100644
--- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.EntityFrameworkCore/Repositories/EfCoreCallMaterialOrderRepository.cs
+++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.EntityFrameworkCore/Repositories/EfCoreCallMaterialOrderRepository.cs
@@ -3,7 +3,8 @@
using CmsQueryExtensions.Extension;
using Microsoft.EntityFrameworkCore;
using System.Linq.Dynamic.Core;
-using System.Linq.Expressions;
+using System.Linq.Expressions;
+using Volo.Abp;
using Volo.Abp.Domain.Repositories.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore;
@@ -118,5 +119,56 @@
{
return (await GetQueryableAsync())
.Where(x => !x.IsDeleted).IncludeDetails();
- }
+ }
+
+ /// <summary>
+ /// 鏍规嵁鏉′欢鑾峰彇鍙枡鍗曡〃鍒楄〃
+ /// </summary>
+ /// <param name="whereConditions"></param>
+ /// <param name="cancellationToken"></param>
+ /// <returns></returns>
+ public async Task<List<CallMaterialOrder>> GetListByFilterAsync(Expression<Func<CallMaterialOrder, bool>> whereConditions, CancellationToken cancellationToken = default)
+ {
+ return await (await GetDbSetAsync())
+ .IncludeDetails()
+ .WhereIf(whereConditions != null, whereConditions)
+ .Where(x => !x.IsDeleted)
+ .OrderByDescending(x => x.CreationTime)
+ .ToListAsync(GetCancellationToken(cancellationToken));
+ }
+
+ /// <summary>
+ /// 鏍规嵁鏉′欢鑾峰彇鍗曚釜鍙枡鍗曡〃
+ /// </summary>
+ /// <param name="whereConditions"></param>
+ /// <param name="isMultipleThrowException">鏄惁鏌ヨ鍑哄鏉″氨鎶ラ敊</param>
+ /// <param name="cancellationToken"></param>
+ /// <returns></returns>
+ /// <exception cref="UserFriendlyException"></exception>
+ public async Task<CallMaterialOrder> GetSingleByFilterAsync(Expression<Func<CallMaterialOrder, bool>> whereConditions, bool is鈥婱ultipleThrowException = false, CancellationToken cancellationToken = default)
+ {
+ if (is鈥婱ultipleThrowException)
+ {
+ var entitys = await (await GetDbSetAsync())
+ .IncludeDetails()
+ .WhereIf(whereConditions != null, whereConditions)
+ .Where(x => !x.IsDeleted)
+ .OrderByDescending(x => x.CreationTime)
+ .ToListAsync(GetCancellationToken(cancellationToken));
+ if (entitys?.Count > 1)
+ {
+ throw new UserFriendlyException("鏌ヨ鍒板鏉¤褰�");
+ }
+ return entitys?.FirstOrDefault();
+ }
+ else
+ {
+ return await (await GetDbSetAsync())
+ .IncludeDetails()
+ .WhereIf(whereConditions != null, whereConditions)
+ .Where(x => !x.IsDeleted)
+ .OrderByDescending(x => x.CreationTime)
+ .FirstOrDefaultAsync(GetCancellationToken(cancellationToken));
+ }
+ }
}
diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs
index d3e1b4e..81e821c 100644
--- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs
+++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs
@@ -377,8 +377,7 @@
pipeSpecCode3 = new_workPlanList[i].PipeSpecCode;
}
}
- //鑾峰彇 鎵规
- await callMaterialOrderAppService.wh
+
Dictionary<string, object?> keyValuePairs = new Dictionary<string, object?>
{
{ "鎵撶爜宸ヤ欢1",code1},
@@ -391,7 +390,7 @@
{ "鎵撶爜绠℃鍚嶇О", new_workPlanList.First().PipeSectionName },
{ "鎵撶爜鍘熸枡绠″瀷鍙�", new_workPlanList.First().MaterialMode },
{ "鎵撶爜鍘熸枡鏍囪瘑", new_workPlanList.First().DataIdentifier },
- { "鎵撶爜鍘熸枡绠℃壒娆�", new_workPlanList.First() },
+ { "鎵撶爜鍘熸枡绠℃壒娆�", callMaterialOrder.MaterialBatch },//鎵规
};
_variableService.WriteValueAsync(keyValuePairs);
@@ -662,7 +661,8 @@
{ "鍒囧壊绠℃缂栫爜", new_workPlanList.First().PipeSpecCode },
{ "鍒囧壊绠℃鍚嶇О", new_workPlanList.First().PipeSectionName },
{ "鍒囧壊鍘熸枡绠″瀷鍙�", new_workPlanList.First().MaterialMode },
- { "鍒囧壊鍘熸枡鏍囪瘑", new_workPlanList.First().DataIdentifier }
+ { "鍒囧壊鍘熸枡鏍囪瘑", new_workPlanList.First().DataIdentifier },
+ { "鍒囧壊鍘熸枡绠℃壒娆�", callMaterialOrder.MaterialBatch },//鎵规
};
_variableService.WriteValueAsync(keyValuePairs);
--
Gitblit v1.9.3