From fdcbbca51bde70b2a92f1a79ba76a35f8da67ce9 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期一, 11 十一月 2024 16:09:21 +0800
Subject: [PATCH] 解绑更新

---
 Tiger.Business.MES/Common/WorkBatch.cs |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/Tiger.Business.MES/Common/WorkBatch.cs b/Tiger.Business.MES/Common/WorkBatch.cs
index ec9412c..d230d1c 100644
--- a/Tiger.Business.MES/Common/WorkBatch.cs
+++ b/Tiger.Business.MES/Common/WorkBatch.cs
@@ -610,17 +610,18 @@
                 wo.INPUT_QTY -= wipList.Count;
                 wo.OUTPUT_QTY -= wipList.Count(q => q.STATUS == MES_WIP_DATA.STATUSs.Finished.GetValue());
                 wo.SCRAP_QTY += wipList.Count;
-                db.Updateable(wo, user).UpdateColumns(q => new { q.INPUT_QTY, q.OUTPUT_QTY, q.SCRAP_QTY, q.UPDATE_USER, q.UPDATE_TIME }).ExecuteCommand();
+                wo.STATUS = wo.STATUS.GetEnum<BIZ_MES_WO.STATUSs>() == BIZ_MES_WO.STATUSs.Closed ? BIZ_MES_WO.STATUSs.Working.GetValue() : wo.STATUS;
+                db.Updateable(wo, user).UpdateColumns(q => new { q.INPUT_QTY, q.OUTPUT_QTY, q.SCRAP_QTY, q.UPDATE_USER, q.UPDATE_TIME, q.STATUS }).ExecuteCommand();
                 //BIZ_MES_WO_BATCH
-                foreach (var batch in batchs)
+                var wobatchs = Biz.Db.Queryable<BIZ_MES_WO_BATCH>().Where(q => batchs.Select(x => x.BATCH_NO).Contains(q.BATCH_NO)).ToList();
+                foreach (var batch in wobatchs)
                 {
-                    db.Updateable<BIZ_MES_WO_BATCH>(user)
-                         .SetColumns(q => q.INPUT_QTY == q.INPUT_QTY - batch.Qty)
-                         .SetColumns(q => q.OUTPUT_QTY == q.OUTPUT_QTY - batch.FinishQty)
-                         .SetColumns(q => q.SCRAP_QTY == q.SCRAP_QTY + batch.Qty)
-                         .Where(q => q.BATCH_NO == q.BATCH_NO)
-                         .ExecuteCommand();
+                    batch.INPUT_QTY -= batchs.Where(q=>q.BATCH_NO == batch.BATCH_NO).First().Qty;
+                    batch.OUTPUT_QTY -= batchs.Where(q => q.BATCH_NO == batch.BATCH_NO).First().FinishQty;
+                    batch.SCRAP_QTY += batchs.Where(q => q.BATCH_NO == batch.BATCH_NO).First().Qty;
+                    batch.STATUS = batch.STATUS.GetEnum<BIZ_MES_WO_BATCH.STATUSs>() == BIZ_MES_WO_BATCH.STATUSs.Closed ? BIZ_MES_WO_BATCH.STATUSs.Working.GetValue() : batch.STATUS;
                 }
+                db.Updateable(wobatchs, user).UpdateColumns(q => new { q.INPUT_QTY, q.OUTPUT_QTY, q.SCRAP_QTY, q.UPDATE_USER, q.UPDATE_TIME, q.STATUS }).ExecuteCommand();
                 //BIZ_MES_WO_SN
                 db.Updateable<BIZ_MES_WO_SN>(user)
                             .SetColumns(q => q.STATUS == BIZ_MES_WO_SN.STATUSs.Offline.GetValue())

--
Gitblit v1.9.3