?? jhhbdoc.h
字號(hào):
// Written by JHCC
// JHHBDoc.h : interface of the CJHHBDoc class
// NOTE:Server Version !!! 1997.11.26 Update,Don't cover by client Version!!!
//
/////////////////////////////////////////////////////////////////////////////
// DAO RecordSet
#include "DaoStationInfoSet.h"
#include "DaoHBRecSet.h"
#include "DaoHBDateDataSet.h"
#include "DaoAddHBDataSet.h"
#include "DaoShareHBDataSet.h"
// ODBC RecordSet
#include "StationInfoSet.h"
#include "HBRecSet.h"
#include "HBDateDataSet.h"
#include "AddHBDataSet.h"
#include "CtrlInfo.h"
#include "comm.h"
#include "tapix.h"
const int nTimeSpan = 10; // 10 minutes
const double nPHBottom = 0.0;
const double nPHTop = 14.0;
//------------------- ljh begin
const double nCODBOT = 0.0;
const double nCODTOP = 2000.0;
const double nFLOWBOT = 0.0;
const double nFLOWTOP = 10000.0;
const double nNH4NBOT = 0.0;
const double nNH4NTOP = 1000.0;
//------------------- ljh end
const int cMaxReadCommBufLen = 4096 + sizeof(WORD);
const int cMaxGetDataBufLen = 65536;
const int cMaxReadModemBufLen = 4096 + sizeof(WORD);
const int cMaxGetModemCmdBufLen = 4096;
class CDataListView;
class CJHHBView;
class CLogView;
class CRealDlg;
class CJHHBDoc : public CDocument
{
protected: // create from serialization only
CJHHBDoc();
DECLARE_DYNCREATE(CJHHBDoc)
// Attributes
public:
BOOL m_bUseDao;
CDaoDatabase * m_pDB;
CDaoHBRecSet * m_pDaoHBRecSet;
CDaoHBDateDataSet * m_pDaoHBDateDataSet;
CDaoStationInfoSet * m_pDaoStationInfoSet;
CDaoAddHBDataSet * m_pDaoAddDataSet;
CDaoShareHBDataSet * m_pDaoShareDataSet;
CHBRecSet * m_pHBRecSet;
CHBDateDataSet * m_pHBDateDataSet;
CStationInfoSet * m_pStationInfoSet;
CAddHBDataSet * m_pAddDataSet;
CCtrlInfoArray m_ctrlInfoArray;
COleDateTime m_curSpyTime;
int m_nCurStation;
CTime m_timeLast;
CRealDlg * m_pdlgReal;
public:
UINT m_nWorkTimerID;
static void CALLBACK TimerProc(HWND hwnd,
UINT uMsg, UINT uIDEvent, DWORD dwTime);
enum
{
DEFAULT_REFRESHTIMEOUT = nTimeSpan,
DEFAULT_TRANCEDATATIMEOUT = 20,//2001年6月1日改,原20處為120
DEFAULT_WAITREPLYTIMEOUT = 15,//2001年6月1日改,原15處為25
};
int m_nRefreshTimeout;
int m_nWaitReplyTimeout;
int m_nTransDataTimeout;
// add for speed update the samples data
public:
class CSpeedQueryUnit
{
public:
int m_nOrder;
int m_nPos;
};
CSpeedQueryUnit * m_pSpeedQueryArray;
int m_nSpeedQueryArrayUnit;
int m_nCurQuerySetPos;
static int CompareTwoQueryUnit(CSpeedQueryUnit* arg1, CSpeedQueryUnit* arg2);
void GenSpeedArray(void);
BOOL LookupSeepdArray(int nOrder, int& nPos);
class CPrintRecUnit
{
public:
CString str_NO;
CString str_Time;
CString str_PH;
};
struct Statistic
{
CString m_StationName;
double m_nMAXPH;
double m_nMINPH;
double m_nOverTopRate,m_nOverBottomRate,m_nSuitTargeRate;
UINT m_nRecCount;
UINT m_nOverTopCount;
UINT m_nOverBottomCount;
UINT m_nSuitTargeCount;
} MonthStatistic_Array[10];
public:
enum
{
CM_COMM = 0x8000,
CM_MODEM = 0x9000 //CM_COMM + CCommInfo::ID_COMM_EVENT_NUMBER,
};
CCommInfo * m_pComm;
CTAPIConnection * m_pModem;
int m_nModemLine;
int m_nReceiveCount;
int m_nTotalReceive;
BYTE m_pReadCommBuf[cMaxReadCommBufLen];
BYTE m_pGetDataBuf[cMaxGetDataBufLen];
int m_nReceiveModemCount;
BYTE m_pReadModemBuf[cMaxReadModemBufLen];
BYTE m_pGetModemCmdBuf[cMaxGetModemCmdBufLen];
CString m_strSend;
char * m_pstrHead; // 找到通訊命令的起始點(diǎn)
BOOL m_bAutoActivated; // 自動(dòng)轉(zhuǎn)播等待接收標(biāo)志
BOOL m_bRelayActivated; // 定點(diǎn)轉(zhuǎn)播等待接收標(biāo)志
BOOL m_bModemConnected; // Modem 連接標(biāo)志
enum ModemWorkstatus
{
MODEM_WORKSTATUS_NONE,
MODEM_WORKSTATUS_WAIT,
MODEM_WORKSTATUS_HAVENEW,
MODEM_WORKSTATUS_TRANSDATA,
MODEM_WORKSTATUS_IDLE
} m_ModemWorkStatus;
long m_lTotalNoSharedRecords; // 未共享記錄總數(shù)
long m_lSendRecordPosition; // 已發(fā)送記錄號(hào)
long m_lSharedRecordPosition; // 已共享記錄號(hào)
// Operations
public:
static void DisplayDaoException(CDaoException* e);
BOOL InitDocument(void);
void RefreshData(COleDateTime& time);
// BOOL AddSampleData(int nStation, CTime& time, WORD nPHNumber); //BYTE nPHNumber); ljh
BOOL AddSampleData(int nStation, CTime& time, WORD nPHNumber, WORD nCODNumber, WORD nFLOWNumber,WORD nPH4NNumber); // ljh add
double CalcPHValue(int nStation, WORD nPHNubmer); //BYTE nPHNubmer); ljh
//--------------- ljh benin
double CalcCODValue(int nStation, WORD nCODNubmer);
double CalcFLOWValue(int nStation, WORD nFLOWNubmer);
double CalcNH4NValue(int nStation, WORD nNH4NNubmer);
//--------------- ljh end
void ParseData(void);
void SendRequestString(int nStation, CTime& time);
void SendOKString(int nStation);
long GetNoSharedRecordSet(void);
long SendToClientRecordSet(void);
void MarkSharedRecords(void);
void SendToClientOver(void);
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CJHHBDoc)
public:
virtual BOOL OnNewDocument();
virtual void Serialize(CArchive& ar);
virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CJHHBDoc();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
public:
CDataListView * GetDataListView(void);
CJHHBView * GetJHHBView(void);
CLogView * GetLogView(void);
protected:
// Generated message map functions
public:
//{{AFX_MSG(CJHHBDoc)
afx_msg void OnDataHistory();
afx_msg void OnUpdateDataRequestsend(CCmdUI* pCmdUI);
afx_msg void OnDataRequestsend();
afx_msg void OnCommSettings();
afx_msg void OnStationSetup();
afx_msg void OnDataPrintD();
afx_msg void OnDataPrintM();
afx_msg void OnDataRelayReal();
afx_msg void OnUpdateDataRelayReal(CCmdUI* pCmdUI);
afx_msg void OnDataPrintYear();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -