📄 tel2006dlg.cpp
字号:
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 + -