diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/CustomerReturnNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/CustomerReturnNoteConverter.cs index 0d538caac..8ae33abda 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/CustomerReturnNoteConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/CustomerReturnNoteConverter.cs @@ -101,10 +101,12 @@ public class CustomerReturnNoteConverter : IOutgoingConverter return outgoingToExternalList; } + /// /// 构建主表 /// /// + /// /// private Wmsoutm BuildDataInterface(CustomerReturnNoteExchangeDto exchangeOrder, string departmentCode) { @@ -117,7 +119,7 @@ public class CustomerReturnNoteConverter : IOutgoingConverter wmsoutm_stat = "Y", wmsoutm_tyrp_dt = "", wmsoutm_user ="WMS", - wmsoutm_dept = "",//根据Worker从UserDepartment中获取 + wmsoutm_dept = departmentCode,//根据Worker从UserDepartment中获取 wmsoutm_date = DateTime.Now.ToString("yyyyMMdd"), wmsoutm_cust = exchangeOrder.Customer, wmsoutm_shm_nbr = "", diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/DeliverNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/DeliverNoteConverter.cs index 7c71a5729..5c5fe076b 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/DeliverNoteConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/DeliverNoteConverter.cs @@ -3,7 +3,9 @@ using System.Collections.Generic; using System.Linq; using System.Text.Json; using System.Threading.Tasks; +using Microsoft.Extensions.Configuration; using Volo.Abp.ObjectMapping; +using Win_in.Sfs.Auth.Application.Contracts; using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Wms.DataExchange.Domain; using Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Tyrp; @@ -18,7 +20,8 @@ public class DeliverNoteConverter : IOutgoingConverter private readonly string billtype = "1003"; private readonly IOutgoingFromWmsManager _outgoingFromWmsManager; private readonly IOutgoingToExternalManager _outgoingToExternalManager; - // private readonly IUserDepartmentAppService _departmentAppService; + private readonly IDepartmentAppService _departmentAppService; + private readonly IConfiguration _configuration; private readonly IObjectMapper _objectMapper; private readonly ISalePriceSheetAppService _salePriceSheetAppService; @@ -26,13 +29,14 @@ public class DeliverNoteConverter : IOutgoingConverter IOutgoingFromWmsManager outgoingFromWmsManager , IOutgoingToExternalManager outgoingToExternalManager , IObjectMapper objectMapper, - ISalePriceSheetAppService salePriceSheetAppService - ) + ISalePriceSheetAppService salePriceSheetAppService, IConfiguration configuration, IDepartmentAppService departmentAppService) { _outgoingFromWmsManager = outgoingFromWmsManager; _outgoingToExternalManager = outgoingToExternalManager; _objectMapper = objectMapper; _salePriceSheetAppService = salePriceSheetAppService; + _configuration = configuration; + _departmentAppService = departmentAppService; } /// @@ -52,6 +56,10 @@ public class DeliverNoteConverter : IOutgoingConverter var wmsReceipt = JsonSerializer.Deserialize(outgoingFromWms.DataContent); #region 明细 var WipDetails = wmsReceipt.Details.GroupBy(r => new { r.Number, r.ItemCode, r.FromLocationErpCode }).Select(p => new DeliverNoteDetailExchangeDto { Qty = p.Sum(itm => itm.Qty), Number = p.Key.Number, ItemCode = p.Key.ItemCode, FromLocationErpCode = p.Key.FromLocationErpCode }); + + var department = await _departmentAppService.GetByUsernameAsync(wmsReceipt.Worker).ConfigureAwait(false); + var departmentCode = department == null ? "" : department.Code; + foreach (var detail in WipDetails) { var item= await _salePriceSheetAppService.GetByItemCodeAndCustomerCode(detail.ItemCode, wmsReceipt.CustomerCode); @@ -85,7 +93,7 @@ public class DeliverNoteConverter : IOutgoingConverter if (flag) { var exchangeReceipt = _objectMapper.Map(wmsReceipt); - var purchaseOrder = BuildDataInterface(exchangeReceipt, tyrpNumber); + var purchaseOrder = BuildDataInterface(exchangeReceipt, tyrpNumber, departmentCode); var outgoingToExternal = new OutgoingToExternal() { DataType = EnumOutgoingDataType.Deliver.ToString(), @@ -125,7 +133,7 @@ public class DeliverNoteConverter : IOutgoingConverter /// /// /// - private Wmsoutm BuildDataInterface(DeliverNoteExchangeDto exchangeOrder,string tyrpNumber) + private Wmsoutm BuildDataInterface(DeliverNoteExchangeDto exchangeOrder,string tyrpNumber,string departmentCode) { var ret = new Wmsoutm() @@ -136,7 +144,7 @@ public class DeliverNoteConverter : IOutgoingConverter wmsoutm_stat = "Y", wmsoutm_tyrp_dt = "", wmsoutm_user = "WMS", - wmsoutm_dept = "", + wmsoutm_dept = departmentCode, // wmsoutm_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"), wmsoutm_date = DateTime.Now.ToString("yyyyMMdd"), wmsoutm_cust = exchangeOrder.CustomerCode ?? "", @@ -150,6 +158,7 @@ public class DeliverNoteConverter : IOutgoingConverter wmsoutm_id = 0,//明细中最大scmsend_id wmsoutm_open_qty = 0, }; + return ret; } /// diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/IssueNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/IssueNoteConverter.cs index 8817630e3..9b5e42364 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/IssueNoteConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/IssueNoteConverter.cs @@ -135,7 +135,7 @@ public class IssueNoteConverter : IOutgoingConverter scmsend_date = DateTime.Now.ToString("yyyyMMdd"), scmsend_qty = exchangeDetailOrder.Qty, scmsend_wipd_loc = exchangeDetailOrder.ToLocationErpCode, - scmsend_userid = "WMS" + scmsend_userid = "WMS", }; return ret; } diff --git a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/RecycledMaterialReceiptNoteConverter.cs b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/RecycledMaterialReceiptNoteConverter.cs index 72243a4cf..8c4e83014 100644 --- a/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/RecycledMaterialReceiptNoteConverter.cs +++ b/be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/RecycledMaterialReceiptNoteConverter.cs @@ -39,6 +39,8 @@ public class RecycledMaterialReceiptNoteConverter : IOutgoingConverter /// public virtual async Task> ConvertAsync() { + + var outgoingToExternalList = new List(); //获取要同步得数据 var outgoingFromWmsList = await _outgoingFromWmsManager.GetToBeProcessedListAsync(EnumOutgoingDataType.RecycledMaterialReceipt, EnumSystemType.ERP).ConfigureAwait(false); @@ -48,9 +50,9 @@ public class RecycledMaterialReceiptNoteConverter : IOutgoingConverter #region 主表 var wmsReceipt = JsonSerializer.Deserialize(outgoingFromWms.DataContent); var exchangeReceipt = _objectMapper.Map(wmsReceipt); - //var department = await _departmentAppService.GetByUsernameAsync(exchangeReceipt.Worker).ConfigureAwait(false); - //var departmentCode = department == null ? "" : department.Code; - var purchaseOrder = BuildDataInterface(tyrpNumber); + var department = await _departmentAppService.GetByUsernameAsync(exchangeReceipt.Worker).ConfigureAwait(false); + var departmentCode = department == null ? "" : department.Code; + var purchaseOrder = BuildDataInterface(tyrpNumber, departmentCode); var outgoingToExternal = new OutgoingToExternal() { DataType = EnumOutgoingDataType.RecycledMaterialReceipt.ToString(), @@ -109,7 +111,7 @@ public class RecycledMaterialReceiptNoteConverter : IOutgoingConverter /// /// /// - private Wmsoutm BuildDataInterface(string tyrpNumber) + private Wmsoutm BuildDataInterface(string tyrpNumber,string departmentCode) { var ret = new Wmsoutm() @@ -120,7 +122,7 @@ public class RecycledMaterialReceiptNoteConverter : IOutgoingConverter wmsoutm_stat = "Y", wmsoutm_tyrp_dt = "", wmsoutm_user = "WMS", - wmsoutm_dept = "510800",//根据Worker从UserDepartment中获取 + wmsoutm_dept = departmentCode,//根据Worker从UserDepartment中获取 //wmsoutm_date = exchangeOrder.ActiveDate.ToString("yyyyMMdd"), wmsoutm_date = DateTime.Now.ToString("yyyyMMdd"), wmsoutm_cust = "", diff --git a/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application/Departments/DepartmentAppService.cs b/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application/Departments/DepartmentAppService.cs index f546528a1..7633ed318 100644 --- a/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application/Departments/DepartmentAppService.cs +++ b/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application/Departments/DepartmentAppService.cs @@ -1,6 +1,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Configuration; using Volo.Abp.Identity; using Win_in.Sfs.Auth.Application.Contracts; using Win_in.Sfs.Auth.Domain; @@ -17,10 +18,10 @@ public class DepartmentAppService private readonly IdentityUserManager _identityUserManager; private new readonly IDepartmentRepository _repository; + private readonly IConfiguration _configuration; public DepartmentAppService( - IDepartmentRepository repository, IdentityUserManager identityUserManager - ) : base(repository) + IDepartmentRepository repository, IdentityUserManager identityUserManager, IConfiguration configuration) : base(repository) { _repository = repository; @@ -28,6 +29,7 @@ public class DepartmentAppService base.UpdatePolicyName = DepartmentPermissions.Update; base.DeletePolicyName = DepartmentPermissions.Delete; _identityUserManager = identityUserManager; + _configuration = configuration; } [AllowAnonymous] @@ -47,6 +49,12 @@ public class DepartmentAppService } var deptDto = await GetByCodeAsync(departmentCode).ConfigureAwait(false); + if (username.ToLower() == "wms") + { + var depCode=_configuration["WmsDepCode"]; + deptDto.Code = depCode; + } + return deptDto; } diff --git a/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/appsettings.json b/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/appsettings.json index 7ec7d8dd5..be4e1c5eb 100644 --- a/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/appsettings.json +++ b/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/appsettings.json @@ -1,6 +1,7 @@ { "ConfigServer": "http://localhost:21093", "ConfigServer.Docker": "http://gateway:21093", + "WmsDepCode": "部门代码3.0" //"ConnectionStrings": { // "Default": "Server=dev.ccwin-in.com,21195;Database=WmsAuth;uid=ccwin-in;pwd=Microsoft@2022;Packet Size=512;", // "Auth": "Server=dev.ccwin-in.com,21195;Database=WmsAuth;uid=ccwin-in;pwd=Microsoft@2022;Packet Size=512;"