⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 proc2.ec

📁 在IBM RS6000小型机上AIX操作系统下INFORMIX数据库C源代码有通讯和管理程序
💻 EC
📖 第 1 页 / 共 5 页
字号:
		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 + -