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

📄 menufunc.c

📁 sco unix 前台界面开发程序,采用UNIX中的词法分析器和语法分析器
💻 C
📖 第 1 页 / 共 4 页
字号:
	strcpy(m.indate,        ReadField(p, 19));	strcpy(m.use,           ReadField(p, 20));	strcpy(m.transtype,     ReadField(p, 21));	strcpy(m.billno,        ReadField(p, 22));	strcpy(m.transcode,     ReadField(p, 23));		if(IsBlank(m.outbkno)) {		PrintMsg(win, "付款行行号不能为空", 'E');		return(1);	}		if(IsBlank(m.outacctno)) {		PrintMsg(win, "付款人账号不能为空。", 'E');		return(1);	}		if(IsBlank(m.outname)) {		PrintMsg(win, "付款人名称不能为空。", 'E');		return(1);	}		if(IsBlank(m.inbkno)) {		PrintMsg(win, "收款行行号不能为空", 'E');		return(1);	}		if(IsBlank(m.inacctno)) {		PrintMsg(win, "收款人账号不能为空。", 'E');		return(1);	}		if(IsBlank(m.inname)) {		PrintMsg(win, "收款人名称不能为空。", 'E');		return(1);	}		if((atoi(m.intype) == 2) && IsBlank(m.inpasstype)) {		PrintMsg(win, "收款人类型为个人时,收款人证件类型不能为空。", 'E');		return(1);	}		if((atoi(m.intype) == 2) && IsBlank(m.inpassno)) {		PrintMsg(win, "收款人类型为个人时,收款人证件号码不能为空。", 'E');		return(1);	}		if((m.inbktype[0] != '0') || (m.outbktype[0] != '0')) {		if(IsBlank(m.billno)) {			PrintMsg(win, "跨行交易时凭证代码不能为空", 'E');			return(1);		}	}		if(((m.inbktype[0] == '0' ) && (m.outbktype[0] != '0')) 		|| ((m.inbktype[0] !='0') && (m.outbktype[0] == '0')))		{			PrintMsg(win, "收、付款行行号类型不一致。", 'E');			return(1);		}	return(0); }/* 涉及个人结算账户转账业务*/int AddPATO(){	int ret = 0;	FORM_NODE *p;	WINDOW *win;	char tmp[80];	if(ChkPrivil('1')) return(1);	if((p = LoadForm("../etc/addpato.frm")) == NULL) return(0);	win = FormWin(p);	while(DriverForm(p) == OK ){		if(CheckForm(p)) continue;		if(ChkPATO(p)) continue;		memset(PACK, 0, sizeof(PACK));		sprintf(PACK, "2006%-8s%-4s%-06d%-32s%-12s%s%-60s%-40s%-20s%-2s%-2s%-20s%-12s%s%-60s%-40s%-20s%-2s%-2s%-20s%-18s%-8s%-8s%-20s%-2s%-32s%-10s%-20s%-4s%s",			SYSDATE, OPRCODE, SEQNO++, " ", 			ReadField(p, 1), ReadField(p, 2), ReadField(p, 3),			ReadField(p, 4), ReadField(p, 5), ReadField(p, 6),			ReadField(p, 7), ReadField(p, 8), ReadField(p, 9),			ReadField(p, 10), ReadField(p, 11), ReadField(p, 12),			ReadField(p, 13), ReadField(p, 14), ReadField(p, 15),			ReadField(p, 16), ReadField(p, 17), ReadField(p, 18),			ReadField(p, 19), ReadField(p, 20), ReadField(p, 21),			ReadField(p, 22), ReadField(p, 23),	" ", ORGCODE, "6");		if(ret = SendHost()) PrintErr(win, ret);	    else {	    	memset(tmp, 0, 80);	    	memcpy(tmp, &PACK[4], 4);	    	if( ret = atoi(tmp)) PrintErr(win, ret);	    	else { 	    		PrintMsg(win, "交易成功", 'R');	    		FreeForm(p);	    		p = LoadForm("../etc/addpato.frm");	    		win = FormWin(p);	    	}	    }		}	FreeForm(p);	return(ret);}int Normal(){	char startdate[9],enddate[9];	char tmp[5];	int ret = 0;	FORM_NODE *p;	WINDOW *win;	if(ChkPrivil('2')) return(1);	if((p = LoadForm("../etc/normal.frm")) == NULL) return(0);	win = FormWin(p);	memset(PACK, 0, sizeof(PACK));	sprintf(PACK, "9005%-8s", SYSDATE);	if(ret = SendHost()) {		PrintErr(win, ret);		FreeForm(p);		return(ret);	}	memset(tmp, 0, 5);	memcpy(tmp, &PACK[4], 4);	if( ret = atoi(tmp)) {		PrintErr(win, ret);		FreeForm(p);		return(ret);	}	memset(startdate, 0, 9);	memcpy(startdate, &PACK[8], 8);	WriteField(p, 1, startdate);	while(DriverForm(p) == OK ) {		if(atoi(ReadField(p, 2)) < atoi(ReadField(p, 1))) {			PrintMsg(win, "结束日期不能小于开始日期", 'E');			continue;		}		memset(PACK, 0, sizeof(PACK));		sprintf(PACK, "3001%-8s%-8s",	    	ReadField(p, 1), ReadField(p, 2));	    if(ret = SendHost()) {	    	PrintErr(win, ret);	    	FreeForm(p);			return(ret);		}	    memset(tmp, 0, 5);	    memcpy(tmp, &PACK[4], 4);	    if( ret = atoi(tmp)) {	    	PrintErr(win, ret);	    	FreeForm(p);			return(ret);		}	    PrintMsg(win, "上报数据产生成功", 'R');	    break;	}	FreeForm(p);	return(ret);}                                                                                                                                                                     int ReadData(){	char prodate[9];	char tmp[5];	int ret = 0;	char fname[50];	char msg[80];	FORM_NODE *p;	WINDOW *win;	FILE *fp, *fp1;	char buf[512];	int flag = 0, i;	if(ChkPrivil('3')) return(1);	if((p = LoadForm("../etc/readdata.frm")) == NULL) return(0);	win = FormWin(p);	if(DriverForm(p) == OK ) {		memset(PACK, 0, sizeof(PACK));		sprintf(PACK, "1012%08s", ReadField(p, 1));		if(ret = SendHost()) {			PrintErr(win, ret);			FreeForm(p);			return(-1);		}		memset(tmp, 0, 5);	    memcpy(tmp, &PACK[4], 4);	    if( ret = atoi(tmp)) {	    	PrintErr(win, ret);	    	FreeForm(p);			return(-1);	    }				memset(fname, 0, 50);		sprintf(fname, "../data/EA%s", ReadField(p, 1));		if((fp = fopen(fname, "r")) == NULL) {			memset(msg, 0, 50);			sprintf(msg, "打开文件[%s]错误", fname);			ErrLog("%s\n", msg);			PrintMsg(win, msg, 'E');			FreeForm(p);			return(1);		}		memset(fname, 0, 50);		sprintf(fname, "../data/EJ%s", ReadField(p, 1));		if((fp1 = fopen(fname, "r"))== NULL) {			memset(msg, 0, 50);			sprintf(msg, "打开文件[%s]错误", fname);			ErrLog("%s\n", msg);			PrintMsg(win, msg, 'E');			FreeForm(p);			fclose(fp);			return(1);		}		i = 1;		PrintMsg(win, "正在处理中...", 'N');		memset(buf, 0, sizeof(buf));		while((fscanf(fp, "%[^\n]\n", buf) != EOF)) {			memset(msg, 0 ,sizeof(msg));			sprintf(msg, "处理帐户数据[%04d]", i++);			PrintMsg(win, msg, 'N');			memset(PACK, 0, sizeof(PACK));			sprintf(PACK, "1006%-s", buf);	    	if(ret = SendHost()) {	    		ErrLog("开户数据处理失败,代码[%d]\n", ret);	    		ErrLog("内容[%s]\n", buf);	    		flag = 1;	    		PrintErr(win, ret);	    		FreeForm(p);	    		fclose(fp);	    		fclose(fp1);	    		return(ret);	    	}		    memset(tmp, 0, 5);	    	memcpy(tmp, &PACK[4], 4);	    	if( ret = atoi(tmp)) {	    		flag = 1;	    		ErrLog("开户数据处理失败,代码[%d]\n", ret);	    		ErrLog("内容[%s]\n", buf);	    		PrintErr(win, ret);	    	}		}		fclose(fp);				i = 1;		memset(buf, 0, sizeof(buf));		while((fscanf(fp1, "%[^\n]\n", buf) != EOF)) {			memset(msg, 0 ,sizeof(msg));			sprintf(msg, "处理流水数据[%04d]", i++);			PrintMsg(win, msg, 'N');			memset(PACK, 0, sizeof(PACK));			sprintf(PACK, "1007%s", buf);	    	if(ret = SendHost()) {	    		ErrLog("流水数据处理失败,代码[%d]\n", ret);	    		ErrLog("内容[%s]\n", buf);	    		flag = 1;	    		PrintErr(win, ret);	    		FreeForm(p);	    		fclose(fp);	    		fclose(fp1);	    		return(ret);	    	}		    memset(tmp, 0, 5);	    	memcpy(tmp, &PACK[4], 4);	    	if( ret = atoi(tmp)) {	    		flag = 1;	    		ErrLog("流水数据处理失败,代码[%d]\n", ret);	    		ErrLog("内容[%s]\n", buf);	    		PrintErr(win, ret);	    	}		}		fclose(fp1);				if(flag == 0) PrintMsg(win, "读入数据成功", 'R');		else PrintMsg(win, "部分数据处理失败,请查找原因。", 'E');	}	memset(PACK, 0, sizeof(PACK));	sprintf(PACK, "1013%08s", ReadField(p, 1));	if(ret = SendHost()) {		PrintErr(win, ret);		FreeForm(p);		return(-1);	}	memset(tmp, 0, 5);	  memcpy(tmp, &PACK[4], 4);	  if( ret = atoi(tmp)) {	  	PrintErr(win, ret);	  	FreeForm(p);		return(-1);	}	FreeForm(p);	return(flag);}int DelData(){	char oprcode[5], oprname[13];	char tmp[5];	int ret = 0;	FORM_NODE *p;	WINDOW *win;	if(ChkPrivil('1')) return(1);	if((p = LoadForm("../etc/deldata.frm")) == NULL) return(0);	win = FormWin(p);	while(DriverForm(p) == OK ){		if(CheckForm(p)) continue;		memset(PACK, 0, sizeof(PACK));		sprintf(PACK, "5001%-8s%-4s%s%06s", 			SYSDATE, OPRCODE, ReadField(p, 1), ReadField(p, 2));	    if(ret = SendHost()) PrintErr(win, ret);	    else {	    	memset(tmp, 0, 5);	    	memcpy(tmp, &PACK[4], 4);	    	if( ret = atoi(tmp)) PrintErr(win, ret);	    	else { 	    		PrintMsg(win, "删除业务数据成功", 'R');	    		FreeForm(p);	    		p = LoadForm("../etc/deldata.frm");	    		win = FormWin(p);	    	}		}	}	memset(PACK, 0, sizeof(PACK));	sprintf(PACK, "9001%08s", ReadField(p, 1));	if(ret = SendHost()) {		PrintErr(win, ret);		FreeForm(p);		return(-1);	}	memset(tmp, 0, 5);	memcpy(tmp, &PACK[4], 4);	if( ret = atoi(tmp)) {		PrintErr(win, ret);		FreeForm(p);		return(-1);	}	FreeForm(p);	return(ret);}int QryHVPT(){	ST_HVPT m;	int ret, i;	char name[80], title[1024], rname[40], tmp[5];	char cmd[160], lname[40];	if(ChkPrivil('1')) return(1);	memset(PACK, 0, sizeof(PACK));	sprintf(PACK, "4001%-8s%-4s", SYSDATE, OPRCODE);	if(ret = SendHost()) {		PrintErr(stdscr, ret);		deleteln();		refresh();		return(-1);	}	memset(tmp, 0, 5);	memcpy(tmp, &PACK[4], 4);	if( ret = atoi(tmp)) {		PrintErr(stdscr, ret);		deleteln();		refresh();		return(-1);	}	memset(rname, 0, 40);	memset(lname, 0, 40);	sprintf(rname, "/usr/large/data/R%-4s", OPRCODE);	sprintf(lname, "/usr/large/tmp/R%-4s", OPRCODE);	memset(cmd,0,160);	sprintf(cmd,"FTPclient -h %s -p %d -a -r -f %s -F %s", IP, FTPPORT, rname, lname);	CliLog("%s|%d|命令[%s]\n",__FILE__,__LINE__,cmd);	i=0;	while(i++ < 3 && system(cmd) );	if(i>=3) {		CliLog("%s|%d|下载文件[%s]失败\n",__FILE__,__LINE__,rname);		PrintMsg(stdscr, "下载文件失败", 'E');		deleteln();		refresh();    	return(-1);		}	memset(name, 0, sizeof(name));	sprintf(name, "%s", "[查询人民币大额转账业务]");	memset(title, 0, sizeof(title));	sprintf(title, "%-6s %-12s %s %-60s %-40s %-20s %-12s %s %-60s %-40s %-20s %15s %-8s %-8s %-20s %-8s %-32s %-12s ", 		"流水号", "付款行行号", "付款行行号类型",   		"付款人名称", "付款人账号", "付款人机构代码",		"收款行行号", "收款行行号类型", "收款人名称",		"收款人账号", "收款人机构代码", "金额",		"付款日期", "收款日期", "用途",  		"结算方式",	"凭证代码", "交易类型代码");	ViewBox(2, 2, 22, 76, name, title, lname);	return(0);}int QryHVCS(){	ST_HVCS m;	int ret, i;	char name[80], title[1024], lname[40], rname[40], tmp[5], cmd[160];	if(ChkPrivil('1')) return(1);	memset(PACK, 0, sizeof(PACK));	sprintf(PACK, "4002%-8s%-4s", SYSDATE, OPRCODE);	if(ret = SendHost()) {		PrintErr(stdscr, ret);		deleteln();		refresh();		return(-1);	}	memset(tmp, 0, 5);	memcpy(tmp, &PACK[4], 4);	if( ret = atoi(tmp)) {		PrintErr(stdscr, ret);		deleteln();		refresh();		return(-1);	}	memset(rname, 0, 40);	memset(lname, 0, 40);	sprintf(rname, "/usr/large/data/R%-4s", OPRCODE);	sprintf(lname, "/usr/large/tmp/R%-4s", OPRCODE);	memset(cmd,0,160);	sprintf(cmd,"FTPclient -h %s -p %d -a -r -f %s -F %s", IP, FTPPORT, rname, lname);	CliLog("%s|%d|命令[%s]\n",__FILE__,__LINE__,cmd);	i=0;	while(i++ < 3 && system(cmd) );	if(i>=3) {		CliLog("%s|%d|下载文件[%s]失败\n",__FILE__,__LINE__,rname);

⌨️ 快捷键说明

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