📄 proc.ec
字号:
#include <stdio.h>#include <ctype.h>#include <time.h>#include <curses.h>$include sqlca;$include sqlda;$include sqltypes;#include "def/dlmsg.h"EXEC SQL begin declare section;$include "def/stru.h";$include "/usr/hcdl/online/def/inout.h";EXEC SQL end declare section;proc(socketfd)int socketfd;{ if(rcvmsg(&msg)==1) { switch(procm(&msg)){ case 0: case 1: sndmsg(&msg); break; case 2: sndmsg(&msg); switch(atoi(msg.flag)){ case 1: sndbuf(&oper_msg,sizeof(oper_file));break; case 2: sndbuf(&ljls_msg,sizeof(ljls_file));break; case 3: sndbuf(&lsls_msg,sizeof(lsls_file));break; case 4: sndbuf(&wtdw_msg,sizeof(wtdw_file));break; case 5: sndbuf(&lskz_msg,sizeof(lskz_file));break; case 6: sndbuf(&jjdm_msg,sizeof(jjdm_file));break; case 7: sndbuf(&fktl_msg,sizeof(fktl_file));break; case 8: sndbuf(&jjfk_msg,sizeof(jjfk_file));break; case 9: sndbuf(&xjzz_msg,sizeof(xjzz_file));break; case 10: sndbuf(&cxsz_msg,sizeof(cxsz_file));break; case 11: sndbuf(&funa_msg,sizeof(funa_file));break; case 14: sndbuf(&dslx_msg,sizeof(dslx_file));break; case 15: sndbuf(&xfmx_msg,sizeof(xfmx_file));break; case 16: sndbuf(&wtzl_msg,sizeof(wtzl_file));break; case 17: sndbuf(&shzh_msg,sizeof(shzh_file));break; case 18: sndbuf(&phwt_msg,sizeof(phwt_file));break; case 19: sndbuf(&phls_msg,sizeof(phls_file));break; case 20: sndbuf(&phdk_msg,sizeof(phls_file));break; case 21: sndbuf(&djgy_msg,sizeof(djgy_file));break; case 22: sndbuf(&sfjzh_msg,sizeof(sfjzh_file));break; case 23: sndbuf(&sfjxm_msg,sizeof(sfjxm_file));break; default:break; } break; case 3: sndmsg(&msg); sndfp(sndname); break; default: break; } } return(1);}procm(msg)DL_MSG *msg;{ if(memcmp(msg->trancode,"01",2)==0) return(proc01(msg)); if(memcmp(msg->trancode,"04",2)==0) return(proc04(msg)); if(memcmp(msg->trancode,"11",2)==0) return(proc11(msg)); if(memcmp(msg->trancode,"12",2)==0) return(proc12(msg)); if(memcmp(msg->trancode,"13",2)==0) return(proc13(msg)); if(memcmp(msg->trancode,"14",2)==0) return(proc14(msg)); if(memcmp(msg->trancode,"15",2)==0) return(proc15(msg)); if(memcmp(msg->trancode,"21",2)==0) return(proc21(msg)); if(memcmp(msg->trancode,"22",2)==0) return(proc22(msg)); if(memcmp(msg->trancode,"30",2)==0) return(proc30(msg)); if(memcmp(msg->trancode,"31",2)==0) return(proc31(msg)); if(memcmp(msg->trancode,"40",2)==0) return(proc40(msg)); if(memcmp(msg->trancode,"42",2)==0) return(proc42(msg)); if(memcmp(msg->trancode,"43",2)==0) return(proc43(msg)); if(memcmp(msg->trancode,"47",2)==0) return(proc47(msg)); if(memcmp(msg->trancode,"48",2)==0) return(proc48(msg)); if(memcmp(msg->trancode,"49",2)==0) return(proc49(msg)); if(memcmp(msg->trancode,"50",2)==0) return(proc50(msg)); if(memcmp(msg->trancode,"51",2)==0) return(proc51(msg)); if(memcmp(msg->trancode,"55",2)==0) return(proc55(msg)); if(memcmp(msg->trancode,"56",2)==0) return(proc56(msg)); if(memcmp(msg->trancode,"57",2)==0) return(proc57(msg)); if(memcmp(msg->trancode,"70",2)==0) return(proc70(msg)); if(memcmp(msg->trancode,"71",2)==0) return(proc71(msg)); if(memcmp(msg->trancode,"72",2)==0) return(proc72(msg)); if(memcmp(msg->trancode,"73",2)==0) return(proc73(msg)); if(memcmp(msg->trancode,"80",2)==0) return(proc80(msg)); if(memcmp(msg->trancode,"90",2)==0) return(proc90(msg)); if(memcmp(msg->trancode,"95",2)==0) return(proc95(msg)); if(memcmp(msg->trancode,"91",2)==0) return(proc91(msg)); if(memcmp(msg->trancode,"93",2)==0) return(proc93(msg)); if(memcmp(msg->trancode,"96",2)==0) return(proc96(msg)); if(memcmp(msg->trancode,"98",2)==0) return(proc98(msg)); if(memcmp(msg->trancode,"99",2)==0) return(proc99(msg));}proc04(msg) /* check passwd */DL_MSG *msg;{ $char oper_code[3]; $char oper_level[2]; $char oper_passwd[7]; $char oper_name[9]; long date; memset(msg->rc,' ',2); memset(oper_level,'\0',2); memset(oper_code,'\0',3); memset(oper_passwd,'\0',7); memcpy(oper_code,msg->teller,2); memcpy(oper_passwd,msg->passwd1,6); $select oper_level,oper_name into $oper_level,$oper_name from operater_arch where oper_code=$oper_code and oper_passwd=$oper_passwd; if (sqlca.sqlcode != 0) { memcpy(msg->rc,PATR_PS,2); return(0); } rtoday(&date); rfmtdate(date,"yyyy/mm/dd",msg->passwd2); memcpy(msg->temp,oper_name,8); memcpy(msg->rc,PATR_OK,2); return(1);}proc11(msg)/*增加*/ DL_MSG *msg;{ int check; $char op_code[3]; $char oper_l[2]; $float qcjy; double atof(); memset(msg->rc," ",2); switch(atoi(msg->flag)){ case 1: memset(&oper_msg,0,sizeof(oper_file)); if(rcvbuf(&oper_msg,sizeof(oper_file))<0){ memcpy(msg->rc,PATR_INSERT);return(0);} break; case 2: memset(&jjdm_msg,0,sizeof(jjdm_file)); if(rcvbuf(&jjdm_msg,sizeof(jjdm_file))<0){ memcpy(msg->rc,PATR_INSERT);return(0);} break; case 3: memset(&fktl_msg,0,sizeof(fktl_file)); if(rcvbuf(&fktl_msg,sizeof(fktl_file))<0){ memcpy(msg->rc,PATR_INSERT);return(0);} break; case 4: memset(&wtdw_msg,0,sizeof(wtdw_file)); if(rcvbuf(&wtdw_msg,sizeof(wtdw_file))<0){ memcpy(msg->rc,PATR_INSERT);return(0);} break; case 11: memset(&funa_msg,0,sizeof(funa_file)); if(rcvbuf(&funa_msg,sizeof(funa_file))<0){ memcpy(msg->rc,PATR_INSERT);return(0);} break; case 14: memset(&dslx_msg,0,sizeof(dslx_file)); if(rcvbuf(&dslx_msg,sizeof(dslx_file))<0){ memcpy(msg->rc,PATR_INSERT);return(0);} break; case 17: memset(&shzh_msg,0,sizeof(shzh_file)); if(rcvbuf(&shzh_msg,sizeof(shzh_file))<0){ memcpy(msg->rc,PATR_INSERT);return(0);} break; case 21: memset(&djgy_msg,0,sizeof(djgy_file)); if(rcvbuf(&djgy_msg,sizeof(djgy_file))<0){ memcpy(msg->rc,PATR_INSERT);return(0);} break; case 22: memset(&sfjzh_msg,0,sizeof(sfjzh_file)); if(rcvbuf(&sfjzh_msg,sizeof(sfjzh_file))<0){ memcpy(msg->rc,PATR_INSERT);return(0);} break; case 23: memset(&sfjxm_msg,0,sizeof(sfjxm_file)); if(rcvbuf(&sfjxm_msg,sizeof(sfjxm_file))<0){ memcpy(msg->rc,PATR_INSERT);return(0);} break; default:break; } memset(op_code,'\0',3); strmove(op_code,msg->teller,2); $select oper_level into $oper_l from operater_arch where oper_code=$op_code; check=fun_check(msg->teller,"proc11",oper_l); if(check==1){memcpy(msg->rc,PATR_WCCX,2);return(0);} if(check==2){memcpy(msg->rc,PATR_WQ,2);return(0);} if(check==3){memcpy(msg->rc,PATR_QTB,2);return(0);} if(check==4){memcpy(msg->rc,PATR_XGC,2);return(0);}$begin work; switch(atoi(msg->flag)){ case 1: $select unique oper_code from operater_arch where oper_code=$oper_msg.oper_code; break; case 2: $select unique dm from jjdmb where dm=$jjdm_msg.dm; break; case 3: $select unique dm from fktlb where dm=$fktl_msg.dm; break; case 4: $select unique dwdm from wtdwb where dwdm=$wtdw_msg.dwdm; break; case 11: $select unique fun_n from fun_adm where fun_n=$funa_msg.fun_n; break; case 14: $select unique dslx from dslxb where dslx=$dslx_msg.dslx; break; case 17: $select unique sh from shzhb where sh=$shzh_msg.sh; break; case 21: $select unique gyh from djgyb where gyh=$djgy_msg.gyh; break; case 22: $select unique sfdwzh from sfjzhb where sfdwzh=$sfjzh_msg.sfdwzh; break; case 23: $select unique sfxm from sfjxmb where sfxm=$sfjxm_msg.sfxm; break; default:break; } if(sqlca.sqlcode==0) { memcpy(msg->rc,PATR_CF,2); $rollback work; return(0); } switch(atoi(msg->flag)){ case 1: $insert into operater_arch values($oper_msg); break; case 2: $insert into jjdmb values($jjdm_msg); case 3: $insert into fktlb values($fktl_msg); break; case 4: $insert into wtdwb values($wtdw_msg); break; case 11: $insert into fun_adm values($funa_msg); break; case 14: $insert into dslxb values($dslx_msg); break; case 17: $insert into shzhb values($shzh_msg); break; case 21: $insert into djgyb values($djgy_msg); break; case 22: qcjy=atof(sfjzh_msg.qcjy); $insert into sfjzhb (sfdwzh,sfdwmc,qcjy) values($sfjzh_msg.sfdwzh,$sfjzh_msg.sfdwmc,$qcjy); break; case 23: $insert into sfjxmb values($sfjxm_msg); break; default:break; } if(sqlca.sqlcode!=0) {printf("sql=%d",sqlca.sqlcode); memcpy(msg->rc,PATR_INSERT,2); $rollback work; return(0); } else { $commit work; memcpy(msg->rc,PATR_OK,2); return(1); } }proc12(msg)/*查询*/DL_MSG *msg;{ int flag_f=0,i; $long whee; $char str[301],da[11]; char str1[301],amt[25]; memset(msg->rc," ",2); memset(str1,'\0',301); strmove(str1,msg->temp,300);sprintf(str,"select * from %s %s order by %s",msg->table,str1,msg->order); $prepare s_1 from $str; $declare cur_cur scroll cursor for s_1 ; $open cur_cur; if (sqlca.sqlcode != 0) { memcpy(msg->rc,PATR_CXERR,2); return (0); } switch(atoi(msg->next_pre)){ case 1: whee=atol(msg->point)+1;break; case 2: whee=atol(msg->point)-1;break; default: whee=atol(msg->point);break; } switch(atoi(msg->flag)){ case 1: $fetch ABSOLUTE $whee cur_cur into $oper_msg; break; case 2: $fetch ABSOLUTE $whee cur_cur into $ljls_msg; break; case 3: $fetch ABSOLUTE $whee cur_cur into $lsls_msg; break; case 4: $fetch ABSOLUTE $whee cur_cur into $wtdw_msg; break; case 5: $fetch ABSOLUTE $whee cur_cur into $lskz_msg; break; case 6: $fetch ABSOLUTE $whee cur_cur into $jjdm_msg; break; case 7: $fetch ABSOLUTE $whee cur_cur into $fktl_msg; break; case 8: $fetch ABSOLUTE $whee cur_cur into $jjfk_msg; break; case 9: $fetch ABSOLUTE $whee cur_cur into $xjzz_msg; break; case 10: $fetch ABSOLUTE $whee cur_cur into $cxsz_msg; break; case 11: $fetch ABSOLUTE $whee cur_cur into $funa_msg; break; case 14: $fetch ABSOLUTE $whee cur_cur into $dslx_msg; break; case 15: $fetch ABSOLUTE $whee cur_cur into $xfmx_msg; break; case 16: $fetch ABSOLUTE $whee cur_cur into $wtzl_msg; break; case 17: $fetch ABSOLUTE $whee cur_cur into $shzh_msg; break; case 18: $fetch ABSOLUTE $whee cur_cur into $phwt_msg; break; case 19: $fetch ABSOLUTE $whee cur_cur into $phls_msg; break; case 20: $fetch ABSOLUTE $whee cur_cur into $phdk_msg; break; case 21: $fetch ABSOLUTE $whee cur_cur into $djgy_msg; break; case 22: $fetch ABSOLUTE $whee cur_cur into $sfjzh_msg; break; case 23: $fetch ABSOLUTE $whee cur_cur into $sfjxm_msg; break; default:break; } if (sqlca.sqlcode != 0) flag_f=1; $close cur_cur; $free cur_cur; if( flag_f==1 ) { memcpy(msg->rc,PATR_CXNO,2); return(0); } switch(atoi(msg->next_pre)){ case 1: sprintf(msg->point,"%d",atol(msg->point)+1);break; case 2: sprintf(msg->point,"%d",atol(msg->point)-1);break; default:break; } memcpy(msg->rc,PATR_OK,2); return(2);}proc13(msg)/*修改*/ DL_MSG *msg;{ $float qcjy; double atof(); memset(msg->rc," ",2); switch(atoi(msg->flag)){ case 1: memset(&oper_msg,0,sizeof(oper_file)); if(rcvbuf(&oper_msg,sizeof(oper_file))<0){ memcpy(msg->rc,PATR_UPDATE);return(0);} break; case 2:/*jjdm*/ memset(&jjdm_msg,0,sizeof(jjdm_file)); if(rcvbuf(&jjdm_msg,sizeof(jjdm_file))<0){ memcpy(msg->rc,PATR_UPDATE);return(0);} break; case 3:/*fktl*/ memset(&fktl_msg,0,sizeof(fktl_file)); if(rcvbuf(&fktl_msg,sizeof(fktl_file))<0){ memcpy(msg->rc,PATR_UPDATE);return(0);} break; case 4: memset(&wtdw_msg,0,sizeof(wtdw_file)); if(rcvbuf(&wtdw_msg,sizeof(wtdw_file))<0){ memcpy(msg->rc,PATR_UPDATE);return(0);} break; case 11: memset(&funa_msg,0,sizeof(funa_file)); if(rcvbuf(&funa_msg,sizeof(funa_file))<0){ memcpy(msg->rc,PATR_UPDATE);return(0);} break; case 14: memset(&dslx_msg,0,sizeof(dslx_file)); if(rcvbuf(&dslx_msg,sizeof(dslx_file))<0){ memcpy(msg->rc,PATR_UPDATE);return(0);} break; case 17:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -