diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/BeiSeSyncAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/BeiSeSyncAppService.cs index 595fd0f2..7f0e780f 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/BeiSeSyncAppService.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/BeiSeSyncAppService.cs @@ -23,8 +23,9 @@ public class BeiSeSyncAppService : JitSeSyncAppService, IJobService public BeiSeSyncAppService( WMSBJBMPTDbContext wmsBJBMPTContext, INormalEfCoreRepository syncPositionFlagRepository, - INormalEfCoreRepository pubSeDetailRepository - ) : base(wmsBJBMPTContext, syncPositionFlagRepository, pubSeDetailRepository) + INormalEfCoreRepository pubSeDetailRepository, + VmiAppService vmiService + ) : base(wmsBJBMPTContext, syncPositionFlagRepository, pubSeDetailRepository, vmiService) { base.SeSyncConfigInfo = new SeSyncConfig() { @@ -38,7 +39,6 @@ public class BeiSeSyncAppService : JitSeSyncAppService, IJobService }; } - [ApiExplorerSettings(IgnoreApi = true)] public async Task Invoke(IServiceProvider serviceProvider) { await this.Invoke(); diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/HandSeSyncAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/HandSeSyncAppService.cs new file mode 100644 index 00000000..2f321ad1 --- /dev/null +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/HandSeSyncAppService.cs @@ -0,0 +1,42 @@ +using System; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; +using Volo.Abp.Application.Services; + +namespace Win.Sfs.SettleAccount.Entities.BQ.Syncs; + +/// +/// 手动同步 +/// +[AllowAnonymous] +[Route("api/settleaccount/[controller]/[action]")] +public class HandSeSyncAppService : ApplicationService +{ + private readonly IServiceProvider _applicationServices; + + public HandSeSyncAppService(IHost host) + { + _applicationServices = host.Services ?? throw new ArgumentNullException(); + } + + /// + /// 同步 + /// + [HttpPost] + public async Task SyncAsync([FromBody] EnumBusinessType businessType) + { + using var scope = this._applicationServices.CreateScope(); + JitSeSyncAppService jitSeSyncAppService = businessType switch + { + EnumBusinessType.ZhiGongJianBBAC => scope.ServiceProvider.GetRequiredService(), + EnumBusinessType.ZhiGongJianHBPO => scope.ServiceProvider.GetRequiredService(), + EnumBusinessType.BeiJian => scope.ServiceProvider.GetRequiredService(), + EnumBusinessType.YinDuJian => scope.ServiceProvider.GetRequiredService(), + _ => throw new ArgumentOutOfRangeException(nameof(businessType), $"Not expected direction value: {businessType}"), + }; + await jitSeSyncAppService.Invoke(); + } +} diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/JitSeSyncAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/JitSeSyncAppService.cs index ea7eecb1..f2bb45e3 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/JitSeSyncAppService.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/JitSeSyncAppService.cs @@ -7,6 +7,7 @@ using Coravel.Invocable; using Microsoft.AspNetCore.Mvc; using SettleAccount.Domain.BQ; using Volo.Abp.Application.Services; +using Win.Sfs.SettleAccount.Entities.BQ.Vmi; using Win.Sfs.SettleAccount.EntityFrameworkCore; using Win.Sfs.Shared.RepositoryBase; @@ -15,6 +16,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Syncs; /// /// Jit发运数据同步 /// +[ApiExplorerSettings(IgnoreApi = true)] public class JitSeSyncAppService : ApplicationService, IInvocable { /// @@ -32,17 +34,21 @@ public class JitSeSyncAppService : ApplicationService, IInvocable /// private readonly INormalEfCoreRepository _pubSeDetailRepository; + private readonly IVmiService _vmiService; + /// /// 构造 /// public JitSeSyncAppService( WMSBJBMPTDbContext wmsBJBMPTContext, INormalEfCoreRepository syncPositionFlagRepository, - INormalEfCoreRepository pubSeDetailRepository) + INormalEfCoreRepository pubSeDetailRepository, + VmiAppService vmiService) { _wmsBJBMPTContext = wmsBJBMPTContext; _syncPositionFlagRepository = syncPositionFlagRepository; _pubSeDetailRepository = pubSeDetailRepository; + _vmiService = vmiService; } /// @@ -99,6 +105,33 @@ public class JitSeSyncAppService : ApplicationService, IInvocable }; await _syncPositionFlagRepository.InsertAsync(syncPositionFlag); } + + pubSeDetails.ForEach(pubSeDetail => + { + var vmiBalance = new VmiBalance() + { + PartCode = pubSeDetail.PartCode, + VinCode = pubSeDetail.PN, + CustomerPartCode = default, + CodeType = default, + BillType = pubSeDetail.DeliverBillType, + Qty = pubSeDetail.Qty, + BillTime = pubSeDetail.BillTime, + DeliverTime = pubSeDetail.DnBillTime, + ErpToLoc = pubSeDetail.ToErpLocCode, + Seq = default, + OrderNum = pubSeDetail.DnBillNum, + UniqueCode = default, + MatchNumber = default, + PjsNum = default, + Configcode = default, + factory = default, + SubBillType = pubSeDetail.DeliverSubBillType, + RealCode = default, + ReMark = pubSeDetail.Remark, + }; + _vmiService.In(logType: Vmi.VmiLogType.Type100, changedNumber: pubSeDetail.DnBillNum, data: vmiBalance); + }); } } } diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/YinDuSeSyncAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/YinDuSeSyncAppService.cs index 2704f1e2..b78f51fd 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/YinDuSeSyncAppService.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/YinDuSeSyncAppService.cs @@ -23,8 +23,9 @@ public class YinDuSeSyncAppService : JitSeSyncAppService, IJobService public YinDuSeSyncAppService( WMSBJBMPTDbContext wmsBJBMPTContext, INormalEfCoreRepository syncPositionFlagRepository, - INormalEfCoreRepository pubSeDetailRepository - ) : base(wmsBJBMPTContext, syncPositionFlagRepository, pubSeDetailRepository) + INormalEfCoreRepository pubSeDetailRepository, + VmiAppService vmiService + ) : base(wmsBJBMPTContext, syncPositionFlagRepository, pubSeDetailRepository, vmiService) { base.SeSyncConfigInfo = new SeSyncConfig() { @@ -38,7 +39,6 @@ public class YinDuSeSyncAppService : JitSeSyncAppService, IJobService }; } - [ApiExplorerSettings(IgnoreApi = true)] public async Task Invoke(IServiceProvider serviceProvider) { await this.Invoke(); diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/ZhiGongBBACSeSyncAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/ZhiGongBBACSeSyncAppService.cs index 0b2ee930..3a2c28cb 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/ZhiGongBBACSeSyncAppService.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/ZhiGongBBACSeSyncAppService.cs @@ -23,8 +23,9 @@ public class ZhiGongBBACSeSyncAppService : JitSeSyncAppService, IJobService public ZhiGongBBACSeSyncAppService( WMSBJBMPTDbContext wmsBJBMPTContext, INormalEfCoreRepository syncPositionFlagRepository, - INormalEfCoreRepository pubSeDetailRepository - ) : base(wmsBJBMPTContext, syncPositionFlagRepository, pubSeDetailRepository) + INormalEfCoreRepository pubSeDetailRepository, + VmiAppService vmiService + ) : base(wmsBJBMPTContext, syncPositionFlagRepository, pubSeDetailRepository, vmiService) { base.SeSyncConfigInfo = new SeSyncConfig() { @@ -38,7 +39,7 @@ public class ZhiGongBBACSeSyncAppService : JitSeSyncAppService, IJobService }; } - [ApiExplorerSettings(IgnoreApi = true)] + [HttpPost] public async Task Invoke(IServiceProvider serviceProvider) { await this.Invoke(); diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/ZhiGongHBPOSeSyncAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/ZhiGongHBPOSeSyncAppService.cs index a2656ea3..02234922 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/ZhiGongHBPOSeSyncAppService.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/ZhiGongHBPOSeSyncAppService.cs @@ -23,8 +23,9 @@ public class ZhiGongHBPOSeSyncAppService : JitSeSyncAppService, IJobService public ZhiGongHBPOSeSyncAppService( WMSBJBMPTDbContext wmsBJBMPTContext, INormalEfCoreRepository syncPositionFlagRepository, - INormalEfCoreRepository pubSeDetailRepository - ) : base(wmsBJBMPTContext, syncPositionFlagRepository, pubSeDetailRepository) + INormalEfCoreRepository pubSeDetailRepository, + VmiAppService vmiService + ) : base(wmsBJBMPTContext, syncPositionFlagRepository, pubSeDetailRepository, vmiService) { base.SeSyncConfigInfo = new SeSyncConfig() { @@ -38,7 +39,6 @@ public class ZhiGongHBPOSeSyncAppService : JitSeSyncAppService, IJobService }; } - [ApiExplorerSettings(IgnoreApi = true)] public async Task Invoke(IServiceProvider serviceProvider) { await this.Invoke(); diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/PUB_SE_DETAIL.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/PUB_SE_DETAIL.cs index d4e59f18..d16d8600 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/PUB_SE_DETAIL.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/PUB_SE_DETAIL.cs @@ -3,6 +3,7 @@ using System; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using Win.Sfs.SettleAccount; +using Win.Sfs.SettleAccount.Entities.BQ.Syncs; namespace SettleAccount.Domain.BQ; [Display(Name = "PUB发运数据")] @@ -150,6 +151,42 @@ public class PUB_SE_DETAIL :SE_BASE [Display(Name = "备注")] public string Remark { get; set; } + /// + /// 单据类型 + /// + [DisplayName("单据类型")] + public EnumBillType BillType { get; set; } + + /// + /// 子单据类型 + /// + [DisplayName("子单据类型")] + public EnumSubBillType SubBillType { get; set; } + + /// + /// 业务类型 + /// + [DisplayName("业务类型")] + public EnumProTpe ProType { get; set; } + + /// + /// 事务类型 + /// + [DisplayName("事务类型")] + public EnumDelTransType TransType { get; set; } + + /// + /// 发运主类型 + /// + [DisplayName("发运主类型")] + public EnumDeliverBjBmpBillType DeliverBillType { get; set; } + + /// + /// 发运子类型 + /// + [DisplayName("发运子类型")] + public EnumDeliverSubBillType DeliverSubBillType { get; set; } + public PUB_SE_DETAIL(Guid guid, string keyCode, int version, string lU, string pN, decimal qty, string extend1, string extend2, string extend3, EnumBusinessType businessType, DateTime beginDate, DateTime shippingDate, string wmsBillNum) { Id=guid; diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/PubSaSeCompareExportService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/PubSaSeCompareExportService.cs index c1c54219..f630ec96 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/PubSaSeCompareExportService.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Job/Services/Report/PubSaSeCompareExportService.cs @@ -350,7 +350,7 @@ namespace SettleAccount.Job.Services.Report private void Notify() { - this._hubContext.Clients.All.ServerToClient("Compare", "refresh", ""); + this._hubContext.Clients.All.ServerToClient("SaSeCompare", "refresh", ""); } #endregion }