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

📄 proc2.ec

📁 在IBM RS6000小型机上AIX操作系统下INFORMIX数据库C源代码有通讯和管理程序
💻 EC
📖 第 1 页 / 共 5 页
字号:
         packet_47ap[8]=tx_time[5]<<4|0x01; /** ??? **/         s_compress(tb_wtdwb.jzjydm,packet_47ap+10,4);/*trancode*/                  s_compress(gyh,packet_47ap+12,4);/*记录号*/         s_compress(gyh,packet_47ap+14,4);/*授权号*/         packet_47ap[17]=0xf0;/*所号*/         for (i=0;i<3;i++) packet_47ap[18+i]=0xf0+(gyh[i]&0x0f);/*所号*/                  if(strcmp(tb_wtdwb.jzjydm,"1513")==0)/*活期续存*/          {           /*帐号*/            strcpy(packet_47ap+27,tb_wtdwb.zh,12);           AtoE(packet_47ap+27,packet_47ap+27,12);           packet_47ap[39]=0x7b;                          /*金额*/           sprintf(ljwjzje,"%-12.0f",tb_wtdwb.ljwjzje*100);           len=strlen(ljwjzje);           i=0;           while(ljwjzje[i++]!=' ');           ljwjzje[i-1]=0;           len=strlen(ljwjzje);           AtoE(packet_47ap+40,ljwjzje,len);           packet_47ap[40+len]=0x4e;              packet_47ap[40+len+1]=0x57;/*摘要*/              strcpy(packet_47ap+40+len+2,ymd1,6);           AtoE(packet_47ap+40+len+2,packet_47ap+40+len+2,6);                      packet_47ap[40+len+8]=0x53;/*起息日*/              packet_47ap[40+len+9]=0x7f;/*授权号*/              packet_47ap[40+len+10]=0xff;           len=40+len+11;           err_jnl ("snd_ap", packet_47ap,len);          }         else if(strcmp(tb_wtdwb.jzjydm,"3103")==0)/*牡丹卡续存*/          {           /*卡号*/            tb_wtdwb.zh[3]='0';           tb_wtdwb.zh[4]=tb_wtdwb.zh[0];           AtoE(packet_47ap+27,tb_wtdwb.zh+3,13);           packet_47ap[40]=0x7b;               /*金额*/           sprintf(ljwjzje,"%-12.0f",tb_wtdwb.ljwjzje*100);           len=strlen(ljwjzje);           i=0;           while(ljwjzje[i++]!=' ');           ljwjzje[i-1]=0;           len=strlen(ljwjzje);           AtoE(packet_47ap+41,ljwjzje,len);           packet_47ap[41+len]=0x4e;              packet_47ap[41+len+1]=0x57;/*摘要*/              packet_47ap[41+len+2]=0x5d;/*卡序列号*/              packet_47ap[41+len+3]=0xff;           len=41+len+4;           err_jnl ("snd_ap", packet_47ap,len);          }        }/*continue;*/  if(snd_queue(qap,28,packet_47ap,len)<0)/*send request packet to ES9000*/   {    printf("%ssnd_queue error\n",tb_wtdwb.dwmc);    return(3);   }  QueType=38;  while(1)  {   len = rcv_queue(qap, &QueType,reply_ap);/*receive reply packet                                    from ES9000*/    if (len<0)     {      printf("%srcv_queue error\n",tb_wtdwb.dwmc);      return(3);     }  err_jnl ("reply_ap", reply_ap,len);   if(strncmp(reply_ap,"ENDEND",6)==0)/*the last reply packet received*/     break;   /*to check the transaction succeeds or fails*/   len=0;   if(reply_ap[2]==0x0f)/*error packet returned from 9000*/    {     while(reply_ap[7+len]!=0x0f)      {       memcpy(message+len,reply_ap+7+len,1);       len++;      }       memcpy(message+len,reply_ap+7+len,1);       message[len+1]=0x0;       sna2a(message,message);       if(result==0)/*first fail record*/         {          strcpy(msg->temp,tb_wtdwb.dwmc);           strcat(msg->temp,message);           result=2;         }       else         {         strcat(msg->temp,tb_wtdwb.dwmc);          strcat(msg->temp,message);         }       printf("%s %s\n",tb_wtdwb.dwmc,message);     }   else/*该单位入帐成功*/    {     $update wtdwb set jzbz="1" where dwdm=$tb_wtdwb.dwdm;     if(sqlca.sqlcode!=0)       printf("%s修改进帐标志失败(大机入帐成功)\n",tb_wtdwb.dwdm);     fprintf(fp,"\n\n单位代码:%s\n",tb_wtdwb.dwdm);      fprintf(fp,"单位名称:%s\n",tb_wtdwb.dwmc);      fprintf(fp,"单位帐号:%s\n",tb_wtdwb.zh);      fprintf(fp,"交易代码:%s\n",tb_wtdwb.jzjydm);      fprintf(fp,"金额:%-12.2f\n",tb_wtdwb.ljwjzje);      fprintf(fp,"日期:%s\n",ymd);      fprintf(fp,"大机柜员:%s\n",gyh);      fprintf(fp,"操作员:%s\n",msg->teller);     }  }/*end while*/               }/*end while*/    $close p_cur;    $free p_cur;    fclose(fp);    if(result==2)       return(3);    memcpy(msg->rc,PATR_OK,2);    return(3); case 4:/*对公签退*/    memcpy(msg->rc,PATR_OK,2);    return(1); case 5:/*储蓄签退*/  s_compress("0122",packet_47ap+10,4);/*trancode*/  /*construct time*/  time(&now_second); his = *(localtime(&now_second));  sprintf(tx_time,"%02d%02d%02d",his.tm_hour,his.tm_min,his.tm_sec);  if(his.tm_year>=100)    sprintf(ymd,"%02d%02d%02d",his.tm_year-100,his.tm_mon+1,his.tm_mday);  else    sprintf(ymd,"%02d%02d%02d",his.tm_year,his.tm_mon+1,his.tm_mday);  packet_47ap[5]=tx_time[0]&0x0f;  packet_47ap[6]=tx_time[1]<<4|tx_time[2]&0x0f;  packet_47ap[7]=tx_time[3]<<4|tx_time[4]&0x0f;  packet_47ap[8]=tx_time[5]<<4|0x01; /** ??? **/  s_compress(gyh,packet_47ap+12,4);/*记录号*/  s_compress(gyh,packet_47ap+14,4);/*授权号*/  packet_47ap[17]=0xf0;/*所号*/  for (i=0;i<3;i++) packet_47ap[18+i]=0xf0+(gyh[i]&0x0f);/*所号*/  AtoE(packet_47ap+27,msg->temp,5);/*操作员号*/  packet_47ap[32]=0x6f;  AtoE(packet_47ap+33,msg->temp+5,4);/*记录号*/  packet_47ap[37]=0x59;  packet_47ap[38]=0xff;  err_jnl ("签退:snd_ap", packet_47ap,39);  memcpy(msg->rc,PATR_INSERT,2);/*fail*/  if(snd_queue(qap,28,packet_47ap,39)<0)/*send request packet to ES9000*/   {    printf("储蓄签退请求失败\n");    return(1);   }  QueType=38;  while(1)  {   len = rcv_queue(qap, &QueType,reply_ap);/*receive reply packet                                    from ES9000*/    if (len<0)     {      printf("储蓄签退应答失败\n");      return(1);     }  err_jnl ("reply_ap", reply_ap,len);   if(strncmp(reply_ap,"ENDEND",6)==0)/*the last reply packet received*/     break;   /*to check the transaction succeeds or fails*/   len=0;   if(reply_ap[2]==0x0f)/*error packet returned from 9000*/    {     while(reply_ap[7+len]!=0x0f)      {       memcpy(message+len,reply_ap+7+len,1);       len++;      }       memcpy(message+len,reply_ap+7+len,1);       message[len+1]=0x0;       sna2a(message,message);       strcpy(msg->temp,message);        printf("%s\n",message);     }   else    result=1;/*success*/  }/*end while*/  if(result==0)/*fail*/    {      printf("储蓄签退失败\n");      return(1);    }  printf("签退成功\n");  memcpy(msg->rc,PATR_OK,2);  return(1);  break; case 6:/*修改对公密码*/    memcpy(msg->rc,PATR_OK,2);    return(1); case 7:/*修改储蓄密码*/  s_compress("0191",packet_47ap+10,4);/*trancode*/  /*construct time*/  time(&now_second); his = *(localtime(&now_second));  sprintf(tx_time,"%02d%02d%02d",his.tm_hour,his.tm_min,his.tm_sec);  if(his.tm_year>=100)    sprintf(ymd,"%02d%02d%02d",his.tm_year-100,his.tm_mon+1,his.tm_mday);  else    sprintf(ymd,"%02d%02d%02d",his.tm_year,his.tm_mon+1,his.tm_mday);  packet_47ap[5]=tx_time[0]&0x0f;  packet_47ap[6]=tx_time[1]<<4|tx_time[2]&0x0f;  packet_47ap[7]=tx_time[3]<<4|tx_time[4]&0x0f;  packet_47ap[8]=tx_time[5]<<4|0x01; /** ??? **/  s_compress(gyh,packet_47ap+12,4);/*记录号*/  s_compress(gyh,packet_47ap+14,4);/*授权号*/  packet_47ap[17]=0xf0;/*所号*/  for (i=0;i<3;i++) packet_47ap[18+i]=0xf0+(gyh[i]&0x0f);/*所号*/  AtoE(packet_47ap+27,msg->temp,5);/*操作员号*/  packet_47ap[32]=0x6f;  AtoE(packet_47ap+33,msg->temp+5,6);/*原密码*/  packet_47ap[39]=0x62;  AtoE(packet_47ap+40,msg->temp+11,6);/*新密码*/  packet_47ap[46]=0x53;  packet_47ap[47]=0xff;  err_jnl ("修改密码:snd_ap", packet_47ap,48);  memcpy(msg->rc,PATR_INSERT,2);/*fail*/  if(snd_queue(qap,28,packet_47ap,48)<0)/*send request packet to ES9000*/   {    printf("储蓄修改密码请求失败\n");    return(1);   }  QueType=38;  while(1)  {   len = rcv_queue(qap, &QueType,reply_ap);/*receive reply packet                                    from ES9000*/    if (len<0)     {      printf("储蓄修改密码应答失败\n");      return(1);     }  err_jnl ("reply_ap", reply_ap,len);   if(strncmp(reply_ap,"ENDEND",6)==0)/*the last reply packet received*/     break;   /*to check the transaction succeeds or fails*/   len=0;   if(reply_ap[2]==0x0f)/*error packet returned from 9000*/    {     while(reply_ap[7+len]!=0x0f)      {       memcpy(message+len,reply_ap+7+len,1);       len++;      }       memcpy(message+len,reply_ap+7+len,1);       message[len+1]=0x0;       sna2a(message,message);       strcpy(msg->temp,message);        printf("%s\n",message);     }   else    result=1;/*success*/  }/*end while*/  if(result==0)/*fail*/    {      printf("储蓄修改密码失败\n");      return(1);    }  printf("修改密码成功\n");  memcpy(msg->rc,PATR_OK,2);  return(1);  break; case 8:/*补登存折*/    memcpy(msg->rc,PATR_OK,2);    return(1); case 9:/*4700测试包*/  memcpy(msg->rc,PATR_INSERT,2);/*fail*/  memcpy(packet_47ap,"\xe2\xe6\xc9\xe3",4);/*SWIT*/  memcpy(packet_47ap,"\xd5\xc3\xc4\xd3",4);/*NCDL*/  memcpy(packet_47ap,"\xc8\xc3\xc4\xd3",4);/*HCDL*/  s_compress(gyh,packet_47ap+12,4);/*记录号*/  s_compress(gyh,packet_47ap+14,4);/*授权号*/  packet_47ap[17]=0xf0;/*所号*/  for (i=0;i<3;i++) packet_47ap[18+i]=0xf0+(gyh[i]&0x0f);/*所号*/  s_compress("0713",packet_47ap+10,4);/*trancode*/  /*construct time*/  time(&now_second); his = *(localtime(&now_second));  sprintf(tx_time,"%02d%02d%02d",his.tm_hour,his.tm_min,his.tm_sec);  if(his.tm_year>=100)    sprintf(ymd,"%02d%02d%02d",his.tm_year-100,his.tm_mon+1,his.tm_mday);  else    sprintf(ymd,"%02d%02d%02d",his.tm_year,his.tm_mon+1,his.tm_mday);  packet_47ap[5]=tx_time[0]&0x0f;  packet_47ap[6]=tx_time[1]<<4|tx_time[2]&0x0f;  packet_47ap[7]=tx_time[3]<<4|tx_time[4]&0x0f;  packet_47ap[8]=tx_time[5]<<4|0x01; /** ??? **/  AtoE(packet_47ap+27,"TCZFT",5);/*wzrxm*/  packet_47ap[32]=0x21;  AtoE(packet_47ap+33,"001001",6);/*fkdm*/  packet_47ap[39]=0x62;  AtoE(packet_47ap+40,"990203",6);/*jzrq*/  packet_47ap[46]=0x59;  AtoE(packet_47ap+47,"0101",4);/*jjdh*/  packet_47ap[51]=0x52;  AtoE(packet_47ap+52,"12345678",8);/*zkzh*/  packet_47ap[60]=0x53;  packet_47ap[61]=0xff;  err_jnl ("snd_ap", packet_47ap,62);  if(snd_queue(qap,28,packet_47ap,62)<0)/*send request packet to ES9000*/   {    printf("储蓄签到请求失败\n");    return(1);   }  QueType=38;  while(1)  {   len = rcv_queue(qap, &QueType,reply_ap);/*receive reply packet                                    from ES9000*/    if (len<0)     {      printf("储蓄签到应答失败\n");      return(1);     }  err_jnl ("reply_ap", reply_ap,len);   if(strncmp(reply_ap,"ENDEND",6)==0)/*the last reply packet received*/     break;   /*to check the transaction succeeds or fails*/   len=0;   if(reply_ap[2]==0x0f)/*error packet returned from 9000*/    {     while(reply_ap[7+len]!=0x0f)      {       memcpy(message+len,reply_ap+7+len,1);       len++;      }       memcpy(message+len,reply_ap+7+len,1);       message[len+1]=0x0;       sna2a(message,message);       strcpy(msg->temp,message);        printf("%s\n",message);     }   else    result=1;/*success*/  }/*end while*/  if(result==0)/*fail*/    {      printf("储蓄签到失败\n");      return(1);    }  printf("签到成功\n");  memcpy(msg->rc,PATR_OK,2);  return(1);  break; case 10:/* ac 4700测试包*/  memcpy(msg->rc,PATR_INSERT,2);/*fail*/  memcpy(packet_47ap,"\xe2\xe6\xc9\xe3",4);/*SWIT*/  memcpy(packet_47ap,"\xc8\xc3\xc4\xd3",4);/*HCDL*/  memcpy(packet_47ap,"\xd5\xc3\xc4\xd3",4);/*NCDL*/  s_compress(gyh,packet_47ap+12,4);/*记录号*/  s_compress(gyh,packet_47ap+14,4);/*授权号*/  s_compress("0704",packet_47ap+10,4);/*trancode*/  /*construct time*/  time(&now_second); his = *(localtime(&now_second));  sprintf(tx_time,"%02d%02d%02d",his.tm_hour,his.tm_min,his.tm_sec);  if(his.tm_year>=100)    sprintf(ymd,"%02d%02d%02d",his.tm_year-100,his.tm_mon+1,his.tm_mday);  else    sprintf(ymd,"%02d%02d%02d",his.tm_year,his.tm_mon+1,his.tm_mday);  s_compress(tx_time,packet_47ap+5,6);/*trancode*/  packet_47ap[4]=0xf1;  packet_47ap[8]=0xf8;  packet_47ap[9]=0xf9;  packet_47ap[16]=0xe0;  packet_47ap[17]=0xf0;  packet_47ap[18]=0x40;s_buf=packet_47ap;s_buf[19]='\0';memcpy(buf_s,"0010018888",10);	/* pzh */AtoE(buf_s,buf_s,10);strcat(s_buf,buf_s);strcat(s_buf,"\x50");memcpy(buf_s,"1234567811",10);	/* dwzh */AtoE(buf_s,buf_s,10);strcat(s_buf,buf_s);strcat(s_buf,"\x50");memcpy(buf_s,"\x0e\x5c\x74\x5c\x74\x5c\x74\x0f\0",9);/* dwmc */strcat(s_buf,buf_s);strcat(s_buf,"\x21");memcpy(buf_s,"01",2);	/* zy */AtoE(buf_s,buf_s,2);strcat(s_buf,buf_s);strcat(s_buf,"\x50");memcpy(buf_s,"12381",5);	/* sfxm */AtoE(buf_s,buf_s,5);strcat(s_buf,buf_s);strcat(s_buf,"\x50");memcpy(buf_s,"180905",6);	/* sfje */AtoE(buf_s,buf_s,6);strcat(s_buf,buf_s);strcat(s_buf,"\x53");memcpy(buf_s,"12345",5);	/* sfxm */AtoE(buf_s,buf_s,5);strcat(s_buf,buf_s);strcat(s_buf,"\x50");memcpy(buf_s,"100905",6);	/* sfje */AtoE(buf_s,buf_s,6);strcat(s_buf,buf_s);strcat(s_buf,"\x53");strcat(s_buf,"\x50");strcat(s_buf,"\x53");strcat(s_buf,"\x50");strcat(s_buf,"\x53");memcpy(buf_s,"98095",5);		/* gyh */AtoE(buf_s,buf_s,5);strcat(s_buf,buf_s);strcat(s_buf,"\x53");strcat(s_buf,"\xff\0");  err_jnl ("snd_ap", packet_47ap,strlen(packet_47ap));  if(snd_queue(qap,28,packet_47ap,strlen(packet_47ap))<0)/*send request packet to ES9000*/   {    printf("储蓄签到请求失败\n");    return(1);   }  QueType=38;  while(1)  {   len = rcv_queue(qap, &QueType,reply_ap);/*receive reply packet                                    from ES9000*/    if (len<0)     {      printf("储蓄签到应答失败\n");      return(1);     }  err_jnl ("reply_ap", reply_ap,len);   if(strncmp(reply_ap,"ENDEND",6)==0)/*the last reply packet received*/     break;   /*to check the transaction succeeds or fails*/   len=0;   if(reply_ap[2]==0x0f)/*error packet returned from 9000*/    {     while(reply_ap[7+len]!=0x0f)      {       memcpy(message+len,reply_ap+7+len,1);       len++;      }       memcpy(message+len,reply_ap+7+len,1);       message[len+1]=0x0;       sna2a(message,message);       strcpy(msg->temp,message);        printf("%s\n",message);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -