gen_rpt.ec
来自「在SCO UNIX制定界面程序 可根据文件配制菜单,而不必修改源程序,非常方便」· EC 代码 · 共 1,244 行 · 第 1/3 页
EC
1,244 行
strcpy(logic_date, settle_date);
#endif
mvwprintw(my_win, 2, 4, "请输入清算日期: [%s]", logic_date);
if (in_item(my_win, "", 2, 23, logic_date, 8, NULL, NULL, 0, 0) !=
ENTER) goto end_hr;
strcpy(e_logic_date, logic_date);
mvwprintw(my_win, 3, 4, "请确认清算日期: [%s]", e_logic_date);
if (in_item(my_win, "", 3, 23, e_logic_date, 8, NULL, NULL, 0, 0) !=
ENTER) goto end_hr;
#ifdef Wubin20020827_del
if (strcmp(logic_date, e_logic_date) != 0)
goto end_hr;
#endif
daylog(DEBUG, "正在生成回扣利益分配报表, 清算日期: %s, 请稍候 ...",
logic_date);
mvwprintw(my_win, 4, 4, "正在生成回扣利益分配报表, 请稍候 ...");
wrefresh(my_win);
/* hz_rpt() in hz_rpt.ec */
ret = hz_rpt(rpt, logic_date, sys.bank_id, sys.host_id);
switch (ret) {
case -1:
h_winprompt(my_win, 17, 4, "生成报表出错!", 1, 0);
goto end_hr;
case -2:
h_winprompt(my_win, 17, 4, "数据库操作错误!", 1, 0);
goto end_hr;
}
daylog(DEBUG, "回扣利益分配报表生成成功!");
print_file(my_win, 6, 17, 1, rpt);
end_hr:
delwin(my_win);
scr_restore(filename);
unlink(filename);
return(0);
}
/********************************************************************
功能: 全辖交易对帐报表
********************************************************************/
int gen_jydz()
{
WINDOW *my_win;
$S_sys_param sys;
char filename[128], logic_date[11];
char e_logic_date[9];
char settle_date[9];
char file1[128], file2[128];
int ret=0;
$select * into :sys from sys_param;
if (SQLCODE) {
daylog(ERROR, "Unable select sys_param table!");
return(-1);
}
del_st_space("sys_param", &sys);
#ifdef wyz020429_mod
sprintf(filename, "select count(*) from bank_info where bank_id != adm_bank_id and adm_bank_id = \'%s\'", sys.bank_id);
ret = query_count(filename);
#else
if (strcmp(G_cen_bankid, G_bankid) == 0)
ret = 1;
else
ret = 0;
#endif
sprintf(filename, "/tmp/.gen_jydz.%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_jydz;
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_jydz;
#ifdef Wubin20020827_del
if (strcmp(logic_date, e_logic_date) != 0)
goto end_jydz;
#endif
if (ret) {
sprintf(file1, "%s/prt/%s/debit.jyhz",
getenv("WORKDIR"), G_bankid);
if (!yorn(my_win, 4, " 是否生成明细?", "1.是", "0.否", 0, 0))
sprintf(file2, "%s/prt/%s/debit.jymx",
getenv("WORKDIR"), G_bankid);
else
file2[0] = 0;
daylog(DEBUG,
"正在生成全辖交易对帐报表, 清算日期: %s, 请稍候 ...",
logic_date);
mvwprintw(my_win, 4, 4, "正在生成全辖交易对帐报表, 请稍候 ...");
wrefresh(my_win);
/* jydz_rpt() in jydz_rpt.ec */
#ifdef wyz020508_mod
ret = jydz_rpt(file1, file2, logic_date, sys.bank_id, sys.host_id);
#else
ret = jydz_rpt(file1, file2, logic_date, G_bankid, "00");
#endif
switch (ret) {
case -1:
h_winprompt(my_win, 17, 4, "生成报表出错!", 1, 0);
goto end_jydz;
case -2:
h_winprompt(my_win, 17, 4, "数据库操作错误!", 1, 0);
goto end_jydz;
}
daylog(DEBUG, "全辖交易对帐报表生成成功!");
print_file(my_win, 6, 17, 2, file1, file2);
} else {
sprintf(file1, "%s/prt/%s/debit.jymx",
getenv("WORKDIR"), G_bankid);
daylog(DEBUG,
"正在生成交易明细报表, 清算日期: %s, 请稍候 ...",
logic_date);
mvwprintw(my_win, 4, 4, "正在生成交易明细报表, 请稍候 ...");
wrefresh(my_win);
/* jyds_rpt() in jyds_rpt.ec */
ret = jyds_rpt(file1, logic_date);
switch (ret) {
case -1:
h_winprompt(my_win, 17, 4, "生成报表出错!", 1, 0);
goto end_jydz;
case -2:
h_winprompt(my_win, 17, 4, "数据库操作错误!", 1, 0);
goto end_jydz;
}
daylog(DEBUG, "交易明细报表生成成功!");
print_file(my_win, 6, 17, 1, file1);
}
end_jydz:
delwin(my_win);
scr_restore(filename);
unlink(filename);
return(0);
}
/********************************************************************
功能:全辖清算对帐报表
********************************************************************/
int gen_qsdz()
{
WINDOW *my_win;
$S_sys_param sys;
char filename[128], logic_date[11];
char settle_date[9];
char e_logic_date[11];
char file1[128], file2[128], file3[128];
int ret=1;
int his_flag=0;
$ifdef wyz020508_mod;
$select * into :sys from sys_param;
if (SQLCODE) {
daylog(ERROR, "Unable select sys_param table!");
return(-1);
}
del_st_space("sys_param", &sys);
sprintf(filename, "select count(*) from bank_info where bank_id != adm_bank_id and adm_bank_id = \'%s\'", sys.bank_id);
ret = query_count(filename);
$else;
$endif;
sprintf(filename, "/tmp/.gen_qsdz.%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_qsdz;
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_qsdz;
#ifdef Wubin20020827_del
if (strcmp(logic_date, e_logic_date) != 0)
goto end_qsdz;
#endif
if (strcmp(logic_date, settle_date) < 0)
his_flag = 1;
else
his_flag = 0;
if (ret) {
sprintf(file1, "%s/prt/%s/debit.qshz", getenv("WORKDIR"), G_bankid);
if (!yorn(my_win, 4, " 是否生成清算明细报表?",
"1.是", "0.否", 0, 0))
sprintf(file2, "%s/prt/%s/debit.qsmx",
getenv("WORKDIR"), G_bankid);
else
file2[0] = 0;
if (!yorn(my_win, 4, " 是否生成清算手续费报表?",
"1.是", "0.否", 0, 0))
sprintf(file3, "%s/prt/%s/debit.qstip",
getenv("WORKDIR"), G_bankid);
else
file3[0] = 0;
daylog(DEBUG,
"正在生成全辖清算对帐报表, 清算日期: %s, 请稍候 ...",
logic_date);
mvwprintw(my_win, 4, 4, "正在生成全辖清算对帐报表, 请稍候 ...");
wrefresh(my_win);
ret = qsdz_rpt(file1, file2, file3, logic_date, G_bankid, "00");
switch (ret) {
case -1:
h_winprompt(my_win, 17, 4, "生成报表出错!", 1, 0);
goto end_qsdz;
case -2:
h_winprompt(my_win, 17, 4, "数据库操作错误!", 1, 0);
goto end_qsdz;
}
daylog(DEBUG, "全辖清算对帐报表生成成功!");
print_file(my_win, 6, 17, 3, file1, file2, file3);
} else {
sprintf(file1, "%s/prt/%s/debit.qsmx", getenv("WORKDIR"), G_bankid);
daylog(DEBUG,
"正在生成清算明细报表, 清算日期: %s, 请稍候 ...",
logic_date);
mvwprintw(my_win, 4, 4, "正在生成清算明细报表, 请稍候 ...");
wrefresh(my_win);
ret = qsds_rpt(file1, logic_date);
switch (ret) {
case -1:
h_winprompt(my_win, 17, 4, "生成报表出错!", 1, 0);
goto end_qsdz;
case -2:
h_winprompt(my_win, 17, 4, "数据库操作错误!", 1, 0);
goto end_qsdz;
}
daylog(DEBUG, "清算明细报表生成成功!");
print_file(my_win, 6, 17, 1, file1);
}
end_qsdz:
h_prompt(LINES-1, 1, " < ESC 退出 > ", 0, 0);
delwin(my_win);
scr_restore(filename);
unlink(filename);
return(0);
}
/********************************************************************
功能:信用卡银行报表
********************************************************************/
int gen_c_qsdz()
{
WINDOW *my_win;
char filename[128], logic_date[11];
char e_logic_date[11];
char settle_date[9];
char file1[128], mx1[128], file2[128], mx2[128], file3[128], file4[128];
int ret;
sprintf(filename, "/tmp/.gen_c_qsdz.%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_c_qsdz;
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_c_qsdz;
#ifdef Wubin20020827_del
if (strcmp(logic_date, e_logic_date) != 0)
goto end_c_qsdz;
#endif
sprintf(file1, "%s/prt/%s/credit.sbhz", getenv("WORKDIR"), G_bankid);
sprintf(file2, "%s/prt/%s/credit.xhhz", getenv("WORKDIR"), G_bankid);
if (!yorn(my_win, 4, " 是否生成上报明细报表?",
"1.是", "0.否", 0, 0))
sprintf(mx1, "%s/prt/%s/credit.sbmx", getenv("WORKDIR"), G_bankid);
else
mx1[0] = 0;
if (!yorn(my_win, 4, " 是否生成下划明细报表?",
"1.是", "0.否", 0, 0))
sprintf(mx2, "%s/prt/%s/credit.xhmx", getenv("WORKDIR"), G_bankid);
else
mx2[0] = 0;
sprintf(file3, "%s/prt/%s/credit.in_tip", getenv("WORKDIR"), G_bankid);
sprintf(file4, "%s/prt/%s/credit.out_tip", getenv("WORKDIR"), G_bankid);
daylog(DEBUG,
"正在生成信用卡银行报表, 清算日期: %s, 请稍候 ...",
logic_date);
mvwprintw(my_win, 4, 4, "正在生成信用卡银行报表, 请稍候 ...");
wrefresh(my_win);
ret = c_qsdz_rpt(logic_date, file1, mx1, file2, mx2, file3, file4);
if (ret < 0) {
h_winprompt(my_win, 17, 4, "生成报表出错!", 1, 0);
goto end_c_qsdz;
}
daylog(DEBUG, "信用卡银行报表生成成功!");
print_file(my_win, 6, 17, 6, file1, mx1, file2, mx2, file3, file4);
end_c_qsdz:
delwin(my_win);
scr_restore(filename);
unlink(filename);
return(0);
}
/*
* 全辖交易明细清单
*/
int gen_debit_jymx()
{
WINDOW *my_win;
$S_sys_param sys;
char filename[80], logic_date[11], file[80];
char e_logic_date[11];
char settle_date[11];
int ret;
int his_flag = 0;
$select * into :sys from sys_param;
if (SQLCODE) {
daylog(ERROR, "Unable select sys_param table!");
return(-1);
}
del_st_space("sys_param", &sys);
sprintf(filename, "/tmp/.gen_debit_jymx.%d", getpid());
scr_dump(filename);
disp_below("全辖交易明细清单");
clear_wline(stdscr, LINES-1);
h_prompt(LINES-1, 1, " < ESC 退出 > ", 0, 0);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?