📄 feeview.cpp
字号:
}
feetimechangeQueryList(TRUE);
CFeeView::OnAddfeeAdd();
}
void CFeeView::feetimechagelist(CPoint point)
{
CListCtrl *ctl;
ctl=&GetListCtrl();
int nHitItem=ctl->HitTest(point,NULL);
if (nHitItem<0)
{
return;
}
RemovePreTimer();
CfeeTimechangemodifyDlg feetimelistDlg;
CString strdate,strtime,strtemp;
COleDateTime tdate,ttime;
long lyear,lmonth,lday,lhour,lminute,lsecond;
feetimelistDlg.m_uintfeedecper=atol(ctl->GetItemText(nHitItem,0));
strdate=ctl->GetItemText(nHitItem,1);
//if (strdate!="1970-1-1")
{
tdate.ParseDateTime(strdate,VAR_DATEVALUEONLY);
lyear=tdate.GetYear();
lmonth=tdate.GetMonth();
lday=tdate.GetDay();
strtemp.Format("%d",lyear);
feetimelistDlg.m_strstartyear=strtemp;
strtemp.Format("%d",lmonth);
feetimelistDlg.m_strstartmonth=strtemp;
strtemp.Format("%d",lday);
feetimelistDlg.m_strstartday=strtemp;
}
strdate=ctl->GetItemText(nHitItem,2);
//if (strdate!="1970-1-1")
{
tdate.ParseDateTime(strdate,VAR_DATEVALUEONLY);
lyear=tdate.GetYear();
lmonth=tdate.GetMonth();
lday=tdate.GetDay();
strtemp.Format("%d",lyear);
feetimelistDlg.m_strendyear=strtemp;
strtemp.Format("%d",lmonth);
feetimelistDlg.m_strendmonth=strtemp;
strtemp.Format("%d",lday);
feetimelistDlg.m_strendday=strtemp;
}
strtime=ctl->GetItemText(nHitItem,3);
//if (strtime!="1:02:03")
{
ttime.ParseDateTime(strtime,VAR_TIMEVALUEONLY);
lhour=ttime.GetHour();
lminute=ttime.GetMinute();
lsecond=ttime.GetSecond();
strtemp.Format("%d",lhour);
feetimelistDlg.m_strstarthour=strtemp;
strtemp.Format("%d",lminute);
feetimelistDlg.m_strstartminute=strtemp;
strtemp.Format("%d",lsecond);
feetimelistDlg.m_strstartsecond=strtemp;
}
strtime=ctl->GetItemText(nHitItem,4);
//if (strtime!="1:02:03")
{
ttime.ParseDateTime(strtime,VAR_TIMEVALUEONLY);
lhour=ttime.GetHour();
lminute=ttime.GetMinute();
lsecond=ttime.GetSecond();
strtemp.Format("%d",lhour);
feetimelistDlg.m_strendhour=strtemp;
strtemp.Format("%d",lminute);
feetimelistDlg.m_strendminute=strtemp;
strtemp.Format("%d",lsecond);
feetimelistDlg.m_strendsecond=strtemp;
}
strtemp=ctl->GetItemText(nHitItem,5);
if (strtemp!="YES")
feetimelistDlg.m_bfeeincountry=FALSE;
else
feetimelistDlg.m_bfeeincountry=TRUE;
strtemp=ctl->GetItemText(nHitItem,6);
if (strtemp!="YES")
feetimelistDlg.m_bfeeincity=FALSE;
else
feetimelistDlg.m_bfeeincity=TRUE;
strtemp=ctl->GetItemText(nHitItem,7);
if (strtemp!="YES")
feetimelistDlg.m_bfeeoutcountry=FALSE;
else
feetimelistDlg.m_bfeeoutcountry=TRUE;
strtemp=ctl->GetItemText(nHitItem,8);
if (strtemp!="YES")
feetimelistDlg.m_bfeeoutcity=FALSE;
else
feetimelistDlg.m_bfeeoutcity=TRUE;
strtemp=ctl->GetItemText(nHitItem,9);
if (strtemp!="YES")
feetimelistDlg.m_bfeeinlong=FALSE;
else
feetimelistDlg.m_bfeeinlong=TRUE;
strtemp=ctl->GetItemText(nHitItem,10);
if (strtemp!="YES")
feetimelistDlg.m_bfeeoutlong=FALSE;
else
feetimelistDlg.m_bfeeoutlong=TRUE;
strtemp=ctl->GetItemText(nHitItem,11);
if (strtemp!="YES")
feetimelistDlg.m_bfeespec=FALSE;
else
feetimelistDlg.m_bfeespec=TRUE;
int nResponse;
telelistcmd=0;
nResponse=feetimelistDlg.DoModal();
if (nResponse!=IDOK)
{
//
return;
}
feetimechangeQueryList(TRUE);
}
void CFeeView::OnTelefeeAdd()
{
// TODO: Add your command handler code here
int nResponse;
actViewWindow=VIEWFEETELEQUERY;
RemovePreTimer();
CfeetelenumaddDlg feeteleDlg;
nResponse=feeteleDlg.DoModal();
if (nResponse!=IDOK)
{
return;
}
feeteleQueryList(TRUE,"all","NULL");
CFeeView::OnTelefeeAdd();
}
void CFeeView::OnFeetelequeryAll()
{
// TODO: Add your command handler code here
RemovePreTimer();
feetelequerycondition_num="all";
feeteleQueryList(TRUE,"all","NULL");
}
void CFeeView::OnFeetelequeryCondition()
{
// TODO: Add your command handler code here
CString strtemp;
CfeetelequeryDlg feetelequeryDlg;
RemovePreTimer();
int nResponse;
nResponse=feetelequeryDlg.DoModal();
if (nResponse!=IDOK)
{
return;
}
actViewWindow=VIEWFEETELEQUERY;
feeteleQueryList(TRUE,feetelequeryDlg.m_strtelenum,feetelequeryDlg.m_strproperty);
}
void CFeeView::feetelelist(CPoint point)
{
CListCtrl *ctl;
ctl=&GetListCtrl();
int nHitItem=ctl->HitTest(point,NULL);
if (nHitItem<0)
{
return;
}
actViewWindow=VIEWFEETELEQUERY;
RemovePreTimer();
CfeetelelistDlg feetelelistDlg;
feetelelistDlg.m_strtelenum=ctl->GetItemText(nHitItem,0);
feetelelistDlg.m_strproperty=ctl->GetItemText(nHitItem,1);
int nResponse;
telelistcmd=0;
nResponse=feetelelistDlg.DoModal();
if (nResponse!=IDOK)
{
return;
}
//feeteleQueryList(TRUE,feetelelistDlg.m_strtelenum,feetelelistDlg.m_strproperty);
feeteleQueryList(TRUE,"all","NULL");
}
void CFeeView::OnFeeTelemenuDandM(void)
{
CListCtrl *ctl;
actViewWindow=VIEWFEETELEQUERY;
RemovePreTimer();
CString strSql,strTemp;
ctl=&GetListCtrl();
POSITION pos=ctl->GetFirstSelectedItemPosition();
if (pos==NULL)
{
AfxMessageBox("Please select one record");
return;
}
int nHitItem=ctl->GetNextSelectedItem(pos);
CfeetelelistDlg feetelelistDlg;
feetelelistDlg.m_strtelenum=ctl->GetItemText(nHitItem,0);
feetelelistDlg.m_strproperty=ctl->GetItemText(nHitItem,1);
int nResponse;
telelistcmd=0;
nResponse=feetelelistDlg.DoModal();
if (nResponse!=IDOK)
{
return;
}
feeteleQueryList(TRUE,"all","NULL");
//feeteleQueryList(TRUE,feetelelistDlg.m_strtelenum,feetelelistDlg.m_strproperty);
}
void CFeeView::OnTelefeeModify()
{
// TODO: Add your command handler code here
OnFeeTelemenuDandM();
}
void CFeeView::OnTelefeeDelete()
{
// TODO: Add your command handler code here
OnFeeTelemenuDandM();
}
void CFeeView::OnBalanceAll()
{
// TODO: Add your command handler code here
CbalancealltalkDlg balancealldlg;
RemovePreTimer();
int nResponse;
nResponse=balancealldlg.DoModal();
if (nResponse!=IDOK)
{
return;
}
}
void CFeeView::OnBalanceCondition()
{
// TODO: Add your command handler code here
CbalanceconditionDlg balanceconditiondlg;
RemovePreTimer();
int nResponse;
nResponse=balanceconditiondlg.DoModal();
if (nResponse!=IDOK)
{
return;
}
}
void CFeeView::OnTalkrecordAll()
{
// TODO: Add your command handler code here
CtalkrecordqueryallDlg queryDlg;
int nResponse;
RemoveAll();
RemoveAllColumn();
RemovePreTimer();
actViewWindow=VIEWTALKRECORDDETAILQUERY;
CListCtrl *ctl;
ctl=&GetListCtrl();
ctl->InsertColumn(viewColumnNum,"Calling number",LVCFMT_LEFT,100);
viewColumnNum++;
ctl->InsertColumn(viewColumnNum,"Total fee(ks)",LVCFMT_LEFT,90);
viewColumnNum++;
ctl->InsertColumn(viewColumnNum,"Interior fee(ks)",LVCFMT_LEFT,120);
viewColumnNum++;
ctl->InsertColumn(viewColumnNum,"local fee(ks)",LVCFMT_LEFT,120);
viewColumnNum++;
ctl->InsertColumn(viewColumnNum,"Toll fee(ks)",LVCFMT_LEFT,120);
viewColumnNum++;
ctl->InsertColumn(viewColumnNum,"International fee(ks)",LVCFMT_LEFT,120);
viewColumnNum++;
ctl->InsertColumn(viewColumnNum,"Special fee(ks)",LVCFMT_LEFT,120);
viewColumnNum++;
ctl->InsertColumn(viewColumnNum,"Interior minute",LVCFMT_LEFT,120);
viewColumnNum++;
ctl->InsertColumn(viewColumnNum,"local minute",LVCFMT_LEFT,120);
viewColumnNum++;
ctl->InsertColumn(viewColumnNum,"Toll minute",LVCFMT_LEFT,120);
viewColumnNum++;
ctl->InsertColumn(viewColumnNum,"International minute",LVCFMT_LEFT,120);
viewColumnNum++;
ctl->InsertColumn(viewColumnNum,"Special minute",LVCFMT_LEFT,120);
viewColumnNum++;
nResponse=queryDlg.DoModal();
if (nResponse!=IDOK)
{
return;
}
long lstartyear,lstartmonth,lstartday;
long lendyear,lendmonth,lendday;
lstartyear=atol(queryDlg.m_strstartyear);
lstartmonth=atol(queryDlg.m_strstartmonth);
lstartday=atol(queryDlg.m_strstartday);
lendyear=atol(queryDlg.m_strendyear);
lendmonth=atol(queryDlg.m_strendmonth);
lendday=atol(queryDlg.m_strendday);
long flag;
flag=0;
flag=availdate(lstartyear,lstartmonth,lstartday);
if (flag==1)
{
AfxMessageBox("timeset error");
return;
}
flag=availdate(lendyear,lendmonth,lendday);
if (flag==1)
{
AfxMessageBox("timeset error");
return;
}
CString strSql,strtemp,strtemp1,strtemp2;
CString callingnum;
HRESULT result;
CFeeApp* pApp=(CFeeApp *)AfxGetApp();
// strSql.Format("select * from telephone");
strSql.Format("select * from balancefee where talkenddate<=#%d-%d-%d# and talkenddate>=#%d-%d-%d#",\
lendyear,lendmonth,lendday,lstartyear,lstartmonth,lstartday);
CString strcallingnum[1000];
long feecallingnumshuliang;
feecallingnumshuliang=0;
result=pApp->m_pjifeiRecordset->Open(strSql.AllocSysString(),
pApp->m_pjifeiConnection.GetInterfacePtr(),
adOpenDynamic,adLockOptimistic,adCmdText);
if (!SUCCEEDED(result))
{
AfxMessageBox("can't open balancefee table");
}
long i=0;
while(!pApp->m_pjifeiRecordset->adoEOF)
{
_variant_t varport;
varport=pApp->m_pjifeiRecordset->GetCollect("callingnum");
if (varport.vt!=VT_NULL)
callingnum =(char*)_bstr_t(varport);
else
callingnum="null";
if (callingnum=="65000")
{
i=0;
}
if (feecallingnumshuliang==0)
{
strcallingnum[feecallingnumshuliang]=callingnum;
feecallingnumshuliang++;
}
else
{
flag=0;
for(int j=0;j<feecallingnumshuliang;j++)
{
if (strcallingnum[j]==callingnum)
flag=1;
}
if (flag==0)
{
strcallingnum[feecallingnumshuliang]=callingnum;
feecallingnumshuliang++;
}
if (feecallingnumshuliang>=1000)
feecallingnumshuliang=1000;
}
pApp->m_pjifeiRecordset->MoveNext();
}
pApp->m_pjifeiRecordset->Close();
if (feecallingnumshuliang>0)
{
for(int j=0;j<feecallingnumshuliang;j++)
{
callingnum=strcallingnum[j];
strSql.Format("select * from balancefee where callingnum='%s' and \
talkenddate<=#%d-%d-%d# and talkenddate>=#%d-%d-%d#",\
callingnum,lendyear,lendmonth,lendday,lstartyear,lstartmonth,lstartday);
result=pApp->m_pjifei2Recordset->Open(strSql.AllocSysString(),
pApp->m_pjifei2Connection.GetInterfacePtr(),
adOpenDynamic,adLockOptimistic,adCmdText);
if (!SUCCEEDED(result))
{
AfxMessageBox("can't open balancefee table");
}
long feesum;
long feeinterior,feelocal,feetoll;
long feeinternational,feespecial;
long flotemp;
feesum=0;
feeinterior=0; feelocal=0;
feetoll=0; feeinternational=0;
feespecial=0;
long timeinterior,timelocal,timetoll;
long timeinternational,timespecial;
long timetemp;
timeinterior=0; timelocal=0;
timetoll=0; timeinternational=0;
timespecial=0;
while(!pApp->m_pjifei2Recordset->adoEOF)
{
_variant_t varport;
varport=pApp->m_pjifei2Recordset->GetCollect("talkfee");
if (varport.vt!=VT_NULL)
strtemp =(char*)_bstr_t(varport);
else
strtemp="null";
varport=pApp->m_pjifei2Recordset->GetCollect("talkkind");
if (varport.vt!=VT_NULL)
strtemp1 =(char*)_bstr_t(varport);
else
strtemp1="null";
varport=pApp->m_pjifei2Recordset->GetCollect("talktime");
if (varport.vt!=VT_NULL)
strtemp2 =(char*)_bstr_t(varport);
else
strtemp2="null";
//strtemp=(char*)(_bstr_t)pApp->m_pjifei2Recordset->GetCollect(_variant_t("talkfee"));
//strtemp1=(char*)(_bstr_t)pApp->m_pjifei2Recordset->GetCollect(_variant_t("talkkind"));
//strtemp2=(char*)(_bstr_t)pApp->m_pjifei2Recordset->GetCollect(_variant_t("talktime"));
if (strtemp1=="interior")
{
feeinterior+=atol(strtemp);
feesum+=atol(strtemp);
timeinterior+=((atol(strtemp2))/60);
if (((atol(strtemp2))%60)!=0)
timeinterior++;
}
if (strtemp1=="local")
{
feelocal+=atol(strtemp);
feesum+=atol(strtemp);
timelocal+=((atol(strtemp2))/60);
if (((atol(strtemp2))%60)!=0)
timelocal++;
}
if (strtemp1=="Toll")
{
feetoll+=atol(strtemp);
feesum+=atol(strtemp);
timetoll+=((atol(strtemp2))/60);
if (((atol(strtemp2))%60)!=0)
timetoll++;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -