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