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

📄 tel2006dlg.cpp

📁 本程序是一个宾馆程控电话系统
💻 CPP
📖 第 1 页 / 共 3 页
字号:
	str = sz;
	str.Replace(" ","0");
	return str;
}


/***********************************************************
 *	GetRPointCardInfo
 *
 *	Parameters:	structFB	// 点单附表结构体
 *	
 *	Return Values:	bool	// 有纪录 = ture	无纪录 = flase
 *
 *	Remark:	获得R_PointCard中的信息
 ***********************************************************/

BOOL CTel2006Dlg::GetRPointCardInfo(structFB& structFB)
{
	_variant_t var;
	CString strPublicfy;
	//ADOConn m_AdoConn;
	//m_AdoConn.OnInitADOConn(m_strDataBase);
	
	//设置SELECT语句
	CString strSQL;
	
	strSQL.Format("select * from R_PointCard where TableCode = '%s'",structFB.strTableCode);
	_bstr_t vSQL =strSQL;
	
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
	
	// Get RecordCout
	DWORD dwCount = 0;
	dwCount = m_pRecordset->GetRecordCount();
	if(dwCount<0)
		return false;
	while(!m_pRecordset->adoEOF)
	{
		var = m_pRecordset->GetCollect("ParlorCode");
		if(var.vt != VT_NULL)
			structFB.strParlorCode = (LPCSTR)_bstr_t(var);
		
		var = m_pRecordset->GetCollect("BedNo");
		if(var.vt != VT_NULL)
			structFB.strBedNo = (LPCSTR)_bstr_t(var);
		
		var = m_pRecordset->GetCollect("BillCode");
		if(var.vt != VT_NULL)
			structFB.strBillCode = (LPCSTR)_bstr_t(var);
		
		var = m_pRecordset->GetCollect("Publicfy");
		if(var.vt !=VT_NULL)
			strPublicfy = (LPCSTR)_bstr_t(var);
		
		var = m_pRecordset->GetCollect("Battery");
		if(var.vt !=VT_NULL)
			structFB.strBattery = (LPCSTR)_bstr_t(var);

		m_pRecordset->MoveNext();
	}
	strPublicfy = TrimString(strPublicfy);
	if(strPublicfy == "0")
		structFB.strGfMark = "0";
	if(strPublicfy == "1")
		structFB.strGfMark = "1";

	if(strPublicfy.Find("9905000004") == -1)
		structFB.strGfMark = "0";
	else
		structFB.strGfMark = "1";

	structFB.strBattery = TrimString(structFB.strBattery);
	//m_AdoConn.ExitConnect();
	return true;
}


/*********************************************** 
 *  函数名: CTel2006Dlg::WriteData
 * 
 *  功  能: 写Log.txt文件
 * 
 *  参  数: CString strFileName	// 文件名
 *          CString strMsg		// 写的内容
 *
 *  返回值: void 
 ***********************************************/

void CTel2006Dlg::WriteData(CString strFileName,CString strMsg)
{
	if ( strMsg.IsEmpty() ) return;
	
	CString Time;
	time_t tval;
	struct tm *now;
	int Count = 0;
	
	tval = time(NULL);
	now = localtime(&tval);
	
	Time.Format("%04d年%02d月%02d日 %02d:%02d:%02d", now->tm_year+1900, now->tm_mon+1, 
		now->tm_mday, now->tm_hour, now->tm_min, now->tm_sec);
	
	CString strLog =Time + "-" ;
	strLog += strMsg;
	
	CFile file;
	if( !file.Open(strFileName,CFile::modeWrite))
	{
		TRACE("%s写文件不能打开",strFileName);
	}
	file.SeekToEnd();
	strLog+= 0x0D;
	strLog+= 0x0A;
	file.Write(strLog,strLog.GetLength());
	
	file.Close();
}


/****************************************
 *	GetCurDate
 *
 *	Return Values:	str	// 当前日期
 *
 *	Remark:	获取当前日期
 ****************************************/

CString CTel2006Dlg::GetCurDate()
{
	CTime t;
	CString str;
	t = t.GetCurrentTime();
	str.Format("%4d-%2d-%2d",t.GetYear(),t.GetMonth(),t.GetDay());
	str.Replace(" ","0");
	return str;
}


/*****************************************
 *	GetCurTime
 *	
 *	Return Values:	str	// 获取的当前时间
 *
 *	Remark:	获取当前时间
 *****************************************/

