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()));