diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/BBACSeSyncAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/BBACSeSyncAppService.cs deleted file mode 100644 index 99792617..00000000 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/BBACSeSyncAppService.cs +++ /dev/null @@ -1,195 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Expressions; -using System.Threading.Tasks; -using Coravel.Invocable; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; -using SettleAccount.Domain.BQ; -using Volo.Abp.Application.Services; -using Win.Sfs.SettleAccount.Entities.BQ.Managers; -using Win.Sfs.SettleAccount.Entities.BQ.Vmi; -using Win.Sfs.SettleAccount.EntityFrameworkCore; -using Win.Sfs.SettleAccount.MaterialRelationships; -using Win.Sfs.Shared.RepositoryBase; - -namespace Win.Sfs.SettleAccount.Entities.BQ.Syncs; - -/// -/// HBPO发运数据同步 -/// -[AllowAnonymous] -[Route("api/settleaccount/[controller]/[action]")] -public class BBACSeSyncAppService : ApplicationService, IInvocable, IJobService -{ - /// - /// WMS数据上下文 - /// - private readonly WMSBJBMPTDbContext _wmsBJBMPTContext; - - /// - /// 同步位置标记 - /// - private readonly INormalEfCoreRepository _syncPositionFlagRepository; - - /// - /// HBPO发运数据仓储 - /// - private readonly INormalEfCoreRepository _bbacSeDetailRepository; - - /// - /// 客户零件关系领域 - /// - private readonly MaterialRelationshipManager _materialRelationshipManager; - - /// - /// 客户零件关系集合 - /// - private List _addMaterialRelationships; - - /// - /// 构造 - /// - public BBACSeSyncAppService( - WMSBJBMPTDbContext wmsBJBMPTContext, - INormalEfCoreRepository syncPositionFlagRepository, - INormalEfCoreRepository bbacSeDetailRepository, - MaterialRelationshipManager materialRelationshipManager) - { - _wmsBJBMPTContext = wmsBJBMPTContext; - _syncPositionFlagRepository = syncPositionFlagRepository; - _bbacSeDetailRepository = bbacSeDetailRepository; - _materialRelationshipManager = materialRelationshipManager; - _addMaterialRelationships = new List(); - } - - [ApiExplorerSettings(IgnoreApi = true)] - public async Task Invoke(IServiceProvider serviceProvider) - { - await this.Invoke().ConfigureAwait(false); - } - - [HttpPost] - public async Task Invoke() - { - await SyncJitRecordAsync().ConfigureAwait(false); - await SyncJisRecordAsync().ConfigureAwait(false); - if (_addMaterialRelationships.Any()) - { - _addMaterialRelationships = _addMaterialRelationships.Where(t => !string.IsNullOrEmpty(t.ErpMaterialCode)).GroupBy(t => new { t.ErpMaterialCode }).Select(t => t.First()).ToList(); - await _materialRelationshipManager.AddNewMaterialRelationships(_addMaterialRelationships).ConfigureAwait(false); - } - } - - /// - /// 同步JitRecord - /// - private async Task SyncJitRecordAsync() - { - //同步表名称 - var syncTableName = "JisBBACSeSync_Jit"; - //BBAC类型集合 - var EnumDeliverSubBillTypes = GetDeliverSubBillTypes(); - - Expression> predicate = (t) => t.DeliverBillType == EnumDeliverBjBmpBillType.JIS件 && EnumDeliverSubBillTypes.Contains(t.DeliverSubBillType); - var syncPositionFlag = await _syncPositionFlagRepository.FindAsync(t => t.TableName == syncTableName).ConfigureAwait(false); - if (syncPositionFlag != null) - { - predicate = (t) => t.UID > int.Parse(syncPositionFlag.Position) && t.DeliverBillType == EnumDeliverBjBmpBillType.JIS件 && EnumDeliverSubBillTypes.Contains(t.DeliverSubBillType); - } - - //WMS发运记录 - var wmsSeRecords = _wmsBJBMPTContext.TM_BJBMPT_JIT_RECORD.Where(predicate).OrderBy(b => b.UID).Take(100000).ToList(); - - var bbacSeDetails = ObjectMapper.Map, List>(wmsSeRecords); - if (bbacSeDetails.Any()) - { - //客户零件号和厂内零件号 - var materialRelationships = bbacSeDetails.GroupBy(t => new { t.LU, t.PartCode }).Select(t => new MaterialRelationship(GuidGenerator.Create(), t.Key.LU, "", t.Key.PartCode, "")); - _addMaterialRelationships.AddRange(materialRelationships); - - bbacSeDetails.ForEach(bbacSeDetail => - { - bbacSeDetail.KeyCode = bbacSeDetail.PN + bbacSeDetail.LU; - bbacSeDetail.BusinessType = EnumBusinessType.JisBBAC; - }); - await _bbacSeDetailRepository.InsertManyAsync(bbacSeDetails); - - if (syncPositionFlag != null) - { - syncPositionFlag.Position = wmsSeRecords.Last().UID.ToString(); - await _syncPositionFlagRepository.UpdateAsync(syncPositionFlag); - } - else - { - syncPositionFlag = new SyncPositionFlag() - { - TableName = syncTableName, - Position = wmsSeRecords.Last().UID.ToString() - }; - await _syncPositionFlagRepository.InsertAsync(syncPositionFlag); - } - } - } - - /// - /// 同步JisRecord - /// - private async Task SyncJisRecordAsync() - { - //同步表名称 - var syncTableName = "JisBBACSeSync_Jis"; - //BBAC类型集合 - var EnumDeliverSubBillTypes = GetDeliverSubBillTypes(); - Expression> predicate = (t) => t.DeliverBillType == EnumDeliverBjBmpBillType.JIS件 && EnumDeliverSubBillTypes.Contains(t.DeliverSubBillType); - var syncPositionFlag = await _syncPositionFlagRepository.FindAsync(t => t.TableName == syncTableName); - if (syncPositionFlag != null) - { - predicate = (t) => t.UID > int.Parse(syncPositionFlag.Position) && t.DeliverBillType == EnumDeliverBjBmpBillType.JIS件 && EnumDeliverSubBillTypes.Contains(t.DeliverSubBillType); - } - - //WMS发运数据 - var wmsRecords = _wmsBJBMPTContext.TM_BJBMPT_JIS_RECORD.Where(predicate).OrderBy(b => b.UID).Take(100000).ToList(); - - var bbacSeDetails = ObjectMapper.Map, List>(wmsRecords); - if (bbacSeDetails.Any()) - { - //客户零件号和厂内零件号 - var materialRelationships = bbacSeDetails.GroupBy(t => new { t.LU, t.PartCode }).Select(t => new MaterialRelationship(GuidGenerator.Create(), t.Key.LU, "", t.Key.PartCode, "")); - _addMaterialRelationships.AddRange(materialRelationships); - - bbacSeDetails.ForEach(bbacSeDetail => bbacSeDetail.KeyCode = bbacSeDetail.PN + bbacSeDetail.LU); - await _bbacSeDetailRepository.InsertManyAsync(bbacSeDetails); - - if (syncPositionFlag != null) - { - syncPositionFlag.Position = wmsRecords.Last().UID.ToString(); - await _syncPositionFlagRepository.UpdateAsync(syncPositionFlag); - } - else - { - syncPositionFlag = new SyncPositionFlag() - { - TableName = syncTableName, - Position = wmsRecords.Last().UID.ToString() - }; - await _syncPositionFlagRepository.InsertAsync(syncPositionFlag); - } - } - } - - /// - /// 获取BBAC类型集合 - /// - private List GetDeliverSubBillTypes() - { - return new List - { - EnumDeliverSubBillType.保险杠BBAC, - EnumDeliverSubBillType.买单件保险杠BBAC, - EnumDeliverSubBillType.买单件小件BBAC, - EnumDeliverSubBillType.小件BBAC - }; - } -} diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/HBPOSeSyncAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/HBPOSeSyncAppService.cs deleted file mode 100644 index 70c6f1b7..00000000 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/HBPOSeSyncAppService.cs +++ /dev/null @@ -1,225 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Linq.Expressions; -using System.Threading.Tasks; -using Coravel.Invocable; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Mvc; -using SettleAccount.Domain.BQ; -using Volo.Abp.Application.Services; -using Win.Sfs.SettleAccount.Entities.BQ.Managers; -using Win.Sfs.SettleAccount.Entities.BQ.Vmi; -using Win.Sfs.SettleAccount.EntityFrameworkCore; -using Win.Sfs.SettleAccount.MaterialRelationships; -using Win.Sfs.Shared.RepositoryBase; - -namespace Win.Sfs.SettleAccount.Entities.BQ.Syncs; - -/// -/// HBPO发运数据同步 -/// -[AllowAnonymous] -[Route("api/settleaccount/[controller]/[action]")] -public class HBPOSeSyncAppService : ApplicationService, IInvocable, IJobService -{ - /// - /// WMS数据上下文 - /// - private readonly WMSBJBMPTDbContext _wmsBJBMPTContext; - - /// - /// 同步位置标记 - /// - private readonly INormalEfCoreRepository _syncPositionFlagRepository; - - /// - /// HBPO发运数据仓储 - /// - private readonly INormalEfCoreRepository _hbpoSeDetailRepository; - - /// - /// PUB发运数据仓储 - /// - private readonly INormalEfCoreRepository _pubSeDetailRepository; - - /// - /// 客户零件关系领域 - /// - private readonly MaterialRelationshipManager _materialRelationshipManager; - - /// - /// 客户零件关系集合 - /// - private List _addMaterialRelationships; - - /// - /// 构造 - /// - public HBPOSeSyncAppService( - WMSBJBMPTDbContext wmsBJBMPTContext, - INormalEfCoreRepository syncPositionFlagRepository, - INormalEfCoreRepository hbpoSeDetailRepository, - INormalEfCoreRepository pubSeDetailRepository, - MaterialRelationshipManager materialRelationshipManager) - { - _wmsBJBMPTContext = wmsBJBMPTContext; - _syncPositionFlagRepository = syncPositionFlagRepository; - _hbpoSeDetailRepository = hbpoSeDetailRepository; - _pubSeDetailRepository = pubSeDetailRepository; - _materialRelationshipManager = materialRelationshipManager; - _addMaterialRelationships = new List(); - } - - [ApiExplorerSettings(IgnoreApi = true)] - public async Task Invoke(IServiceProvider serviceProvider) - { - await this.Invoke().ConfigureAwait(false); - } - - /// - /// 执行 - /// - [HttpPost] - public async Task Invoke() - { - await SyncJitRecordAsync().ConfigureAwait(false); - await SyncJisRecordAsync().ConfigureAwait(false); - if (_addMaterialRelationships.Any()) - { - _addMaterialRelationships = _addMaterialRelationships.Where(t => !string.IsNullOrEmpty(t.ErpMaterialCode)).GroupBy(t => new { t.ErpMaterialCode }).Select(t => t.First()).ToList(); - await _materialRelationshipManager.AddNewMaterialRelationships(_addMaterialRelationships).ConfigureAwait(false); - } - } - - /// - /// 同步JitRecord - /// - private async Task SyncJitRecordAsync() - { - //同步表名称 - var syncTableName = "JisHBPOSeSync_Jit"; - //HBPO类型集合 - var EnumDeliverSubBillTypes = GetDeliverSubBillTypes(); - Expression> predicate = (t) => t.DeliverBillType == EnumDeliverBjBmpBillType.JIS件 && EnumDeliverSubBillTypes.Contains(t.DeliverSubBillType); - var syncPositionFlag = await _syncPositionFlagRepository.FindAsync(t => t.TableName == syncTableName).ConfigureAwait(false); - if (syncPositionFlag != null) - { - predicate = (t) => t.UID > int.Parse(syncPositionFlag.Position) && t.DeliverBillType == EnumDeliverBjBmpBillType.JIS件 && EnumDeliverSubBillTypes.Contains(t.DeliverSubBillType); - } - - //WMS发运数据 - var wmsSeRecords = _wmsBJBMPTContext.TM_BJBMPT_JIT_RECORD.Where(predicate).OrderBy(b => b.UID).ToList(); - if (wmsSeRecords.Any()) - { - //JisHBPO发运 - var hbpoWmsSeRecords = wmsSeRecords.FindAll(t => t.DeliverSubBillType == EnumDeliverSubBillType.保险杠HBPO || t.DeliverSubBillType == EnumDeliverSubBillType.小件HBPO); - //买单件HBPO发运 - var maiDanHBPOWmsSeRecords = wmsSeRecords.FindAll(t => t.DeliverSubBillType == EnumDeliverSubBillType.买单件保险杠HBPO || t.DeliverSubBillType == EnumDeliverSubBillType.买单件小件HBPO); - - var hbpoSeDetails = ObjectMapper.Map, List>(hbpoWmsSeRecords); - var maiDanHBPOSeDetails = ObjectMapper.Map, List>(maiDanHBPOWmsSeRecords); - - await SaveSeDataAsync(hbpoSeDetails, maiDanHBPOSeDetails).ConfigureAwait(false); - - if (syncPositionFlag != null) - { - syncPositionFlag.Position = wmsSeRecords.Last().UID.ToString(); - await _syncPositionFlagRepository.UpdateAsync(syncPositionFlag).ConfigureAwait(false); - } - else - { - syncPositionFlag = new SyncPositionFlag() - { - TableName = syncTableName, - Position = wmsSeRecords.Last().UID.ToString() - }; - await _syncPositionFlagRepository.InsertAsync(syncPositionFlag).ConfigureAwait(false); ; - } - } - } - - /// - /// 同步JisRecord - /// - private async Task SyncJisRecordAsync() - { - //同步表名称 - var syncTableName = "JisHBPOSeSync_Jis"; - //BBAC类型集合 - var EnumDeliverSubBillTypes = GetDeliverSubBillTypes(); - Expression> predicate = (t) => t.DeliverBillType == EnumDeliverBjBmpBillType.JIS件 && EnumDeliverSubBillTypes.Contains(t.DeliverSubBillType); - var syncPositionFlag = await _syncPositionFlagRepository.FindAsync(t => t.TableName == syncTableName).ConfigureAwait(false); - if (syncPositionFlag != null) - { - predicate = (t) => t.UID > int.Parse(syncPositionFlag.Position) && t.DeliverBillType == EnumDeliverBjBmpBillType.JIS件 && EnumDeliverSubBillTypes.Contains(t.DeliverSubBillType); - } - - //WMS发运数据 - var wmsSeRecords = _wmsBJBMPTContext.TM_BJBMPT_JIS_RECORD.Where(predicate).OrderBy(b => b.UID).ToList(); - if (wmsSeRecords.Any()) - { - //JisHBPO发运 - var hbpoWmsSeRecords = wmsSeRecords.FindAll(t => t.DeliverSubBillType == EnumDeliverSubBillType.保险杠HBPO || t.DeliverSubBillType == EnumDeliverSubBillType.小件HBPO); - //买单件HBPO发运 - var maiDanHBPOWmsSeRecords = wmsSeRecords.FindAll(t => t.DeliverSubBillType == EnumDeliverSubBillType.买单件保险杠HBPO || t.DeliverSubBillType == EnumDeliverSubBillType.买单件小件HBPO); - - var hbpoSeDetails = ObjectMapper.Map, List>(hbpoWmsSeRecords); - var maiDanHBPOSeDetails = ObjectMapper.Map, List>(maiDanHBPOWmsSeRecords); - - await SaveSeDataAsync(hbpoSeDetails, maiDanHBPOSeDetails).ConfigureAwait(false); - - if (syncPositionFlag != null) - { - syncPositionFlag.Position = wmsSeRecords.Last().UID.ToString(); - await _syncPositionFlagRepository.UpdateAsync(syncPositionFlag).ConfigureAwait(false); - } - else - { - syncPositionFlag = new SyncPositionFlag() - { - TableName = syncTableName, - Position = wmsSeRecords.Last().UID.ToString() - }; - await _syncPositionFlagRepository.InsertAsync(syncPositionFlag).ConfigureAwait(false); - } - } - } - - /// - /// 获取HBPO类型集合 - /// - private List GetDeliverSubBillTypes() - { - return new List - { - EnumDeliverSubBillType.保险杠HBPO, - EnumDeliverSubBillType.买单件保险杠HBPO, - EnumDeliverSubBillType.买单件小件HBPO, - EnumDeliverSubBillType.小件HBPO - }; - } - - /// - /// 保存发运树 - /// - private async Task SaveSeDataAsync(List hbpoSeDetails, List maiDanHBPOSeDetails) - { - //客户零件号和厂内零件号 - var hbpoSeLuRePartCodes = hbpoSeDetails.Select(t => new { t.LU, t.PartCode }); - var maiDanHBPOSeLuRePartCodes = maiDanHBPOSeDetails.Select(t => new { t.LU, t.PartCode }); - var luRePartCodes = hbpoSeLuRePartCodes.Union(maiDanHBPOSeLuRePartCodes); - var materialRelationships = luRePartCodes.GroupBy(t => new { t.LU, t.PartCode }).Select(t => new MaterialRelationship(GuidGenerator.Create(), t.Key.LU, "", t.Key.PartCode, "")); - _addMaterialRelationships.AddRange(materialRelationships); - - hbpoSeDetails.ForEach(hbpoSeDetail => hbpoSeDetail.KeyCode = hbpoSeDetail.PN + hbpoSeDetail.LU); - maiDanHBPOSeDetails.ForEach(maiDanHBPOSeDetail => - { - maiDanHBPOSeDetail.KeyCode = maiDanHBPOSeDetail.PN + maiDanHBPOSeDetail.LU; - maiDanHBPOSeDetail.BusinessType = EnumBusinessType.MaiDanJianHBPO; - }); - await _hbpoSeDetailRepository.InsertManyAsync(hbpoSeDetails).ConfigureAwait(false); - await _pubSeDetailRepository.InsertManyAsync(maiDanHBPOSeDetails).ConfigureAwait(false); - } -} diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/JisBBACSeSyncBaseAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/JisBBACSeSyncBaseAppService.cs index 531d06a4..bcc55d54 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/JisBBACSeSyncBaseAppService.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/JisBBACSeSyncBaseAppService.cs @@ -101,11 +101,10 @@ public class JisBBACSeSyncBaseAppService : ApplicationService, IInvocable //WMS发运记录 var wmsSeRecords = _wmsBJBMPTContext.TM_BJBMPT_JIT_RECORD.Where(predicate).OrderBy(b => b.UID).Take(100000).ToList(); var jisSeDetails = ObjectMapper.Map, List>(wmsSeRecords); - jisSeDetails.RemoveAll(t => string.IsNullOrEmpty(t.LU) || string.IsNullOrEmpty(t.FactoryPartCode)); if (jisSeDetails.Any()) { //客户零件号和厂内零件号 - var luRePartCodes = jisSeDetails.Select(t => new { t.LU, t.FactoryPartCode }).Distinct().ToList(); + var luRePartCodes = jisSeDetails.Where(t => !string.IsNullOrEmpty(t.LU) && !string.IsNullOrEmpty(t.FactoryPartCode)).Select(t => new { t.LU, t.FactoryPartCode }).Distinct().ToList(); if (luRePartCodes.Any()) { var materialRelationships = luRePartCodes.Select(t => new MaterialRelationship(GuidGenerator.Create(), t.LU, "", t.FactoryPartCode, businessType.ToString())); @@ -161,11 +160,10 @@ public class JisBBACSeSyncBaseAppService : ApplicationService, IInvocable //WMS发运数据 var wmsRecords = _wmsBJBMPTContext.TM_BJBMPT_JIS_RECORD.Where(predicate).OrderBy(b => b.UID).Take(100000).ToList(); var jisSeDetails = ObjectMapper.Map, List>(wmsRecords); - jisSeDetails.RemoveAll(t => string.IsNullOrEmpty(t.LU) || string.IsNullOrEmpty(t.FactoryPartCode)); if (jisSeDetails.Any()) { //客户零件号和厂内零件号 - var luRePartCodes = jisSeDetails.Select(t => new { t.LU, t.FactoryPartCode }).Distinct().ToList(); + var luRePartCodes = jisSeDetails.Where(t => !string.IsNullOrEmpty(t.LU) && !string.IsNullOrEmpty(t.FactoryPartCode)).Select(t => new { t.LU, t.FactoryPartCode }).Distinct().ToList(); if (luRePartCodes.Any()) { var materialRelationships = luRePartCodes.Select(t => new MaterialRelationship(GuidGenerator.Create(), t.LU, "", t.FactoryPartCode, businessType.ToString())); diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/JisHBPOSeSyncBaseAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/JisHBPOSeSyncBaseAppService.cs index 9eb57708..a1724a51 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/JisHBPOSeSyncBaseAppService.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/Syncs/JisHBPOSeSyncBaseAppService.cs @@ -103,11 +103,10 @@ public class JisHBPOSeSyncBaseAppService : ApplicationService, IInvocable //WMS发运记录 var wmsSeRecords = _wmsBJBMPTContext.TM_BJBMPT_JIT_RECORD.Where(predicate).OrderBy(b => b.UID).Take(100000).ToList(); var jisSeDetails = ObjectMapper.Map, List>(wmsSeRecords); - jisSeDetails.RemoveAll(t => string.IsNullOrEmpty(t.LU) || string.IsNullOrEmpty(t.FactoryPartCode)); if (jisSeDetails.Any()) { //客户零件号和厂内零件号 - var luRePartCodes = jisSeDetails.Select(t => new { t.LU, t.FactoryPartCode }).Distinct().ToList(); + var luRePartCodes = jisSeDetails.Where(t => !string.IsNullOrEmpty(t.LU) && !string.IsNullOrEmpty(t.FactoryPartCode)).Select(t => new { t.LU, t.FactoryPartCode }).Distinct().ToList(); if (luRePartCodes.Any()) { var materialRelationships = luRePartCodes.Select(t => new MaterialRelationship(GuidGenerator.Create(), t.LU, "", t.FactoryPartCode, businessType.ToString())); @@ -164,11 +163,10 @@ public class JisHBPOSeSyncBaseAppService : ApplicationService, IInvocable //WMS发运数据 var wmsRecords = _wmsBJBMPTContext.TM_BJBMPT_JIS_RECORD.Where(predicate).OrderBy(b => b.UID).Take(100000).ToList(); var jisSeDetails = ObjectMapper.Map, List>(wmsRecords); - jisSeDetails.RemoveAll(t => string.IsNullOrEmpty(t.LU) || string.IsNullOrEmpty(t.FactoryPartCode)); if (jisSeDetails.Any()) { //客户零件号和厂内零件号 - var luRePartCodes = jisSeDetails.Select(t => new { t.LU, t.FactoryPartCode }).Distinct().ToList(); + var luRePartCodes = jisSeDetails.Where(t => !string.IsNullOrEmpty(t.LU) && !string.IsNullOrEmpty(t.FactoryPartCode)).Select(t => new { t.LU, t.FactoryPartCode }).Distinct().ToList(); if (luRePartCodes.Any()) { var materialRelationships = luRePartCodes.Select(t => new MaterialRelationship(GuidGenerator.Create(), t.LU, "", t.FactoryPartCode, businessType.ToString())); @@ -177,7 +175,8 @@ public class JisHBPOSeSyncBaseAppService : ApplicationService, IInvocable jisSeDetails.ForEach(t => { - //t.BusinessType = businessType; + t.SetId(GuidGenerator.Create()); + t.BusinessType = businessType; t.KeyCode = t.PN + t.LU; }); await _jisSeDetailRepository.DbContext.BulkInsertAsync(jisSeDetails).ConfigureAwait(false); 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 aa5c29d2..9393640d 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 @@ -91,13 +91,11 @@ public class JitSeSyncAppService : ApplicationService, IInvocable } //WMS发运记录 var wmsSeRecords = _wmsBJBMPTContext.TM_BJBMPT_OTHER_RECORD.Where(predicate).OrderBy(b => b.UID).ToList(); - var pubSeDetails = ObjectMapper.Map, List>(wmsSeRecords); - pubSeDetails.RemoveAll(t => string.IsNullOrEmpty(t.LU) || string.IsNullOrEmpty(t.FactoryPartCode)); if (pubSeDetails.Any()) { //客户零件号和厂内零件号 - var luRePartCodes = pubSeDetails.Select(t => new { t.LU, t.FactoryPartCode }).Distinct().ToList(); + var luRePartCodes = pubSeDetails.Where(t => !string.IsNullOrEmpty(t.LU) && !string.IsNullOrEmpty(t.FactoryPartCode)).Select(t => new { t.LU, t.FactoryPartCode }).Distinct().ToList(); if (luRePartCodes.Any()) { var materialRelationships = luRePartCodes.Select(t => new MaterialRelationship(GuidGenerator.Create(), t.LU, "", t.FactoryPartCode, businessType.ToString()));