CString CTel2006Dlg::GetCurTime()
{
	CTime t;
	CString str;
	t = t.GetCurrentTime();
	str.Format("%2d:%2d:%2d",t.GetHour(),t.GetMinute(),t.GetSecond());
	str.Replace(" ","0");
	return str;
}


/*********************************************** 
 *  函数名: CTel2006Dlg::GetLeaveMoney
 * 
 *  功  能: 获得LeaveMoney
 * 
 *  参  数: CString strBillCode		// 账单号
 *          CString &strLeaveMoney	// 钱
 *
 *  返回值: BOOL 
 ***********************************************/

BOOL CTel2006Dlg::GetLeaveMoney(CString strBillCode,CString &strLeaveMoney)
{
	_variant_t var;
	float fLeaveMoney = 0.00;
	
	//ADOConn m_AdoConn;
	//m_AdoConn.OnInitADOConn(m_strDataBase);
	
	//设置SELECT语句
	CString strSQL;
	
	strSQL.Format("select LeaveMoney from R_PointCard where BillCode = '%s'",strBillCode);
	_bstr_t vSQL =strSQL;
	
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
	
	// Get RecordCout
	DWORD dwCount = 0;
	dwCount = m_pRecordset->GetRecordCount();
	if(dwCount<0)
		return false;
	while(!m_pRecordset->adoEOF)
	{
		var = m_pRecordset->GetCollect("LeaveMoney");
		if(var.vt != VT_NULL)
			strLeaveMoney = (LPCSTR)_bstr_t(var);
		
		m_pRecordset->MoveNext();
	}
	//m_AdoConn.ExitConnect();
	return true;
}


/*********************************************** 
 *  函数名: CTel2006Dlg::SubLeaveMoney
 * 
 *  功  能: 减余额
 * 
 *  参  数: CString strBillCode	// 房间编号
 *          CString strPrice	// 通话费用
 *          CString strLeaveMoney	// 现在的余额
 *
 *  返回值: void 
 ***********************************************/

void CTel2006Dlg::SubLeaveMoney(CString strBillCode,CString strPrice,CString strLeaveMoney)
{
	_variant_t var;
	
	CString strLeavedMoney;
	
	float fPrice = (float)atof(strPrice);
	float fLeaveMoney = (float)atof(strLeaveMoney);
	fLeaveMoney -=fPrice;
	
	/*CString str;
	str.Format("TableCode = %s;fPrice = %f;fLeaveMoney = %f",strTableCode,fPrice,fLeaveMoney);
	AfxMessageBox(str);*/
	try
	{
	//ADOConn m_AdoConn;
	//m_AdoConn.OnInitADOConn(m_strDataBase);
	
	//设置SELECT语句
	CString strSQL;
	
	strSQL.Format("update R_PointCard SET LeaveMoney = %f WHERE BillCode ='%s'",fLeaveMoney,strBillCode);
	
	_bstr_t vSQL =strSQL;
	m_AdoConn.ExecuteSQL(vSQL);
	//m_AdoConn.ExitConnect();
	}
	catch (_com_error e) 
	{
		CString errormessage;
		
		errormessage.Format("自定义错误信息3:%s",e.ErrorMessage());
		
		AfxMessageBox(errormessage);///显示错误信息
	}
}


/*********************************************** 
 *  函数名: CTel2006Dlg::OnTimer
 * 
 *  功  能: 时间响应事件
 ***********************************************/
void CTel2006Dlg::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	CString strNowTime;
	//strNowTime.Format("%s %s",GetCurDate(),GetCurTime());
	strNowTime = CTime::GetCurrentTime().Format("%Y-%m-%d %H:%M:%S");
	GetDlgItem(IDC_NOWTIME)->SetWindowText(strNowTime);
	CDialog::OnTimer(nIDEvent);
}


/******************************
 *	InitStructData
 *	
 *	Parameters:	data	//结构体
 *
 *	Remark:	初始化结构体
 *******************************/
