📄 proc2.ec
字号:
from ljlsb where sh=$p_sh order by jlyh,lsh; $open ls_cur; if(sqlca.sqlcode!=0) { printf("sqlcode=%d\n",sqlca.sqlcode); puts("select err2 !!"); memcpy(msg->rc,PATR_CXERR,2); return(0); } $select count(*) into $p_rec from ljlsb where sh=$p_sh; if(p_rec==0) { printf("sh=%s",p_sh); continue; }; rtoday(&date); rfmtdate(date,"yyyy/mm/dd",ymd); fprintf(fp,"\n"); fprintf(fp," (%s)代理业务流水清单\n",p_sm); fprintf(fp,"\n\n"); fprintf(fp,"操作员:%s 打印日期:%s\n", msg->teller,ymd); fprintf(fp,"=================================================================================================================================================\n"); fprintf(fp,"流水 类型 帐号 交易 单位 用户 凭证 柜员 总金额 姓名 标志 时间\n"); fprintf(fp,"-------------------------------------------------------------------------------------------------------------------------------------------------\n"); i=0; for(k=0;k<p_rec;k++){ $fetch ls_cur into $p_ljlsb; if(sqlca.sqlcode!=0) { printf("sqlcode=%d\n",sqlca.sqlcode); puts("fetch err !!"); memcpy(msg->rc,PATR_CXNO,2); return(0); }; sprintf(str1,"%.2lf",p_ljlsb.je); sprintf(str2,"%ld",p_ljlsb.lsh); sprintf(str3,"%6s",p_ljlsb.jksj); memcpy(str3,p_ljlsb.jksj,2); memcpy(str3+2,":",1); memcpy(str3+3,p_ljlsb.jksj+2,2); memcpy(str3+5,":",1); memcpy(str3+6,p_ljlsb.jksj+4,2); str3[8]='\0'; fprintf(fp,"%4s %3s %30s %4s %9s %15s %10s %4s %15s %28s %1s %8s\n",str2,p_ljlsb.dslx,p_ljlsb.zh,p_ljlsb.jym,p_ljlsb.dwdm,p_ljlsb.yhh,p_ljlsb.wfpjh,p_ljlsb.jlyh,str1,p_ljlsb.xm,p_ljlsb.jybz,str3); i++; /*满66行换页*/ if (i >50){ fprintf(fp,"------------------------------------------------------------------------------------------------------------------------------------------------\n"); fprintf(fp,"\f"); i=0; fprintf(fp,"\n"); fprintf(fp," (%s)代理业务流水清单\n",p_sm); fprintf(fp,"\n\n"); fprintf(fp,"=========================================================================================================================================\n"); fprintf(fp,"流水 类型 帐号 交易 单位 用户 凭证 柜员 总金额 姓名 标志 时间\n"); fprintf(fp,"------------------------------------------------------------------------------------------------------------------------------------------------\n"); }; } fprintf(fp,"------------------------------------------------------------------------------------------------------------------------------------------------\n"); } $close ls_cur; $close sh_cur; fclose(fp); memcpy(msg->rc,PATR_OK,2); return(3); };proc50(msg)/*将代扣文本文件转入pbljlsb表*/DL_MSG *msg; /* 1.insert into pblslsb from pbljlsb which satisfy print_flag="1" or not bank_flag="0" 2.delete all records from pbljlsb which satisfy print_flag="1" or not bank_flag="0" 3.insert all records read from from_pb.txt file into pbljlsb 4.create to_es9000.txt file */{$ pblj_file pblj;$ float prem_due,modal_prem,sub_prem,tot_modal_prem,prem_bal; $ float pol_bal,real_prem;$ char date1[11],date2[11],date3[11];char je1[13],je2[13];char ret[10];int i=0;float je=0.0;FILE *fp,*fp1;fp=fopen("/usr/hcdl/dlmg/server/report/from_pb.txt","r");if(fp==NULL){memcpy(msg->rc,PATR_NOFILE,2); return(0);}fp1=fopen("/usr/hcdl/dlmg/server/report/pbto_9000.txt","w");if(fp1==NULL){fclose(fp);memcpy(msg->rc,PATR_NOFILE,2); return(0);}$begin work;$lock table pbljlsb in exclusive mode;$lock table pblslsb in exclusive mode;$insert into pblslsb select * from pbljlsb where not bank_flag="0" or print_flag="1";if(sqlca.sqlcode!=0 && sqlca.sqlcode!=SQLNOTFOUND) { $ rollback work; memcpy(msg->rc,PATR_INSERT,2); fclose(fp); fclose(fp1); return(0); }$delete from pbljlsb where not bank_flag="0" or print_flag="1";if(sqlca.sqlcode!=0 && sqlca.sqlcode!=SQLNOTFOUND) { $ rollback work; memcpy(msg->rc,PATR_INSERT,2); fclose(fp); fclose(fp1); return(0); }strcpy(pblj.bank_flag," ");strcpy(pblj.print_flag,"0");while(!feof(fp)){ fscanf(fp,"%12c%8c%12c%10c%8c%8c%12c%16c%2c%4c%3c%8c%10c%10c%10c%10c%10c%10c%8c%8c%8c\n", pblj.bank_accno,pblj.app_name,pblj.rcptno, pblj.prem_due,pblj.pay_to_date,pblj.ins_name,pblj.polno, pblj.old_polno,pblj.prem_term,pblj.prem_type, pblj.prem_times,pblj.pay_next_date,pblj.modal_prem,pblj.sub_prem, pblj.tot_modal_prem,pblj.prem_bal,pblj.pol_bal,pblj.real_prem, pblj.col_name,pblj.sys_date,ret); pblj.bank_accno[12]='\0'; pblj.app_name[8]='\0'; pblj.rcptno[12]='\0'; pblj.prem_due[10]='\0'; pblj.pay_to_date[8]='\0'; pblj.ins_name[8]='\0'; pblj.polno[12]='\0'; pblj.old_polno[16]='\0'; pblj.pay_next_date[8]='\0'; pblj.modal_prem[10]='\0'; pblj.sub_prem[10]='\0'; pblj.tot_modal_prem[10]='\0'; pblj.prem_bal[10]='\0'; pblj.pol_bal[10]='\0'; pblj.real_prem[10]='\0'; pblj.col_name[8]='\0'; pblj.sys_date[8]='\0'; pblj.prem_term[2]='\0'; pblj.prem_type[4]='\0'; pblj.prem_times[3]='\0'; fprintf(fp1,"%12s%-8.8s%12s%10s%8s\n", pblj.bank_accno,pblj.app_name,pblj.rcptno, pblj.prem_due,pblj.pay_to_date); prem_due=atof(pblj.prem_due); modal_prem=atof(pblj.modal_prem); sub_prem=atof(pblj.sub_prem); tot_modal_prem=atof(pblj.tot_modal_prem); prem_bal=atof(pblj.prem_bal); pol_bal=atof(pblj.pol_bal); real_prem=atof(pblj.real_prem); memcpy(date1,pblj.pay_to_date+4,2);/*month*/ memcpy(date1+2,"/",1); memcpy(date1+3,pblj.pay_to_date+6,2);/*day*/ memcpy(date1+5,"/",1); memcpy(date1+6,pblj.pay_to_date,4);/*year*/ date1[10]='\0'; memcpy(date2,pblj.pay_next_date+4,2);/*month*/ memcpy(date2+2,"/",1); memcpy(date2+3,pblj.pay_next_date+6,2);/*day*/ memcpy(date2+5,"/",1); memcpy(date2+6,pblj.pay_next_date,4);/*year*/ date2[10]='\0'; memcpy(date3,pblj.sys_date+4,2);/*month*/ memcpy(date3+2,"/",1); memcpy(date3+3,pblj.sys_date+6,2);/*day*/ memcpy(date3+5,"/",1); memcpy(date3+6,pblj.sys_date,4);/*year*/ date3[10]='\0'; if(strcmp(pblj.bank_accno,"999999999999")!=0) { $insert into pbljlsb( bank_accno,app_name,rcptno, prem_due,pay_to_date,ins_name,polno, old_polno,prem_term,prem_type, prem_times,pay_next_date,modal_prem,sub_prem, tot_modal_prem,prem_bal,pol_bal,real_prem,col_name, sys_date,bank_flag,print_flag) values($pblj.bank_accno,$pblj.app_name,$pblj.rcptno, $prem_due,$date1,$pblj.ins_name,$pblj.polno, $pblj.old_polno,$pblj.prem_term,$pblj.prem_type, $pblj.prem_times,$date2,$modal_prem, $sub_prem,$tot_modal_prem,$prem_bal,$pol_bal,$real_prem, $pblj.col_name,$date3,$pblj.bank_flag,$pblj.print_flag); i++; je=je+prem_due; if(sqlca.sqlcode!=0) { $ rollback work; memcpy(msg->rc,PATR_INSERT,2); fclose(fp); fclose(fp1); return(0); } } else { sprintf(je1,"%12.2f",je); sprintf(je2,"%12.2f",atof(pblj.prem_due)); if(i!=atol(pblj.rcptno)) { printf("笔数不一致\n"); printf("tot=%d\n",i); printf("999=%ld\n",atol(pblj.rcptno)); } if(strcmp(je1,je2)) { printf("tot=%s\n",je1); printf("999=%s\n",je2); printf("金额不一致\n"); } } } $commit work; fclose(fp); fclose(fp1); memcpy(msg->rc,PATR_OK,2); return(1);}proc51(msg)DL_MSG *msg;{$ pblj_file pblj;$ float prem_due; $ char date1[11];char je1[13],je2[13];int i8=0,i7=0;float je8=0.0,je7=0.0;FILE *fp;system("cp /usr/hcdl/dlmg/server/report/pbfrom_9000.txt to_pb.txt");fp=fopen("/usr/hcdl/dlmg/server/report/pbfrom_9000.txt","r");if(fp==NULL){memcpy(msg->rc,PATR_NOFILE,2); return(0);}$begin work;$lock table pbljlsb in exclusive mode;while(!feof(fp)){ fscanf(fp,"%12s%8s%12s%12s%8s%1s\n", pblj.bank_accno,pblj.app_name,pblj.rcptno, pblj.prem_due,pblj.pay_to_date,pblj.bank_flag); prem_due=atof(pblj.prem_due); if((strcmp(pblj.bank_accno,"888888888888")!=0)&& (strcmp(pblj.bank_accno,"777777777777")!=0)) { memcpy(date1,pblj.pay_to_date+4,2);/*month*/ memcpy(date1+2,"/",1); memcpy(date1+3,pblj.pay_to_date+6,2);/*day*/ memcpy(date1+5,"/",1); memcpy(date1+6,pblj.pay_to_date,4);/*year*/ date1[10]='\0'; $update pbljlsb set(bank_flag)=($pblj.bank_flag) where bank_accno=$pblj.bank_accno and pay_to_date=$date1; if(sqlca.sqlcode!=0) { printf("sql=%d",sqlca.sqlcode); $ rollback work; memcpy(msg->rc,PATR_INSERT,2); fclose(fp); return(0); } if(strcmp(pblj.bank_flag,"0")==0) { i8++; je8=je8+prem_due; } else { i7++; je7=je7+prem_due; } } else { if(strcmp(pblj.bank_accno,"888888888888")==0) { sprintf(je1,"%12.2f",je8); sprintf(je2,"%12.2f",atof(pblj.prem_due)); if(i8!=atol(pblj.rcptno)) { printf("成功笔数不一致\n"); printf("tot=%d\n",i8); printf("999=%ld\n",atol(pblj.rcptno)); } if(strcmp(je1,je2)) { printf("成功金额不一致\n"); printf("tot=%s\n",je1); printf("999=%s\n",je2); } } else { sprintf(je1,"%12.2f",je7); sprintf(je2,"%12.2f",atof(pblj.prem_due)); if(i7!=atol(pblj.rcptno)) { printf("失败笔数不一致\n"); printf("tot=%d\n",i7); printf("999=%ld\n",atol(pblj.rcptno)); } if(strcmp(je1,je2)) { printf("失败金额不一致\n"); printf("tot=%s\n",je1); printf("999=%s\n",je2); } } } } $commit work; fclose(fp); memcpy(msg->rc,PATR_OK,2); return(1);}proc55(msg) /* 生成财政局数据文件 */DL_MSG *msg;{ $sfjmx_file sfmx; FILE *fp; $char wdh[8],rq[11],sh[5],zybm[3],bsc[5],zymc[11]; float sfje; double atof(); char errmsg[51]; char ymd[11],yy[3],mm[3],dd[3]; long today_rq; rtoday(&today_rq); rfmtdate(today_rq,"yyyy/mm/dd",ymd); memcpy(yy,ymd+2,2); yy[2]='\0'; memcpy(mm,ymd+5,2); mm[2]='\0'; memcpy(dd,ymd+8,2); dd[2]='\0'; sprintf(sndname,"/usr/hcdl/dlmg/server/report/01%2s%2s%2s.txt", yy,mm,dd); fp=fopen(sndname,"w"); if (fp==NULL) { puts("open files err !!"); memcpy(msg->rc,PATR_ERR,2); return(0); } $declare sfmx_cur cursor for select * into $sfmx from sfjmxb order by sfdwzh; $open sfmx_cur; if(sqlca.sqlcode!=0) { puts("select err1 !!"); memcpy(msg->rc,PATR_CXERR,2); return(0); } while(1) { $fetch sfmx_cur; if(sqlca.sqlcode==SQLNOTFOUND) break; if(sqlca.sqlcode!=0) { puts("select err2 !!"); memcpy(msg->rc,PATR_CXERR,2); $close sfmx_cur; $free sfmx_cur; fclose(fp); return(0); } $select zybm,zymc into $zybm,$zymc from zyb where $sfmx.zy=zybm; if(sqlca.sqlcode!=0) { sprintf(errmsg,"摘要=%s失败\n",sfmx.zy); puts(errmsg); memcpy(msg->rc,PATR_CXERR,2); $close sfmx_cur; $free sfmx_cur; fclose(fp); return(0); } memcpy(sh+1,sfmx.gyh,3); sh[0]='0'; sh[4]='\0'; wdh[0]='1'; $select bsc into $bsc from shzhb where $sh=sh; if(sqlca.sqlcode!=0) { sprintf(errmsg,"所=%s失败%d\n",sh,sqlca.sqlcode); puts(errmsg); memcpy(msg->rc,PATR_CXERR,2); $close sfmx_cur; $free sfmx_cur; fclose(fp); return(0); } memcpy(wdh+1,bsc+1,3); memcpy(wdh+4,sfmx.gyh,3); wdh[7]='\0'; memcpy(rq,sfmx.jkrq+6,4); rq[4]='/'; memcpy(rq+5,sfmx.jkrq,6); rq[10]='\0'; sfje=atof(sfmx.sfje); fprintf(fp,"%10s%-10.10s%-5.5s%14s%-10s%-10s%015.2f%-10s%40s\n", rq,sfmx.sfdwzh,sfmx.sfxm,"12345678901234", zymc,sfmx.pzh,sfje,wdh,sfmx.fkdwmc); } $close sfmx_cur; $free sfmx_cur; fclose(fp); memcpy(msg->rc,PATR_OK,2); return(1); };proc56(msg)/*insert zsdw.txt into sfdwzhb*/DL_MSG *msg;{ $sfjzh_file sfjzh_msg; FILE * fp; fp=fopen("/usr/hcdl/dlmg/server/report/zsdw.txt","r"); if(fp==NULL) { memcpy(msg->rc,PATR_NOFILE,2); return(0); } $begin work; $lock table sfjzhb in exclusive mode; $delete from sfjzhb; if(sqlca.sqlcode!=0 && sqlca.sqlcode!=100) { $ rollback work; memcpy(msg->rc,PATR_INSERT,2); fclose(fp);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -