feeviewlist.cpp

来自「VC6.0环境下编写的一个交换机计费程序。」· C++ 代码 · 共 1,324 行 · 第 1/3 页

CPP
1,324
字号
#include "stdafx.h"
#include "fee.h"

#include "feeDoc.h"
#include "feeView.h"



extern CString  userLoginName;
extern CString  userLoginPwd;
extern CString  userLoginPower;


void CFeeView::TelePhoneQueryList(unsigned int titlemodifyflag,CString tname,CString tadr,CString tnum,CString tkind,CString tstatus,CString tbank,CString tbankaccount)
{
	CString strSql,strtemp;
	HRESULT result;
	unsigned int i;
	CListCtrl *ctl;
	ctl=&GetListCtrl();
	actViewWindow=VIEWTELEQUERY;	
	
	if (titlemodifyflag==TRUE)
	{
		RemoveAll();
		RemoveAllColumn();
		//set telelist title
		ctl->InsertColumn(viewColumnNum,"Phone number",LVCFMT_LEFT,100);
		viewColumnNum++;
		ctl->InsertColumn(viewColumnNum,"Phone owner",LVCFMT_LEFT,100);
		viewColumnNum++;
		ctl->InsertColumn(viewColumnNum,"Phone owner address",LVCFMT_LEFT,200);
		viewColumnNum++;
		ctl->InsertColumn(viewColumnNum,"Phone property",LVCFMT_LEFT,100);
		viewColumnNum++;
		ctl->InsertColumn(viewColumnNum,"Phone state",LVCFMT_LEFT,100);
		viewColumnNum++;
		ctl->InsertColumn(viewColumnNum,"Payment bank",LVCFMT_LEFT,100);
		viewColumnNum++;
		ctl->InsertColumn(viewColumnNum,"Payment account number",LVCFMT_LEFT,200);
		viewColumnNum++;
		actViewWindow=VIEWTELEQUERY;
	}

	CFeeApp* pApp=(CFeeApp *)AfxGetApp();
	if ((tname=="" ||tname=="NULL") && \
		(tadr=="" ||tadr=="NULL")&&\
		(tnum=="" ||tnum=="NULL")&&\
		(tkind==""||tkind=="NULL")&&\
		(tstatus==""||tstatus=="NULL")&&\
		(tbank==""||tbank=="NULL")&&\
		(tbankaccount==""||tbankaccount=="NULL"))
	{
		return;
	}
	strSql.Format("select * from telephone where telephoneAddress='9999'");
	if (tnum=="all")
	{
		strSql.Format("select * from telephone");
	}
	else
	{
		strSql.Format("select * from telephone where ");
		if (tname!=""&&tname!="NULL")
		{
			strtemp.Format("telephoneName='%s'",tname);
			strSql=strSql+strtemp;
		}
		if (tadr!=""&&tadr!="NULL")
		{
			strtemp.Format("telephoneAddress='%s'",tadr);
			strSql=strSql+strtemp;
		}
		if (tnum!=""&&tnum!="NULL")
		{
			strtemp.Format("telephoneCode='%s'",tnum);
			strSql=strSql+strtemp;
		}
		if (tkind!=""&&tkind!="NULL")
		{
			strtemp.Format("telephoneKind='%s'",tkind);
			strSql=strSql+strtemp;
		}
		if (tstatus!=""&&tstatus!="NULL")
		{
			strtemp.Format("telephoneStatus='%s'",tstatus);
			strSql=strSql+strtemp;
		}
		if (tbank!=""&&tbank!="NULL")
		{
			strtemp.Format("telephoneFeeBank='%s'",tbank);
			strSql=strSql+strtemp;
		}
		if (tbankaccount!=""&&tbankaccount!="NULL")
		{
			strtemp.Format("telephoneFeeAccount='%s'",tbankaccount);
			strSql=strSql+strtemp;
		}
	}
	
	pApp->m_pjifeiRecordset->CursorLocation=adUseClientBatch;
	result=pApp->m_pjifeiRecordset->Open(strSql.AllocSysString(),
		pApp->m_pjifeiConnection.GetInterfacePtr(),
		adOpenDynamic,adLockOptimistic,adCmdText);
	if (!SUCCEEDED(result))
	{
		AfxMessageBox("can't open telephone table");
	}
	i=0;
	long listnum;
	listnum=0;
	listnum=pApp->m_pjifeiRecordset->GetRecordCount();
	i=0;
	if (listnum>500)
	{
	//	SetTimer(ID_TIEMR_TELEPHONEQUERY_WINDOW,100,NULL);
	//	pApp->m_pjifeiRecordset->Close();
	//	return;
	}
	telephonenum=0;
	while(!pApp->m_pjifeiRecordset->adoEOF)
	{
	//	SetTimer(ID_TIEMR_TELEPHONEQUERY_WINDOW,100,NULL);
	//	Sleep(10);
		_variant_t varport;
		varport=pApp->m_pjifeiRecordset->GetCollect("telephoneCode");
		if (varport.vt!=VT_NULL)
			strtemp =(char*)_bstr_t(varport);
		else 
			strtemp="null";
		//strtemp=(char*)(_bstr_t)pApp->m_pjifeiRecordset->GetCollect(_variant_t("telephoneCode"));
		ctl->InsertItem(i,strtemp);
		ctl->SetItemData(i,i);
		//strtemp=(char*)(_bstr_t)pApp->m_pjifeiRecordset->GetCollect(_variant_t("telephoneName"));
		varport=pApp->m_pjifeiRecordset->GetCollect("telephoneName");
		if (varport.vt!=VT_NULL)
			strtemp =(char*)_bstr_t(varport);
		else 
			strtemp="null";	
		ctl->SetItemText(i,1,strtemp);
		//strtemp=(char*)(_bstr_t)pApp->m_pjifeiRecordset->GetCollect(_variant_t("telephoneAddress"));
		varport=pApp->m_pjifeiRecordset->GetCollect("telephoneAddress");
		if (varport.vt!=VT_NULL)
			strtemp =(char*)_bstr_t(varport);
		else 
			strtemp="null";	
		ctl->SetItemText(i,2,strtemp);
		//strtemp=(char*)(_bstr_t)pApp->m_pjifeiRecordset->GetCollect(_variant_t("telephoneKind"));
		varport=pApp->m_pjifeiRecordset->GetCollect("telephoneKind");
		if (varport.vt!=VT_NULL)
			strtemp =(char*)_bstr_t(varport);
		else 
			strtemp="null";			
		ctl->SetItemText(i,3,strtemp);
		//strtemp=(char*)(_bstr_t)pApp->m_pjifeiRecordset->GetCollect(_variant_t("telephoneStatus"));
		varport=pApp->m_pjifeiRecordset->GetCollect("telephoneStatus");
		if (varport.vt!=VT_NULL)
			strtemp =(char*)_bstr_t(varport);
		else 
			strtemp="null";				
		ctl->SetItemText(i,4,strtemp);
		//strtemp=(char*)(_bstr_t)pApp->m_pjifeiRecordset->GetCollect(_variant_t("telephoneFeeBank"));
		varport=pApp->m_pjifeiRecordset->GetCollect("telephoneFeeBank");
		if (varport.vt!=VT_NULL)
			strtemp =(char*)_bstr_t(varport);
		else 
			strtemp="null";				
		ctl->SetItemText(i,5,strtemp);
		//strtemp=(char*)(_bstr_t)pApp->m_pjifeiRecordset->GetCollect(_variant_t("telephoneFeeAccount"));
		varport=pApp->m_pjifeiRecordset->GetCollect("telephoneFeeAccount");
		if (varport.vt!=VT_NULL)
			strtemp =(char*)_bstr_t(varport);
		else 
			strtemp="null";				
		ctl->SetItemText(i,6,strtemp);
		pApp->m_pjifeiRecordset->MoveNext();
	}
	pApp->m_pjifeiRecordset->Close();
}

