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 + -
显示快捷键?