⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ipcountdlg.h

📁 IP电话计费管理系统本地版
💻 H
字号:
// IPCountDlg.h : header file
//
//{{AFX_INCLUDES()
#include "mscomm.h"
//}}AFX_INCLUDES

#if !defined(AFX_IPCOUNTDLG_H__EDFE9358_1F38_4B58_ABED_4CB0A4D10020__INCLUDED_)
#define AFX_IPCOUNTDLG_H__EDFE9358_1F38_4B58_ABED_4CB0A4D10020__INCLUDED_
#include "SaleMang.h"
#include "SysSetUp.h"
#include "ChgPswd.h"
//#include "FeeRate.h"

#include "StaticsSheet.h"
#include "DayStaticsPage.h"
#include "MonStaticsPage.h"

#include "FeeRateSheet.h"
#include "FeeRatePage.h"
#include "SaleCutPage.h"
#include "dialogsetup.h"
#include "RecvInfo.h"
#include "IPCountReCordSet.h"
#include "TempRecordSet.h"
#include "filerecordset.h"
#include "SXButton.h"
#include "TitleSet.h"

//#define IPCOUNT_FOR_FS
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define WM_ADD_DB WM_USER + 5
#define nMaxPort 4//通用版本新增代码

/////////////////////////////////////////////////////////////////////////////
// CIPCountDlg dialog

class CIPCountDlg : public CDialog
{
// Construction
public:
	//CDialogSetup dlg;
	
	
	int OneSecondOfMin; //可调时间增加代码
	/////////////////////////////////////////////通用版本新增代码
	int nOperateLines;//最大线路数
	BOOL bOpenCom[nMaxPort];
	BOOL InitCom(int nGW, int nInitCom);
	int nGwCom[nMaxPort];
	/////////////////////////////////////////////////
    CString m_szStartTime[16];//保存起始时间
	CString m_CalledTempNum[16];
	void AddToTemp(int nLineNum);//写临时数据库,主要是结算时调用
	void ShowCInfo();//显示当班话费和当日话费
	BOOL bValidUser;//判断用户是否已注册
	BOOL bIsValid();//判断用户注册函数
    CString SetRegCode(CString strGetCode);//设置注册码
    CString GetMachineCode();//获得机器码
	BOOL bChgAndCount;//换班扎帐变量
	int nFlagLevel;//用户权限级别,1为营业员,2为系统管理员
	CString strLevel;//保存从文件中读出的用户类型,用来比较,以确认当前用户的权限级别
	BOOL bRate;//判断是否显示或隐藏费率对话框
	BOOL bSystem;//判断是否显示或隐藏系统设置对话框
	BOOL bStatics;//判断是否显示或隐藏话费统计对话框
	void ShutDownLine(int nSLine);//话费不够时,切断通话
	char ConvertHexChar(char ch);
	int nDCount;//串口处理中的变量,用来判断是否已处理过
	int nBCount;//串口处理中的变量,用来判断是否已处理过
	int String2Hex(CString str, CByteArray &senddata);
	void SendData(CString strSend,int nCom);//向串口发送命令
	BOOL bReboot;//判断是否是网关重起
	void DealReboot(int nCom);//处理网关重起和给网关发命令,使网关进入指定的状态
	CIPCountDlg(CWnd* pParent = NULL);	// standard constructor	

	CString ConvTimeToMin(CString strSecond,int nOperLine);//转换时间格式
	void AddToDb(int nLineNum);//将数据写入数据库
	CString m_CalledNum[16];//保存被叫号码

	CString strFlag;//用来保存变量以判断网关某一线路电话是摘机或挂机
	int nLine;//表示是那条线路
	int nFlagLine[16];//表示各种状态
    CFileSet set;//类变量

	BOOL bClosed[16];
	BOOL bTalking[16];
//	int ConvTimeToSec(CString strTime);//转换时间格式成秒
	CString strStartTime;//保存接通电话时的系统时间,作为计费的起始时间
	void ShowStatus(int nRow,int nItem,CString strStatus);//将要在SaleMang中的列表框中显示的信息
	void MidInfo(CString strInfo,int nRecCom);//从串口发出的消息中提取相应格式的字串
	BOOL bFoundChar;//判断是否找到字符
	BOOL bOpenSale;//判断SaleMang对话框是否处在Active状态
	void OnRecvDTMF(int nCom);//处理接收到的DTMF信息
    void OnRecvDTMF2(int nCom);
	CString m_strRXData[nMaxPort];//保存串口接收的字串
	int n;//串口函数中使用
	CString m_strRXData2,m_strRXData1;//m_strRXData1与字符"password"比较,m_strRXData2与字符"Login"比较
    CString strSaveInfo;//保存#和@之间的字串,如#Alerting;IP:192.168.0.16;Line:1;@
	CSaleMang *sdlg;
	CSysSetUp *mdlg;
	CChgPswd *cdlg;
//	CFeeRate *fdlg;
	CComReceive *ComMsg;//结构指针
	CDatabase  m_database;//数据库变量