void CFeeView::lineQueryList(unsigned int titlemodifyflag,CString oline,CString ocolumn,CString iline,CString icolumn,CString lineroom,CString lrkind,CString linetelenum)
{
	CString strSql,strtemp;
	HRESULT result;
	unsigned int i,flag;
	RemovePreTimer();

	CListCtrl *ctl;
	ctl=&GetListCtrl();
	actViewWindow=VIEWLINEQUERY;
	
	
	if (titlemodifyflag==TRUE)
	{
		RemoveAll();
		i=0;
		while(viewColumnNum!=0)
		{
			ctl->DeleteColumn(0);
			viewColumnNum--;
			i++;
			if (i>100)
			{
				viewColumnNum=0;
			}
		}
		//set front fee title
		ctl->InsertColumn(viewColumnNum,"Cabinet/Chassis number",LVCFMT_LEFT,100);
		viewColumnNum++;
		ctl->InsertColumn(viewColumnNum,"Cabinet/Chassis property",LVCFMT_LEFT,170);
		viewColumnNum++;
		ctl->InsertColumn(viewColumnNum,"External cable distribution frame row No.",LVCFMT_LEFT,300);
		viewColumnNum++;
		ctl->InsertColumn(viewColumnNum,"External cable distribution frame column No",LVCFMT_LEFT,300);
		viewColumnNum++;
		ctl->InsertColumn(viewColumnNum,"Internal cable distribution frame row No.",LVCFMT_LEFT,300);
		viewColumnNum++;
		ctl->InsertColumn(viewColumnNum,"Internal cable distribution frame column No.",LVCFMT_LEFT,300);
		viewColumnNum++;
		ctl->InsertColumn(viewColumnNum,"Corresponding phone number",LVCFMT_LEFT,200);
		viewColumnNum++;

		actViewWindow=VIEWLINEQUERY;

		ctl->DeleteAllItems();
	}
	CFeeApp* pApp=(CFeeApp *)AfxGetApp();
	if ((oline=="" ||oline=="NULL") && \
		(ocolumn=="" ||ocolumn=="NULL")&&\
		(iline=="" ||iline=="NULL")&&\
		(icolumn==""||icolumn=="NULL")&&\
		(lineroom==""||lineroom=="NULL")&&\
		(lrkind==""||lrkind=="NULL")&&\
		(linetelenum==""||linetelenum=="NULL"))
	{
		return;
	}
	strSql.Format("select * from LineManage where lineroom='9999'");
	if (lineroom=="all" && lrkind=="mac")
	{
		strSql.Format("select * from LineManage where lineroomKind='Equipment room'");//,lrkind);
	}
	else if (lineroom=="all" && lrkind=="sub")
	{
		strSql.Format("select * from LineManage where lineroomKind='User cabling box'");//,lrkind);
	}
	else if (lineroom=="all" && lrkind=="all")
	{
		strSql.Format("select * from LineManage");
	}
	else
	{
		flag=0;
		strSql.Format("select * from LineManage where ");
		if (oline!=""&&oline!="NULL")
		{
			strtemp.Format("outlineLayoutLine='%s' ",oline);
			strSql=strSql+strtemp;
			flag=1;
		}
		if (ocolumn!=""&&ocolumn!="NULL")
		{
			if (flag==0)
			{
				strtemp.Format("outlineLayoutColumn='%s'",ocolumn);
			}
			else
			{
				strtemp.Format(" and outlineLayoutColumn='%s'",ocolumn);
			}
			flag=1;
			strSql=strSql+strtemp;
		}
		if (iline!=""&&iline!="NULL")
		{
			if (flag==0)
			{
				strtemp.Format("inlineLayoutLine='%s'",iline);
			}
			else
			{
				strtemp.Format(" and inlineLayoutLine='%s'",iline);
			}
			flag=1;
			strSql=strSql+strtemp;
		}
		if (icolumn!=""&&icolumn!="NULL")
		{
			if (flag==0)
			{
				strtemp.Format("inlineLayoutColumn='%s'",icolumn);
			}
			else
			{
				strtemp.Format(" and inlineLayoutLine='%s'",iline);
			}
			flag=1;
			strSql=strSql+strtemp;
		}
		if (lineroom!=""&&lineroom!="NULL")
		{
			if (flag==0)
			{
				strtemp.Format("lineroom='%s'",lineroom);
			}
			else
			{
				strtemp.Format(" and lineroom='%s'",lineroom);
			}
			flag=1;
			strSql=strSql+strtemp;
		}
		if (lrkind!=""&&lrkind!="NULL")
		{
			if (flag==0)
			{
				strtemp.Format("lineroomKind='%s'",lrkind);
			}
			else
			{
				strtemp.Format(" and lineroomKind='%s'",lrkind);
			}
			flag=1;
			strSql=strSql+strtemp;
		}
		if (linetelenum!=""&&linetelenum!="NULL")
		{
			if (flag==0)
			{
				strtemp.Format("linetelenum='%s'",linetelenum);
			}
			else
			{
				strtemp.Format(" and linetelenum='%s'",linetelenum);
			}
			flag=1;
			strSql=strSql+strtemp;
		}
	}
	result=pApp->m_pjifeiRecordset->Open(strSql.AllocSysString(),
		pApp->m_pjifeiConnection.GetInterfacePtr(),
		adOpenDynamic,adLockOptimistic,adCmdText);
	if (!SUCCEEDED(result))
	{
		AfxMessageBox("can't open linemanage table");
	}
	i=0;
	while(!pApp->m_pjifeiRecordset->adoEOF)
	{
		_variant_t varport;
		varport=pApp->m_pjifeiRecordset->GetCollect("lineroom");
		if (varport.vt!=VT_NULL)
			strtemp =(char*)_bstr_t(varport);
		else 
			strtemp="null";
		//strtemp=(char*)(_bstr_t)pApp->m_pjifeiRecordset->GetCollect(_variant_t("lineroom"));
		ctl->InsertItem(i,strtemp);
		ctl->SetItemData(i,i);
		//strtemp=(char*)(_bstr_t)pApp->m_pjifeiRecordset->GetCollect(_variant_t("lineroomKind"));
		varport=pApp->m_pjifeiRecordset->GetCollect("lineroomKind");
		if (varport.vt!=VT_NULL)
			strtemp =(char*)_bstr_t(varport);
		else 
			strtemp="null";		
		ctl->SetItemText(i,1,strtemp);
		//strtemp=(char*)(_bstr_t)pApp->m_pjifeiRecordset->GetCollect(_variant_t("outlineLayoutLine"));
		varport=pApp->m_pjifeiRecordset->GetCollect("outlineLayoutLine");
		if (varport.vt!=VT_NULL)
			strtemp =(char*)_bstr_t(varport);
		else 
			strtemp="null";			
		ctl->SetItemText(i,2,strtemp);
		//strtemp=(char*)(_bstr_t)pApp->m_pjifeiRecordset->GetCollect(_variant_t("outlineLayoutColumn"));
		varport=pApp->m_pjifeiRecordset->GetCollect("outlineLayoutColumn");
		if (varport.vt!=VT_NULL)
			strtemp =(char*)_bstr_t(varport);
		else 
			strtemp="null";			
		ctl->SetItemText(i,3,strtemp);
		//strtemp=(char*)(_bstr_t)pApp->m_pjifeiRecordset->GetCollect(_variant_t("inlineLayoutLine"));
		varport=pApp->m_pjifeiRecordset->GetCollect("inlineLayoutLine");
		if (varport.vt!=VT_NULL)
			strtemp =(char*)_bstr_t(varport);
		else 
			strtemp="null";			
		ctl->SetItemText(i,4,strtemp);
		//strtemp=(char*)(_bstr_t)pApp->m_pjifeiRecordset->GetCollect(_variant_t("inlineLayoutColumn"));
		varport=pApp->m_pjifeiRecordset->GetCollect("inlineLayoutColumn");
		if (varport.vt!=VT_NULL)
			strtemp =(char*)_bstr_t(varport);
		else 
			strtemp="null";			
		ctl->SetItemText(i,5,strtemp);
		//strtemp=(char*)(_bstr_t)pApp->m_pjifeiRecordset->GetCollect(_variant_t("linetelenum"));
		varport=pApp->m_pjifeiRecordset->GetCollect("linetelenum");
		if (varport.vt!=VT_NULL)
			strtemp =(char*)_bstr_t(varport);
		else 
			strtemp="null";			
		ctl->SetItemText(i,6,strtemp);
		
		pApp->m_pjifeiRecordset->MoveNext();
	}
	pApp->m_pjifeiRecordset->Close();
}

