📄 proc1.ec
字号:
#include <stdio.h>#include <ctype.h>#include <time.h>#include <stdlib.h>#include "def/dlmsg.h"$include sqlca;$include sqlda;$include sqltypes;EXEC SQL begin declare section;$include "def/stru.h";$include "/usr/hcdl/online/def/inout.h";EXEC SQL end declare section;proc70(msg)/*modified by zzw 8.5*/DL_MSG *msg;{ FILE *fp; $ long ksrq,jsrq; int i,bsc_bs,cxs_bs; float bsc_zje,cxs_zje; short mdy[3]; char year[5],month[3],ym[7]; $shzh_file shbsc_msg,old_shbsc_msg; int mon[12]={31,28,31,30,31,30,31,31,30,31,30,31}; strcpy(ym,msg->passwd2); memcpy(year,ym,4); year[4]='\0'; memcpy(month,ym+4,2); month[2]='\0'; mdy[2]=atoi(year); mdy[0]=atoi(month); mdy[1]=1; if(!((mdy[0]>=1)&&(mdy[0]<=12))) { memcpy(msg->rc,PATR_ERR,2); return(0); } rmdyjul(mdy,&ksrq); mdy[1]=mon[mdy[0]-1]; if((rleapyear(mdy[2]))&&(mdy[0]==2)) mdy[1]=29; rmdyjul(mdy,&jsrq); sprintf(sndname,"/usr/hcdl/dlmg/server/report/jjqd.prt"); fp=fopen(sndname,"w"); if(fp==NULL){ memcpy(msg->rc,PATR_ERR,2); return(0); } $declare shbsc_cur cursor for select * from shzhb order by sh; $open shbsc_cur; if(sqlca.sqlcode!=0){ memcpy(msg->rc,PATR_CXERR,2); fclose(fp); return(0); } $fetch shbsc_cur into $shbsc_msg; if(sqlca.sqlcode==100){ memcpy(msg->rc,PATR_ERR,2); $close shbsc_cur; fclose(fp); return(0); } if(sqlca.sqlcode!=0){ memcpy(msg->rc,PATR_ERR,2); $close shbsc_cur; fclose(fp); return(0); } old_shbsc_msg=shbsc_msg; bsc_zje=0.0; bsc_bs=0; while(1) { $declare j_cur cursor for select * from jjfkb where (jkrq>=$ksrq) and (jkrq<=$jsrq) and (sh=$shbsc_msg.sh); $open j_cur; if(sqlca.sqlcode!=0){ memcpy(msg->rc,PATR_CXERR,2); fclose(fp); return(0); } i=0; cxs_zje=0.0; cxs_bs=0; $fetch j_cur into $jjfk_msg; if(sqlca.sqlcode!=0 && sqlca.sqlcode!=100){ memcpy(msg->rc,PATR_ERR,2); $close j_cur; fclose(fp); return(0); } if(sqlca.sqlcode!=100) { cxs_zje+=atof(jjfk_msg.zje); cxs_bs++; fprintf(fp,"\n\n"); fprintf(fp," %4s年%2s月代理中心交警罚款现金轧帐清单\n",year,month); fprintf(fp,"==========================================================================================\n"); fprintf(fp,"记帐日期 凭证编号 交警队号 违章代号 截止日期 罚款金额 滞纳金 总金额 所号\n"); fprintf(fp,"------------------------------------------------------------------------------------------\n"); fprintf(fp,"%-12s%-10s%-10s",jjfk_msg.jkrq,jjfk_msg.pzbh,jjfk_msg.jjdh); fprintf(fp,"%-12s%-12s%",jjfk_msg.wzdh,jjfk_msg.jzrq); fprintf(fp,"%-10s%-10s",jjfk_msg.fkje,jjfk_msg.znj); fprintf(fp,"%-10s%-7s\n",jjfk_msg.zje,jjfk_msg.sh); i++; while(1) { $fetch j_cur into $jjfk_msg; if(sqlca.sqlcode==100) { memcpy(msg->rc,PATR_OK,2); $close j_cur; fprintf(fp," %-10s %-12.2f %-5d\n", shbsc_msg.sm,cxs_zje,cxs_bs); fprintf(fp,"===========================================================================================\n"); bsc_zje+=cxs_zje; bsc_bs+=cxs_bs; break; } if(sqlca.sqlcode!=0){ memcpy(msg->rc,PATR_ERR,2); $close j_cur; fclose(fp); return(0); } cxs_zje+=atof(jjfk_msg.zje); cxs_bs++; fprintf(fp,"%-12s%-10s%-10s",jjfk_msg.jkrq,jjfk_msg.pzbh,jjfk_msg.jjdh); fprintf(fp,"%-12s%-12s%",jjfk_msg.wzdh,jjfk_msg.jzrq); fprintf(fp,"%-10s%-10s",jjfk_msg.fkje,jjfk_msg.znj); fprintf(fp,"%-10s%-7s\n",jjfk_msg.zje,jjfk_msg.sh); i++; if(i>50){ i=0; fprintf(fp,"------------------------------------------------------------------------------------------\n"); /* fprintf(fp,"\f");*/ fprintf(fp,"\n\n"); fprintf(fp," 代理中心交警罚款现金轧帐清单\n"); fprintf(fp,"记帐日期 凭证编号 交警队号 违章代号 截止日期 罚款金额 滞纳金 总金额 所号\n"); fprintf(fp,"==========================================================================================\n"); fprintf(fp,"------------------------------------------------------------------------------------------\n"); } }/*end while cxs*/ }/*end !=100*/ $fetch shbsc_cur into $shbsc_msg; if(sqlca.sqlcode==100){ memcpy(msg->rc,PATR_OK,2); $close j_cur; $close shbsc_cur; fclose(fp); return(3); } if(sqlca.sqlcode!=0){ memcpy(msg->rc,PATR_ERR,2); $close j_cur; $close shbsc_cur; fclose(fp); return(0); } }/*end while shbsc*/}/*old proc70*//*proc70(msg)DL_MSG *msg;{ FILE *fp; $ char jkrq[11]; int i; memset(jkrq,'\0',11); memcpy(jkrq,msg->point+5,5); memcpy(jkrq+5,"/",1); memcpy(jkrq+6,msg->point,4); sprintf(sndname,"/usr/hcdl/dlmg/server/report/jjqd.prt"); fp=fopen(sndname,"w"); if(fp==NULL){ memcpy(msg->rc,PATR_ERR,2); return(0); } $declare j_cur cursor for select * from jjfkb where jkrq=$jkrq; $open j_cur; if(sqlca.sqlcode!=0){ memcpy(msg->rc,PATR_CXERR,2); return(0); } fprintf(fp,"\n\n"); fprintf(fp," 代理中心交警罚款现金轧帐清单\n"); fprintf(fp,"========================================================================================================================\n"); fprintf(fp,"交警代号 交警姓名 暂扣证号 凭证号 截止日期 交款日期 罚款原因 罚款金额 滞纳金 总金额 凭据号\n"); fprintf(fp,"------------------------------------------------------------------------------------------------------------------------\n"); i=0; while(1) { $fetch j_cur into $jjfk_msg; if(sqlca.sqlcode==100){ memcpy(msg->rc,PATR_OK,2); $close j_cur; fprintf(fp,"========================================================================================================================\n"); fprintf(fp,"\f"); fclose(fp); return(3); } if(sqlca.sqlcode!=0){ memcpy(msg->rc,PATR_ERR,2); $close j_cur; return(0); } fprintf(fp,"%-10s%-10s%-10s",jjfk_msg.jjdh,jjfk_msg.jjxm,jjfk_msg.zkzh); fprintf(fp,"%-12s%-12s%-12s",jjfk_msg.pzh,jjfk_msg.jzrq,jjfk_msg.jkrq); fprintf(fp,"%-18s",jjfk_msg.fkyy); fprintf(fp,"%-10s%-10s",jjfk_msg.fkje,jjfk_msg.znj); fprintf(fp,"%-10s%-7s\n",jjfk_msg.zje,jjfk_msg.pjh); i++; if(i>50){ i=0; fprintf(fp,"-------------------------------------------------------------------------------------------------------------------------\n"); fprintf(fp,"\f"); fprintf(fp,"\n\n"); fprintf(fp," 代理中心交警罚款现金轧帐清单\n"); fprintf(fp,"========================================================================================================================\n"); fprintf(fp,"交警代号 交警姓名 暂扣证号 凭证号 截止日期 交款日期 罚款原因 罚款金额 滞纳金 总金额 凭据号\n"); fprintf(fp,"------------------------------------------------------------------------------------------------------------------------\n"); } }}*/proc30(msg)DL_MSG *msg;{system("tbunload -t /usr/hcdl/dlmg/server/report/bkdb -b 512 -s 400000000 hcdlyw");sprintf(sndname,"%s","/usr/hcdl/dlmg/server/report/bkdb");memcpy(msg->rc,PATR_OK,2);return(3);}proc31(msg)DL_MSG *msg;{rcvfp("/usr/hcdl/dlmg/server/report/bkdb");system("tbload -t /usr/hcdl/dlmg/server/report/bkdb -b 512 -s 400000000 hcdlyw"); }/*proc92(msg)DL_MSG *msg;{char str[256];FILE *fp;$declare cur_curs scroll cursor for select * from ljlsb where zt2 = "0" and dslx = "005" and jybz = "0" order by lsh; $open cur_curs;if(sqlca.sqlcode!=0){ memcpy(msg->rc,PATR_YBC,2); return(0);}strcpy(sndname,"/usr/hcdl/dlmg/server/report/loadfile");fp=fopen(sndname,"w"); while (1) { $fetch cur_curs into $ljls_msg; if(sqlca.sqlcode<0) { memcpy(msg->rc,PATR_YBC,2); return(0); } if(sqlca.sqlcode==100) break; fprintf(fp," "); memcpy(str,ljls_msg.lsh,4); str[4]=0x0; fprintf(fp,"%s",str); fprintf(fp," "); memcpy(str,ljls_msg.zh,20); str[20]=0x0; fprintf(fp,"%s",str); fprintf(fp," "); memcpy(str,ljls_msg.xm,28); str[28]=0x0; fprintf(fp,"%s",str); memcpy(str,ljls_msg.je,13); str[13]=0x0; fprintf(fp,"%s",str); memcpy(str,ljls_msg.sh,4); str[4]=0x0; fprintf(fp,"%s",str); memcpy(str,ljls_msg.jlyh,4); str[4]=0x0; fprintf(fp,"%s",str); memcpy(str,ljls_msg.jlyh,4); str[4]=0x0; fprintf(fp,"%s",str); memcpy(str,ljls_msg.bc,1); str[1]=0x0; fprintf(fp,"%s",str); memcpy(str,ljls_msg.xmh,4); str[4]=0x0; fprintf(fp,"%s",str); memcpy(str,ljls_msg.je,13); str[13]=0x0; fprintf(fp,"%s",str); memcpy(str,ljls_msg.kprq+8,2); str[2]=0x0; fprintf(fp,"%s",str); memcpy(str,ljls_msg.kprq,2); str[2]=0x0; fprintf(fp,"%s",str); memcpy(str,ljls_msg.kprq+3,2); str[2]=0x0; fprintf(fp,"%s",str); fprintf(fp," "); memcpy(str,ljls_msg.jksj,6); str[6]=0x0; fprintf(fp,"%s",str); memcpy(str,ljls_msg.dyrq+8,2); str[2]=0x0; fprintf(fp,"%s",str); memcpy(str,ljls_msg.dyrq,2); str[2]=0x0; fprintf(fp,"%s",str); memcpy(str,ljls_msg.dyrq+3,2); str[2]=0x0; fprintf(fp,"%s",str); fprintf(fp," "); memcpy(str,ljls_msg.dycs,4); str[4]=0x0; fprintf(fp,"%s",str); memcpy(str,ljls_msg.wfpjh,8); str[8]=0x0; fprintf(fp,"%s",str); fprintf(fp," \n",str); }$close cur_curs;fclose(fp);memcpy(msg->rc,PATR_OK,2);return(3);}*//*proc92(msg)DL_MSG *msg;{$double ye;$int yn;$char zh[9];char str[100];yn=1;$begin work;while(yn){ $declare sfj_cur cursor for select * from sfjmxb; $open sfj_cur; if(sqlca.sqlcode!=0){ memcpy(msg->rc,PATR_CXERR,2); $rollback work; return(0); }$fetch sfj_cur into $sfjmx_msg;if(sqlca.sqlcode==100){ memcpy(msg->rc,PATR_OK,2); $commit work; return(1); } if(sqlca.sqlcode!=0){ memcpy(msg->rc,PATR_ERR,2); $close sfj_cur; $rollback work; return(0); } memset(zh,'\0',9); memcpy(zh,sfjmx_msg.sfdwzh,9); $select ye into $ye from sfjzhb where sfdwzh=$sfjmx_msg.sfdwzh; if(sqlca.sqlcode!=0){ memcpy(msg->rc,PATR_ERR,2); $close sfj_cur; $rollback work; return(0); } memcpy(&sfjls_msg,&sfjmx_msg,sizeof(sfjmx_file)); ye=ye+atof(sfjmx_msg.sfje); sprintf(sfjls_msg.ye,"%13.2f",ye); $insert into lssfjmx values($sfjls_msg); if(sqlca.sqlcode!=0){ memcpy(msg->rc,PATR_ERR,2); $close sfj_cur; $rollback work; return(0); } while(1){ $fetch sfj_cur into $sfjmx_msg; if(sqlca.sqlcode==100) break; if(sqlca.sqlcode!=0){ memcpy(msg->rc,PATR_ERR,2); $close sfj_cur; $rollback work; return(0); } if(strcmp(sfjmx_msg.sfdwzh,zh,9)==0){ memcpy(&sfjls_msg,&sfjmx_msg,sizeof(sfjmx_file)); ye=ye+atof(sfjmx_msg.sfje); sprintf(sfjls_msg.ye,"%13.2f",ye); $insert into lssfjmx values($sfjls_msg); if(sqlca.sqlcode!=0){ $rollback work; memcpy(msg->rc,PATR_ERR,2); $close sfj_cur; return(0); } } } $update sfjzhb set ye=$ye where sfdwzh=$zh; $close sfj_cur; $delete from sfjmxb where sfdwzh=$zh; if(sqlca.sqlcode!=0){ memcpy(msg->rc,PATR_ERR,2); $close sfj_cur; $rollback work; return(0); } $select count(*) into $yn from sfjmxb; if(sqlca.sqlcode!=0){ memcpy(msg->rc,PATR_ERR,2); $close sfj_cur; $rollback work; return(0); }}memcpy(msg->rc,PATR_OK,2);$commit work;return(1);}*/proc90(msg)DL_MSG *msg;{FILE *fp;int i;$char ksrq[11];$char jsrq[11];$char dwfzh[17];$int count1;$char mc[41],qcjy[14],zymc[11];$float ye;memset(ksrq,'\0',11);memset(jsrq,'\0',11);memset(dwfzh,'\0',9);memcpy(ksrq,msg->point+5,5);memcpy(ksrq+5,"/",1);memcpy(ksrq+6,msg->point,4);memcpy(jsrq,msg->passwd2+5,5);memcpy(jsrq+5,"/",1);memcpy(jsrq+6,msg->passwd2,4);memcpy(dwfzh,msg->passwd1,10);for(i=10;i<16;i++) dwfzh[i]=' ';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -