📄 pt_op_sett.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();void prtf_dnum();#include </u/ebcsav/include/begin>FILE *fp;char sec[11],st[8];double amd[12],amc[12],ba[12],in[12];double amd1[21],amc1[21],ba1[21],in1[21];short md[12],mc[12],me[12],i,n;short md1[21],mc1[21],me1[21];char *title[12]={"整存整取","保值储蓄","零存整取","大额储蓄","活 期", "通知存款","定活两便","存本取息","有奖储蓄","债券储蓄", "内部科目"," 合 计 "};char *titl[21]={" │美元","定│日元"," │港币"," │英镑"," │马克", "期│法郎"," │加元"," │美元","活│日元"," │港币", " │英镑"," │马克","期│法郎"," │加元"," │美元", "合│日元"," │港币"," │英镑"," │马克","计│法郎", " │加元"};$ char opa[2],se[2],sta[2],sav[2],te[2],c_type[2];$ double amoun,inte;$ database saving;sec[10]='\0';opa[0]=op_num;opa[1]='\0';se[0]=op.num&0x7f;se[1]='\0';sta[1]='\0';sav[1]='\0';te[1]='\0';c_type[1]='\0';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;/*人民币轧帐单*/if((op.type&0x1)==1){for(i=0;i<12;i++){ amd[i]=amc[i]=ba[i]=in[i]=0.0; md[i]=mc[i]=me[i]=0;}$ declare blot scroll cursor for select sav_type,term,status, amount,interest from r_blot where op_num=$opa and sec_num=$se;$ open blot;while(1){ $ fetch blot into $sav,$te,$sta,$amoun,$inte; if(sqlca.sqlcode!=0)break; switch(sav[0]) { case 1 : switch(te[0]) { case 36 : switch(sta[0]) { case 'E': me[1]++; in[1]+=inte; md[1]++; amd[1]+=amoun; break; case 'M': in[1]+=amoun; break; case 'O': mc[1]++; amc[1]+=amoun; break; case 'P': me[1]++; in[1]+=inte; md[1]++; amd[1]+=amoun; break; case 'R': mc[1]++; amc[1]+=amoun; break; } break; case 60 : switch(sta[0]) { case 'E': me[1]++; in[1]+=inte; md[1]++; amd[1]+=amoun; break; case 'M': in[1]+=amoun; break; case 'O': mc[1]++; amc[1]+=amoun; break; case 'P': me[1]++; in[1]+=inte; md[1]++; amd[1]+=amoun; break; case 'R': mc[1]++; amc[1]+=amoun; break; } break; default : switch(sta[0]) { case 'E': me[0]++; in[0]+=inte; md[0]++; amd[0]+=amoun; break; case 'O': mc[0]++; amc[0]+=amoun; break; case 'P': me[0]++; in[0]+=inte; md[0]++; amd[0]+=amoun; break; case 'R': mc[0]++; amc[0]+=amoun; break; } break; } break; case 2 : switch(sta[0]) { case 'C': mc[4]++; amc[4]+=amoun; break; case 'D': md[4]++; amd[4]+=amoun; break; case 'E': me[4]++; in[4]+=inte; md[4]++; amd[4]+=amoun; break; case 'I': mc[4]++; amc[4]+=amoun; break; case 'O': mc[4]++; amc[4]+=amoun; break; case 'T': mc[4]++; amc[4]+=amoun; break; } break; case 3 : switch(sta[0]) { case 'C': mc[2]++; amc[2]+=amoun; break; case 'E': me[2]++; in[2]+=inte; md[2]++; amd[2]+=amoun; break; case 'O': mc[2]++; amc[2]+=amoun; break; case 'P': me[2]++; in[2]+=inte; md[2]++; amd[2]+=amoun; break; } break; case 6 : switch(sta[0]) { case 'E': me[3]++; in[3]+=inte; md[3]++; amd[3]+=amoun; break; case 'O': mc[3]++; amc[3]+=amoun; break; } break; case 7 : switch(sta[0]) { case 'D': me[5]++; in[5]+=inte; md[5]++; amd[5]+=amoun; break; case 'E': me[5]++; in[5]+=inte; md[5]++; amd[5]+=amoun; break; case 'O': mc[5]++; amc[5]+=amoun; break; } break; }}$ close blot;for(i=0;i<11;i++){ amd[11]+=amd[i]; amc[11]+=amc[i]; in[11]+=in[i]; md[11]+=md[i]; mc[11]+=mc[i]; me[11]+=me[i];}for(i=0;i<12;i++){ba[i]=amc[i]-amd[i]-in[i];}move(8,29);printw("操 作 员 轧 帐");move(12,22);mess(60);mess(4);getch();printf("[5i%c9%c%c%c%c%c\n\n\n\n",'%',1,15,28,'$',10);addspacef(51);printf("%cp[操 作 员 轧 帐 单]%cq\n",28,28);addspacef(42);printf("──────────────────────────\n\n\n");addspacef(22);printf("%cp人民币%cq",28,28);addspacef(9);printf("营业部门 : %-11s",sec);addspacef(9);printf("%4d年%2d月%2d日",year,month,day);addspacef(9);printf(" 操作员 : %-7s\n",st);addspacef(18);printf("┏━━━━┯━━┯━━━━━━━━┯━━┯━━━━━━━━┯━━┯━━━━━━━━┯━━━━━━━━┓\n");addspacef(18);printf("┃ │借方│ │销户│ │贷方│ │ ┃\n");addspacef(18);printf("┃ 科 目 │ │ 借 方 发 生 额 │ │ 利 息 │ │ 贷 方 发 生 额 │ 借 贷 差 额 ┃\n");addspacef(18);printf("┃ │户数│ │户数│ │户数│ │ ┃\n");for(i=0;i<12;i++){addspacef(18);printf("┠────┼──┼────────┼──┼────────┼──┼────────┼────────┨\n");addspacef(18);printf("┃%8s│%4d│",title[i],md[i]);prtf_dnum(amd[i],16);printf("│%4d│",me[i]);prtf_dnum(in[i],16);printf("│%4d│",mc[i]);prtf_dnum(amc[i],16);printf("│");prtf_dnum(ba[i],16);printf("┃\n");}addspacef(18);printf("┗━━━━┷━━┷━━━━━━━━┷━━┷━━━━━━━━┷━━┷━━━━━━━━┷━━━━━━━━┛\n");addspacef(18);printf(" 经 理 : 事 后 : 复 核 : 记 帐:");printf("%c9%c%c%c%c%c\f[4i",'%',1,20,28,'$',13);}/*外币轧帐单*/if((op.type&0x2)==2){for(i=0;i<21;i++){ amd1[i]=amc1[i]=ba1[i]=in1[i]=0.0; md1[i]=mc1[i]=me1[i]=0;}$ declare blot1 scroll cursor for select sav_type,cur_type,term,status, amount,interest from f_blot where op_num=$opa and sec_num=$se;$ open blot1;while(1){ $ fetch blot1 into $sav,$c_type,$te,$sta,$amoun,$inte; if(sqlca.sqlcode!=0)break; switch(sav[0]) { case 11 : switch(toupper(c_type[0])) { case 'U' : switch(sta[0]) { case 'E': me1[0]++; in1[0]+=inte; md1[0]++; amd1[0]+=amoun; break; case 'O': mc1[0]++; amc1[0]+=amoun; break; case 'P': me1[0]++; in1[0]+=inte; md1[0]++; amd1[0]+=amoun; break; case 'R': mc1[0]++; amc1[0]+=amoun; break; } break; case 'J' : switch(sta[0]) { case 'E': me1[1]++; in1[1]+=inte; md1[1]++; amd1[1]+=amoun; break; case 'O': mc1[1]++; amc1[1]+=amoun; break; case 'P': me1[1]++; in1[1]+=inte; md1[1]++; amd1[1]+=amoun; break; case 'R': mc1[1]++; amc1[1]+=amoun; break; } break; case 'H' : switch(sta[0]) { case 'E': me1[2]++; in1[2]+=inte; md1[2]++; amd1[2]+=amoun; break; case 'O': mc1[2]++; amc1[2]+=amoun; break; case 'P': me1[2]++; in1[2]+=inte; md1[2]++; amd1[2]+=amoun; break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -