From 740e921986d420608aa40de25fbd161bcfb81088 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com> Date: Wed, 13 Nov 2024 17:05:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Users/ISfsUserAppService.cs | 4 ++ .../Users/SfsUserAppService.cs | 22 +++++++++ ...lannedIssueRequestForDongyangAppService.cs | 47 ++++++++++++++++--- ...nnedReceiptRequestForDongyangAppService.cs | 37 ++++++++++++++- 4 files changed, 102 insertions(+), 8 deletions(-) diff --git a/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application.Contracts/Users/ISfsUserAppService.cs b/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application.Contracts/Users/ISfsUserAppService.cs index a17a8e118..fd41f2e49 100644 --- a/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application.Contracts/Users/ISfsUserAppService.cs +++ b/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application.Contracts/Users/ISfsUserAppService.cs @@ -15,4 +15,8 @@ public interface ISfsUserAppService : IApplicationService Task UpdateIsActiveAsync(Guid id, bool isActive); Task GetUserNameByUserAsync(string worker); + + + Task FindUserByUserNameAsync(string worker); + } diff --git a/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application/Users/SfsUserAppService.cs b/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application/Users/SfsUserAppService.cs index 1d39e27f0..71641fb0d 100644 --- a/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application/Users/SfsUserAppService.cs +++ b/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application/Users/SfsUserAppService.cs @@ -133,4 +133,26 @@ public class SfsUserAppService : ApplicationService, ISfsUserAppService _userManager.PasswordValidators.Clear(); await _userManager.AddPasswordAsync(user, "000000"); } + + [HttpPost("find-user-by-user")] + public virtual async Task FindUserByUserNameAsync(string worker) + { + + //var userList = await _userRepository.GetListAsync().ConfigureAwait(false); + //var userEntity = userList.First(p => p.UserName == worker); + //var userEntity=await _userRepository.FindByNormalizedUserNameAsync(worker).ConfigureAwait(false); + + var list= await _userRepository.GetListAsync().ConfigureAwait(false); + var userEntity= list.FirstOrDefault(p=>p.UserName==worker); + if (userEntity == null) + { + throw new UserFriendlyException("未查到用户!"); + } + + return userEntity.Name; + } + + + + } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs index 69b4c62bf..cc56a22ca 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs @@ -6,6 +6,7 @@ using System.Linq; using System.Threading.Tasks; using DocumentFormat.OpenXml.Bibliography; using DocumentFormat.OpenXml.Office2016.Excel; +using DocumentFormat.OpenXml.Vml.Office; using IdentityModel; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; @@ -17,9 +18,11 @@ using Org.BouncyCastle.Asn1.Ocsp; using Volo.Abp; using Volo.Abp.Data; using Volo.Abp.Domain.Entities; +using Volo.Abp.Identity; using Volo.Abp.Uow; using Volo.Abp.Users; using Win_in.Sfs.Auth.Application.Contracts; +using Win_in.Sfs.Auth.Users; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Basedata.Domain; using Win_in.Sfs.Basedata.Kittings.Inputs; @@ -48,6 +51,8 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA private readonly IUnitOfWorkManager _unitOfWorkManager; private readonly ILogger _logger; private readonly IExpectOutAppService _expectOutAppService; + private readonly ISfsUserAppService _sfsUserAppService; + //private readonly IExportImportService _excelService; @@ -55,7 +60,7 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA IUnplannedIssueRequestManager unplannedIssueRequestManager, IDepartmentAppService departmentApp, IBalanceAppService balanceAppService, ILocationAppService locationAppService, IExportImportService excelService, ITransactionTypeAclService transactionTypeAclService, IUnplannedIssueJobAppService unplannedIssueJobAppService, IUnitOfWorkManager unitOfWorkManager - , ILogger logger + , ILogger logger,ISfsUserAppService sfsUserAppService ) : base( repository, unplannedIssueRequestManager, excelService) @@ -69,7 +74,10 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA _unitOfWorkManager = unitOfWorkManager; _logger = logger; _jobrepository= jobrepository; - _expectOutAppService = expectOutAppService; + _expectOutAppService = expectOutAppService; + _sfsUserAppService= sfsUserAppService; + + } /// /// OA创建计划外出库申请 @@ -91,18 +99,27 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA entity.AutoAgree = true; entity.AutoHandle = true; entity.DirectCreateNote = false; - entity.Worker = input.Worker; + + //var userEntity=await _userRepository.FindByNormalizedUserNameAsync(input.Worker).ConfigureAwait(false); + + await _unplannedIssueRequestManager.CreateAsync(entity).ConfigureAwait(false); var dto = ObjectMapper.Map(entity); return dto; } - + //public virtual async Task GetUserNameByUserAsync(string worker) + //{ + // var userList = await _userRepository.GetListAsync().ConfigureAwait(false); + // var userEntity = userList.First(p => p.Name == worker); + // return userEntity.UserName; + //} + private async Task SetEntityPropertiesAsync(UnplannedIssueRequest entity) { var userName = CurrentUser.GetUserName_New(); - var name = CurrentUser.GetUserName_New(); + var name = CurrentUser.GetUserName(); if (userName != null) { var department = await _departmentApp.GetByUsernameAsync(userName).ConfigureAwait(false); @@ -168,7 +185,11 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA request.DeptName = first.DeptName; request.BuildDate = DateTime.Now; request.OANumber = first.OANumber; - request.Worker = first.Worker; + + + + + await SetEntityPropertiesAsync(request).ConfigureAwait(false); List detailList = new List(); @@ -194,6 +215,17 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA } request.Details = detailList; + + + var user = await _sfsUserAppService.FindUserByUserNameAsync(first.Worker).ConfigureAwait(false); + if (string.IsNullOrEmpty(user)) + { + throw new UserFriendlyException("没有查到用户"); + } + request.Worker = user; + + + await _unplannedIssueRequestManager.CreateAsync(request).ConfigureAwait(false); var dto = ObjectMapper.Map(request); return dto; @@ -344,6 +376,9 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA unplannedReceiptRequest.AutoHandle = true; unplannedReceiptRequest.DirectCreateNote = false; unplannedReceiptRequest.BuildDate = DateTime.Now; + unplannedReceiptRequest.Worker = CurrentUser.GetName(); + + foreach (var detail in unplannedReceiptRequest.Details) { detail.LocationErpCode = detail.FromErpLocationCode; diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs index 267e20880..028d16598 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs @@ -3,13 +3,18 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Threading.Tasks; +using DocumentFormat.OpenXml.Bibliography; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using NUglify.Helpers; +using Org.BouncyCastle.Asn1.Ocsp; using Volo.Abp; using Volo.Abp.Data; +using Volo.Abp.Identity; using Volo.Abp.ObjectMapping; +using Volo.Abp.Users; using Win_in.Sfs.Auth.Application.Contracts; +using Win_in.Sfs.Auth.Users; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Basedata.Domain; using Win_in.Sfs.Shared.Application.Contracts; @@ -30,19 +35,29 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ private readonly IUnplannedReceiptRequestManager _unplannedReceiptRequestManager; private readonly IBalanceAppService _balanceAppService; private readonly IUnplannedReceiptJobAppService _unplannedReceiptJobAppService; + //private readonly IIdentityUserRepository _userRepository; + private readonly ISfsUserAppService _sfsUserAppService; public UnplannedReceiptRequestForDongyangAppService(IUnplannedReceiptRequestRepository repository, IUnplannedReceiptRequestManager unplannedReceiptRequestManager, IDepartmentAppService departmentApp, ILocationAppService locationAppService, IBalanceAppService balanceAppService, - IUnplannedReceiptJobAppService unplannedReceiptJobAppService) : base(repository, unplannedReceiptRequestManager) + IUnplannedReceiptJobAppService unplannedReceiptJobAppService, + //IIdentityUserRepository userRepository + ISfsUserAppService sfsUserAppService + + + + ) : base(repository, unplannedReceiptRequestManager) { _unplannedReceiptRequestManager = unplannedReceiptRequestManager; _departmentApp = departmentApp; _locationAppService = locationAppService; _balanceAppService = balanceAppService; _unplannedReceiptJobAppService = unplannedReceiptJobAppService; + _sfsUserAppService = sfsUserAppService; + //_userRepository = userRepository; } /// /// OA创建计划外入库申请 @@ -63,6 +78,21 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ entity.AutoAgree = true; entity.AutoHandle = true; entity.DirectCreateNote = false; + var user = await _sfsUserAppService.FindUserByUserNameAsync(input.Worker).ConfigureAwait(false); + if (string.IsNullOrEmpty(user)) + { + throw new UserFriendlyException("没有查到用户"); + } + entity.Worker = user; + //var userEntity = await _userRepository.FindByNormalizedUserNameAsync(input.Worker).ConfigureAwait(false); + //if (userEntity == null) + //{ + // throw new UserFriendlyException("没有查到用户"); + //} + + + + var res = await _unplannedReceiptRequestManager.CreateAsync(entity).ConfigureAwait(false); var dto = ObjectMapper.Map(entity); @@ -114,6 +144,8 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ foreach (var unplannedReceiptRequest in addList) { + + //if (unplannedReceiptRequest.UnplannedReceiptType != EnumUnplannedReceiptType.Wip && unplannedReceiptRequest.UnplannedReceiptType != EnumUnplannedReceiptType.Raw) //{ // throw new UserFriendlyException($"【{unplannedReceiptRequest.UnplannedReceiptType}】退料料类型," + @@ -172,7 +204,7 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ private async Task SetEntityPropertiesAsync(UnplannedReceiptRequest entity) { var userName = CurrentUser.GetUserName_New(); - var name = CurrentUser.GetUserName_New(); + var name = CurrentUser.GetName(); if (userName != null) { var department = await _departmentApp.GetByUsernameAsync(userName).ConfigureAwait(false); @@ -203,6 +235,7 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ entity.AutoAgree = false; entity.AutoHandle = true; entity.DirectCreateNote = false; + entity.Worker = CurrentUser.Name; } #endregion