📄 nc_format.cpp
字号:
if(sle_end.hour==24)
{
sle_end.hour=23;
min=59;
sec=59;
}
sprintf(end_date,"%4d-%02d-%02d %02d:%02d:%02d",
sle_end.year,sle_end.month,sle_end.day,
sle_end.hour,min,sec);
///////////////////////////////////////////////
//sprintf(start_date,"%s 00:00:00",ls_start);
//sprintf(end_date,"%s 23:59:59",ls_end);
ShowText( 0, 10, " " );
ShowText( 0, 10, gs_site_name );
ShowText( 0, 42, " " );
//ShowText( 0, 42, "" );
ShowText( 1, 10, " " );
ShowText( 1, 10, gs_current_time );
ShowText( 1, 42, " " );
if(strcmp(ls_start,ls_end)==0)
ShowText(1,42,ls_start);
else
{
sprintf(lsTemp,"%s-%s",ls_start,ls_end);
ShowText(1,42,lsTemp);
}
//call service
sprintf(instr,"%ld\t%s\t%s",gl_staff_id,start_date,end_date);
ret = CallServByStr("PSSiteSum",instr,poutstr);
if(ret < 0)
{
MessageBox("错误",0,poutstr[0]);
lpfree(poutstr,1);
return -1;
}
ret1=GetMulRowData(poutstr[0],lpdata,&row,&col,50);
//userlog(poutstr[0]);
if(strcmp(lpdata[0],NULL)==0||strcmp(lpdata[0],"")==0||strcmp(poutstr[0],NULL)==0)
{
lpfree(poutstr,1);
MessageBox("提示",0,"未找到员工收费记录!");
return 0;
}
lpfree(poutstr,1);
int k=0;
long p_stid=atol(lpdata[0]);
staff_id[0]=atol(lpdata[0]);
strcpy(staff_name[0],lpdata[1]);
for(i=0;i<row;i++)
{
j=i*col;
if(p_stid==atol(lpdata[j]))
{
amount[k]=atof(lpdata[j+3]);
switch(atol(lpdata[j+2]))
{
case 1:
fee[k][0]+=amount[k];break;
case 110000:
fee[k][1]+=amount[k];break;
case 120000:
fee[k][2]+=amount[k];break;
case 130000:
fee[k][3]+=amount[k];break;
case 140000:
fee[k][4]+=amount[k];break;
case 150000:
fee[k][5]+=amount[k];break;
case 160000:
fee[k][6]+=amount[k];break;
case 170000:
fee[k][7]+=amount[k];break;
case 180000:
fee[k][8]+=amount[k];break;
case 190000:
fee[k][9]+=amount[k];break;
case 200000:
fee[k][10]+=amount[k];break;
case 210000:
fee[k][11]+=amount[k];break;
case 220000:
fee[k][12]+=amount[k];break;
case 230000:
fee[k][13]+=amount[k];break;
case 240000:
fee[k][14]+=amount[k];break;
case 250000:
fee[k][15]+=amount[k];break;
case 260000:
fee[k][16]+=amount[k];break;
case 270000:
fee[k][17]+=amount[k];break;
case -1000:
sum_num[k]=amount[k];break;
case -2000:
real_amount[k]=amount[k];break;
default:
fee[k][29]=fee[k][29]+amount[k];break;
}
}
else
{
p_stid=atol(lpdata[j]);
k++;i--;
staff_id[k]=atol(lpdata[j]);
strcpy(staff_name[k],lpdata[j+1]);
}
}
for(i=0;i<=k;i++)
for(j=0;j<30;j++)
sum_amount[i]+=fee[i][j];
for(i=0;i<=k;i++)
sum_change[i]=real_amount[i] - sum_amount[i];
//再次归并费用
for(i=0;i<=k;i++)
{
sum_fee[i][0]=fee[i][0];
sum_fee[i][1]=fee[i][1]+fee[i][9]+fee[i][10]+fee[i][11]+fee[i][12];
sum_fee[i][2]=fee[i][2];
sum_fee[i][3]=fee[i][3];
sum_fee[i][4]=fee[i][4]+fee[i][5];
sum_fee[i][5]=fee[i][6];
sum_fee[i][6]=fee[i][14]+fee[i][15];
sum_fee[i][7]=fee[i][16];
sum_fee[i][8]=fee[i][17];
sum_fee[i][9]=fee[i][7]+fee[i][8]+fee[i][13];
}
dw_1.Update( true );
dw_1.ClearList( false );
char tmp[14][30],tmpid[20];
dw_1.AddRow("","工 号","姓 名","月租费","区内通话","区间通话","长话通话","电报费","网络使用","一次性费","信息费","其它费","违约金","零 钞","收费合计","收费户数");
dw_1.AddRow("","------","--------","----------","----------","----------","----------","---------","----------","----------","----------","----------","--------","--------","------------","--------");
for(i=0;i<=k;i++)
{
sprintf(tmpid,"%ld",staff_id[i]);
sprintf(tmp[0],"%.2f",sum_fee[i][1]);
sprintf(tmp[1],"%.2f",sum_fee[i][2]);
sprintf(tmp[2],"%.2f",sum_fee[i][3]);
sprintf(tmp[3],"%.2f",sum_fee[i][4]);
sprintf(tmp[4],"%.2f",sum_fee[i][5]);
sprintf(tmp[5],"%.2f",sum_fee[i][6]);
sprintf(tmp[6],"%.2f",sum_fee[i][7]);
sprintf(tmp[7],"%.2f",sum_fee[i][8]);
sprintf(tmp[8],"%.2f",sum_fee[i][9]);
sprintf(tmp[9],"%.2f",sum_fee[i][0]);
sprintf(tmp[10],"%.2f",sum_change[i]);
sprintf(tmp[11],"%.2f",real_amount[i]);
sprintf(tmp[12],"%.0f",sum_num[i]);
dw_1.AddRow("",tmpid,staff_name[i],tmp[0],tmp[1],tmp[2],tmp[3],tmp[4],tmp[5],tmp[6],tmp[7],tmp[8],tmp[9],tmp[10],tmp[11],tmp[12]);
}
dw_1.AddRow("","------","--------","----------","----------","----------","----------","---------","----------","----------","----------","----------","--------","--------","------------","--------");
dw_1.Update();
lpfree(lpdata,ret1);
return 1;
}
int StatWnd::wf_siteqf_report()
{
char ls_start[30],ls_end[30];
char start_date[30],end_date[30];
char lsTemp[512],lsch[50],lsch1[50];
int i,j;
long row,col;
char instr[1024],*lpdata[8000],*poutstr[1];
int ret,ret1;
Rect rect(0,0,0,0);
strcpy(ls_start,NULL);
strcpy(ls_end,NULL);
float fee[300][30],sum_fee[300][10],amount[300];
float sum_amount[300],hj_sum[11];
long cycle_id[300];
//初始化
for(i=0;i<300;i++)
for(j=0;j<30;j++)
fee[i][j]=0.0;
for(i=0;i<300;i++)
for(j=0;j<10;j++)
sum_fee[i][j]=0.0;
for(i=0;i<300;i++) amount[i]=0.0;
for(i=0;i<300;i++) sum_amount[i]=0.0;
for(i=0;i<11;i++) hj_sum[i]=0.0;
dw_1.ClearList(true);
dw_1.ClearCols(true);
//显示设置
ShowText( 0, 1, "营业点:" );
ShowText( 0, 30," ");
ShowText( 1, 1, "生成时间:" );
ShowText( 1, 30, "统计帐期:" );
dw_1.AddCol( "", 6, 0 );
dw_1.AddCol( "", 10, 0 );
dw_1.AddCol( "", 10, 0 );
dw_1.AddCol( "", 10, 0 );
dw_1.AddCol( "", 10, 0 );
dw_1.AddCol( "", 8, 0 );
dw_1.AddCol( "", 10, 0 );
dw_1.AddCol( "", 9, 0 );
dw_1.AddCol( "", 9, 0 );
dw_1.AddCol( "", 9, 0 );
dw_1.AddCol( "", 11, 0 );
strcpy(ls_start,ltrim(sle_start.GetText()));
strcpy(ls_end,ltrim(sle_end.GetText()));
MidOfStr(lsTemp,ls_start,0,4);
sprintf(start_date,"%s%c%c",lsTemp,ls_start[5],ls_start[6]);
MidOfStr(lsTemp,ls_end,0,4);
sprintf(end_date,"%s%c%c",lsTemp,ls_end[5],ls_end[6]);
MessageBox("",0,end_date);
ShowText( 0, 10, " " );
ShowText( 0, 10, gs_site_name );
ShowText( 0, 42, " " );
//ShowText( 0, 42, "" );
ShowText( 1, 10, " " );
ShowText( 1, 10, gs_current_time );
ShowText( 1, 42, " " );
if(strcmp(start_date,end_date)==0)
ShowText(1,42,start_date);
else
{
sprintf(lsTemp,"%s-%s",start_date,end_date);
ShowText(1,42,lsTemp);
}
//call service
sprintf(instr,"%ld\t%s\t%s",gl_staff_id,start_date,end_date);
ret = CallServByStr("PSSiteQfSum",instr,poutstr);
if(ret < 0)
{
MessageBox("错误",0,poutstr[0]);
lpfree(poutstr,1);
return -1;
}
ret1=GetMulRowData(poutstr[0],lpdata,&row,&col,50);
//userlog(poutstr[0]);
if(strcmp(lpdata[0],NULL)==0||strcmp(lpdata[0],"")==0||strcmp(poutstr[0],NULL)==0)
{
lpfree(poutstr,1);
MessageBox("提示",0,"没找到帐户未缴费数据!");
return 0;
}
lpfree(poutstr,1);
int k=0;
long pt_cycle_id=atol(lpdata[0]);
cycle_id[0]=atol(lpdata[0]);
for(i=0;i<row;i++)
{
j=i*col;
if(pt_cycle_id==atol(lpdata[j]))
{
amount[k]=atof(lpdata[j+2]);
switch(atol(lpdata[j+1]))
{
case 110000:
fee[k][1]+=amount[k];break;
case 120000:
fee[k][2]+=amount[k];break;
case 130000:
fee[k][3]+=amount[k];break;
case 140000:
fee[k][4]+=amount[k];break;
case 150000:
fee[k][5]+=amount[k];break;
case 160000:
fee[k][6]+=amount[k];break;
case 170000:
fee[k][7]+=amount[k];break;
case 180000:
fee[k][8]+=amount[k];break;
case 190000:
fee[k][9]+=amount[k];break;
case 200000:
fee[k][10]+=amount[k];break;
case 210000:
fee[k][11]+=amount[k];break;
case 220000:
fee[k][12]+=amount[k];break;
case 230000:
fee[k][13]+=amount[k];break;
case 240000:
fee[k][14]+=amount[k];break;
case 250000:
fee[k][15]+=amount[k];break;
case 260000:
fee[k][16]+=amount[k];break;
case 270000:
fee[k][17]+=amount[k];break;
default:
fee[k][29]+=amount[k];break;
}
}
else
{
pt_cycle_id=atol(lpdata[j]);
k++;i--;
cycle_id[k]=atol(lpdata[j]);
}
}
for(i=0;i<=k;i++)
for(j=1;j<30;j++)
sum_amount[i]+=fee[i][j];
//再次归并费用
for(i=0;i<=k;i++)
{
sum_fee[i][1]=fee[i][1]+fee[i][9]+fee[i][10]+fee[i][11]+fee[i][12];
sum_fee[i][2]=fee[i][2];
sum_fee[i][3]=fee[i][3];
sum_fee[i][4]=fee[i][4]+fee[i][5];
sum_fee[i][5]=fee[i][6];
sum_fee[i][6]=fee[i][14]+fee[i][15];
sum_fee[i][7]=fee[i][16];
sum_fee[i][8]=fee[i][17];
sum_fee[i][9]=fee[i][7]+fee[i][8]+fee[i][13];
}
for(i=0;i<=k;i++)
{
hj_sum[1]+=sum_fee[i][1];
hj_sum[2]+=sum_fee[i][2];
hj_sum[3]+=sum_fee[i][3];
hj_sum[4]+=sum_fee[i][4];
hj_sum[5]+=sum_fee[i][5];
hj_sum[6]+=sum_fee[i][6];
hj_sum[7]+=sum_fee[i][7];
hj_sum[8]+=sum_fee[i][8];
hj_sum[9]+=sum_fee[i][9];
hj_sum[10]+=sum_amount[i];
}
dw_1.Update( true );
dw_1.ClearList( false );
char tmp[10][30],tmpid[20];
dw_1.AddRow("","帐 期","月租费","区内通话","区间通话","长话通话","电报费","网络使用","一次性费","信息费","其它费","小 计");
dw_1.AddRow("","------","----------","----------","----------","----------","--------","----------","---------","---------","---------","-----------");
for(i=0;i<=k;i++)
{
sprintf(tmpid,"%ld",cycle_id[i]);
sprintf(tmp[0],"%.2f",sum_fee[i][1]);
sprintf(tmp[1],"%.2f",sum_fee[i][2]);
sprintf(tmp[2],"%.2f",sum_fee[i][3]);
sprintf(tmp[3],"%.2f",sum_fee[i][4]);
sprintf(tmp[4],"%.2f",sum_fee[i][5]);
sprintf(tmp[5],"%.2f",sum_fee[i][6]);
sprintf(tmp[6],"%.2f",sum_fee[i][7]);
sprintf(tmp[7],"%.2f",sum_fee[i][8]);
sprintf(tmp[8],"%.2f",sum_fee[i][9]);
sprintf(tmp[9],"%.2f",sum_amount[i]);
dw_1.AddRow("",tmpid,tmp[0],tmp[1],tmp[2],tmp[3],tmp[4],tmp[5],tmp[6],tmp[7],tmp[8],tmp[9]);
}
dw_1.AddRow("","------","----------","----------","----------","----------","--------","----------","---------","---------","---------","-----------");
sprintf(tmp[0],"%.2f",hj_sum[1]);
sprintf(tmp[1],"%.2f",hj_sum[2]);
sprintf(tmp[2],"%.2f",hj_sum[3]);
sprintf(tmp[3],"%.2f",hj_sum[4]);
sprintf(tmp[4],"%.2f",hj_sum[5]);
sprintf(tmp[5],"%.2f",hj_sum[6]);
sprintf(tmp[6],"%.2f",hj_sum[7]);
sprintf(tmp[7],"%.2f",hj_sum[8]);
sprintf(tmp[8],"%.2f",hj_sum[9]);
sprintf(tmp[9],"%.2f",hj_sum[10]);
dw_1.AddRow("","合 计",tmp[0],tmp[1],tmp[2],tmp[3],tmp[4],tmp[5],tmp[6],tmp[7],tmp[8],tmp[9]);
//dw_1.AddRow("","------","----------","----------","----------","----------","--------","----------","---------","---------","---------","-----------");
dw_1.Update();
lpfree(lpdata,ret1);
return 1;
}
//---------------------------------------------------------------
//达川需加区乡收费限制(放开),南充无需限制
//---------------------------------------------------------------
int gf_limit_dcpay(long acct_id)
{
/*
if(acct_id<20000000)
{
MessageBox( "提示",0,"该帐户属市局收费范围,区乡营业点不能进行处理!" );
return 0;
}
else return 1; */
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -