📄 hmd_send.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 + -