diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PUB_SA_SERVICE.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PUB_SA_SERVICE.cs
index 5efff9cf..83c56586 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PUB_SA_SERVICE.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/PUB_SA_SERVICE.cs
@@ -245,7 +245,7 @@ public class PUB_SA_SERVICE : SettleAccountApplicationBase<PUB_SA>
         {
             try
             {
-                var pubSaDelItems = await GetPubSaDelItemsAsync(id);
+                var pubSaDelItems = await GetPubSaDelItemsAsync(id).ConfigureAwait(false);
 
                 pubSas.AddRange(pubSaDelItems.pubSas);
                 pubSaDetails.AddRange(pubSaDelItems.pubSaDetails);
@@ -460,6 +460,19 @@ public class PUB_SA_SERVICE : SettleAccountApplicationBase<PUB_SA>
             //验证客户对应厂内零件号是否存在
             //导入的零件号集合
             var importPubSaLUs = pubSaDetails.Select(t => t.LU).Distinct();
+
+            importPubSaLUs.ForEach(importPubSaLU =>
+            {
+                List<string> lus = importPubSaLU.Split("    ").ToList();
+                importPubSaLU = lus[0].Replace(" ", "");
+                if (lus.Count > 1)
+                {
+                    lus.RemoveAt(0);
+                    var luAssemble = lus.Select(t => t.Replace(" ", ""));
+                    importPubSaLU += luAssemble.Aggregate("      ", (current, index) => current + index);
+                }
+            });
+
             var materialRelationshipEntitys = await _materialRelationshipRepository.GetListAsync(t => importPubSaLUs.Contains(t.SettleMaterialCode)).ConfigureAwait(false);
             var materialRelationshipEntitySettleMaterialCodes = materialRelationshipEntitys.Select(t => t.SettleMaterialCode).Distinct();
 
@@ -646,6 +659,7 @@ public class PUB_SA_SERVICE : SettleAccountApplicationBase<PUB_SA>
         List<PUB_NOT_SA_DETAIL> pubNotSaDetails = new List<PUB_NOT_SA_DETAIL>();
 
         var pubSaEntity = await _repository.FirstOrDefaultAsync(t => t.Id.Equals(id)).ConfigureAwait(false);
+        //var pubSaEntity = await _repository.FindAsync(id).ConfigureAwait(false);
         if (pubSaEntity != null)
         {
             //结算单据
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppService.cs
index 421b32ec..bd9933d4 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppService.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppService.cs
@@ -103,8 +103,8 @@ public class PriceListAppService : SettleAccountApplicationBase<PriceList>
             return new JsonResult(new { Code = ApplicationConsts.ImportFailCode, fileName = fileName });
         }
         #endregion
-        var lus = entityList.Select(p => new { p.LU, p.ContractNo });
-        var priceListModelEntitys = _priceListRepository.Where(t => lus.Contains(new { t.LU, t.ContractNo })).ToList();
+        var lus = entityList.Select(p => p.LU);
+        var priceListModelEntitys = _priceListRepository.Where(t => t.ContractNo == contractNo && lus.Contains(t.ContractNo)).ToList();
         if (priceListModelEntitys.Any())
         {
             await _priceListRepository.DeleteManyAsync(priceListModelEntitys).ConfigureAwait(false);
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppServiceBJ.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppServiceBJ.cs
index 0820aa74..8aebcf64 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppServiceBJ.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/Prices/PriceListAppServiceBJ.cs
@@ -4,6 +4,7 @@ using Microsoft.AspNetCore.Mvc;
 using Shouldly;
 using System;
 using System.Collections.Generic;
+using System.Diagnostics.Contracts;
 using System.Linq;
 using System.Threading.Tasks;
 using Volo.Abp.Application.Dtos;
@@ -61,6 +62,7 @@ namespace Win.Sfs.SettleAccount.Entities.Prices
 
             var entityList = ObjectMapper.Map<List<PriceListBJImportDto>, List<PriceListBJ>>(result);
             entityList = entityList.GroupBy(p => new { p.LU, p.ClientCode, p.BeginDate, p.EndDate }).Select(p => p.FirstOrDefault()).ToList();
+            var contractNo = entityList.FirstOrDefault().ContractNo;
 
             #region 校验
             if (entityList.Any())
@@ -81,8 +83,8 @@ namespace Win.Sfs.SettleAccount.Entities.Prices
                 return new JsonResult(new { Code = ApplicationConsts.ImportFailCode, fileName = fileName });
             }
             #endregion
-            var lus = entityList.Select(p => new { p.LU, p.ContractNo });
-            var priceListModelEntitys = _repository.Where(t => lus.Contains(new { t.LU, t.ContractNo })).ToList();
+            var lus = entityList.Select(p => p.LU);
+            var priceListModelEntitys = _repository.Where(t => t.ContractNo == contractNo && lus.Contains(t.ContractNo)).ToList();
             if (priceListModelEntitys.Any())
             {
                 await _repository.DeleteManyAsync(priceListModelEntitys).ConfigureAwait(false);
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Reports/PubSaSeCompareDiff.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Reports/PubSaSeCompareDiff.cs
index ed591c3f..46a65036 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Reports/PubSaSeCompareDiff.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Reports/PubSaSeCompareDiff.cs
@@ -16,109 +16,107 @@ public class PubSaSeCompareDiff
     /// </summary>
     [Display(Name = "Wms发货单号")]
     public string WmsBillNum { get; set; }
-
     /// <summary>
     /// 发货日期
     /// </summary>
     [Display(Name = "发货日期")]
     public DateTime ShippingDate { get; set; }
-
     /// <summary>
     /// 日顺序号
     /// </summary>
     [Display(Name = "日顺序号")]
     public string SeqNumber { get; set; }
-
     /// <summary>
     /// PJIS日顺序号
     /// </summary>
     [Display(Name = "PJIS日顺序号")]
     public string PJISSeqNumber { get; set; }
-
-    /// <summary>
-    /// 物料号
-    /// </summary>
-    [Display(Name = "物料号")]
-    public string MaterialNumber { get; set; }
-
-    /// <summary>
-    /// 物料描述
-    /// </summary>
-    [Display(Name = "物料描述")]
-    public string MaterialDes { get; set; }
-
     /// <summary>
     /// 结算数据中的过账日期
     /// </summary>
     [Display(Name = "客户下线时间")]
     public DateTime CustomerOfflineTime { get; set; }
-
     /// <summary>
     /// 结算数量
     /// </summary>
     [Display(Name = "结算数量")]
     public decimal SAQty { get; set; }
-
     /// <summary>
     /// 发货数量
     /// </summary>
     [Display(Name = "发货数量")]
     public decimal SEQty { get; set; }
-
     /// <summary>
     /// 差异数量
     /// </summary>
     [Display(Name = "差异数量")]
     public decimal DiffQty => SAQty - SEQty;
-
     /// <summary>
     /// 匹配类型
     /// </summary>
     [Display(Name = "匹配类型")]
     public string MateType { get; set; }
-
     /// <summary>
     /// 定价
     /// </summary>
     [Display(Name = "定价")]
     public decimal FixPrice { get; set; }
-
     /// <summary>
-    /// 原始零件号
+    /// 生产号
     /// </summary>
-    [Display(Name = "原始零件号")]
-    public string PrimitiveLU { get; set; }
-
+    [Display(Name = "生产号")]
+    public string PN { set; get; }
     /// <summary>
-    /// 替换零件号
+    /// WMS目标库位
     /// </summary>
-    [Display(Name = "替换零件号")]
-    public string ReplaceLU { get; set; }
-
+    [Display(Name = "WMS目标库位")]
+    public string ToLocCode { get; set; }
     /// <summary>
-    /// 零件号
+    /// ERP目标库位
     /// </summary>
-    [Display(Name = "零件号")]
-    public string SeLU { set; get; }
-
+    [Display(Name = "ERP目标库位")]
+    public string ToErpLocCode { get; set; }
     /// <summary>
-    /// 零件号
+    /// 类型
     /// </summary>
-    [Display(Name = "零件号")]
-    public string SaLU { set; get; }
-
+    [Display(Name = "类型")]
+    public EnumPubSaSeCompareCategory Category { get; set; }
     /// <summary>
-    /// 生产号
+    /// 发运客户物料号
     /// </summary>
-    [Display(Name = "生产号")]
-    public string PN { set; get; }
-
+    public string SeCustomerPartCode { get; set; }
     /// <summary>
-    /// 类型
+    /// 发运厂内物料号
     /// </summary>
-    [Display(Name = "类型")]
-    public EnumPubSaSeCompareCategory Category { get; set; }
-
+    public string SeFactoryPartCode { get; set; }
+    /// <summary>
+    /// 结算客户物料号
+    /// </summary>
+    public string SaCustomerPartCode { get; set; }
+    /// <summary>
+    /// 结算厂内物料号
+    /// </summary>
+    public string SaFactoryPartCode { get; set; }
+    /// <summary>
+    /// 客户物料号
+    /// </summary>
+    [Display(Name = "客户物料号")]
+    public string CustomerPartCode { get; set; }
+    /// <summary>
+    /// 物料描述
+    /// </summary>
+    [Display(Name = "物料描述")]
+    public string PartCodeDesc { get; set; }
+    /// <summary>
+    /// 厂内物料号
+    /// </summary>
+    [Display(Name = "厂内物料号")]
+    public string FactoryPartCode { get; set; }
+    /// <summary>
+    /// 替换厂内物料号
+    /// </summary>
+    [Display(Name = "替换厂内物料号")]
+    public string ReplaceFactoryPartCode { get; set; }
     /// <summary>
     /// 是否已经移除
     /// </summary>
@@ -172,35 +170,30 @@ public class PubSaSeCompareDetailExport2
     [Display(Name = "生产码")]
     [ExporterHeader(DisplayName = "ASN发货单号")]
     public string PN { get; set; }
-
     /// <summary>
-    /// 物料号
+    /// 客户零件号
     /// </summary>
-    [Display(Name = "物料号")]
-    [ExporterHeader(DisplayName = "厂内物料号")]
-    public string MaterialNumber { get; set; }
-
+    [Display(Name = "客户零件号")]
+    [ExporterHeader(DisplayName = "客户零件号")]
+    public string CustomerPartCode { get; set; }
     /// <summary>
-    /// 物料描述
+    /// 零件描述
     /// </summary>
-    [Display(Name = "物料描述")]
-    [ExporterHeader(DisplayName = "物料描述")]
-    public string MaterialDes { get; set; }
-
+    [Display(Name = "零件描述")]
+    [ExporterHeader(DisplayName = "零件描述")]
+    public string PartCodeDesc { get; set; }
     /// <summary>
-    /// 原始LU
+    /// 厂内零件号
     /// </summary>
-    [Display(Name = "原始LU")]
-    [ExporterHeader(DisplayName = "原始LU")]
-    public string PrimitiveLU { get; set; }
-
+    [Display(Name = "厂内零件号")]
+    [ExporterHeader(DisplayName = "厂内零件号")]
+    public string FactoryPartCode { get; set; }
     /// <summary>
-    ///替换LU
+    /// 替换厂内零件号
     /// </summary>
-    [Display(Name = "替换LU")]
-    [ExporterHeader(DisplayName = "替换LU")]
-    public string ReplaceLU { get; set; }
-
+    [Display(Name = "替换厂内零件号")]
+    [ExporterHeader(DisplayName = "替换厂内零件号")]
+    public string ReplaceFactoryPartCode { get; set; }
     /// <summary>
     /// 结算数据中的过账日期
     /// </summary>
@@ -288,21 +281,18 @@ public interface IPubSaSeCompareDetailExport
     [ValueMapping("有结算无发运", 2)]
     [ValueMapping("无结算有发运", 3)]
     public EnumPubSaSeCompareCategory Category { get; set; }
-
     /// <summary>
-    /// 物料描述
+    /// 零件描述
     /// </summary>
-    [Display(Name = "物料描述")]
+    [Display(Name = "零件描述")]
     [ExporterHeader(DisplayName = "物料描述")]
-    public string MaterialDes { get; set; }
-
+    public string PartCodeDesc { get; set; }
     /// <summary>
-    ///替换LU
+    /// 替换厂内零件号
     /// </summary>
-    [Display(Name = "替换LU")]
-    [ExporterHeader(DisplayName = "替换LU")]
-    public string ReplaceLU { get; set; }
-
+    [Display(Name = "替换厂内零件号")]
+    [ExporterHeader(DisplayName = "替换厂内零件号")]
+    public string ReplaceFactoryPartCode { get; set; }
     /// <summary>
     /// 结算数量
     /// </summary>
@@ -325,18 +315,18 @@ public interface IPubSaSeCompareDetailExport
 public class PubSaSeCompareSumExport
 {
     /// <summary>
-    /// LU
+    /// 厂内物料号
     /// </summary>
-    [Display(Name = "LU")]
+    [Display(Name = "厂内物料号")]
     [ExporterHeader(DisplayName = "LU")]
-    public string LU { get; set; }
+    public string FactoryPartCode { get; set; }
 
     /// <summary>
     /// 物料描述
     /// </summary>
     [Display(Name = "物料描述")]
     [ExporterHeader(DisplayName = "物料描述")]
-    public string MaterialDes { get; set; }
+    public string PartCodeDesc { get; set; }
 
     /// <summary>
     /// 结算数量
@@ -398,35 +388,30 @@ public class PubSaSeCompareDetailExportZhiGongJianBBAC : PubSaSeCompareDetailExp
     [Display(Name = "生产码")]
     [ExporterHeader(DisplayName = "ASN发货单号")]
     public string PN { get; set; }
-
     /// <summary>
-    /// 物料号
+    /// 客户零件号
     /// </summary>
-    [Display(Name = "物料号")]
-    [ExporterHeader(DisplayName = "厂内物料号")]
-    public string MaterialNumber { get; set; }
-
+    [Display(Name = "客户零件号")]
+    [ExporterHeader(DisplayName = "客户零件号")]
+    public string CustomerPartCode { get; set; }
     /// <summary>
-    /// 物料描述
+    /// 零件描述
     /// </summary>
-    [Display(Name = "物料描述")]
-    [ExporterHeader(DisplayName = "物料描述")]
-    public string MaterialDes { get; set; }
-
+    [Display(Name = "零件描述")]
+    [ExporterHeader(DisplayName = "零件描述")]
+    public string PartCodeDesc { get; set; }
     /// <summary>
-    /// 原始LU
+    /// 厂内零件号
     /// </summary>
-    [Display(Name = "原始LU")]
-    [ExporterHeader(DisplayName = "原始LU")]
-    public string PrimitiveLU { get; set; }
-
+    [Display(Name = "厂内零件号")]
+    [ExporterHeader(DisplayName = "厂内零件号")]
+    public string FactoryPartCode { get; set; }
     /// <summary>
-    ///替换LU
+    /// 替换厂内零件号
     /// </summary>
-    [Display(Name = "替换LU")]
-    [ExporterHeader(DisplayName = "替换LU")]
-    public string ReplaceLU { get; set; }
-
+    [Display(Name = "替换厂内零件号")]
+    [ExporterHeader(DisplayName = "替换厂内零件号")]
+    public string ReplaceFactoryPartCode { get; set; }
     /// <summary>
     /// 结算数据中的过账日期
     /// </summary>
@@ -522,35 +507,30 @@ public class PubSaSeCompareDetailExportZhiGongJianHBPO : PubSaSeCompareDetailExp
     [Display(Name = "生产码")]
     [ExporterHeader(DisplayName = "ASN发货单号")]
     public string PN { get; set; }
-
     /// <summary>
-    /// 物料号
+    /// 客户零件号
     /// </summary>
-    [Display(Name = "物料号")]
-    [ExporterHeader(DisplayName = "厂内物料号")]
-    public string MaterialNumber { get; set; }
-
+    [Display(Name = "客户零件号")]
+    [ExporterHeader(DisplayName = "客户零件号")]
+    public string CustomerPartCode { get; set; }
     /// <summary>
-    /// 物料描述
+    /// 零件描述
     /// </summary>
-    [Display(Name = "物料描述")]
-    [ExporterHeader(DisplayName = "物料描述")]
-    public string MaterialDes { get; set; }
-
+    [Display(Name = "零件描述")]
+    [ExporterHeader(DisplayName = "零件描述")]
+    public string PartCodeDesc { get; set; }
     /// <summary>
-    /// 原始LU
+    /// 厂内零件号
     /// </summary>
-    [Display(Name = "原始LU")]
-    [ExporterHeader(DisplayName = "原始LU")]
-    public string PrimitiveLU { get; set; }
-
+    [Display(Name = "厂内零件号")]
+    [ExporterHeader(DisplayName = "厂内零件号")]
+    public string FactoryPartCode { get; set; }
     /// <summary>
-    ///替换LU
+    /// 替换厂内零件号
     /// </summary>
-    [Display(Name = "替换LU")]
-    [ExporterHeader(DisplayName = "替换LU")]
-    public string ReplaceLU { get; set; }
-
+    [Display(Name = "替换厂内零件号")]
+    [ExporterHeader(DisplayName = "替换厂内零件号")]
+    public string ReplaceFactoryPartCode { get; set; }
     /// <summary>
     /// 结算数据中的过账日期
     /// </summary>
@@ -646,35 +626,30 @@ public class PubSaSeCompareDetailExportMaiDanJianHBPO : PubSaSeCompareDetailExpo
     [Display(Name = "生产码")]
     [ExporterHeader(DisplayName = "索引号")]
     public string PN { get; set; }
-
     /// <summary>
-    /// 物料号
+    /// 客户零件号
     /// </summary>
-    [Display(Name = "物料号")]
-    [ExporterHeader(DisplayName = "厂内物料号")]
-    public string MaterialNumber { get; set; }
-
+    [Display(Name = "客户零件号")]
+    [ExporterHeader(DisplayName = "客户零件号")]
+    public string CustomerPartCode { get; set; }
     /// <summary>
-    /// 物料描述
+    /// 零件描述
     /// </summary>
-    [Display(Name = "物料描述")]
-    [ExporterHeader(DisplayName = "物料描述")]
-    public string MaterialDes { get; set; }
-
+    [Display(Name = "零件描述")]
+    [ExporterHeader(DisplayName = "零件描述")]
+    public string PartCodeDesc { get; set; }
     /// <summary>
-    /// 原始LU
+    /// 厂内零件号
     /// </summary>
-    [Display(Name = "原始LU")]
-    [ExporterHeader(DisplayName = "原始LU")]
-    public string PrimitiveLU { get; set; }
-
+    [Display(Name = "厂内零件号")]
+    [ExporterHeader(DisplayName = "厂内零件号")]
+    public string FactoryPartCode { get; set; }
     /// <summary>
-    ///替换LU
+    /// 替换厂内零件号
     /// </summary>
-    [Display(Name = "替换LU")]
-    [ExporterHeader(DisplayName = "替换LU")]
-    public string ReplaceLU { get; set; }
-
+    [Display(Name = "替换厂内零件号")]
+    [ExporterHeader(DisplayName = "替换厂内零件号")]
+    public string ReplaceFactoryPartCode { get; set; }
     /// <summary>
     /// 结算数据中的过账日期
     /// </summary>
@@ -770,35 +745,30 @@ public class PubSaSeCompareDetailExportBeiJian : PubSaSeCompareDetailExport, IPu
     [Display(Name = "生产码")]
     [ExporterHeader(DisplayName = "索引号")]
     public string PN { get; set; }
-
     /// <summary>
-    /// 物料号
+    /// 客户零件号
     /// </summary>
-    [Display(Name = "物料号")]
-    [ExporterHeader(DisplayName = "厂内物料号")]
-    public string MaterialNumber { get; set; }
-
+    [Display(Name = "客户零件号")]
+    [ExporterHeader(DisplayName = "客户零件号")]
+    public string CustomerPartCode { get; set; }
     /// <summary>
-    /// 物料描述
+    /// 零件描述
     /// </summary>
-    [Display(Name = "物料描述")]
-    [ExporterHeader(DisplayName = "物料描述")]
-    public string MaterialDes { get; set; }
-
+    [Display(Name = "零件描述")]
+    [ExporterHeader(DisplayName = "零件描述")]
+    public string PartCodeDesc { get; set; }
     /// <summary>
-    /// 原始LU
+    /// 厂内零件号
     /// </summary>
-    [Display(Name = "原始LU")]
-    [ExporterHeader(DisplayName = "原始LU")]
-    public string PrimitiveLU { get; set; }
-
+    [Display(Name = "厂内零件号")]
+    [ExporterHeader(DisplayName = "厂内零件号")]
+    public string FactoryPartCode { get; set; }
     /// <summary>
-    ///替换LU
+    /// 替换厂内零件号
     /// </summary>
-    [Display(Name = "替换LU")]
-    [ExporterHeader(DisplayName = "替换LU")]
-    public string ReplaceLU { get; set; }
-
+    [Display(Name = "替换厂内零件号")]
+    [ExporterHeader(DisplayName = "替换厂内零件号")]
+    public string ReplaceFactoryPartCode { get; set; }
     /// <summary>
     /// 结算数据中的过账日期
     /// </summary>
@@ -894,83 +864,71 @@ public class PubSaSeCompareDetailExportYinDuJian : PubSaSeCompareDetailExport, I
     [Display(Name = "生产码")]
     [ExporterHeader(DisplayName = "ASN发货单号")]
     public string PN { get; set; }
-
     /// <summary>
-    /// 物料号
+    /// 客户物料号
     /// </summary>
-    [Display(Name = "物料号")]
-    [ExporterHeader(DisplayName = "厂内物料号")]
-    public string MaterialNumber { get; set; }
-
+    [Display(Name = "客户物料号")]
+    [ExporterHeader(DisplayName = "客户物料号")]
+    public string CustomerPartCode { get; set; }
     /// <summary>
     /// 物料描述
     /// </summary>
     [Display(Name = "物料描述")]
     [ExporterHeader(DisplayName = "物料描述")]
-    public string MaterialDes { get; set; }
-
+    public string PartCodeDesc { get; set; }
     /// <summary>
-    /// 原始LU
+    /// 厂内物料号
     /// </summary>
-    [Display(Name = "原始LU")]
-    [ExporterHeader(DisplayName = "原始LU")]
-    public string PrimitiveLU { get; set; }
-
+    [Display(Name = "厂内物料号")]
+    [ExporterHeader(DisplayName = "厂内物料号")]
+    public string FactoryPartCode { get; set; }
     /// <summary>
-    ///替换LU
+    /// 替换厂内物料号
     /// </summary>
-    [Display(Name = "替换LU")]
-    [ExporterHeader(DisplayName = "替换LU")]
-    public string ReplaceLU { get; set; }
-
+    [Display(Name = "替换厂内物料号")]
+    [ExporterHeader(DisplayName = "替换厂内物料号")]
+    public string ReplaceFactoryPartCode { get; set; }
     /// <summary>
     /// 结算数据中的过账日期
     /// </summary>
     [Display(Name = "客户下线时间")]
     [ExporterHeader(DisplayName = "客户下线时间")]
     public DateTime CustomerOfflineTime { get; set; }
-
     /// <summary>
     /// 结算数量
     /// </summary>
     [Display(Name = "结算数量")]
     [ExporterHeader(DisplayName = "结算数量")]
     public decimal SAQty { get; set; }
-
     /// <summary>
     /// 发货数量
     /// </summary>
     [Display(Name = "发货数量")]
     [ExporterHeader(DisplayName = "WMS发货数量")]
     public decimal SEQty { get; set; }
-
     /// <summary>
     /// 差异数量
     /// </summary>
     [ExporterHeader(DisplayName = "差异数量")]
     public decimal DiffQty => SAQty - SEQty;
-
     /// <summary>
     /// 匹配类型
     /// </summary>
     [Display(Name = "匹配类型")]
     [ExporterHeader(DisplayName = "是否完全匹配")]
     public string MateType { get; set; }
-
     /// <summary>
     /// 定价
     /// </summary>
     [Display(Name = "定价")]
     [ExporterHeader(DisplayName = "定价")]
     public decimal FixPrice { get; set; }
-
     /// <summary>
     /// WMS目标库位
     /// </summary>
     [Display(Name = "WMS目标库位")]
     [ExporterHeader(DisplayName = "WMS目标库位")]
     public string ToLocCode { get; set; }
-
     /// <summary>
     /// ERP目标库位
     /// </summary>
diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/PubSaSeCompareDapperRepository.cs b/code/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/PubSaSeCompareDapperRepository.cs
index f1f50c37..f337e0c0 100644
--- a/code/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/PubSaSeCompareDapperRepository.cs
+++ b/code/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/Repository/SettleAccountJob/Report/PubSaSeCompareDapperRepository.cs
@@ -35,15 +35,13 @@ public class PubSaSeCompareDapperRepository : DapperRepository<SettleAccountDbCo
         }
         string strSqlText = @$"
             SELECT
+                A.LU AS SeCustomerPartCode,
+                A.FactoryPartCode AS SeFactoryPartCode,
+                B.LU AS SaCustomerPartCode,
+                B.PartCode AS SaFactoryPartCode,
                 A.WmsBillNum,
 				A.ShippingDate,
-			    A.LU AS MaterialNumber,
-                A.FactoryPartCode AS PrimitiveLU,
-                A.FactoryPartCode AS ReplaceLU,
-			    '' MaterialDes,
 			    B.SettleDate CustomerOfflineTime,
-			    A.LU SeLU,
-	            B.LU SaLU,
 	            ISNULL(A.PN,B.PN) PN,
 				A.SEQty,
 	            B.SAQty,
@@ -52,8 +50,8 @@ public class PubSaSeCompareDapperRepository : DapperRepository<SettleAccountDbCo
                 A.ToLocCode,
                 A.ToErpLocCode
             FROM
-	            (SELECT SUM(QTY) SEQty,LU,PN,FactoryPartCode,MAX(WmsBillNum) WmsBillNum,MAX(ShippingDate) ShippingDate,MAX(PartCode) PartCode, MAX(ToLocCode) ToLocCode, MAX(ToErpLocCode) ToErpLocCode FROM Set_PUB_SE_DETAIL WHERE BusinessType = {businessType} {strSeWhere} GROUP BY LU,PN,FactoryPartCode) A
-	            FULL JOIN (SELECT SUM(QTY) SAQty,LU,PN,MAX(Price) Price,MAX(SettleDate) SettleDate FROM Set_PUB_SA_DETAIL WHERE BusinessType = {businessType} AND Version = {version} GROUP BY LU,PN) B ON A.LU= B.LU AND A.PN= B.PN
+	            (SELECT SUM(QTY) SEQty,LU,PN,MAX(WmsBillNum) WmsBillNum,MAX(ShippingDate) ShippingDate,MAX(FactoryPartCode) FactoryPartCode, MAX(ToLocCode) ToLocCode, MAX(ToErpLocCode) ToErpLocCode FROM Set_PUB_SE_DETAIL WHERE BusinessType={businessType} {strSeWhere} GROUP BY LU,PN) A
+	            FULL JOIN (SELECT SUM(QTY) SAQty,LU,PN,MAX(Price) Price,MAX(SettleDate) SettleDate,MAX(PartCode) PartCode FROM Set_PUB_SA_DETAIL WHERE BusinessType={businessType} AND Version={version} GROUP BY LU,PN) B ON A.LU=B.LU AND A.PN=B.PN
             ORDER BY B.SettleDate DESC;
         ";
         return DbConnection.Query<PubSaSeCompareDiff>(strSqlText, null, null, true, 1200, null).ToList();
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 efe27c63..b4e93ea4 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
@@ -108,13 +108,41 @@ namespace SettleAccount.Job.Services.Report
 
             pubSaSeCompareDiffs.ForEach(p =>
             {
-                p.Category = (string.IsNullOrEmpty(p.SaLU), string.IsNullOrEmpty(p.SeLU)) switch
+                p.Category = (string.IsNullOrEmpty(p.SaCustomerPartCode), string.IsNullOrEmpty(p.SeCustomerPartCode)) switch
                 {
                     (false, false) => EnumPubSaSeCompareCategory.HaveSaHaveSe,
                     (false, true) => EnumPubSaSeCompareCategory.HaveSaNotHaveSe,
                     (true, false) => EnumPubSaSeCompareCategory.NotHaveSaHaveSe,
                     _ => EnumPubSaSeCompareCategory.None,
                 };
+                switch (p.Category)
+                {
+                    case EnumPubSaSeCompareCategory.None:
+                        break;
+                    case EnumPubSaSeCompareCategory.HaveSaHaveSe:
+                        {
+                            p.CustomerPartCode = p.SaCustomerPartCode;
+                            p.FactoryPartCode = p.SaFactoryPartCode;
+                            p.ReplaceFactoryPartCode = p.SaFactoryPartCode;
+                        }
+                        break;
+                    case EnumPubSaSeCompareCategory.HaveSaNotHaveSe:
+                        {
+                            p.CustomerPartCode = p.SaCustomerPartCode;
+                            p.FactoryPartCode = p.SaFactoryPartCode;
+                            p.ReplaceFactoryPartCode = p.SaFactoryPartCode;
+                        }
+                        break;
+                    case EnumPubSaSeCompareCategory.NotHaveSaHaveSe:
+                        {
+                            p.CustomerPartCode = p.SeCustomerPartCode;
+                            p.FactoryPartCode = p.SeFactoryPartCode;
+                            p.ReplaceFactoryPartCode = p.SeFactoryPartCode;
+                        }
+                        break;
+                    default:
+                        break;
+                }
             });
 
             //有结算有发运
@@ -187,7 +215,7 @@ namespace SettleAccount.Job.Services.Report
 
             if (string.IsNullOrEmpty(lu) == false)
             {
-                pubSaSeCompareDiffs = pubSaSeCompareDiffs.FindAll(p => p.SaLU == lu || p.SeLU == lu);
+                pubSaSeCompareDiffs = pubSaSeCompareDiffs.FindAll(p => p.CustomerPartCode == lu);
             }
             if (string.IsNullOrEmpty(pn) == false)
             {
@@ -247,10 +275,10 @@ namespace SettleAccount.Job.Services.Report
         public ExcelExporter BindExcelExporter<T>(List<T> pubSaSeCompareDetailExports, string businessTypeDisplayName) where T : PubSaSeCompareDetailExport, IPubSaSeCompareDetailExport, new()
         {
             //结算核对汇总
-            var pubSaSeCompareSumExports = pubSaSeCompareDetailExports.GroupBy(p => p.ReplaceLU).Select(p => new PubSaSeCompareSumExport()
+            var pubSaSeCompareSumExports = pubSaSeCompareDetailExports.GroupBy(p => p.ReplaceFactoryPartCode).Select(p => new PubSaSeCompareSumExport()
             {
-                LU = p.Key,
-                MaterialDes = p.FirstOrDefault().MaterialDes,
+                FactoryPartCode = p.Key,
+                PartCodeDesc = p.FirstOrDefault().PartCodeDesc,
                 SAQty = p.Sum(t => t.SAQty),
                 SEQty = p.Sum(t => t.SEQty)
             }).ToList();
@@ -258,30 +286,30 @@ namespace SettleAccount.Job.Services.Report
             //有结算有发运
             var haveSaHaveSeExports = pubSaSeCompareDetailExports.FindAll(t => t.Category == EnumPubSaSeCompareCategory.HaveSaHaveSe);
             //有结算有发运汇总
-            var haveSaHaveSeSumExports = haveSaHaveSeExports.GroupBy(p => p.ReplaceLU).Select(p => new PubSaSeCompareSumExport()
+            var haveSaHaveSeSumExports = haveSaHaveSeExports.GroupBy(p => p.ReplaceFactoryPartCode).Select(p => new PubSaSeCompareSumExport()
             {
-                LU = p.Key,
-                MaterialDes = p.FirstOrDefault().MaterialDes,
+                FactoryPartCode = p.Key,
+                PartCodeDesc = p.FirstOrDefault().PartCodeDesc,
                 SAQty = p.Sum(t => t.SAQty),
                 SEQty = p.Sum(t => t.SEQty)
             }).ToList();
             //有结算无发运
             var haveSaNotHaveSeExports = pubSaSeCompareDetailExports.FindAll(t => t.Category == EnumPubSaSeCompareCategory.HaveSaNotHaveSe);
             //有结算无发运
-            var haveSaNotHaveSeSumExports = haveSaHaveSeExports.GroupBy(p => p.ReplaceLU).Select(p => new PubSaSeCompareSumExport()
+            var haveSaNotHaveSeSumExports = haveSaHaveSeExports.GroupBy(p => p.ReplaceFactoryPartCode).Select(p => new PubSaSeCompareSumExport()
             {
-                LU = p.Key,
-                MaterialDes = p.FirstOrDefault().MaterialDes,
+                FactoryPartCode = p.Key,
+                PartCodeDesc = p.FirstOrDefault().PartCodeDesc,
                 SAQty = p.Sum(t => t.SAQty),
                 SEQty = p.Sum(t => t.SEQty)
             }).ToList();
             //无结算有发运
             var notHaveSaHaveSeExports = pubSaSeCompareDetailExports.FindAll(t => t.Category == EnumPubSaSeCompareCategory.NotHaveSaHaveSe);
             //无结算有发运
-            var notHaveSaHaveSeSumExports = haveSaHaveSeExports.GroupBy(p => p.ReplaceLU).Select(p => new PubSaSeCompareSumExport()
+            var notHaveSaHaveSeSumExports = haveSaHaveSeExports.GroupBy(p => p.ReplaceFactoryPartCode).Select(p => new PubSaSeCompareSumExport()
             {
-                LU = p.Key,
-                MaterialDes = p.FirstOrDefault().MaterialDes,
+                FactoryPartCode = p.Key,
+                PartCodeDesc = p.FirstOrDefault().PartCodeDesc,
                 SAQty = p.Sum(t => t.SAQty),
                 SEQty = p.Sum(t => t.SEQty)
             }).ToList();