void CTel2006Dlg::InitStructData(structData data)
{
	data.strID		= "";	// 序号
	data.strCalling	= "";	// 主叫号码
	data.strDescribe = "";	// 描述
	data.strCalled	= "";	// 被叫号码
	data.strTypeID	= "";	// 通话类型编号	
	data.strTypeName= "";	// 通话类型名称
	data.strPlace	= "";	// 通话地址
	data.strDate	= "";	// 通话时间
	data.strTime	= "";	// 通话时长
	data.strTwice	= "";	// 次数
	data.strBasic	= "";	// 基本费用
	data.strAdrate	= "";	// 手续费
	data.strPoundage= "";	// 附加费		
	data.strPrice	= "";	// 总金额
	data.strBillCode= " ";	// 账单号
	data.strIsAccount= "";	// 是否入帐
	data.strRelay	= "";	// 中继
	data.strAuto	= "";	// 自动入帐
	data.strRemark	= "";	// 备注
	data.strBedNo	= " ";
	data.strParlorCode=" ";
	data.strTableCode = " ";
}


/************************************
 *	InitStructRate
 *
 *	Parameters:	rate	//结构体
 *
 *	Remark:初始化结构体
 ************************************/

void CTel2006Dlg::InitStructRate(structRate rate)
{
	rate.strTypeID = "";
	rate.strCode = "";
	rate.strTypeName = "";
	rate.strPlace = "";
	rate.nStaySec = 0;
	rate.nFirstSec = 0;
	rate.fFirstPrice =0.00;
	rate.nEverySec =0;
	rate.fEveryPrice =0.00;
	rate.fAdrate1 =0.00;
	rate.fAdrate2 =0.00;
	rate.fPoundage1 =0.00;
	rate.fPoundage2 =0.00;
	rate.strIsCheapen = "";
}


/*************************
 *	InitStructFB
 *
 *	Parameters:	fb	//结构体
 *
 *	Remark:	初始化结构体
 *************************/

void CTel2006Dlg::InitStructFB(structFB fb)
{
	fb.strPserial ="";
	fb.strParlorCode="";
	fb.strTableCode="";
	fb.strCurDate="";
	fb.strCurTime="";
	fb.strMenuID="";
	fb.strPrice="";
	fb.strBedNo="";
	fb.strBillCode="";
	fb.strGfMark = "";
	fb.strBattery = "";
	fb.strTypeID	=  "05";
	
}



/****************************************************
 *	GetMenuID
 *
 *	Parameters:	strParlorCode	// 大厅编号
 *	
 *	Return Values:	strMenuID	// MenuID
 *
 *	Remark:		根据大厅编号检索S_Parlor表得到MenuID
 ****************************************************/

CString CTel2006Dlg::GetMenuID(CString strParlorCode)
{
	CString strMenuID;
	_variant_t var;
	float fLeaveMoney = 0.00;
	
	///ADOConn m_AdoConn;
	//m_AdoConn.OnInitADOConn(m_strDataBase);
	
	//设置SELECT语句
	CString strSQL;
	
	strSQL.Format("select MenuID from S_Parlor where ParlorCode = '%s'",strParlorCode);
	_bstr_t vSQL =strSQL;
	
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
	
	// Get RecordCout
	DWORD dwCount = 0;
	dwCount = m_pRecordset->GetRecordCount();

	while(!m_pRecordset->adoEOF)
	{
		var = m_pRecordset->GetCollect("MenuID");
		if(var.vt != VT_NULL)
			strMenuID = (LPCSTR)_bstr_t(var);
		
		m_pRecordset->MoveNext();
	}
	//m_AdoConn.ExitConnect();

	return strMenuID;
}


/*********************************************** 
 *  函数名: CTel2006Dlg::OnShow
 * 
 *  功  能: 显示功能
 ***********************************************/

void CTel2006Dlg::OnShow() 
{
	// TODO: Add your command handler code here
	ShowList();
}

/*****************************************
 *	ShowSearchData
 *
 *	Remark:	显示
 *****************************************/

