gen_rpt.ec
来自「在SCO UNIX制定界面程序 可根据文件配制菜单,而不必修改源程序,非常方便」· EC 代码 · 共 1,244 行 · 第 1/3 页
EC
1,244 行
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);
#ifndef wyz020429_mod
getdatef(logic_date,"");
#else
get_settle_date(settle_date);
strcpy(logic_date, settle_date);
#endif
mvwprintw(my_win, 2, 4, "请输入清算日期: [%s]", logic_date);
if (in_item(my_win, "", 2, 21, logic_date, 8, NULL, NULL, 0, 0) !=
ENTER) goto end_debit_jymx;
strcpy(e_logic_date, logic_date);
mvwprintw(my_win, 3, 4, "请确认清算日期: [%s]", e_logic_date);
if (in_item(my_win, "", 3, 21, e_logic_date, 8, NULL, NULL, 0, 0) !=
ENTER) goto end_debit_jymx;
#ifdef Wubin20020827_del
if (strcmp(logic_date, e_logic_date) != 0)
goto end_debit_jymx;
#endif
if (strcmp(logic_date, settle_date) < 0)
his_flag = 1;
else
his_flag = 0;
sprintf(file, "%s/prt/%s/debit.mx", getenv("WORKDIR"), G_bankid);
daylog(DEBUG, "正在生成全辖交易明细清单, 清算日期: %s, 请稍候 ...",
logic_date);
mvwprintw(my_win, 4, 4, "正在生成全辖交易明细清单, 请稍候 ...");
wrefresh(my_win);
/* debit_jymx() in bank_rpt.ec */
ret = debit_jymx(file, sys, logic_date, his_flag);
if (ret)
h_winprompt(my_win, 17, 4, "生成报表出错!", 1, 0);
else {
daylog(DEBUG, "全辖交易明细清单生成成功!");
print_file(my_win, 6, 17, 1, file);
}
end_debit_jymx:
delwin(my_win);
scr_restore(filename);
unlink(filename);
return(0);
}
/********************************************************************
功能: 银联长城卡清算报表
********************************************************************/
int gen_yl_gw()
{
WINDOW *my_win;
char rpt[128], filename[128], logic_date[11];
char e_logic_date[11];
char settle_date[11];
char iss_bank_id1[12];
$S_sys_param sys;
int ret;
$select * into :sys from sys_param;
if (SQLCODE) {
daylog(ERROR, "Select sys_param error![%d]", SQLCODE);
return(-1);
}
del_st_space("sys_param", &sys);
if (!strcmp(sys.bank_id, sys.adm_bank_id))
return(0);
sprintf(rpt, "%s/prt/yl_gw_rpt", getenv("WORKDIR"));
sprintf(filename, "/tmp/.yl_gw_rpt.%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);
#ifndef wyz020429_mod
getdatef(logic_date,"");
#else
get_settle_date(settle_date);
strcpy(logic_date, settle_date);
#endif
mvwprintw(my_win, 2, 4, "请输入对帐日期: [%s]", logic_date);
if (in_item(my_win, "", 2, 21, logic_date, 8, NULL, NULL, 0, 0) !=
ENTER) goto end_yl;
strcpy(e_logic_date, logic_date);
mvwprintw(my_win, 3, 4, "请确认对帐日期: [%s]", e_logic_date);
if (in_item(my_win, "", 3, 21, e_logic_date, 8, NULL, NULL, 0, 0) !=
ENTER) goto end_yl;
#ifdef Wubin20020827_del
if (strcmp(logic_date, e_logic_date) != 0)
goto end_yl;
#endif
strcpy ( iss_bank_id1 , "" );
mvwprintw(my_win, 3, 4, "请输入发卡行行号: [%11s]", iss_bank_id1);
if (in_item(my_win, "", 3, 23, iss_bank_id1, 11, NULL, NULL, 0, 0) !=
ENTER) goto end_yl;
daylog(DEBUG, "正在生成银联长城卡全国联行交易清算报表, 对帐日期: %s, 请稍候 ...",
logic_date);
mvwprintw(my_win, 5, 4, "正在生成银联长城卡全国联行交易清算报表, 请稍候 ...");
wrefresh(my_win);
DelSpace(iss_bank_id1);
ret = yl_gw_rpt(rpt, logic_date, iss_bank_id1);
switch (ret) {
case -1:
h_winprompt(my_win, 17, 4, "生成报表出错!", 1, 0);
goto end_yl;
case -2:
h_winprompt(my_win, 17, 4, "数据库操作错误!", 1, 0);
goto end_yl;
}
daylog(DEBUG, "银联长城卡全国联行交易清算报表生成成功!");
print_file(my_win, 6, 17, 1, rpt);
end_yl:
delwin(my_win);
scr_restore(filename);
unlink(filename);
return(0);
}
/********************************************************************
功能:银联长城卡月清算报表
********************************************************************/
int gen_yl_gw_month()
{
WINDOW *my_win;
char rpt[128], filename[128], start_date[11],end_date[11];
char settle_date[11];
char iss_bank_id1[12];
$S_sys_param sys;
int ret;
$select * into :sys from sys_param;
if (SQLCODE) {
daylog(ERROR, "Select sys_param error![%d]", SQLCODE);
return(-1);
}
del_st_space("sys_param", &sys);
if (!strcmp(sys.bank_id, sys.adm_bank_id))
return(0);
sprintf(rpt, "%s/prt/%s/yl_gw_month_rpt", getenv("WORKDIR"), G_bankid);
sprintf(filename, "/tmp/.yl_gw_month_rpt.%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);
#ifndef wyz020429_mod
getdatef(start_date,"");
#else
get_settle_date(settle_date);
strcpy(start_date, settle_date);
#endif
mvwprintw(my_win, 2, 4, "请输入起始日期 : [%8s]", start_date);
if (in_item(my_win, "", 2, 23, start_date, 8, NULL, NULL, 0, 0) !=
ENTER) goto end_yl;
strcpy(end_date, start_date);
mvwprintw(my_win, 3, 4, "请输入结束日期 : [%8s]", end_date);
if (in_item(my_win, "", 3, 23, end_date, 8, NULL, NULL, 0, 0) !=
ENTER) goto end_yl;
daylog(DEBUG, "正在生成银联长城卡全国联行交易清算月报表, 对帐起始日: %s, 请稍候 ...",
start_date);
mvwprintw(my_win, 5, 4, "正在生成银联长城卡全国联行交易清算月报表, 请稍候 ...");
wrefresh(my_win);
DelSpace(start_date);
DelSpace(end_date);
ret = yl_gw_month_rpt(rpt, start_date, end_date);
switch (ret) {
case -1:
h_winprompt(my_win, 17, 4, "生成报表出错!", 1, 0);
goto end_yl;
case -2:
h_winprompt(my_win, 17, 4, "数据库操作错误!", 1, 0);
goto end_yl;
}
daylog(DEBUG, "银联长城卡全国联行交易清算月报表生成成功!");
print_file(my_win, 6, 17, 1, rpt);
end_yl:
h_prompt(LINES-1, 1, " < ESC 退出 > ", 0, 0);
delwin(my_win);
scr_restore(filename);
unlink(filename);
return(0);
}
/********************************************************************
功能: 中行外卡EDC交易月报表
********************************************************************/
int gen_edc_foreign_month()
{
WINDOW *my_win;
char rpt[128], filename[128];
char settle_date[9];
char iss_bank_id1[12];
int ret;
$char start_date[9];
$char end_date[9];
$S_sys_param sys;
$select * into :sys from sys_param;
if (SQLCODE) {
daylog(ERROR, "Select sys_param error![%d]", SQLCODE);
return(-1);
}
del_st_space("sys_param", &sys);
if (!strcmp(sys.bank_id, sys.adm_bank_id))
return(0);
sprintf(rpt, "%s/prt/%s/edc_foreign_month_rpt",
getenv("WORKDIR"), G_bankid);
sprintf(filename, "/tmp/.edc_foreign_month_rpt.%d", getpid());
scr_dump(filename);
disp_below("中行外卡EDC交易月报表");
clear_wline(stdscr, LINES-1);
h_prompt(LINES-1, 1, " < ESC 退出 > ", 0, 0);
h_prompt(LINES-1, 1, "中行外卡EDC交易月报表", 0, 0);
my_win = newwin(19, 80, 3, 0);
mvwprintw(my_win, 0, 0, "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
wrefresh(my_win);
set_prompt(PROMPT_OFF);
#ifndef wyz020429_mod
getdatef(start_date,"");
getdatef(end_date,"");
#else
get_settle_date(settle_date);
strcpy(start_date, settle_date);
strcpy(end_date, settle_date);
#endif
mvwprintw(my_win, 2, 4, "请输入起始日期 : [%8s]", start_date);
if (in_item(my_win, "", 2, 23, start_date, 8, NULL, NULL, 0, 0) !=
ENTER) goto end_yl;
mvwprintw(my_win, 3, 4, "请输入结束日期 : [%8s]", end_date);
if (in_item(my_win, "", 3, 23, end_date, 8, NULL, NULL, 0, 0) !=
ENTER) goto end_yl;
daylog(DEBUG, "正在生成中行外卡EDC交易统计月报表, 对帐日期: %s-%s, 请稍候 ...",
start_date, end_date);
mvwprintw(my_win, 5, 4, "正在生成中行外卡EDC交易统计月报表, 请稍候 ...");
wrefresh(my_win);
DelSpace(start_date);
DelSpace(end_date);
ret = edc_foreign_month_rpt(rpt, start_date, end_date);
switch (ret) {
case -1:
h_winprompt(my_win, 17, 4, "生成报表出错!", 1, 0);
goto end_yl;
case -2:
h_winprompt(my_win, 17, 4, "数据库操作错误!", 1, 0);
goto end_yl;
}
daylog(DEBUG, "中行外卡EDC交易统计月报表生成成功!");
print_file(my_win, 7, 17, 1, rpt);
end_yl:
h_prompt(LINES-1, 1, " < ESC 退出 > ", 0, 0);
delwin(my_win);
scr_restore(filename);
unlink(filename);
return(0);
}
/********************************************************************
功能:中行商户交易本外卡月报表
********************************************************************/
int gen_merch_foreign_month()
{
WINDOW *my_win;
char rpt[128], filename[128], start_date[11],end_date[11];
char acq_bank_id1[12];
$S_sys_param sys;
int ret;
$select * into :sys from sys_param;
if (SQLCODE) {
daylog(ERROR, "Select sys_param error![%d]", SQLCODE);
return(-1);
}
del_st_space("sys_param", &sys);
#ifdef wyz020428_mod
if (!strcmp(sys.bank_id, sys.adm_bank_id))
return(0);
sprintf(rpt, "%s/prt/merch_foreign_month_rpt", getenv("WORKDIR"));
#else
/*
if (!strcmp(G_cen_bankid, G_bankid))
return 0;
*/
sprintf(rpt, "%s/prt/%s/merch_foreign_month_rpt",
getenv("WORKDIR"), G_bankid);
#endif
sprintf(filename, "/tmp/.merch_foreign_month_rpt.%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);
#ifndef wyz020427_mod
getdatef(start_date,"");
getdatef(end_date,"");
#else
get_settle_date(start_date);
strcpy(end_date, start_date);
#endif
mvwprintw(my_win, 2, 4, "请输入起始日期 : [%8s]", start_date);
if (in_item(my_win, "", 2, 23, start_date, 8, NULL, NULL, 0, 0) !=
ENTER) goto end_yl;
mvwprintw(my_win, 3, 4, "请输入结束日期 : [%8s]", end_date);
if (in_item(my_win, "", 3, 23, end_date, 8, NULL, NULL, 0, 0) !=
ENTER) goto end_yl;
#ifdef wyz020427_mod
strcpy ( acq_bank_id1 , "" );
mvwprintw(my_win, 4, 4, "请输入收单行号 : [%11s]", acq_bank_id1);
if (in_item(my_win, "", 4, 23, acq_bank_id1, 11, NULL, NULL, 0, 0) !=
ENTER) goto end_yl;
#else
strcpy(acq_bank_id1, G_bankid);
#endif
DelSpace(acq_bank_id1);
daylog(DEBUG, "正在生成中行商户交易本外卡月报表, 对帐起始日: %s-%s, 请稍候 ...",
start_date, end_date);
mvwprintw(my_win, 6, 4, "正在生成中行商户交易本外卡月报表, 请稍候 ...");
wrefresh(my_win);
DelSpace(start_date);
DelSpace(end_date);
ret = merch_foreign_month_rpt(rpt, start_date, end_date, acq_bank_id1);
switch (ret) {
case -1:
h_winprompt(my_win, 17, 4, "生成报表出错!", 1, 0);
goto end_yl;
case -2:
h_winprompt(my_win, 17, 4, "数据库操作错误!", 1, 0);
goto end_yl;
}
daylog(DEBUG, "中行商户交易本外卡月报表生成成功!");
print_file(my_win, 6, 17, 1, rpt);
end_yl:
h_prompt(LINES-1, 1, " < ESC 退出 > ", 0, 0);
delwin(my_win);
scr_restore(filename);
unlink(filename);
return(0);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?