#include "stdafx.h" #include "CEqJobEventStep.h" #include "Log.h" namespace SERVO { CEqJobEventStep::CEqJobEventStep() : CReadStep() { m_nJobDataADev = 0; } CEqJobEventStep::~CEqJobEventStep() { } void CEqJobEventStep::setJobDataDev(int nDev) { m_nJobDataADev = nDev; } void CEqJobEventStep::getAttributeVector(CAttributeVector& attrubutes) { CReadStep::getAttributeVector(attrubutes); std::string strTemp; attrubutes.addAttribute(new CAttribute("Dev", ("W" + CToolUnits::toHexString(m_nJobDataADev, strTemp)).c_str(), "")); attrubutes.addAttribute(new CAttribute("CassetteSequenceNo", std::to_string(m_jobDataS.getCassetteSequenceNo()).c_str(), "")); attrubutes.addAttribute(new CAttribute("JobSequenceNo", std::to_string(m_jobDataS.getJobSequenceNo()).c_str(), "")); attrubutes.addAttribute(new CAttribute("LotId", m_jobDataS.getLotId().c_str(), "")); attrubutes.addAttribute(new CAttribute("ProductId", m_jobDataS.getProductId().c_str(), "")); attrubutes.addAttribute(new CAttribute("OperationId", m_jobDataS.getOperationId().c_str(), "")); attrubutes.addAttribute(new CAttribute("Glass1Id", m_jobDataS.getGlass1Id().c_str(), "")); attrubutes.addAttribute(new CAttribute("Glass2Id", m_jobDataS.getGlass2Id().c_str(), "")); attrubutes.addAttribute(new CAttribute("JobType", std::to_string(m_jobDataS.getJobType()).c_str(), "")); attrubutes.addAttribute(new CAttribute("MaterialsType", std::to_string(m_jobDataS.getMaterialsType()).c_str(), "")); attrubutes.addAttribute(new CAttribute("ProductType", std::to_string(m_jobDataS.getProductType()).c_str(), "")); attrubutes.addAttribute(new CAttribute("DummyType", std::to_string(m_jobDataS.getDummyType()).c_str(), "")); attrubutes.addAttribute(new CAttribute("SkipFlag", std::to_string(m_jobDataS.getSkipFlag()).c_str(), "")); attrubutes.addAttribute(new CAttribute("ProcessFlag", std::to_string(m_jobDataS.getProcessFlag()).c_str(), "")); attrubutes.addAttribute(new CAttribute("ProcessResonCode", std::to_string(m_jobDataS.getProcessResonCode()).c_str(), "")); attrubutes.addAttribute(new CAttribute("LastGlassFlag", std::to_string(m_jobDataS.getLastGlassFlag()).c_str(), "")); attrubutes.addAttribute(new CAttribute("FirstGlassFlag", std::to_string(m_jobDataS.getFirstGlassFlag()).c_str(), "")); attrubutes.addAttribute(new CAttribute("QTime1", std::to_string(m_jobDataS.getQTime(0)).c_str(), "")); attrubutes.addAttribute(new CAttribute("QTime2", std::to_string(m_jobDataS.getQTime(1)).c_str(), "")); attrubutes.addAttribute(new CAttribute("QTime3", std::to_string(m_jobDataS.getQTime(2)).c_str(), "")); attrubutes.addAttribute(new CAttribute("QTimeOverFlag", std::to_string(m_jobDataS.getQTimeOverFlag()).c_str(), "")); attrubutes.addAttribute(new CAttribute("MasterRecipe", std::to_string(m_jobDataS.getMasterRecipe()).c_str(), "")); attrubutes.addAttribute(new CAttribute("ProductRecipeId", m_jobDataS.getProductRecipeId().c_str(), "")); attrubutes.addAttribute(new CAttribute("PCode", m_jobDataS.getPCode().c_str(), "")); attrubutes.addAttribute(new CAttribute("UseType", m_jobDataS.getUseType().c_str(), "")); attrubutes.addAttribute(new CAttribute("PanelMeasure", m_jobDataS.getPanelMeasure().c_str(), "")); attrubutes.addAttribute(new CAttribute("SlotUnitSelectFlag", std::to_string(m_jobDataS.getSlotUnitSelectFlag()).c_str(), "")); attrubutes.addAttribute(new CAttribute("SourcePortNo", std::to_string(m_jobDataS.getSourcePortNo()).c_str(), "")); attrubutes.addAttribute(new CAttribute("SourceSlotNo", std::to_string(m_jobDataS.getSourceSlotNo()).c_str(), "")); attrubutes.addAttribute(new CAttribute("TargetPortNo", std::to_string(m_jobDataS.getTargetPortNo()).c_str(), "")); attrubutes.addAttribute(new CAttribute("TargetSlotNo", std::to_string(m_jobDataS.getTargetSlotNo()).c_str(), "")); } int CEqJobEventStep::onReadData() { CReadStep::onReadData(); char szBuffer[1024]; int nRet = m_pCclink->ReadData2(m_station, DeviceType::W, m_nJobDataADev, 640, szBuffer); if (0 != nRet) { return -1; } m_jobDataS.unserialize(szBuffer, 640); LOGI("Read JobDataA\n", m_strName.c_str()); return 0; } int CEqJobEventStep::onComplete() { CReadStep::onComplete(); LOGI(" onComplete."); return 0; } int CEqJobEventStep::onTimeout() { CReadStep::onTimeout(); LOGI(" onTimeout."); return 0; } CJobDataS* CEqJobEventStep::getJobDataS() { return &m_jobDataS; } }