You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
169 lines
4.1 KiB
C++
169 lines
4.1 KiB
C++
// Start =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
|
// General information section.
|
|
// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
|
// $Author:yongkiang$ User who last changed the file
|
|
// $Date:1/2/2013 12:17:39 PM$ Date and time of last check in
|
|
// $Revision:1.0$ Visual SourceSafe version number
|
|
// $Workfile:: lotmsg.h $ Filename
|
|
// End =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
|
#if !defined __LOTMSG_H__
|
|
#define __LOTMSG_H__
|
|
|
|
#include <afxmt.h>
|
|
|
|
class CRun;
|
|
|
|
class CMsgItem
|
|
{
|
|
// Attributes
|
|
public:
|
|
int m_id;
|
|
int m_nMsgID;
|
|
|
|
bool m_bStored;
|
|
|
|
int m_nCategory;
|
|
BOOL m_bCount;
|
|
|
|
CString m_msgID;
|
|
CString m_msg;
|
|
CString m_module;
|
|
CString m_csRemedy1;
|
|
CString m_csRemedy2;
|
|
CString m_csRemedy3;
|
|
|
|
COleDateTime m_msgTime;
|
|
CString m_csFaultFilename;
|
|
CString m_csMainDisplayFilename;
|
|
CPoint m_cpMainIndicator;
|
|
CPoint m_cpFaultIndicator;
|
|
};
|
|
|
|
#define MSG_JAM_STR "Jam"
|
|
#define MSG_WARNING_STR "Warning"
|
|
#define MSG_BUZZER_STR "Buzzer"
|
|
|
|
#define BUZZER 9999
|
|
#define CLEAR_ALL 0
|
|
|
|
#define STORE_WARN true
|
|
#define DO_NOT_STORE_WARN false
|
|
|
|
#define JAM_MSG true
|
|
#define WARN_MSG false
|
|
|
|
#ifdef BUILD_MCCTRDLL
|
|
#define MCCTRDLLCLASS __declspec(dllexport)
|
|
#else
|
|
#define MCCTRDLLCLASS __declspec(dllimport)
|
|
#endif
|
|
|
|
class CLotMsgRS;
|
|
|
|
class MCCTRDLLCLASS CLotMsg
|
|
{
|
|
public:
|
|
void DeleteRecord(CString csLotNumber, double dStartDateTime);
|
|
void GetWarningMsg(CPtrList *pList);
|
|
void GetJamMsg(CPtrList *pList);
|
|
CLotMsg();
|
|
~CLotMsg();
|
|
|
|
// Clear Message
|
|
void ClearAllMsg();
|
|
void ClearAllJamMsg();
|
|
bool ClearWarningMsg(int nID, COleDateTime odtWarnEndTime);
|
|
void ClearBuzzer(CRun *pRun);
|
|
void ClearBuzzers(CRun *pRun);
|
|
|
|
// Pause and continue message logging
|
|
|
|
// Jam
|
|
void SetJamMsg(int nID, COleDateTime odtJamStartTime, BOOL bCount);
|
|
bool HasJam()
|
|
{
|
|
return m_jamMsgList.GetHeadPosition() != NULL;
|
|
}
|
|
|
|
// Warnings
|
|
bool SetWarningMsg(int nID, COleDateTime odtWarnTime, bool bStoreWarn = STORE_WARN);
|
|
bool HasWarning()
|
|
{
|
|
return m_warningMsgList.GetHeadPosition() != NULL;
|
|
}
|
|
|
|
// Buzzer
|
|
void SetBuzzer(CRun *pRun);
|
|
bool HasBuzzer()
|
|
{
|
|
return m_buzzerList.GetHeadPosition() != NULL;
|
|
}
|
|
|
|
// Message Record
|
|
void BeginMsgRecord(LPCSTR pLotNumber, CString LotStartDateTime);
|
|
void StoreMsg();
|
|
void StoreMsgList(CPtrList &pMsg, bool bJam = JAM_MSG);
|
|
|
|
void EndMsgRecord();
|
|
|
|
// set jam End Time
|
|
void SetJamEndTime(COleDateTime odtJamEndTime);
|
|
|
|
// set end time to list
|
|
void SetEndTimeList(CPtrList &pMsg, COleDateTime odtEndTime);
|
|
|
|
// Message changed
|
|
inline bool IsModified()
|
|
{
|
|
return m_bModified;
|
|
}
|
|
|
|
inline void ClearModified()
|
|
{
|
|
m_bModified = false;
|
|
}
|
|
|
|
inline bool HasMsg()
|
|
{
|
|
return (HasJam() || HasWarning());
|
|
}
|
|
|
|
CString GetSecGemWarningMessage(int iMsgID); // phyu 24-Sep-2012
|
|
// Attributes : Message Lists and count
|
|
|
|
private:
|
|
// Prevent accidental copy
|
|
CLotMsg(const CLotMsg& rhs);
|
|
// Attributes
|
|
bool m_bModified;
|
|
CPtrList m_jamMsgList;
|
|
CPtrList m_warningMsgList;
|
|
CPtrList m_buzzerList;
|
|
int m_jamCount;
|
|
|
|
// Mutex
|
|
CMutex m_msgMutex;
|
|
|
|
// Attributes: Message Record
|
|
CLotMsgRS *m_pMsgRec;
|
|
CString m_lotNumber;
|
|
bool m_bMsgRecordStart;
|
|
|
|
// Operations
|
|
void AddNSaveMsg(CPtrList &pMsg, int nID, COleDateTime odtStartTime, BOOL bCount = TRUE);
|
|
|
|
// clear waring list
|
|
bool ClearMsg(CPtrList &pMsg, int nMsgID, COleDateTime odtWarnEndTime);
|
|
void ClearMsgList(CPtrList &pMsg);
|
|
|
|
// Message Record Operations
|
|
void StoreMsgItem(CMsgItem *msg, bool bJam = JAM_MSG);
|
|
|
|
// post jam message to sec gem jam task thread
|
|
void PostSecGemJamMessage(CMsgItem *msg);
|
|
|
|
CString m_LotStartDateTime;
|
|
};
|
|
|
|
#endif // !defined __LOTMSG_H__
|