📄 dc_format.cpp
字号:
//达川发票打印格式
//开始打印发票
//userlog("打印开始");
char pt_staff_name[30],pt_pay_time[30],pt_flag[10];
BeginPrint();
if(iflag==1)
{
sprintf(pt_staff_name,"%s(%ld)",gs_staff_name,gl_staff_id);
sprintf(pt_pay_time,"%s",gs_current_time);
sprintf(pt_flag,"%s","");
}
else
{
sprintf(pt_staff_name,"%s(%ld)",reprint.ls_staff_name,reprint.ll_staff_id);
sprintf(pt_pay_time,"%s",reprint.ldt_pay_time);
sprintf(pt_flag,"%s","重打"); //设置重打标记
}
char psfee[30][50],aa[50],bb[50];
//打印普通发票
mvi_normal.SeekHead();
for(i=0;i<mvi_normal.GetCount();i++)
{
pnml=mvi_normal.GetNext();
//if(pnml->total_fee_digit==0.0) continue;
//根据普通发票格式定制发票
printf("\n");
printf("流水号:%-18s",pnml->bill_serial_nbr);
printf("\t\t%s",pt_flag);
printf("\n");
//printf("\n\t%-10ld",pnml->billing_cycle_id);
printf(" %-20s",gf_billing_cycle_date(lsTemp,pnml->billing_cycle_id));
printf("\t %-25s",pt_pay_time);
printf("\n\n");
if (strlen(pnml->customer_name)>30)
pnml->customer_name[30]=0;
printf(" %-30s",pnml->customer_name);
printf("\t\t%-30ld",pnml->acct_id);
printf("\n");
printf("\t\t\t\t%-30s",pnml->acc_nbr);
printf("\n\n");
//对固定格式发票可参照下面格式打印
for(j=0;j<12;j++)
{
if(j>0&&j<8)
{
if(pnml->fee[j]==0.0) sprintf(lsTemp,"%15s","");
else sprintf(lsTemp,"%15.2f",pnml->fee[j]);
strcpy(psfee[j],lsTemp);
}
else if(j==10||j==11||j==0)
{
if(pnml->fee[j]==0.0) sprintf(lsTemp,"%23s","");
else sprintf(lsTemp,"%23.2f",pnml->fee[j]);
strcpy(psfee[j],lsTemp);
}
else if(j==8||j==9)
{
if(pnml->fee[j]==0.0) sprintf(lsTemp,"%11s","");
else sprintf(lsTemp,"%11.2f",pnml->fee[j]);
strcpy(psfee[j],lsTemp);
}
}
sprintf(aa,"%15s","");sprintf(bb,"%23s","");
printf("\t%s\t\t%s",psfee[1],bb);
printf("\n");
printf("\t%s\t\t%s",psfee[2],bb);
printf("\n");
printf("\t%s\t\t%s",psfee[3],psfee[11]);
printf("\n");
printf("\t%s\t\t%s",psfee[4],psfee[10]);
printf("\n");
printf("\t%s\t\t%s",aa,bb);
printf("\n");
printf("\t%s\t\t%s",psfee[5],psfee[0]);
printf("\n");
printf("\t%s\t\t 其它费 %s",aa,psfee[9]);
printf("\n");
printf("\t%s\t\t 信息费 %s",psfee[6],psfee[8]);
printf("\n");
printf("\t%s\t\t 上次零钱 %11.2f",psfee[7],pnml->last_change);
printf("\n");
printf("\t%s\t\t 本次零钱 %11.2f",aa,pnml->new_change);
printf("\n");
DigitalToCapital(pnml->total_fee_digit,0,lsTemp);
printf("\n %-40s",lsTemp); //大写
printf("\t% -12.2f",pnml->total_fee_digit);
printf("\n\n");
printf(" %-20s",pt_staff_name);
printf("\t\t %20s",gs_telecom_name);
printf("\n\n\n\n");
//m_sum_invonum++;
}
//打印代收费发票
mvi_info.SeekHead();
for(i=0;i<mvi_info.GetCount();i++)
{
pmif=mvi_info.GetNext();
//if(pmif->total_fee_digit==0.0) continue;
//根据代收发票格式定制发票
printf("\n");
printf("流水号:%-18s",pmif->bill_serial_nbr);
printf("\t\t%s",pt_flag);
printf("\n");
//printf("\n\t%-10ld",pmif->billing_cycle_id);
printf(" %-20s",gf_billing_cycle_date(lsTemp,pmif->billing_cycle_id));
printf("\t %-25s",pt_pay_time);
printf("\n\n");
if (strlen(pmif->customer_name)>30)
pmif->customer_name[30]=0;
printf(" %-30s",pmif->customer_name);
printf("\t\t%-30ld",pmif->acct_id);
printf("\n");
printf("\t\t\t\t%-30s",pmif->acc_nbr);
printf("\n\n");
//对固定格式发票可参照下面格式打印
for(j=0;j<12;j++)
{
if(j>0&&j<8)
{
if(pmif->fee[j]==0.0) sprintf(lsTemp,"%15s","");
else sprintf(lsTemp,"%15.2f",pmif->fee[j]);
strcpy(psfee[j],lsTemp);
}
else if(j==10||j==11||j==0)
{
if(pmif->fee[j]==0.0) sprintf(lsTemp,"%23s","");
else sprintf(lsTemp,"%23.2f",pmif->fee[j]);
strcpy(psfee[j],lsTemp);
}
else if(j==8||j==9)
{
if(pmif->fee[j]==0.0) sprintf(lsTemp,"%11s","");
else sprintf(lsTemp,"%11.2f",pmif->fee[j]);
strcpy(psfee[j],lsTemp);
}
}
sprintf(aa,"%15s","");sprintf(bb,"%23s","");
printf("\t%s\t\t%s",psfee[1],bb);
printf("\n");
printf("\t%s\t\t%s",psfee[2],bb);
printf("\n");
printf("\t%s\t\t%s",psfee[3],psfee[11]);
printf("\n");
printf("\t%s\t\t%s",psfee[4],psfee[10]);
printf("\n");
printf("\t%s\t\t%s",aa,bb);
printf("\n");
printf("\t%s\t\t%s",psfee[5],psfee[0]);
printf("\n");
printf("\t%s\t\t 其它费 %s",aa,psfee[9]);
printf("\n");
printf("\t%s\t\t 信息费 %s",psfee[6],psfee[8]);
printf("\n");
printf("\t%s\t\t 上次零钱 %11.2f",psfee[7],pmif->last_change);
printf("\n");
printf("\t%s\t\t 本次零钱 %11.2f",aa,pmif->new_change);
printf("\n");
DigitalToCapital(pmif->total_fee_digit,0,lsTemp);
printf("\n %-40s",lsTemp); //大写
printf("\t% -12.2f",pmif->total_fee_digit);
printf("\n\n");
printf(" %-20s",pt_staff_name);
printf("\t\t %20s",gs_telecom_name);
printf("\n\n\n\n");
//m_sum_invonum++;
}
//结束打印
EndPrint();
//userlog("打印结束");
//----------------------------------------------------
//达州日报,欠费统计报表
//----------------------------------------------------
int StatWnd::wf_siteqf_list()
{
char ls_start[30],ls_end[30];
char start_date[30],end_date[30];
char lsTemp[512];
int i,j;
long row,col;
char instr[1024],*lpdata[6*50000],*poutstr[1];
int ret,ret1;
Rect rect(0,0,0,0);
strcpy(ls_start,NULL);
strcpy(ls_end,NULL);
double lde_charge=0.0,lde_sum=0.0;
char ls_charge[20];
dw_1.ClearList(true);
dw_1.ClearCols(true);
//显示设置
ShowText( 0, 1, "营业点:" );
ShowText( 0, 30," ");
ShowText( 1, 1, "生成时间:" );
ShowText( 1, 30, "统计帐期:" );
dw_1.AddCol( "",10, 0 );
dw_1.AddCol( "",10, 0 );
dw_1.AddCol( "",20, 0 );
dw_1.AddCol( "",8, 0 );
dw_1.AddCol( "",12, 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]);
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, " " );
strcpy(lsTemp,NULL);
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("PSSiteQfList",instr,poutstr);
if(ret < 0)
{
MessageBox("错误",0,poutstr[0]);
lpfree(poutstr,1);
return -1;
}
if(ret == 100)
{
MessageBox("提示",0,"没有检索到用户欠费记录!");
lpfree(poutstr,1);
return -1;
}
ret1=GetMulRowData(poutstr[0],lpdata,&row,&col,100);
lpfree(poutstr,1);
dw_1.Update( true );
dw_1.ClearList( false );
dw_1.AddRow("","----------","----------","--------------------","--------","------------");
dw_1.AddRow("","合同号","电话号码"," 客户名称","欠费帐期","当月话费");
dw_1.AddRow("","----------","----------","--------------------","--------","------------");
for(i=0;i<row;i++)
{
j=i*col;
lde_charge=atof(lpdata[j+4]);
sprintf(ls_charge,"%.2f",lde_charge);
lde_sum+=lde_charge;
sprintf(lsTemp,"%20s",lpdata[j+2]);
dw_1.AddRow("",lpdata[j],lpdata[j+1],lsTemp,lpdata[j+3],ls_charge);
}
dw_1.AddRow("","----------","----------","--------------------","--------","------------");
sprintf(lsTemp,"%.2f",lde_sum);
dw_1.AddRow("","","",""," 合计:",lsTemp);
dw_1.Update();
lpfree(lpdata,ret1);
return 1;
}
int StatWnd::wf_ncstat_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[300],*poutstr[1];
int ret,ret1;
Rect rect(0,0,0,0);
float fee[30],sum_fee[10],amount=0.0,sum_amount=0.0,real_amount=0.0,sum_change=0.0;
float sum_num=0;
for(i=0;i<30;i++) fee[i]=0.0;
for(i=0;i<10;i++) sum_fee[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( "项目名称", 12, 0 );
dw_1.AddCol( "项目费用", 14, 0 );
dw_1.AddCol( "项目名称", 12, 0 );
dw_1.AddCol( "项目费用", 14, 0 );
strcpy(ls_start,ltrim(sle_start.GetText()));
strcpy(ls_end,ltrim(sle_end.GetText()));
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_staff_name );
ShowText( 0, 42, " " );
ShowText( 0, 42, gs_site_name );
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("PSChargeSum",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]);
lpfree(poutstr,1);
for(i=0;i<row;i++)
{
j=i*col;
amount=atof(lpdata[j+1]);
switch(atol(lpdata[j]))
{
case 1:
fee[0]=fee[0]+amount;break;
case 3000:
fee[1]=fee[1]+amount;break;
case 3010:
fee[2]=fee[2]+amount;break;
case 3020:
fee[3]=fee[3]+amount;break;
case 3030:
fee[4]=fee[4]+amount;break;
case 3050:
fee[5]=fee[5]+amount;break;
case 3060:
fee[6]=fee[6]+amount;break;
case 3070:
fee[7]=fee[7]+amount;break;
case 3090:
fee[8]=fee[8]+amount;break;
case 3100:
fee[9]=fee[9]+amount;break;
case 3110:
fee[10]=fee[10]+amount;break;
case 3120:
fee[11]=fee[11]+amount;break;
case -1000:
sum_num=amount;break;
case -2000:
real_amount=amount;break;
default:
fee[29]=fee[29]+amount;break;
}
}
for(i=0;i<30;i++)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -