From 63686244746925d43248ceaf8d9e31f50df68a72 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期一, 01 九月 2025 17:21:43 +0800
Subject: [PATCH] Merge branch 'clh'

---
 SourceCode/Bond/Servo/PortConfigurationDlg.cpp |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 52 insertions(+), 0 deletions(-)

diff --git a/SourceCode/Bond/Servo/PortConfigurationDlg.cpp b/SourceCode/Bond/Servo/PortConfigurationDlg.cpp
index 8b0f98f..a8969fe 100644
--- a/SourceCode/Bond/Servo/PortConfigurationDlg.cpp
+++ b/SourceCode/Bond/Servo/PortConfigurationDlg.cpp
@@ -317,6 +317,7 @@
 	}
 
     // 鑾峰彇 Grid 琛ㄦ牸涓� Slot 鐘舵�侊紙绗�1~8琛岋級
+    /*
     for (int i = 1; i <= SLOT_MAX; ++i) {
         SERVO::CGlass* pGlass = (SERVO::CGlass*)m_wndGrid.GetItemData(i, 0);
         if (pGlass != nullptr) {
@@ -324,6 +325,7 @@
             ASSERT(pCheck);
             pGlass->setScheduledForProcessing(pCheck->GetCheck());
             pGlass->setType(static_cast<SERVO::MaterialsType>(config.nMaterialType));
+            LOGI("i: %d, nMaterialType:%d", i, config.nMaterialType);
 
             SERVO::CJobDataS* pJobDataS = pGlass->getJobDataS();
             pJobDataS->setLotId(config.strLotID.c_str());
@@ -359,6 +361,56 @@
             }
         }
     }
+    */
+
+
+    // 鎵撳嬀涓烘洿鏂扮被鍨嬶紝鏆傛椂娴嬭瘯浣跨敤锛屽師鎵撹壊涓烘槸鍚﹀姞宸�
+    for (int i = 1; i <= SLOT_MAX; ++i) {
+        SERVO::CGlass* pGlass = (SERVO::CGlass*)m_wndGrid.GetItemData(i, 0);
+        if (pGlass != nullptr) {
+            CGridCellCheck* pCheck = dynamic_cast<CGridCellCheck*>(m_wndGrid.GetCell(i, 1));
+            ASSERT(pCheck);
+            pGlass->setScheduledForProcessing(TRUE);
+            if (pCheck->GetCheck()) {
+                pGlass->setType(static_cast<SERVO::MaterialsType>(config.nMaterialType));
+                LOGI("i: %d, nMaterialType:%d", i, config.nMaterialType);
+
+                SERVO::CJobDataS* pJobDataS = pGlass->getJobDataS();
+                pJobDataS->setLotId(config.strLotID.c_str());
+                pJobDataS->setProductId(config.strProductID.c_str());
+                pJobDataS->setOperationId(config.strOperationID.c_str());
+                pJobDataS->setMaterialsType(config.nMaterialType);
+
+                RecipeInfo stRecipeInfo = RecipeManager::getInstance().getRecipeByPPID(config.strRecipe);
+                std::vector<DeviceRecipe> vecRecipeInfo = stRecipeInfo.vecDeviceList;
+
+                for (const auto& info : vecRecipeInfo) {
+                    const std::string& name = info.strDeviceName;
+                    short nRecipeID = (short)info.nRecipeID;
+
+                    if (name == EQ_NAME_EFEM) {
+                        pJobDataS->setDeviceRecipeId(0, nRecipeID);
+                    }
+                    else if (name == EQ_NAME_BONDER1) {
+                        pJobDataS->setDeviceRecipeId(1, nRecipeID);
+                    }
+                    else if (name == EQ_NAME_BONDER2) {
+                        pJobDataS->setDeviceRecipeId(2, nRecipeID);
+                    }
+                    else if (name == EQ_NAME_BAKE_COOLING) {
+                        pJobDataS->setDeviceRecipeId(3, nRecipeID);
+                    }
+                    else if (name == EQ_NAME_VACUUMBAKE) {
+                        pJobDataS->setDeviceRecipeId(4, nRecipeID);
+                    }
+                    else if (name == EQ_NAME_MEASUREMENT) {
+                        pJobDataS->setDeviceRecipeId(5, nRecipeID);
+                    }
+                }
+            }
+        }
+    }
+
 
     GetDlgItem(IDC_BUTTON_PROCESS_START)->EnableWindow(TRUE);
     GetDlgItem(IDC_BUTTON_PROCESS_CANCEL)->EnableWindow(TRUE);

--
Gitblit v1.9.3