From d6cc926b4bf627ce5a24ea2a16a86a842b760f75 Mon Sep 17 00:00:00 2001
From: song.jun <lion0756@qq.com>
Date: 星期一, 13 四月 2026 14:23:19 +0800
Subject: [PATCH] CLAUDE.md 红线章节补充 Excel 导出数组对齐陷阱

---
 sbcLabSystem/Models/Backstage/QCDistributionRegisterInfoViewModel.cs |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/sbcLabSystem/Models/Backstage/QCDistributionRegisterInfoViewModel.cs b/sbcLabSystem/Models/Backstage/QCDistributionRegisterInfoViewModel.cs
index 800bd30..8c70dd9 100644
--- a/sbcLabSystem/Models/Backstage/QCDistributionRegisterInfoViewModel.cs
+++ b/sbcLabSystem/Models/Backstage/QCDistributionRegisterInfoViewModel.cs
@@ -69,10 +69,14 @@
             {
                 return null;
             }
-            QCDistributionRegisterInfo entity = PalGainEngine.Instance.Resolve<QCService>().GetQcDistributionRegisters()
-                .FirstOrDefault(p => p.QCDistributionId == regInfoivewModel.QCDistributionId
-                                  && p.LabId == labId
-                                  && p.ProjectId == regInfoivewModel.ProjectId);
+            var query = PalGainEngine.Instance.Resolve<QCService>().GetQcDistributionRegisters()
+                .Where(p => p.QCDistributionId == regInfoivewModel.QCDistributionId
+                         && p.LabId == labId);
+            if (regInfoivewModel.ProjectId > 0)
+            {
+                query = query.Where(p => p.ProjectId == regInfoivewModel.ProjectId);
+            }
+            QCDistributionRegisterInfo entity = query.FirstOrDefault();
             if (entity != null)
             {
                 return entity;
@@ -606,8 +610,14 @@
         }
         public static QCDistributionRegisterInfo ToEntity(QCDistributionRegisterInfoViewModel viewModel)
         {
-            QCDistributionRegisterInfo entity = PalGainEngine.Instance.Resolve<QCService>()
+            QCDistributionRegisterInfo existing = PalGainEngine.Instance.Resolve<QCService>()
                 .GetQcDistributionRegisters().FirstOrDefault(p => p.Id == viewModel.Id);
+            return ToEntity(viewModel, existing);
+        }
+
+        public static QCDistributionRegisterInfo ToEntity(QCDistributionRegisterInfoViewModel viewModel, QCDistributionRegisterInfo preloadedExisting)
+        {
+            QCDistributionRegisterInfo entity = preloadedExisting;
             if (entity == null)
             {
                 entity = new QCDistributionRegisterInfo();

--
Gitblit v1.8.0