📄 itfc.c
字号:
/* * %W% %G% * * 人行营业部同城票据处理系统 * * Copyright (C) 2000 杭州信雅达系统工程有限责任公司 * * 前台主程序 main() * 作者: * 日期: */#include <stdio.h>#include <stdlib.h>#include <signal.h>#include <curses.h>#include <errno.h>#include "MessageBox.h"#include "mainmenu.h"#include "macro.h"#include "public.h"#include "s_exchgnote.h"#include "s_query.h"#include "global.h"#include "pubutil.h"#include "pltutil.h"/* 全局变量声明 */char SYS_Title[81]; /* 系统名称 */ BOOL SYS_State; /* 系统状态 TRUE--运行 FALSE--关闭 */char TermInfo[11]; /* 终端号 */ char ITFCINI[200];struct key_info Key_Info;int acctcheckflag; /*帐户检查标置*/int gkbmcheckflag; /*国库编码检查标置*/int debug; char SYS_Hostname[21]; /* 文件传送主机名称 */long SYS_ServerNum; /* 中心机器号 */long SYS_ClientNum; /* 本机机器号 */char SYS_CliNum[9]; /* 本机机器号 */char SYS_NetAddr[16]; /* 网络IP地址 */char SYS_HostAddr[16]; /* 主机IP地址 */long FileTransPort; /* 传输端口*/long SYS_Dseq = 0; /* 数据包号 */long SYS_Dtype; /* 同城数据类型 */char SYS_OBankNo[7]; /* 开户行号 */char SYS_WorkBankNo[7]; /* 行号 */char CityName[21]; /* 城市名 */char SYS_Date[9]; /* 当前日期 */char SYS_Operator[5]; /* 当前操作员代码 */char SYS_OperName[9]; /* 当前操作员姓名 */char SYS_OperLevel; /* 当前操作员级别 */char SYS_OperPermit[16]; /* 当前操作员限额*/char BegPrtCtrlStr[200];char EndPrtCtrlStr[200];char PromptStr[200]; /*此变量在libintfc.a中使用*/char PromptOperStr[200];// Wujicheng 20020610 addchar zamount[16];char zcreditacct[33];char zcreditname[81];char zdebitacct[33];char zdebitname[81];char znoteno[21];char Withholdflag[2]; /*截流标志,0-不截流,1-截流*/char NoteType[3];char TradeType[2];int authflag = 0;int RESULT = 0; /*批量处理结果*/long WaitTime = 0; /*等待键盘输入时间*/long wdelay = 0; /*终端打印延时*/long printtype; /*打印类型 1-主机打印;2-终端打印*/struct pub_exchgnote_str cps_str;struct pub_exchgnote_str s_ccs;struct s_query_str cxcf_str;void InitApp(){ char debug_str[64]; char servernum_str[64]; char clientnum_str[64]; char waittime_str[64]; char obankno_str[64]; char dtype_str[64]; char eisdtype_str[64]; char filetransport_str[64]; char profile[PATH_MAX]; sprintf( profile, "%s/etc/client.ini", getenv("HOME"), CLI_PROFILE ); if (GetProfileString( profile, "NODE INFO", "AppName", SYS_Title )) strcpy(SYS_Title,"苏州同城票据处理 网点子系统 2.0"); if (GetProfileString( profile, "NODE INFO", "CliNum", SYS_CliNum )) strcpy(SYS_CliNum,"100"); if (GetProfileString(profile, "NODE INFO", "CityName", CityName)) strcpy(CityName,"苏州"); sprintf(TermInfo,"%s",strrchr((char *)ttyname(1), '/')+1); sprintf(BegPrtCtrlStr,"%c{",ESC); sprintf(EndPrtCtrlStr,"%c}",ESC);}void intrade_view(int sig){ WINDOW *Box; FILE *fp; char tmp[256],filename[64]; char buff[40],tmp2[40]; int i = 0; long a; sprintf(filename,"%s/tmp/in_%08d.dat\0",getenv("HOME"),getpid()); trim_all(filename); signal(SIGUSR1,SIG_IGN); if((fp = fopen(filename, "r")) == NULL) return; fgets(tmp, 255, fp); tmp[255] = 0; trim_all(tmp); for(i = 0;i < strlen(tmp) - 2 ; i++) { if(strlen(tmp) < 2 ) break; if(strncmp(tmp+i, "密", 2) == 0) { strcpy(buff, tmp+i+2); strcpy(tmp2, (char *) strtok(buff, " ")); sprintf(buff,"未复核提入支付密码票据:%s笔",tmp2); move(9,15); wprintw(stdscr,"%50s"," "); move(10,15); wprintw(stdscr,"%50s"," "); move(11,15); wprintw(stdscr,"%50s"," "); move(12,15); wprintw(stdscr,"%50s"," "); move(13,15); wprintw(stdscr,"%50s"," "); standout(); refresh(); move(10,18); wprintw(stdscr,"%s","┏━━━━━━━━━━━━━━━━━━━┓"); move(11,18); wprintw(stdscr,"%s","┃ "); move(11,24); wprintw(stdscr,"%s",buff); move(11,58); wprintw(stdscr,"%s","┃ "); move(12,18); wprintw(stdscr,"%s","┗━━━━━━━━━━━━━━━━━━━┛"); standend(); refresh(); noecho(); do{ a=getch(); }while ( (a!=ENTER)&&(a!=KEY_ENTER)); } } PromptMsg(tmp); fclose(fp); signal(SIGUSR1,intrade_view); return;}main(argc, argv)int argc;char *argv[];{ if (getenv("FILES_DIR")==NULL) { printf("请设置环境变量FILES_DIR!\n"); exit(-1); } printtype=2; strcpy(CityName,"苏州"); InitApp(); if( putenv( "ISCOUNTER=Y" ) != 0 ) { SDKerrlog( CLILOG, "[%s|%d] putenv() error! %s", __FILE__, __LINE__, strerror(errno) ); exit( -1 ); } signal( SIGUSR1, intrade_view ); strcpy(PromptOperStr,"当前没有操作员签到"); strcpy(SYS_Operator,""); strcpy(SYS_WorkBankNo,""); SYS_State=FALSE; AppRun();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -