From a0022a4e7d8da7391db2926acd69b3c712135762 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期一, 01 九月 2025 11:49:28 +0800
Subject: [PATCH] 1.仅在千传模式下显示千传计数;

---
 SourceCode/Bond/Servo/CEquipment.cpp |   25 +++++++++++++++++++++----
 1 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/SourceCode/Bond/Servo/CEquipment.cpp b/SourceCode/Bond/Servo/CEquipment.cpp
index 7560957..d7f5698 100644
--- a/SourceCode/Bond/Servo/CEquipment.cpp
+++ b/SourceCode/Bond/Servo/CEquipment.cpp
@@ -27,6 +27,7 @@
 		m_pArm = nullptr;
 		m_processState = PROCESS_STATE::Ready;
 		m_blockReadBit = { 0 };
+		m_nTestFlag = 0;
 		InitializeCriticalSection(&m_criticalSection);
 	}
 
@@ -1325,26 +1326,35 @@
 		return nullptr;
 	}
 
-	CSlot* CEquipment::getProcessedSlot(MaterialsType putSlotType)
+	CSlot* CEquipment::getProcessedSlot(MaterialsType putSlotType, BOOL bJobMode/* = FALSE*/)
 	{
 		for (int i = 0; i < SLOT_MAX; i++) {
+			if (m_nTestFlag == 1) LOGI("getProcessedSlot 001");
 			if (!m_slot[i].isEnable()) continue;
+			if (m_nTestFlag == 1) LOGI("getProcessedSlot 002");
 			if (m_slot[i].isLock()) continue;
+			if (m_nTestFlag == 1) LOGI("getProcessedSlot 003");
 			CGlass* pGlass = (CGlass*)m_slot[i].getContext();
 			if (!isSlotProcessed(i)) continue;
+			if (m_nTestFlag == 1) LOGI("getProcessedSlot 004");
 			if (pGlass == nullptr) continue;
+			if (m_nTestFlag == 1) LOGI("getProcessedSlot 005");
 			if (!pGlass->isScheduledForProcessing()) continue;
+			if (m_nTestFlag == 1) LOGI("getProcessedSlot 006");
+			if (bJobMode && pGlass->getProcessJob() == nullptr) continue;
+			if (m_nTestFlag == 1) LOGI("getProcessedSlot 007");
 			if(pGlass->getInspResult(m_nID, 0) == InspResult::Fail) continue;
 			int lsPath = m_slot[i].getLinkSignalPath();
 			if(!m_bLinkSignalToUpstream[lsPath][SIGNAL_UPSTREAM_INLINE]
 				|| m_bLinkSignalToUpstream[lsPath][SIGNAL_UPSTREAM_TROUBLE]
 				|| !m_bLinkSignalToUpstream[lsPath][SIGNAL_INTERLOCK]
 				|| !m_bLinkSignalToUpstream[lsPath][SIGNAL_SEND_ABLE] ) continue;
-
+			if (m_nTestFlag == 1) LOGI("getProcessedSlot 008");
 			MaterialsType glassType = pGlass->getType();
 			if (glassType == MaterialsType::G1 && putSlotType == MaterialsType::G2) continue;
+			if (m_nTestFlag == 1) LOGI("getProcessedSlot 009");
 			if (glassType == MaterialsType::G2 && putSlotType == MaterialsType::G1) continue;
-
+			if (m_nTestFlag == 1) LOGI("getProcessedSlot 00a");
 			return &m_slot[i];
 		}
 
@@ -1442,6 +1452,13 @@
 		if (m_slot[slotIndex].getContext() != nullptr) return FALSE;
 
 		return TRUE;
+	}
+
+	BOOL CEquipment::slotHasGlass(int slotIndex/* = 0*/)
+	{
+		ASSERT(slotIndex < 8);
+		CGlass* pGlass = (CGlass*)m_slot[slotIndex].getContext();
+		return (pGlass != nullptr);
 	}
 
 	int CEquipment::removeGlass(int slotNo)
@@ -1654,7 +1671,7 @@
 	int CEquipment::decodeVCREventReport(CStep* pStep, const char* pszData, size_t size)
 	{
 		CVcrEventReport vcrEventReport;
-		vcrEventReport.unserialize(pszData, size);
+		vcrEventReport.unserialize(pszData, (int)size);
 		LOGI("<CEquipment-%s>decodeVCREventReport<Result:%d, GlassId:%s>\n", m_strName.c_str(),
 			vcrEventReport.getVcrResult(),
 			vcrEventReport.getGlassId().c_str());

--
Gitblit v1.9.3