void CFeeView::blacksubQueryList(unsigned int titlemodifyflag,CString telenum,CString starttime,CString endtime,CString talktime,CString endtalktime,CString talkfee,CString endtalkfee)
{
	CString strSql,strtemp;
	HRESULT result;
	unsigned int i;
	CListCtrl *ctl;
	ctl=&GetListCtrl();
	actViewWindow=VIEWBLACKSUBQUERY;
	
	
	if (titlemodifyflag==TRUE)
	{
		RemoveAll();
		i=0;
		while(viewColumnNum!=0)
		{
			ctl->DeleteColumn(0);
			viewColumnNum--;
			i++;
			if (i>100)
			{
				viewColumnNum=0;
			}
		}
		//set front fee title
		ctl->InsertColumn(viewColumnNum,"Calling number",LVCFMT_LEFT,100);
		viewColumnNum++;
		ctl->InsertColumn(viewColumnNum,"Called number",LVCFMT_LEFT,100);
		viewColumnNum++;
		ctl->InsertColumn(viewColumnNum,"Call duration",LVCFMT_LEFT,150);
		viewColumnNum++;
		ctl->InsertColumn(viewColumnNum,"call end date",LVCFMT_LEFT,150);
		viewColumnNum++;
		ctl->InsertColumn(viewColumnNum,"call end time",LVCFMT_LEFT,150);
		viewColumnNum++;
		ctl->InsertColumn(viewColumnNum,"reason",LVCFMT_LEFT,200);

⌨️ 快捷键说明

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