gen_xj_rpt.ec
来自「在SCO UNIX制定界面程序 可根据文件配制菜单,而不必修改源程序,非常方便」· EC 代码 · 共 203 行
EC
203 行
/****************************************************
* 中行代办建行卡汇总报表 GenTotalXJ()
* 中国银行网点代办建行卡明细,汇总报表
*
* 最后修改: 周国祥 2001/08/24
****************************************************/
#include <stdio.h>
#include <curses.h>
#include "tool.h"
#include "all.h"
$include "db_struct.h"
$include sqlca;
void DateAdd( char *inDate,int n, char *outDate)
{
char Date[40];
long iDate;
sprintf( Date,"%2.2s/%2.2s/%4.4s",inDate+4,inDate+6,inDate);
rstrdate( Date,&iDate );
iDate += n;
rdatestr( iDate,Date);
sprintf ( outDate,"%4.4s%2.2s%2.2s",Date+6,Date,Date+3);
return ;
}
int GenTotalXJ()
{
WINDOW *myWin;
$S_sys_param SysParam;
char BankName[50];
char ScreenFile[80],PrintFile[80],logic_date[11];
int iReturn;
$select * into :SysParam from sys_param;
if (SQLCODE) {
errcall(ERROR, "Unable select local_sys_param table!");
return(-1);
}
del_st_space("sys_param", &SysParam);
get_bank_name( SysParam.bank_id, SysParam.host_id, BankName );
sprintf(ScreenFile, "/tmp/.gen_xj_total.%d", getpid());
scr_dump(ScreenFile);
disp_below("中行代办建行卡汇总报表");
clear_wline(stdscr, LINES-1);
h_prompt(LINES-1, 1, " < ESC 退出 > ", 0, 0);
h_prompt(LINES-1, 1, "中行代办建行卡汇总报表",0,0);
myWin = newwin(19, 80, 3, 0);
mvwprintw(myWin, 0, 0, "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
wrefresh(myWin);
set_prompt(PROMPT_OFF);
DateAdd(SysParam.logic_date, -1, logic_date);
mvwprintw(myWin, 2, 4, "请输入清算逻辑日: [%s]", logic_date);
if (in_item(myWin, "", 2, 23, logic_date, 8, NULL, NULL, 0, 0) !=
ENTER) goto END_TOTAL;
sprintf(PrintFile, "%s/prt/TotalXJ.mx", getenv("WORKDIR"));
daylog(DEBUG,
"正在生成中行代办建行卡汇总报表 清算逻辑日: %s, 请稍候 ...",logic_date);
mvwprintw(myWin, 4, 4, "正在生成中行代办建行卡汇总报表,请稍候 ...");
wrefresh(myWin);
iReturn = TotalReport(PrintFile, logic_date, BankName);
if (iReturn)
h_winprompt(myWin, 17, 4, "生成报表出错!", 1, 0);
else
print_file(myWin, 6, 17, 1, PrintFile);
END_TOTAL:
delwin(myWin);
scr_restore(ScreenFile);
unlink(ScreenFile);
return(0);
}
int GenDetailXJ()
{
WINDOW *myWin;
$S_sys_param SysParam;
char BankName[40];
char ScreenFile[80],PrintFile[80],logic_date[11];
int iReturn;
$select * into :SysParam from sys_param;
if (SQLCODE) {
daylog(ERROR, "Unable select sys_param table!");
return(-1);
}
del_st_space("sys_param", &SysParam);
get_bank_name( SysParam.bank_id , SysParam.host_id, BankName );
sprintf(ScreenFile, "/tmp/.gen_xj_detail.%d", getpid());
scr_dump(ScreenFile);
disp_below( "中国银行网点代办建行卡明细,汇总报表");
clear_wline(stdscr, LINES-1);
h_prompt(LINES-1, 1, " < ESC 退出 > ", 0, 0);
h_prompt(LINES-1, 1,"中国银行网点代办建行卡明细,汇总报表",0,0);
myWin = newwin(19, 80, 3, 0);
mvwprintw(myWin, 0, 0, "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
wrefresh(myWin);
set_prompt(PROMPT_OFF);
DateAdd(SysParam.logic_date, -1, logic_date);
mvwprintw(myWin, 2, 4, "请输入清算逻辑日: [%s]", logic_date);
if (in_item(myWin, "", 2, 23, logic_date, 8, NULL, NULL, 0, 0) !=
ENTER) goto END_TOTAL;
sprintf(PrintFile, "%s/prt/DetailXJ.mx", getenv("WORKDIR"));
mvwprintw(myWin, 4, 4, "正在生成中行代办建行卡明细,汇总报表,请稍候...");
wrefresh(myWin);
iReturn = DetailReport(PrintFile, logic_date, "05");
if (iReturn)
h_winprompt(myWin, 17, 4, "生成报表出错!", 1, 0);
else
print_file(myWin, 6, 17, 1, PrintFile);
END_TOTAL:
delwin(myWin);
scr_restore(ScreenFile);
unlink(ScreenFile);
return(0);
}
int GenSpanXJ()
{
WINDOW *myWin;
/*================== WuBin 2001-4-8 21:32 ======Start==============
$S_local_sys_param SysParam;
================================================End==============*/
$S_sys_param SysParam;
char BankName[40];
char ScreenFile[80],PrintFile[80],sDate[9],eDate[9];
int iReturn;
/*================== WuBin 2001-4-8 21:32 ======Start==============
$select * into :SysParam from local_sys_param;
================================================End==============*/
$select * into :SysParam from sys_param;
if (SQLCODE) {
/*================== WuBin 2001-4-8 21:32 ======Start==============
daylog(ERROR, "Unable select local_sys_param table!");
================================================End==============*/
daylog(ERROR, "Unable select sys_param table!");
return(-1);
}
/*================== WuBin 2001-4-8 21:33 ======Start==============
get_bank_name( SysParam.T15_bank_id , BankName );
================================================End==============*/
del_st_space("sys_param", &SysParam);
get_bank_name( SysParam.bank_id, SysParam.host_id, BankName );
sprintf(ScreenFile, "/tmp/.gen_xj_span.%d", getpid());
scr_dump(ScreenFile);
disp_below( "中国银行代办建行卡交易量报表");
clear_wline(stdscr, LINES-1);
h_prompt(LINES-1, 1, " < ESC 退出 > ", 0, 0);
h_prompt(LINES-1, 1,"中国银行代办建行卡交易量报表",0,0);
myWin = newwin(19, 80, 3, 0);
mvwprintw(myWin, 0, 0, "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
wrefresh(myWin);
set_prompt(PROMPT_OFF);
/*================== WuBin 2001-4-8 21:33 ======Start==============
DateAdd(SysParam.T15_logic_date, -1, sDate);
DateAdd(SysParam.T15_logic_date, -1, eDate);
================================================End==============*/
DateAdd(SysParam.logic_date, -1, sDate);
DateAdd(SysParam.logic_date, -1, eDate);
mvwprintw(myWin, 2, 4, "请输入清算逻辑日: [%s] 至 [%s]",sDate,eDate );
if (in_item(myWin, "", 2, 23, sDate, 8, NULL, NULL, 0, 0) !=
ENTER) goto END_TOTAL;
if (in_item(myWin, "", 2, 37, eDate, 8, NULL, NULL, 0, 0) !=
ENTER) goto END_TOTAL;
sprintf(PrintFile, "%s/prt/SpanTotalXJ.mx", getenv("WORKDIR"));
mvwprintw(myWin, 4, 4, "正在生成中行代办建行卡交易量报表,请稍候 ...");
wrefresh(myWin);
iReturn = TranSpanTime(PrintFile,BankName,sDate,eDate);
if (iReturn)
h_winprompt(myWin, 17, 4, "生成报表出错!", 1, 0);
else
print_file(myWin, 6, 17, 1, PrintFile);
END_TOTAL:
delwin(myWin);
scr_restore(ScreenFile);
unlink(ScreenFile);
return(0);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?