void CTel2006Dlg::ShowSearchData(CString strSearchSQL)
{
	_variant_t var;
	CString strCount("");
	
	//设置SELECT语句
	CString strSQL;
	
	strSQL.Format(strSearchSQL);
	_bstr_t vSQL =strSQL;
	
	_RecordsetPtr m_pRecordset;
	m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
	
	// Get RecordCout
	
	long lCount = 0;
	lCount = m_pRecordset->GetRecordCount();
	if (lCount == -1)
	{
		if (m_pRecordset->adoEOF != VARIANT_TRUE) 
			m_pRecordset->MoveFirst();
		
		while (m_pRecordset->adoEOF != VARIANT_TRUE)
		{
			lCount++;
			m_pRecordset->MoveNext();
		}
		if (lCount >=0) 
			m_pRecordset->MoveFirst();
	}
	lCount++;
	strCount.Format("%d 张",lCount);
	GetDlgItem(IDC_STORAGE)->SetWindowText(strCount);
	int n = 0;
	//"分机", "房间号码","被叫号码","被叫地址","通话时间","通话时长","通话费用","中继线号","备注"
	//T_Number,	T_TableCode,T_CalledNum,T_Place,	T_CallTime,T_Times,T_Money,	T_RelayLevel,T_Remark		
	m_lstShow.DeleteAllItems();
	m_lstShow.Invalidate(TRUE);

	while(!m_pRecordset->adoEOF)
	{
		m_lstShow.InsertItem(n,"");

		var = m_pRecordset->GetCollect("T_Number");
		if(var.vt != VT_NULL)
			m_lstShow.SetItemText(0,0,(LPCSTR)_bstr_t(var));

		var = m_pRecordset->GetCollect("T_Describe");
		if(var.vt != VT_NULL)
			m_lstShow.SetItemText(n,1,(LPCSTR)_bstr_t(var));

		var = m_pRecordset->GetCollect("T_CalledNum");
		if(var.vt != VT_NULL)
			m_lstShow.SetItemText(n,2,(LPCSTR)_bstr_t(var));

		var = m_pRecordset->GetCollect("T_Place");
		if(var.vt != VT_NULL)
			m_lstShow.SetItemText(n,3,(LPCSTR)_bstr_t(var));

		var = m_pRecordset->GetCollect("T_CallTime");
		if(var.vt != VT_NULL)
			m_lstShow.SetItemText(n,4,(LPCSTR)_bstr_t(var));

		var = m_pRecordset->GetCollect("T_Times");
		if(var.vt != VT_NULL)
			m_lstShow.SetItemText(n,5,(LPCSTR)_bstr_t(var));

		var = m_pRecordset->GetCollect("T_Money");
		if(var.vt != VT_NULL)
			m_lstShow.SetItemText(n,6,(LPCSTR)_bstr_t(var));

		var = m_pRecordset->GetCollect("T_RelayLevel");
		if(var.vt != VT_NULL)
			m_lstShow.SetItemText(n,7,(LPCSTR)_bstr_t(var));
		
		var = m_pRecordset->GetCollect("T_Remark");
		if(var.vt != VT_NULL)
			m_lstShow.SetItemText(n,8,(LPCSTR)_bstr_t(var));

		m_pRecordset->MoveNext();
	}
	m_lstShow.Invalidate(TRUE);
}


void CTel2006Dlg::OnSetcom() 
{
	/*
	CSettingDlg dlg;
	dlg.SetConCom(m_manager->GetConCom());
	dlg.SetConBaud(m_manager->GetConBaud());
	dlg.SetRecCom(m_manager->GetRecCom());
	dlg.SetRecBaud(m_manager->GetRecBaud());
	if ( IDCANCEL == dlg.DoModal() ) return;
	m_manager->SetConCom(dlg.GetConCom());
	m_manager->SetConBaud(dlg.GetConBaud());
	m_manager->SetRecCom(dlg.GetRecCom());
	m_manager->SetRecBaud(dlg.GetRecBaud());
	AfxMessageBox("需要重新启动软件设置才能生效");
	*/
	AfxMessageBox("测试COM口连接");
}



void CTel2006Dlg::OnPhone() 
{
	// TODO: Add your command handler code here
	CPhoneDlg dlg;
	dlg.DoModal();
}



void CTel2006Dlg::OnDept() 
{
	// TODO: Add your command handler code here
	CDeptDlg dlg;
	dlg.DoModal();
}

void CTel2006Dlg::OnRate() 
{
	// TODO: Add your command handler code here
	CRateDlg dlg;
	dlg.DoModal();
}

void CTel2006Dlg::OnAssgin() 
{
	// TODO: Add your command handler code here
	CAssignDlg dlg;
	dlg.DoModal();
}

void CTel2006Dlg::OnMinisize() 
{
	// TODO: Add your command handler code here
	ShowWindow(SW_SHOWMINIMIZED);	// 最大化窗口
}

void CTel2006Dlg::OnAdrate() 
{
	// TODO: Add your command handler code here
	CAdrateDlg dlg;
	dlg.DoModal();
}


⌨️ 快捷键说明

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