📄 pt_op_cred.ec
字号:
/* prt_cred */#include </u/ebcsav/include/sav.h>$include sqlca;$include sqlda;void addspace();void addspacef();void mess();char y_n();#include </u/ebcsav/include/begin>struct operator opt;short i,flag=0;char c;char s[7],st[21];$ short opt_num,cred_type,cr_count,t;$ long cred_num;$ char ope_num[2];long issu_num,open_num=0,repl_num=0,canc_num=0,rest_num=0,recov_num=0;FILE *pf;move(0,21);$ database saving;printw("打 印 操 作 员 凭 证 收 付 表");if((op.priv&8)!=0) { move(8,20); printw("是否打印凭证管理员的收付表 (Y/N)?"); c=y_n('Y','N','N'); if(c=='Y') opt_num=100; else opt_num=op_num; }else opt_num=op_num;if(opt_num==100) strcpy(s,"管理员");else { pf=fopen("/u/ebcsav/data/sav_op.dat","r"); fseek(pf,(opt_num-1)*17,0); fread(&opt,17,1,pf); fclose(pf); for(i=0;i<7;i++) if(opt.name[i]!='\0')s[i]=opt.name[i]^0xff; else s[i]='\0'; }pf=fopen("/u/ebcsav/data/sav_sect.dat","r");fseek(pf,((op.num&0x7f)-1)*34+24,0);fread(st,10,1,pf);fclose(pf);st[10]='\0';ope_num[0]=opt_num;ope_num[1]='\0';$ declare read_cred scroll cursor for select cre_type,cre_num into $cred_type,$cred_num from credential where op_num=$ope_num;if(sqlca.sqlcode!=0) { move(20,20); addstr("申请"); mess(9); printw("(%d), ",sqlca.sqlcode); mess(3); getch(); return; }$ open read_cred;if(sqlca.sqlcode!=0) { move(20,20); addstr("打开"); mess(9); printw("(%d), ",sqlca.sqlcode); mess(3); getch(); return; }move(10,20);mess((short)60);mess((short)4);getch();printf("%c%c%c%c%c%c%c%c%c%c%c%c%c\n\n\n\n",27,'[','5','i',27,'%','9',1,15, 28,'p',27,'[');addspacef(44);printf("重 要 凭 证 收 付 表%c%c%c%c\n",28,'q',27,']');addspacef(40);printf("─────────────────────\n\n");addspacef(20);printf("营业部门: %-10s",st);addspacef(20);printf("操作员: %-6s",s);addspacef(20);printf("%4d年%2d月%2d日\n",year,month,day);addspacef(14);printf("┏━━━━━━━━━━━━━┯━━━━┯━━━━┯━━━━━━━━━━━━━━━━━━━┯━━━━┓\n");addspacef(14);printf("┃ │ 昨 日 │ 今 日 │ 付 出 │ 今 日 ┃\n");addspacef(14);printf("┃ 凭 证 名 称 │ │ ├────┬────┬────┬────┤ ┃\n");addspacef(14);printf("┃ │ 结 存 │ 收 入 │ ");if(opt_num==100) printf("下 发");else printf("开 户");printf(" │ 换 折 │ 报 废 │ 上 交 │ 结 存 ┃\n");t=-1;while(1) { $ fetch read_cred; if(flag!=0&&(cred_type!=t||sqlca.sqlcode!=0)) { if(sqlca.sqlcode!=0) flag=2; pf=fopen("/u/ebcsav/data/sav_type.dat","r"); fseek(pf,(t-1)*20,0); fread(st,20,1,pf); fclose(pf); $ select cre_count into $cr_count from cred_count where op_num=$ope_num and cre_type=$t; t=cred_type; if(sqlca.sqlcode!=0) break; issu_num=rest_num+open_num+repl_num+canc_num+recov_num-cr_count;addspacef(14); printf("┠─────────────┼────┼────┼────┼────┼────┼────┼────┨\n");addspacef(14); printf("┃ %-24s│%8d│%8d│%8d│%8d│%8d│%8d│%8d┃\n", st,cr_count,issu_num,open_num,repl_num,canc_num,recov_num,rest_num); open_num=repl_num=canc_num=recov_num=rest_num=0; if(flag==2) break; } flag=1; if(cred_num<100000000) rest_num++; else if(cred_num<200000000) open_num++; else if(cred_num<300000000) repl_num++; else if(cred_num<400000000) canc_num++; else recov_num++; t=cred_type; }addspacef(14);printf("┗━━━━━━━━━━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛\n\n");addspacef(20);printf("负责人: 事后监督: 复核员: 记帐员:\n");printf("%c%c%c%c%c%c%c%c%c%c",12,27,'%','9',1,20,27,'[','4','i');$ close read_cred;if(sqlca.sqlcode!=0) { move(23,20); addstr("关闭"); mess(9); printw("(%d), ",sqlca.sqlcode); mess(3); getch(); }$ close database;#include </u/ebcsav/include/end>#include </u/ebcsav/include/mess>#include </u/ebcsav/include/addspace>#include </u/ebcsav/include/addspacef>#include </u/ebcsav/include/y_n>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -