📄 dated_open1.ec
字号:
/* 零整开户 */#include </u/ebcsav/include/sav.h>$include sqlca;$include sqlda;void addspace();void mess();char y_n();char readdv();char readst();char readch();long ac_num();double get_rate();void prt_inum();void prt_dnum();void addspacef();void prtf_inum();void prtf_dnum();short num_time();void delay();#include </u/ebcsav/include/begin>short n=1,flag,ti,i,j=0;double x;long k;unsigned char c;char st[30];$ char s_num[2],nam[9],cu_type[2],addres[25],statu[2],l_num[2];$ long a_num,pas,cr_num,ope_date,int_date,las_date,l_mon;$ double amoun,i_rate;$ short cred_type;$ long cred_num,b_num;$ char ope_num[2],s_type[2],te[2],fg[2],r_type[2];move(0,25);$ database saving;printw("零 存 整 取 开 户");s_num[0]=op.num&0x7f;s_num[1]='\0';s_type[1]='\0';l_num[0]=1;l_num[1]='\0';te[1]='\0';fg[1]='\0';r_type[0]=9;r_type[1]='\0';nam[0]='\0';cu_type[0]='R';cu_type[1]='\0';amoun=0.0;addres[0]='\0';statu[1]='\0';pas=0;$ declare blot scroll cursor for select blot_num from r_blot;move(23,16);standout();mess(1);standend();amoun=0.0;move(3,10);addstr("帐 号: ");move(3,20);c==readdv(&x,9);if(c==10)a_num=x;move(3,48);prt_inum(s_num[0],2);addstr("-");move(3,52);a_num=85;prt_inum(a_num,9);move(5,10);addstr("姓 名: ");move(7,10);addstr("密 码: ");move(9,10);addstr("币 种: ");move(9,48);addstr("人民币");move(11,10);addstr("金 额: ");move(13,10);addstr("地 址: ");move(15,10);addstr("凭 证 号: ");move(17,10);addstr("年 限: ");move(19,10);addstr("是否集体户(Y/N):");while(1) { $ begin work; j=0; while(1) { switch(n) { case 1: move(5,20); c=readst(st,8); if(c==10) strcpy(nam,st); move(5,20); addspace(10); move(5,48); printw("%-8s",nam); if(c==10||c==13||c==25) n=2; else if(c==5) n=8; else if(c==4) n=10; break; case 2: move(7,20); c=readdv(&x,7); if(c==10) pas=x; move(7,20); addspace(10); move(7,48); printw("%d",pas); if(c==10||c==13||c==25) n=3; else if(c==24) n=1; else if(c==5) n=8; else if(c==4) n=10; break; case 3: move(11,20); c=readdv(&x,11); if(c==10) amoun=x; if((amoun-(long)amoun)>0.005) { move(20,20); mess(67); mess(4); getch(); move(20,20); addspace(30); break; } move(11,20); addspace(12); move(11,48); prt_dnum(amoun,13); if(c==10||c==13||c==25) n=4; else if(c==24) n=2; else if(c==5) n=8; else if(c==4) n=10; break; case 4: move(13,20); c=readst(st,24); if(c==10) strcpy(addres,st); move(13,20); addspace(26); move(13,48); printw("%-24s",addres); if(c==10||c==13||c==25) n=5; else if(c==24) n=3; else if(c==5) n=8; else if(c==4) n=10; break; case 5: move(15,20); c=readdv(&x,7); if(c==10) cr_num=x; move(15,20); addspace(10); move(15,48); prt_inum(cr_num,7); if(c==10||c==13||c==25) n=6; else if(c==24) n=4; else if(c==5) n=8; else if(c==4) n=10; break; case 6: move(20,2); addstr("请选择: 1 - 一年 3 - 三年 5 - 五年"); move(17,20); c=y_n('1','3','5'); te[0]=c-48; move(20,2); addspace(44); if(c==10||c==13||c==25||c=='1'||c=='3'||c=='5') n=7; else if(c==24) n=5; else if(c==5) n=8; else if(c==4) n=10; break; case 7: move(19,26); c=y_n('Y','Y','N'); if(c=='Y')fg[0]=1; else fg[0]=0; if(c==10||c==13||c==25||c=='Y'||c=='N') n=8; else if(c==24) n=6; else if(c==5) n=8; else if(c==4) n=10; break; case 8: move(20,20); mess(5); c=y_n('Y','N','C'); move(20,20); addspace(42); if(c=='C') n=1; else if(c=='Y') { ope_num[0]=op_num; ope_num[1]='\0'; cred_type=3; s_type[0]=cred_type; move(20,20); { move(20,20); ope_date=int_date=las_date=year*10000+month*100+day; l_mon=year*100+month; k=te[0]*12; te[0]=k; k+=((toupper(cu_type[0])-64)*10000+cred_type*100); i_rate=get_rate(k,int_date); statu[0]='A'; for(n=0;n<7;n++) if(op.name[n]!='\0')st[n]=op.name[n]^0xff; else st[n]='\0'; ti=num_time(); $ insert into r_dated values ($s_num,$a_num,$nam,$pas,$cu_type,$te,$amoun,$amoun, $addres,$cr_num,$ope_date,$int_date,$statu,$fg, $las_date,$i_rate,0,$l_mon,$l_num); if(sqlca.sqlcode!=0) { addstr("写"); mess(14); printw("(%d), ",sqlca.sqlcode); j=1; n=10; } else { for(n=0;n<5;n++) { $ insert into r_blot values (0,$ope_num,$s_num,$a_num,$nam,$s_type, $cu_type,$te,$cr_num,"O",$amoun,$amoun,0); if(sqlca.sqlcode!=-271) break; printw("*"); refresh(); delay(5l); } if(sqlca.sqlcode==-271) { mess((short)73); j=1; break; } else if(sqlca.sqlcode!=0) { addstr("写"); mess(16); printw("(%d), ",sqlca.sqlcode); j=1; n=10; } else { $ open blot; $ fetch last blot into $b_num; $ close blot; $ insert into r_dated_sch values ($s_num,$a_num,$ope_date,$b_num, $nam,$cu_type,$amoun,$amoun,0,$r_type); if(sqlca.sqlcode!=0) { addstr("写"); mess(18); printw("(%d), ",sqlca.sqlcode); j=1; n=10; } else { $ insert into open_acc values ($s_num,$s_type,$cu_type,$te,$a_num,$nam, $addres,$amoun,$ope_num); if(sqlca.sqlcode!=0) { addstr("写"); mess(17); printw("(%d), ",sqlca.sqlcode); j=1; n=10; break; } move(20,20); addspace(30); move(20,20); mess(13); } } } } n=10; } else n=10; } if(n==10) break; } if(j==1) { $ rollback work; } else { $ commit work; } move(20,46); mess(15); c=y_n('Y','N','N'); if(c=='N') break; move(20,20); addspace(56); n=1; }$ close database;#include </u/ebcsav/include/end>#include </u/ebcsav/include/mess>#include </u/ebcsav/include/addspace>#include </u/ebcsav/include/y_n>#include </u/ebcsav/include/prt_inum>#include </u/ebcsav/include/prt_dnum>#include </u/ebcsav/include/readch>#include </u/ebcsav/include/readdv>#include </u/ebcsav/include/readst>#include </u/ebcsav/include/ac_num>#include </u/ebcsav/include/num_time>#include </u/ebcsav/include/addspacef>#include </u/ebcsav/include/prtf_inum>#include </u/ebcsav/include/prtf_dnum>#include </u/ebcsav/include/delay>double get_rate(k,dat)long k,dat;{$double rat;$long k1,dat1;double ll2;int dat2;long tz[16]={15,30,60,90,120,150,180,210,240,270,300,330,360,720,1080,0};short year,month,day;long i,yy,mm,mm1,dd,t1,ts,m1,m2,m3,yer,da2;num_date(&year,&month,&day);yy=dat/10000;mm=(dat%10000)/100;dd=dat%100;t1=k/100;if(day>=dd)ts=(year-yy)*360+(month-mm)*30+day-dd;else { if(month==1){yer=year-1; mm1=12; } else{ mm1=month-1; yer=year; } m1=yer%400; m2=yer%100; m3=yer%4; if(mm1==1||mm1==3||mm1==5||mm1==7||mm1==8||mm1==10||mm1==12) da2=31; else if(mm1!=2) da2=30; else if(m1==0||m2!=0&&m3==0) da2=29; else da2=28; ts=(yer-yy)*360+(mm1-mm)*30+da2+day-dd; }if(t1==1807){ if(ts<15)k=180200; else { i=0; do{ i++; }while(ts>=tz[i]&&i<15); k=t1*100+i; } }k1=k;$ declare read3 scroll cursor for select ll,rq into $rat,$dat1 from inter_rate where syh=$k1; if(sqlca.sqlcode!=0) { move(21,20); addstr("申请"); mess((short)9); printw("(%d), ",sqlca.sqlcode); mess((short)3); getch(); return; } $ open read3; if(sqlca.sqlcode !=0) { printw("** %d 错误 1: 打开利率表出错 **",sqlca.sqlcode); getch(); return; }$fetch first read3;dat2=0;do{ if(dat1<=dat&&dat1>=dat2) { dat2=dat1; ll2=rat; } $fetch next read3; }while(sqlca.sqlcode!=SQLNOTFOUND);$close read3;return(ll2);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -