From a3f4e4f2423a8d71b4c65e90920db34f2001aa7d Mon Sep 17 00:00:00 2001
From: song.jun <lion0756@qq.com>
Date: 星期一, 13 四月 2026 12:34:24 +0800
Subject: [PATCH] 修复 QCDistributionRegisterInfo 重复登记问题
---
sbcLabSystem/Models/Backstage/QCDistributionInfoViewModel.cs | 23 +++++++++++++++++++----
1 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/sbcLabSystem/Models/Backstage/QCDistributionInfoViewModel.cs b/sbcLabSystem/Models/Backstage/QCDistributionInfoViewModel.cs
index a53d138..f9adb82 100644
--- a/sbcLabSystem/Models/Backstage/QCDistributionInfoViewModel.cs
+++ b/sbcLabSystem/Models/Backstage/QCDistributionInfoViewModel.cs
@@ -135,6 +135,7 @@
if (viewModel.LabList != null && viewModel.LabList.Count > 0)
{
+ var qcService = PalGainEngine.Instance.Resolve<QCService>();
viewModel.LabList.ForEach(x =>
{
QCDistributionRegisterInfo registerInfo = QCDistributionRegisterInfoViewModel.ToEntity(x);
@@ -142,17 +143,31 @@
registerInfo.LabId = x.LabId;
registerInfo.ProjectId = x.ProjectId;
if (x.IsSelected)
- {
+ {
+ if (registerInfo.Id == 0)
+ {
+ var existing = qcService.GetQcDistributionRegisters()
+ .FirstOrDefault(p => p.QCDistributionId == viewModel.Id
+ && p.LabId == x.LabId
+ && p.ProjectId == x.ProjectId);
+ if (existing != null)
+ {
+ existing.IsCharged = x.IsCharged;
+ existing.ModifyTime = DateTime.Now;
+ qcService.SaveQcDistributionRegister(existing);
+ return;
+ }
+ }
registerInfo.IsCharged = x.IsCharged;
- PalGainEngine.Instance.Resolve<QCService>().SaveQcDistributionRegister(registerInfo);
+ qcService.SaveQcDistributionRegister(registerInfo);
}
else
{
- var entity = PalGainEngine.Instance.Resolve<QCService>().GetQcDistributionRegisters()
+ var entity = qcService.GetQcDistributionRegisters()
.FirstOrDefault(p => p.Id == x.Id);
if (entity != null)
{
- PalGainEngine.Instance.Resolve<QCService>().DeleteQcDistributionRegister(entity);
+ qcService.DeleteQcDistributionRegister(entity);
}
}
});
--
Gitblit v1.8.0