diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/JobItemAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/JobItemAppService.cs new file mode 100644 index 00000000..e8e06f11 --- /dev/null +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/JobItemAppService.cs @@ -0,0 +1,82 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Dynamic.Core; +using System.Threading.Tasks; +using EFCore.BulkExtensions; +using Microsoft.AspNetCore.Mvc; +using Omu.ValueInjecter; +using Volo.Abp.Application.Dtos; +using Win.Sfs.SettleAccount.Entities.BQ.Dtos; +using Win.Sfs.SettleAccount.Entities.BQ.Vmi; +using Win.Sfs.SettleAccount.Entities.Materials; +using Win.Sfs.Shared.RepositoryBase; + +namespace Win.Sfs.SettleAccount.Entities.BQ; + +[Route("api/settleaccount/[controller]/[action]")] +public class JobItemAppService : SettleAccountApplicationBase +{ + private readonly INormalEfCoreRepository _repository; + + public JobItemAppService(INormalEfCoreRepository repository) + { + this._repository = repository; + } + + [HttpPost] + public async Task> GetListAsync(RequestDto input) + { + var entities = await _repository.GetListByFilterAsync(input.Filters, input.Sorting, input.MaxResultCount, + input.SkipCount, true).ConfigureAwait(false); + var totalCount = await _repository.GetCountByFilterAsync(input.Filters).ConfigureAwait(false); + return new PagedResultDto(totalCount, entities); + } + + [HttpPost] + public async Task CreateAsync(JobItem input) + { + await _repository.InsertAsync(input).ConfigureAwait(false); + return input; + } + + [HttpPost("{id}")] + public async Task UpdateAsync(Guid id, JobItem input) + { + var entity = await _repository.FindAsync(id).ConfigureAwait(false); + if (entity != null) + { + entity.InjectFrom(input); + } + await _repository.UpdateAsync(entity).ConfigureAwait(false); + return input; + } + + [HttpPost] + public async Task DeleteListAsync(List ids) + { + var _query = _repository.Where(p => ids.Contains(p.Id)); + int i = await _query.BatchDeleteAsync().ConfigureAwait(false); + return i == 0; + } +} + +[Route("api/settleaccount/[controller]/[action]")] +public class JobLogAppService : SettleAccountApplicationBase +{ + private readonly INormalEfCoreRepository _repository; + + public JobLogAppService(INormalEfCoreRepository repository) + { + this._repository = repository; + } + + [HttpPost] + public async Task> GetListAsync(RequestDto input) + { + var entities = await _repository.GetListByFilterAsync(input.Filters, input.Sorting, input.MaxResultCount, + input.SkipCount, true).ConfigureAwait(false); + var totalCount = await _repository.GetCountByFilterAsync(input.Filters).ConfigureAwait(false); + return new PagedResultDto(totalCount, entities); + } +} diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/SettleAccount.Application.csproj b/code/src/Modules/SettleAccount/src/SettleAccount.Application/SettleAccount.Application.csproj index 9da8ed51..2a809cee 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/SettleAccount.Application.csproj +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/SettleAccount.Application.csproj @@ -126,6 +126,7 @@ +