diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedIssueNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedIssueNoteConverter.cs index 0f55e3a69..b7cd69800 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedIssueNoteConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/UnplannedIssueNoteConverter.cs @@ -4,6 +4,7 @@ using System.Text.Json; using System.Threading.Tasks; using Volo.Abp.ObjectMapping; using Win_in.Sfs.Auth.Application.Contracts; +using Win_in.Sfs.Auth.Users; using Win_in.Sfs.Wms.DataExchange.Domain; using Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Tyrp; using Win_in.Sfs.Wms.DataExchange.Domain.Shared; @@ -19,18 +20,20 @@ public class UnplannedIssueNoteConverter : IOutgoingConverter private readonly IOutgoingToExternalManager _outgoingToExternalManager; private readonly IDepartmentAppService _departmentAppService; private readonly IObjectMapper _objectMapper; + private readonly ISfsUserAppService _sfsUserAppService; public UnplannedIssueNoteConverter( IOutgoingFromWmsManager outgoingFromWmsManager , IOutgoingToExternalManager outgoingToExternalManager , IDepartmentAppService departmentAppService , IObjectMapper objectMapper - ) + , ISfsUserAppService sfsUserAppService) { _outgoingFromWmsManager = outgoingFromWmsManager; _outgoingToExternalManager = outgoingToExternalManager; _departmentAppService = departmentAppService; _objectMapper = objectMapper; + _sfsUserAppService = sfsUserAppService; } /// @@ -49,6 +52,15 @@ public class UnplannedIssueNoteConverter : IOutgoingConverter var exchangeReceipt = _objectMapper.Map(wmsReceipt); var department = await _departmentAppService.GetByUsernameAsync(exchangeReceipt.Worker).ConfigureAwait(false); var departmentCode = department == null ? "" : department.Code; + if (Guid.TryParse(exchangeReceipt.CreatorId.ToString(), out Guid guid)) + { + var username = await _sfsUserAppService.GetUserNameById(guid).ConfigureAwait(false); + if (string.IsNullOrEmpty(username)) + { + exchangeReceipt.Worker = username; + } + } + var purchaseOrder = BuildDataInterface(exchangeReceipt); var outgoingToExternal = new OutgoingToExternal() { @@ -108,7 +120,6 @@ public class UnplannedIssueNoteConverter : IOutgoingConverter /// private Wmsoutm BuildDataInterface(UnplannedIssueNoteExchangeDto exchangeOrder) { - var ret = new Wmsoutm() { wmsoutm_nbr = exchangeOrder.Number, 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 79a275705..63c0fbf78 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 @@ -8,6 +8,7 @@ namespace Win_in.Sfs.Auth.Users; public interface ISfsUserAppService : IApplicationService { + Task GetUserNameById(Guid id); Task UpdateByNmaeAsync(IdentityUserInputDto entity); Task UpdateDepartmentCodeAsync(Guid id, string departmentCode); 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 14ebda3ed..93c4d501f 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 @@ -82,6 +82,17 @@ public class SfsUserAppService : ApplicationService, ISfsUserAppService return userresult; } + [HttpPost("get-username-by-id")] + public virtual async Task GetUserNameById(Guid id) + { + string username = ""; + var user = await _userRepository.GetAsync(id).ConfigureAwait(false); + if (user != null) + { + username = user.UserName; + } + return username; + } /// /// 修改密码