📄 pt_state_y.ec
字号:
/* 打印年报表 */#include </u/ebcsav/include/sav.h>$include sqlca;$include sqlda;void type_op();char edit_op();void addspace();void addspacef();char y_n();void mess();char readch();char readdv();char readst();short menu();short menusel();void prtf_dnum();FILE *pf_l;#include </u/ebcsav/include/begin>FILE *fp;char sec[11],st[8];double bac[32],bad[32],amound[32],amounc[32];short uro[32],urc[32],ur[32],voud[32],vouc[32],i,n,h,j,urh,urf,te1[32],sa1[32];double ba1[8],ba2[8],ba3[8],ba4[8],ba5[8],ba6[8],ba7[8];short voux[32],ur1[8],ur2[8],ur3[8],ur4[8],ur5[8],ur6[8],ur7[8];short h1[4],uh1[4],t_h1[4],f1[4],uf1[4],t_f1[4],num_c3=1,num;char *title[25]={" 整 存 整 取 "," 保 值 储 蓄 "," 活 期 ", " 零 存 整 取 "," 定 活 两 便 "," 存 本 取 息 ", " 大 额 储 蓄 "," 通 知 存 款 "," 业 务 合 计 ", " │一年以下息", "利│一年以上息"," │保值利息 ","息│活期利息 ", " │利息合计 "," 有 奖 储 蓄 "," 国 库 券 ", " 债 券 储 蓄 ","业 务 备 用 金"," 暂 收 款 ", " 暂 付 款 "," 应 付 利 息 "," 往 来 收 支 ", " 营 业 收 支 "," 库 存 现 金 "," 合 计 "};char *title1[16]={" 整 存 整 取 "," 活 期 "," 业 务 合 计 ", "利│定期利息 "," │活期利息 ","息│利息合计 ", " 买 入 外 币 ","支 付 人 民 币","业 务 备 用 金", " 暂 收 款 "," 暂 付 款 "," 应 付 利 息 ", " 往 来 收 支 "," 营 业 收 支 "," 库 存 现 金 ", " 合 计 "};char *title2[25]={"整│三个月"," │六个月","存│一 年"," │两 年", "整│三 年"," │五 年","取│小 计"," 活 期 ", "零│一 年","存│三 年","整│五 年","取│小 计", "存│一 年","本│三 年","取│五 年","息│小 计", "定活两便 ", " │一个月","大│三个月","额│六个月","存│九个月", "单│一 年"," │小 计","通知存款 ","合 计"};char *titl[24]={" │ │一月"," │定│三月","美│ │六月"," │ │一年", " │期│两年","元│ │小计"," │活 期"," │合 计", " │ │一月"," │定│三月","日│ │六月"," │ │一年", " │期│两年","元│ │小计"," │活 期"," │合 计", " │ │一月"," │定│三月","港│ │六月"," │ │一年", " │期│两年","币│ │小计"," │活 期"," │合 计"};static char *title3[7]={"0.返回 ","1.美元 ","2.日元 ","3.港币 ","4.人民币 ", "5.人民币附表 ","6.外币附表 "};static char *remind3[7]={" 返回主选择单 "," 打印美元年报表 "," 打印日元年报表 "," 打印港币年报表 "," 打印人民币年报表 "," 打印人民币附表 "," 打印外币附表 "};static short menu_row3[7]={7,7,7,7,7,7,7},menu_col3[7]={8,15,23,30,37,46,59};short s1a[25]={1,1,2,3,4,5,6,7,100,101,101,101,101,101,102,103,104,105,106,107,108,109,110,111,120};short t1e[25]={3,6,0,100,100,0,100,0,100,1,2,3,4,100,100,100,100,100,100,100,100,100,100,100,100};short s2a[25]={1,1,1,1,1,1,1,2,3,3,3,3,4,4,4,4,5,6,6,6,6,6,6,7,100};short t2e[25]={3,6,12,24,36,60,100,0,12,36,60,100,12,36,60,100,0,1,3,6,9,12,100,0,100};$ char cu[7]={'U','J','H','M','P','F','C'};$ char opa[2],se[2],sta[2],sav[2],te[2],c_type[2],t1[2],t2[2],t3[2],t4[2];$ double amoud,amouc,amou;$ long urh1,urf1,usr,vod,voc,usrc,usro,uruh1,t_urh1,uruf1,t_urf1;$ database saving;sec[10]='\0';opa[0]=op_num;opa[1]='\0';se[0]=op.num&0x7f;se[1]='\0';sta[1]='\0';sa1[1]='\0';sav[1]='\0';te[1]='\0';t1[1]='\0';t2[1]='\0';t3[1]='\0';t4[1]='\0';c_type[1]='\0';move(0,33);printw("打 印 年 报");fp=fopen("/u/ebcsav/data/sav_sect.dat","r");fseek(fp,((op.num&0x7f)-1)*34+24,0);fread(sec,10,1,fp);fclose(fp);for(n=0;n<7;n++)if(op.name[n]!='\0')st[n]=op.name[n]^0xff;else st[n]='\0';n=op.type;while(num_c3!=0){move(12,22);addspace(30);num=6;block(6,6,3,66);num_c3=menu(title3,remind3,menu_row3,menu_col3,num,num_c3);num_c3=menusel(title3,remind3,menu_row3,menu_col3,num,num_c3,0);if(num_c3==0){ $ close database; endwin(); return;}switch(num_c3) { case 1: c_type[0]='U'; break; case 2: c_type[0]='J'; break; case 3: c_type[0]='H'; break; case 4: c_type[0]='R'; break; }if((op.type&0x1)==1&&c_type[0]=='R'&&num_c3==4){for(i=0;i<32;i++){ bac[i]=bad[i]=amound[i]=amounc[i]=0.0; ur[i]=uro[i]=urc[i]=voud[i]=vouc[i]=voux[i]=0;}sav[0]=1;t1[0]=3;t2[0]=6;t3[0]=12;t4[0]=24;$ select sum(debi_amoun),sum(cred_amoun),sum(today_bala),sum(open_user), sum(canc_user),sum(today_user),sum(debi_vouch),sum(cred_vouch) into $amoud,$amouc,$amou,$usro,$usrc,$usr,$vod,$voc from r_annual where sav_type=$sav and ( term=$t1 or term=$t2 or term=$t3 or term=$t4 ); if(sqlca.sqlcode!=0) { move(20,20); printw("sum error"); getch(); } uro[0]=usro; urc[0]=usrc; ur[0]=usr; amound[0]=amoud; amounc[0]=amouc; bac[0]=amou; voud[0]=vod; vouc[0]=voc; voux[0]=voud[0]+vouc[0];sav[0]=1;t1[0]=36;t2[0]=60;$ select sum(debi_amoun),sum(cred_amoun),sum(today_bala),sum(open_user), sum(canc_user),sum(today_user),sum(debi_vouch),sum(cred_vouch) into $amoud,$amouc,$amou,$usro,$usrc,$usr,$vod,$voc from r_annual where sav_type=$sav and ( term=$t1 or term=$t2 ); if(sqlca.sqlcode!=0) { move(20,20); printw("sum error"); getch(); } uro[1]=usro; urc[1]=usrc; ur[1]=usr; amound[1]=amoud; amounc[1]=amouc; bac[1]=amou; voud[1]=vod; vouc[1]=voc; voux[1]=voud[1]+vouc[1];for(i=2;i<25;i++){ sav[0]=s1a[i]; te[0]=t1e[i]; if(sav[0]==2||sav[0]==5||sav[0]==7) { $ select sav_type,term,debi_amoun,cred_amoun,today_bala,open_user,canc_user, today_user,debi_vouch,cred_vouch into $sav,$te,$amoud,$amouc,$amou,$usro, $usrc,$usr,$vod,$voc from r_annual where sav_type=$sav; } else { $ select sav_type,term,debi_amoun,cred_amoun,today_bala,open_user,canc_user, today_user,debi_vouch,cred_vouch into $sav,$te,$amoud,$amouc,$amou,$usro, $usrc,$usr,$vod,$voc from r_annual where sav_type=$sav and term=$te; } uro[i]=usro; urc[i]=usrc; ur[i]=usr; amound[i]=amoud; amounc[i]=amouc; if(amou<0)bad[i]=amou*-1; else bac[i]=amou; if(i==24)bac[i]=bad[i]=amou; te1[i]=te[0]; sa1[i]=sav[0]; voud[i]=vod; vouc[i]=voc; voux[i]=voud[i]+vouc[i];}}if((op.type&0x2)==2&&c_type[0]!='R'&&num_c3!=5&&num_c3!=6){for(i=0;i<32;i++){ bac[i]=bad[i]=amound[i]=amounc[i]=0.0; ur[i]=uro[i]=urc[i]=voud[i]=vouc[i]=voux[i]=0;}sav[0]=11;te[0]=100;$ select debi_amoun,cred_amoun,today_bala,open_user,canc_user,today_user, debi_vouch,cred_vouch into $amoud,$amouc,$amou,$usro,$usrc,$usr,$vod,$voc from f_dai where sav_type=$sav and cur_type=$c_type and term=$te; if(sqlca.sqlcode!=0) { move(20,20); printw("sum error"); getch(); } uro[0]=usro; urc[0]=usrc; ur[0]=usr; amound[0]=amoud; amounc[0]=amouc; bac[0]=amou; voud[0]=vod; vouc[0]=voc; voux[0]=voud[0]+vouc[0];$ declare blot1 scroll cursor for select sav_type,term,debi_amoun,cred_amoun, today_bala,open_user,canc_user,today_user,debi_vouch,cred_vouch from f_dai where cur_type=$c_type;$ open blot1;for(i=1;i<16;i++){ $ fetch blot1 into $sav,$te,$amoud,$amouc,$amou,$usro,$usrc,$usr,$vod,$voc; if(sqlca.sqlcode!=0) { move(20,20); printw("fetch blot1 error %d ",sqlca.sqlcode); getch(); break; } if(sav[0]==11) {i--; continue; } uro[i]=usro; urc[i]=usrc; ur[i]=usr; amound[i]=amoud; amounc[i]=amouc; if(amou<0)bad[i]=amou*-1; else bac[i]=amou; if(i==15)bad[i]=bac[i]=amou; te1[i]=te[0]; sa1[i]=sav[0]; voud[i]=vod; vouc[i]=voc; voux[i]=voud[i]+vouc[i];}$close blot1;}/*endwin();$close database;return;*/if((op.type&0x1)==1&&c_type[0]=='R'&&num_c3==4){move(12,22);mess(60);mess(4);getch();move(12,22);addspace(40);move(12,22);mess(65);refresh();if((pf_l=fopen("/dev/lp0","w"))==0)/*if((pf_l=fopen("/u/ebcsav/tmp/r_state","w"))==0)*/{move(20,20);printw("打印机正在工作,任意键返回");getch();$ close database;endwin();return;}fprintf(pf_l,"\n\n\n\n\n%d",0);addspacef(66);fprintf(pf_l,"e%d%d",2,2);fprintf(pf_l,"人民币");fprintf(pf_l,"e%d%d",1,1);fprintf(pf_l,"e%d%d 营 业 年 报 表e%d%d\n",2,2,1,1);addspacef(59);fprintf(pf_l,"────────────────────────────\n\n\n\n");addspacef(30);fprintf(pf_l,"人民币");addspacef(19);fprintf(pf_l,"营业部门 : %-11s",sec);addspacef(19);fprintf(pf_l,"%4d年%2d月%2d日",year,month,day);addspacef(19);fprintf(pf_l," 操作员 : %-7s\n",st);addspacef(22);fprintf(pf_l,"┏━━━━━━━┯━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━┯━━━━━━━━┓\n");addspacef(22);fprintf(pf_l,"┃ │ 本 年 发 生 额 │ 本 年 余 额 │ 户 数 │ 传 票 张 数 ┃\n");addspacef(22);fprintf(pf_l,"┃ 科 目 ├────────┬────────┼────────┬────────┼───┬───┬───┼──┬──┬──┨\n");addspacef(22);fprintf(pf_l,"┃ │ 借 方 │ 贷 方 │ 借 方 │ 贷 方 │ 开户 │ 销户 │总户数│借方│贷方│合计┃\n");addspacef(22);fprintf(pf_l,"┠───────┼────────┼────────┼────────┼────────┼───┼───┼───┼──┼──┼──┨\n");for(i=0;i<25;i++){addspacef(22);fprintf(pf_l,"┃%14s│",title[i]);prtf_dnum(amound[i],16);fprintf(pf_l,"│");prtf_dnum(amounc[i],16);fprintf(pf_l,"│");prtf_dnum(bad[i],16);fprintf(pf_l,"│");prtf_dnum(bac[i],16);fprintf(pf_l,"│%5d │%5d │%5d │%3d │%3d │%3d ┃\n",uro[i],urc[i],ur[i],voud[i],vouc[i],voux[i]);if(i!=24)if(i==8) { addspacef(22); fprintf(pf_l,"┠─┬─────┼────────┼────────┼────────┼────────┼───┼───┼───┼──┼──┼──┨\n"); }else if(i>8&&i<13) { addspacef(22); fprintf(pf_l,"┃ ├─────┼────────┼────────┼────────┼────────┼───┼───┼───┼──┼──┼──┨\n"); }else if(i==13) { addspacef(22); fprintf(pf_l,"┠─┴─────┼────────┼────────┼────────┼────────┼───┼───┼───┼──┼──┼──┨\n"); }else { addspacef(22); fprintf(pf_l,"┠───────┼────────┼────────┼────────┼────────┼───┼───┼───┼──┼──┼──┨\n"); }}sav[0]=100;te[0]=100;$ select hang_up,lift_hang,today_hang,freeze,unfreeze,today_free into $urh1,$uruh1,$t_urh1,$urf1,$uruf1,$t_urf1 from r_annual where sav_type=$sav and term=$te;addspacef(22);fprintf(pf_l,"┣━━━━━━━┿━━━━━━━━┿━━━━━━━━┿━━━━━━━━┿━━━━━━━━┿━━━┷━━━┷━━━┿━━┷━━┷━━┫\n");addspacef(22);fprintf(pf_l,"┃ │ 挂 失 户 数 │%14d │ 解 挂 户 数 │%14d │ 挂 失 总 数 │%14d │\n",urh1,uruh1,t_urh1); addspacef(22);fprintf(pf_l,"┃ 特 殊 处 理 ├────────┼────────┼────────┼────────┼───────────┼────────┨\n");addspacef(22);fprintf(pf_l,"┃ │ 冻 结 户 数 │%14d │ 解 冻 户 数 │%14d │ 冻 结 总 数 │%14d │\n",urf1,uruf1,t_urf1); addspacef(22);fprintf(pf_l,"┗━━━━━━━┷━━━━━━━━┷━━━━━━━━┷━━━━━━━━┷━━━━━━━━┷━━━━━━━━━━━┷━━━━━━━━┛\n");addspacef(22);fprintf(pf_l," 经 理 : 事 后 : 复 核 : 制 表:%d\n",2);fprintf(pf_l,"\n\n\n\n\n\n\n\n\n\n\n");fclose(pf_l);} if((op.type&0x2)==2&&c_type[0]!='R'&&num_c3!=5&&num_c3!=6){move(12,22);mess(60);mess(4);getch();move(12,22);addspace(40);move(12,22);mess(65);refresh();if((pf_l=fopen("/dev/lp0","w"))==0)/*if((pf_l=fopen("/u/ebcsav/tmp/r_state","w"))==0)*/{move(20,20);printw("打印机正在工作,任意键返回");getch();$ close database;endwin();return;}fprintf(pf_l,"\n\n\n\n\n%d",0);addspacef(66);fprintf(pf_l,"e%d%d",2,2);switch(toupper(c_type[0])) { case 'U': fprintf(pf_l,"美 元"); break; case 'J': fprintf(pf_l,"日 元"); break; case 'H': fprintf(pf_l,"港 元"); break; }fprintf(pf_l,"e%d%d",1,1);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -