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

📄 main_0211.ec

📁 证券交易系统
💻 EC
字号:
#include "../incl/bank.h"#include  <sys/time.h>#include "../incl/lu62.h"#define    ASCII           "IBM-eucCN"      /* ASCII code page               **/#define    EBCDIC          "IBM-935"        /* EBCDIC (Host) code page       **/#define    A2E             1                /* translate ASCII to EBCDIC     **/#define    E2A             2                /* translate EBCDIC to ASCII     **/#define    HEADLEN         7#define    MAX_WORKERS     50#define    MAX_COMMENT     50#define    MAX_BUFFERSIZE  1024extern  int        htime_out1;static  void       toolong1();extern $char stockdb1[20];jmp_buf    oldenv1;extern  WORKER     *wk;void       GetSystemTime(char *);void     GetFileName( char * );SEND_NET_0211   send_net_0211;RECV_NET_0211   recv_net_0211;int     net_tohost_0211(sockfd,rcv_data_package,snd_data_package)int     sockfd;char    *rcv_data_package;char    *snd_data_package;{        int    i,flag,j,k,n;        char   *tmp;        char   manager_id[10];        char    comment[10][80], buf[100],stock_worker[6];        char    duig_0211_buff[1024];        $char   CurDate[10+1];        FILE    *fp;        FILE    *fpBakFile;        char BakFileName[128+1], FileName[40];        WORKER  wks[ MAX_WORKERS ];        $int    t_on_off;        $struct f_history_serial        {           char   trans_type[5];           char   acco_type[2];           char   account[33];           double   amount;           char   req_serial[16];           char   ans_serial[7];           char   time[7];           char   host_serial[7];           char   retcode[5];           char   errmsg[41];           double   balance;           char    chong_flag[2];           char    date[11];        }history_serial;        $struct f_stock_serial        {           char   trans_type[5];           char   acco_type[2];           char   account[33];           double   amount;           char   req_serial[16];           char   ans_serial[7];           char   time[7];           char   host_serial[7];           char   retcode[5];           char   errmsg[41];           double   balance;           char    chong_flag[2];        }stock_serial;        $connect to $stockdb1;        if ( sqlca.sqlcode ) {             WriteLog ( LOGFILE, "Open database stock err![%d]\n",sqlca.sqlcode );             strcpy ( send_net.retcode,"8999");             strcpy ( send_net.errmsg,"数据库开启错误");             return( -1 );        }        $select on_off into $t_on_off from t_worker_sign;        if ( sqlca.sqlcode ) {             WriteLog ( LOGFILE, "Open database stock err![%d]\n",sqlca.sqlcode );             $disconnect current;             return( -1 );        }        if(t_on_off == 0 )        {            $disconnect current;            WriteLog(LOGFILE,"签退成功!");            WriteLog(LOGFILE,"柜员签退成功!");            strcpy ( send_net_0211.retcode,"0000");            strcpy ( send_net_0211.errmsg,"柜员签退成功");            worker_off(&wk);             pktonet_stock_0211(snd_data_package);            return(0);                     }        if(t_on_off == 2 )        {            $disconnect current;            WriteLog(LOGFILE,"柜员签退中!");            WriteLog(LOGFILE,"柜员签退中!");            strcpy ( send_net_0211.retcode,"8999");            strcpy ( send_net_0211.errmsg,"柜员签退中");            worker_off(&wk);             pktonet_stock_0211(snd_data_package);            return(0);        }        EXEC SQL UPDATE    t_worker_sign                    SET    on_off = "2";        if ( sqlca.sqlcode )        {             WriteLog ( LOGFILE,"update t_worker_sign error\n",sqlca.sqlcode );             strcpy ( send_net.retcode,"8999");             strcpy ( send_net.errmsg,"update t_worker_sign error");             pktonet_stock_0211(snd_data_package);             $disconnect current;             return(-1);        }        wk = NULL;        tmp = rcv_data_package;         WriteLog(LOGFILE,"********签退主处理开始*************");        memset(CurDate,0,sizeof(CurDate));	GetSystemTime(CurDate);        WriteLog(LOGFILE,"接收数据:\n[%s]",rcv_data_package);	memset( duig_0211_buff, 0, sizeof(duig_0211_buff) );        i = unpknet_stock_0211(rcv_data_package,duig_0211_buff);                if(i == - 20)        {	       strcpy(snd_data_package,duig_0211_buff);	       WriteLog ( LOGFILE,"对公数据:[%s]\n",snd_data_package);              EXEC SQL UPDATE    t_worker_sign                    SET    on_off = "1";              if ( sqlca.sqlcode )              {                   WriteLog ( LOGFILE,"update t_worker_sign error=[%d]\n",sqlca.sqlcode );                   strcpy ( send_net.retcode,"8999");                   strcpy ( send_net.errmsg,"update t_worker_sign error");                   pktonet_stock_0211(snd_data_package);                   $disconnect current;                   return(-1);              }               return(0);	}        if (i<0)  {            WriteLog(LOGFILE,"unpknet_stock  err!");            strcpy ( send_net_0211.retcode,"8999");            strcpy ( send_net_0211.errmsg,"解包错误");            pktonet_stock_0211(snd_data_package);                    EXEC SQL UPDATE    t_worker_sign                    SET    on_off = "1";            if ( sqlca.sqlcode )            {                 WriteLog ( LOGFILE,"update t_worker_sign error=[%d]\n",sqlca.sqlcode );                 strcpy ( send_net.retcode,"8999");                 strcpy ( send_net.errmsg,"update t_worker_sign error");                 pktonet_stock_0211(snd_data_package);                 $disconnect current;                 return(-1);            }            return( 0 );        }        fp = fopen( (char *)getfname( WORKDIR, "/etc/ntbkhold"), "r" );        if ( fp == NULL ) {            WriteLog( LOGFILE,"ntbkhold not found! \n" );            EXEC SQL UPDATE    t_worker_sign                    SET    on_off = "1";            if ( sqlca.sqlcode )            {                 WriteLog ( LOGFILE,"update t_worker_sign error=[%d]\n",sqlca.sqlcode );                 strcpy ( send_net.retcode,"8999");                 strcpy ( send_net.errmsg,"update t_worker_sign error");                 pktonet_stock_0211(snd_data_package);                 $disconnect current;                 return(-1);            }            else            {                 WriteLog ( LOGFILE,"open ntbkhold error");                 strcpy ( send_net.retcode,"8999");                 strcpy ( send_net.errmsg,"open ntbkhold error");                 pktonet_stock_0211(snd_data_package);                 return(-1);            }        }        i = j = n = 0;        while( i< MAX_WORKERS && j< MAX_COMMENT && fgets( buf,80,fp ) != NULL )        {            if ( buf[ 0 ] == '#' || buf[ 0 ] == '\n' ) {                 strcpy( comment[j++], buf );                 continue;                                    /* 注释行空行 */            }            sscanf(  buf, "%s%s%s%s%s%s%s\n",                     wks[ i ].manager_id,       wks[ i ].worker_4,                     wks[ i ].worker_5,       wks[ i ].passwd,                     wks[ i ].rank,              wks[ i ].note,                     wks[ i ].active );            if ( signoff( wks[i] ) == 0 )             {                 WriteLog(LOGFILE,"第[%d]个签退成功!",i);                 n++;            }            else            {                 WriteLog(LOGFILE,"第[%d]个签退失败!",i);            }            i++;        }        fclose( fp );        if( n == 0 )         {            WriteLog(LOGFILE,"柜员签退失败!");            EXEC SQL UPDATE    t_worker_sign                    SET    on_off = "1";            if ( sqlca.sqlcode )            {                 WriteLog ( LOGFILE,"update t_worker_sign error=[%d]\n",sqlca.sqlcode );                 strcpy ( send_net.retcode,"8999");                 strcpy ( send_net.errmsg,"update t_worker_sign error");                 pktonet_stock_0211(snd_data_package);                 $disconnect current;                 return(-1);            }            else            {                 WriteLog ( LOGFILE,"open ntbkhold error");                 strcpy ( send_net_0211.errmsg,"柜员签退失败");                 strcpy ( send_net.retcode,"8999");                 strcpy ( send_net.errmsg,"open ntbkhold error");                 pktonet_stock_0211(snd_data_package);                 return(-1);            }        }        worker_off(&wk);         /*  对帐 (0214)

⌨️ 快捷键说明

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