	struct RecordInfo
	{
		CString m_Line;
		CString m_CalledNum;
		CString m_RTLen;
		CString m_Rate;
		CString m_CDay;
		CString m_RCount;
		CString m_StreamNum;
		CString m_RAreaName;
		CString m_COper;
		CString m_ORate;
		CString m_PrePay;
		CString m_Remain;
	}m_RecodeInfo[16];//v12.03.08
 
// Dialog Data
	//{{AFX_DATA(CIPCountDlg)
	enum { IDD = IDD_IPCOUNT_DIALOG };
	CSXButton	m_BTitle;
	CSXButton	m_BVer;
	CSXButton	m_BExit;
	CSXButton	m_BStatics;
	CSXButton	m_BModPswd;
	CSXButton	m_BLogin;
	CSXButton	m_BMang;
	CSXButton	m_BRate;
	CSXButton	m_BSetUp;
	CEdit	m_eShow;
	CMSComm	m_ctrlComm;
	CString	m_strShow;
	CString	m_strName;
	CString	m_strPswd;
	CMSComm	m_ctrlComm2;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CIPCountDlg)
	public:
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
public:
	void SendCommand(CString sCommand, CString sLine, int nCom);
	CString GetCurrentPath(CString sPath);
	BOOL bCommValid(int portnr);
	CString strUpSpace;
	int nGetSaleCutFlag;
	CString strCutRate[16];//保存最高级别匹配被叫号码的折扣率
	CString strLowCutRate[16];//保存次高级别匹配被叫号码的折扣率
	CString strLowestCutRate[16];//保存最低级别匹配被叫号码的折扣率
	void GetFromCutTb(int nNumLine,CString strCalledNum);
	BOOL bOpenStatics;
	void PrintAtOnce();
	int nPrintAtOnce;
	void ShowLineColor(int nLine,unsigned long  nNewValue);

	BOOL bClosedLine[16];
	void SetInitRate();

	void DealTalk(int nTalkLine);
	CString GetIndex();
	CString m_TelIndex;
	CString strAreaName[16];//各线路所拨号码对应的区名
	CString strStreamNum[16];//个线路电话的流水号
	CString SetStreamNum();//设置流水号的格式
	CString strTempNum[16];//保存从注册标获得的押金

	CStaticsSheet *m_Sheet;
	CDayStaticsPage *m_page1;
	CMonStaticsPage *m_page2;

	CFeeRateSheet *m_FSheet;
	CFeeRatePage *m_Fpage1;
	CSaleCutPage *m_Fpage2;

///////////////////////////////////////////
    CString strFeeType[100];//费率类型
	CString strFeeMoney[100];//费率值
	CString strOFeeMoney[100];
	CString strOFeeTimeLen[100];
	CString strStartTLen[100];//起计时长 for xiamen
	int nFeeNum;//共有多少费率项
//////////////////////////////////////////
    int nCutLevelFlag[16];//优惠时段变量
	CString strStartCutYear[16];
	CString strEndCutYear[16];
	CString strStartCutMon[16];
	CString strEndCutMon[16];
	CString strStartCutDay[16];
	CString strEndCutDay[16];
	CString strStartCutHour[16];
	CString strEndCutHour[16];
	CString strStartCutWeek[16];
	CString strEndCutWeek[16];
    int nPrintMode;

	HANDLE hThread; 
    DWORD  dwThreadId; 
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CIPCountDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnSysSetup();
	afx_msg void OnSaleMang();
	afx_msg void OnStatics();
	afx_msg void OnRate();
	afx_msg void OnModpswd();
	afx_msg void OnVer();
	afx_msg void OnComm();
	afx_msg void OnLogin();
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
	virtual void OnOK();
	virtual void OnCancel();
	afx_msg void OnComm2();
	afx_msg void OnTitle();
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	DECLARE_EVENTSINK_MAP()
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};
	DWORD _stdcall ReceiveMsgProc(void * Param); 
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_IPCOUNTDLG_H__EDFE9358_1F38_4B58_ABED_4CB0A4D10020__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -