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

📄 hmd_send.c

📁 在SCO UNIX制定界面程序 可根据文件配制菜单,而不必修改源程序,非常方便
💻 C
字号:
#include <stdio.h>
#include <curses.h>

#include "tool.h"

int hmd_send()
{
	char filename[128], buf[80], tmp[10];
	int i,sw,rt;
	char hmd_date[13],runstr[81];
	WINDOW *my_win;
	char bankid[12], hostid[3], bankname[31];
	long d,ddate;
	
	sprintf(filename, "/tmp/.hmd_send.%d", getpid());
	scr_dump(filename);

	disp_below("请求重发黑名单");
	clear_wline(stdscr, LINES-1);
	h_prompt(LINES-1, 1, "                                                                 < ESC 退出 > ", 0, 0);
	h_prompt(LINES-1, 1, "请求重发黑名单", 0, 0);
	my_win = newwin(19, 80, 3, 0);
	mvwprintw(my_win, 0, 0, "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
	wrefresh(my_win);

	set_prompt(PROMPT_OFF);
	bankid[0] = 0;
	strcpy(hostid, "00");
	rtoday(&ddate);
	rfmtdate(ddate,"YYYYMMDD",hmd_date);
	for(sw = 1;sw >= 1;)
	{
		switch(sw)
		{
		case 1:
			mvwprintw(my_win, 2, 14,
				"联行行号: [%-11.11s][%-2.2s] [%-30.30s]", "", "","");
			rt=in_item(my_win,"",2,25,bankid,11,NULL,NULL,0,0);
			if(rt == BS || rt == ESCAPE || rt == 265)
				{ sw --; break; }
			rt=in_item(my_win,"",2,38,hostid,2,NULL,NULL,0,0);
			if(rt == BS || rt == ESCAPE || rt == 265)
				{ sw --; break; }
			i = get_bank_name(bankid, hostid, bankname);
			if (i) {
				h_winprompt(my_win,17,4,"无此联行行号!", 1, 0);
				break;
			}
			mvwprintw(my_win, 2, 43, "%-30.30s", bankname);
			wrefresh(my_win);
			sw ++;
		case 2:
			mvwprintw(my_win, 4, 14, "重发日期: [%-8.8s]", "");
			rt = in_item(my_win,"",4,25,hmd_date,8,NULL,NULL,0,0);
			if(rt == BS || rt == ESCAPE || rt == 265)
				{ sw --; break; }
			if(rdefmtdate(&d,"YYYY/MM/DD",hmd_date) != 0 || 
				d > ddate)
			{
				h_winprompt(my_win,17,4,"日期错, 请重新输入!", 1, 0);
				wrefresh(my_win);
				break;
			}
			sw++;
			break;
		case 3:
			mvwprintw(my_win, 11, 14, "处理中, 请稍候 ...");
			mvwprintw(my_win, 12, 14, "");
			wrefresh(my_win);

#if 0	/* 本来想修改成如下,后考虑到黑名单重发功能应移到BTS上运行,又恢复 */
	/* 此部分处理程序及菜单要包含到BTS_ADM中 */
#ifdef zgx0200418_modi
			sprintf(runstr,
				"%s/bin/blksend %s %s %s> /dev/null 2>&1",
				get_workdir(), bankid, hostid, hmd_date);
			rt = system(runstr);
#else

			/* 须将激活blksend进程的请求传到BTS主机上进行处理 */
			rt = act_blk_send(bankid, hostid, hmd_date);
#endif /* zgx020418_modi */

#else
			sprintf(runstr,
				"%s/bin/blksend %s %s %s> /dev/null 2>&1",
				get_workdir(), bankid, hostid, hmd_date);
			rt = system(runstr);
#endif
			if ( rt == 0 )
				mvwprintw(my_win, 12, 14,"重发成功");
			else
				mvwprintw(my_win, 12, 14,"重发失败[%d]",rt);
			wrefresh(my_win);
			h_winprompt(my_win,17,4,"按ENTER键继续!", 1, 0);
			mvwprintw(my_win, 11, 10,"%50.50s","");
			mvwprintw(my_win, 12, 10,"%50.50s","");
			wrefresh(my_win);
			sw = 1;
			break;
		}
	}
	delwin(my_win);
	scr_restore(filename);
	unlink(filename);
	return(0);
}

⌨️ 快捷键说明

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