From ddb9ebeb401ca67b670ceaf574cce9450a9ef6e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=AF=E9=BE=99=20=E6=9B=B9?= <1805857645@QQ.com> Date: Mon, 18 Aug 2025 13:33:25 +0800 Subject: [PATCH] =?UTF-8?q?change=20-=E4=BF=AE=E6=94=B9=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E6=97=B6=E6=98=8E=E7=BB=86=E9=87=8D=E5=A4=8D=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=8C=E6=A0=B9=E6=8D=AE=E6=9F=A5=E8=AF=A2=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E5=AD=98=E5=9C=A8=EF=BC=8C=E6=9D=A5=E6=8F=92?= =?UTF-8?q?=E5=85=A5=E6=88=96=E8=80=85=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SlnMesnac.WPF/ViewModel/ExecuteViewModel.cs | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/SlnMesnac.WPF/ViewModel/ExecuteViewModel.cs b/SlnMesnac.WPF/ViewModel/ExecuteViewModel.cs index 82e9630..ebdd9ff 100644 --- a/SlnMesnac.WPF/ViewModel/ExecuteViewModel.cs +++ b/SlnMesnac.WPF/ViewModel/ExecuteViewModel.cs @@ -617,8 +617,13 @@ namespace SlnMesnac.WPF.ViewModel MessageBox.Show("班组长未打卡!"); return; } - if (pLanInfo.CompleteAmount == "0.00") + // 先查一下 detail 里是否已有该 PlanCode 的记录 + var existDetail = _prodPlanDetailService + .GetLastPlanDetailByPlanCode(pLanInfo.PlanCode); + + if (existDetail == null) { + // 如果不存在,则插入新记录 ProdPlanDetail prodPlanDetail = new ProdPlanDetail { PlanCode = pLanInfo.PlanCode, @@ -627,11 +632,21 @@ namespace SlnMesnac.WPF.ViewModel CompleteAmount = pLanInfo.CompleteAmount, BeginTime = theStartTime, CreatedBy = monitor.staffName - //CurrentStaffId = staffInfo.StaffId - //NextStaffId = nextRecord.StaffId, + // CurrentStaffId = staffInfo.StaffId + // NextStaffId = nextRecord.StaffId }; _prodPlanDetailService.Insert(prodPlanDetail); } + else + { + // 如果已经存在,则更新(这里可以更新完成量、开始时间、修改人等) + existDetail.CompleteAmount = pLanInfo.CompleteAmount; + existDetail.BeginTime ??= theStartTime; // 只有为空才赋值 + existDetail.UpdatedBy = monitor.staffName; + existDetail.UpdatedTime = DateTime.Now.ToString(); + + _prodPlanDetailService.Update(existDetail); + } //按钮文字变成执行中并锁定,其他的订单执行按钮也禁用 //pLanInfo.BeginTime = DateTime.Now.ToString(); pLanInfo.PlanStatus = "1";