bank_rpt.ec
来自「在SCO UNIX制定界面程序 可根据文件配制菜单,而不必修改源程序,非常方便」· EC 代码 · 共 685 行 · 第 1/2 页
EC
685 行
fclose(c_bd);
fclose(d_bd);
fclose(c_yd);
fclose(d_yd);
return(0);
}
int FileHead_bank_shhz(fp, title, sy, s_date, e_date, date, time)
FILE *fp;
char *title;
S_sys_param sy;
char *s_date;
char *e_date;
char *date;
char *time;
{
char bank_name[128];
char ss_date[11];
char ee_date[11];
char date1[11];
char time1[9];
if (strlen(s_date) == 8) {
sprintf(ss_date, "%4.4s/%2.2s/%2.2s", s_date, s_date+4, s_date+6);
sprintf(ee_date, "%4.4s/%2.2s/%2.2s", e_date, e_date+4, e_date+6);
}
if (strlen(date) == 8) {
sprintf(date1, "%4.4s/%2.2s/%2.2s", date, date+4, date+6);
sprintf(time1, "%2.2s:%2.2s:%2.2s", time, time+2, time+4);
}
fprintf(fp, "%23s中国银行BTS系统%6.6s\n", " ", title);
fprintf(fp, "%23s商户交易入帐汇总\n", " ");
fprintf(fp, "BTS-400%30s清算日期: %s-%s\n", " ", ss_date, ee_date);
get_bank_name(sy.bank_id, sy.host_id, bank_name);
fprintf(fp, "%-5.5s%-44s%s %s\n", sy.bank_id, bank_name, date1, time1);
fprintf(fp, "-------------------------------------------------------------------------\n");
fprintf(fp, "%-15s %-20s %12s %10s %12s\n", "商 户 号", "商 户 名 称", "总计金额", "总计回扣", "总计净额");
fprintf(fp, "-------------------------------------------------------------------------\n");
}
int FileHead_bank_shmx(fp, title, sy, s_date, e_date, date, time)
FILE *fp;
char *title;
S_sys_param sy;
char *s_date;
char *e_date;
char *date;
char *time;
{
char bank_name[128];
char ss_date[11];
char ee_date[11];
char date1[11];
char time1[9];
if (strlen(s_date) == 8) {
sprintf(ss_date, "%4.4s/%2.2s/%2.2s", s_date, s_date+4, s_date+6);
sprintf(ee_date, "%4.4s/%2.2s/%2.2s", e_date, e_date+4, e_date+6);
}
if (strlen(date) == 8) {
sprintf(date1, "%4.4s/%2.2s/%2.2s", date, date+4, date+6);
sprintf(time1, "%2.2s:%2.2s:%2.2s", time, time+2, time+4);
}
fprintf(fp, "%25s中国银行BTS系统%6.6s\n", " ", title);
fprintf(fp, "%25s商户交易入帐明细\n", " ");
fprintf(fp, "BTS-401%32s清算日期: %s-%s\n", " ", ss_date, ee_date);
get_bank_name(sy.bank_id, sy.host_id, bank_name);
fprintf(fp, "%-5.5s%-46s%s %s\n", sy.bank_id, bank_name, date1, time1);
}
int FileSubHead_bank_shmx(fp, m_data)
FILE *fp;
M_DATA m_data;
{
fprintf(fp, "\n\n商户号: %-15.15s 商户名称: %s\n", m_data.merch, m_data.name);
fprintf(fp, "---------------------------------------------------------------------------\n");
fprintf(fp, "%-19s %12s %10s %6s %-10s %-8s\n", "卡 号", "交易金额", "手续费", "授权码", "交易日期", "交易时间");
fprintf(fp, "---------------------------------------------------------------------------\n");
}
int FileDetail_bank_shhz(fp, m_data, data)
FILE *fp;
M_DATA m_data;
DATA data;
{
if (!data.num) return(0);
fprintf(fp, "%-15.15s %-20.20s %12.2lf %10.2lf %12.2lf\n", m_data.merch, m_data.name, data.amt, data.tip, data.amt - data.tip);
}
int FileDetail_bank_shmx(fp, pls, tip)
FILE *fp;
S_tran_ls *pls;
double tip;
{
char tmp_date[11]; /* YYYY/MM/DD */
char tmp_time[9]; /* hh:mm:ss */
str2date(tmp_date, pls->local_sys_date, "/");
str2time(tmp_time, pls->local_sys_time, ":");
fprintf(fp, "%-19.19s %12.2lf %10.2lf %6.6s %-10.10s %-8.8s\n", pls->card_no, - pls->tran_amt, tip, pls->auth_no, tmp_date, tmp_time);
}
int FileSubTail_bank_shmx(fp, data)
FILE *fp;
DATA data;
{
if (!data.num) return(0);
fprintf(fp, "---------------------------------------------------------------------------\n");
fprintf(fp, "%6s %12s %10s %12s\n", "笔 数", "交易金额", "手续费", "入帐金额");
fprintf(fp, "%6ld %12.2lf %10.2lf %12.2lf\n", data.num, data.amt, data.tip, data.amt - data.tip);
}
int FileTail_bank_shhz(fp, data)
FILE *fp;
DATA data;
{
fprintf(fp, "-------------------------------------------------------------------------\n");
if (data.total_num) fprintf(fp, "合 计 -- 金额 :%12.2lf 回扣 :%10.2lf 净额 :%12.2lf\n", data.total_amt, data.total_tip, data.total_amt - data.total_tip);
}
int FileTail_bank_shmx(fp, data)
FILE *fp;
DATA data;
{
if (!data.total_num) return(0);
fprintf(fp, "\n\n");
fprintf(fp, "%6s %12s %10s %12s\n", "合 计", "交易金额", "手续费", "入帐金额");
fprintf(fp, "%6s %12.2lf %10.2lf %12.2lf\n", " ", data.total_amt, data.total_tip, data.total_amt - data.total_tip);
}
int FileHead_bank_mx(fp, title, card, sy, s_date, e_date, date, time)
FILE *fp;
char *title;
char *card;
S_sys_param sy;
char *s_date;
char *e_date;
char *date;
char *time;
{
char bank_name[128];
char ss_date[11];
char ee_date[11];
char date1[11];
char time1[9];
if (strlen(s_date) == 8) {
sprintf(ss_date, "%4.4s/%2.2s/%2.2s", s_date, s_date+4, s_date+6);
sprintf(ee_date, "%4.4s/%2.2s/%2.2s", e_date, e_date+4, e_date+6);
}
if (strlen(date) == 8) {
sprintf(date1, "%4.4s/%2.2s/%2.2s", date, date+4, date+6);
sprintf(time1, "%2.2s:%2.2s:%2.2s", time, time+2, time+4);
}
fprintf(fp, "%15s中国银行BTS系统%6.6s\n", " ", title);
fprintf(fp, "%15s商户%6.6s交易明细清单\n", " ", card);
fprintf(fp, "BTS-402%14s清算日期: %s-%s\n", " ", ss_date, ee_date);
#ifdef wyz020429_mod
get_bank_name(sy.bank_id, sy.host_id, bank_name);
fprintf(fp, "%-5.5s%-28.28s%s %s\n", sy.bank_id, bank_name, date1, time1);
#else
get_bank_name(G_bankid, "00", bank_name);
fprintf(fp, "%-5.5s%-28.28s%s %s\n", G_bankid, bank_name, date1, time1);
#endif
fprintf(fp, "---------------------------------------------------------\n");
fprintf(fp, "%-19s %12s %-10s %-8s\n", "卡 号", "交易金额", "交易日期", "交易时间");
fprintf(fp, "---------------------------------------------------------\n");
}
int FileDetail_bank_mx(fp, pls)
FILE *fp;
S_tran_ls *pls;
{
char tmp_date[11]; /* YYYY/MM/DD */
char tmp_time[9]; /* hh:mm:ss */
str2date(tmp_date, pls->local_sys_date, "/");
str2time(tmp_time, pls->local_sys_time, ":");
fprintf(fp, "%-19.19s %12.2lf %-10.10s %-8.8s\n", pls->card_no, - pls->tran_amt, tmp_date, tmp_time);
}
int FileTail_bank_mx(fp)
FILE *fp;
{
fprintf(fp, "---------------------------------------------------------\n");
}
int debit_jymx(file, sys, logic_date, his_flag)
char *file;
$parameter S_sys_param sys;
$parameter char *logic_date;
int his_flag;
{
FILE *fp;
$char sqlstr[512];
$S_tran_ls ls;
char table_name[32];
char sign_bankid[12], sign_hostid[3];
fp = fopen(file, "w");
if (!fp) {
daylog(ERROR, "Open %s for write error!", file);
return(-1);
}
FileHead_debit_jymx(fp, sys, logic_date);
/* 原2,3,4,5,8,11:消费,退货,取款,存款,转帐,确认
* 现1,2,3,5,6,7,8,9,10,14:消费,授权消费,取款,确认,
* 转出,存款,调帐,转入,退货,双转 */
$ifdef wyz020508_mod;
$declare d_cur cursor for select * from cur_tran_ls
where (acq_bank_id = :sys.bank_id or iss_bank_id = :sys.bank_id)
and tran_type in (1,2,3,5,6,7,8,9,10,14)
and snd_settle_date = :logic_date
and resp_code like '00%'
and manual_flag = 'N'
and card_type = '02' /* 借记卡02 */
and tran_flag in ('0', '4')
and saf_flag = '0'
order by acq_bank_id, merchant_id, terminal_id;
$else;
if (his_flag == 1)
sprintf(table_name, "his_settle_ls");
else
sprintf(table_name, "cur_settle_ls");
sprintf(sqlstr, "select * from %s \
where (acq_bank_id = \'%s\' \
or iss_bank_id = \'%s\') \
and snd_settle_date = \'%s\' \
and card_type = '02' \
order by merchant_id, terminal_id",
table_name, sys.bank_id, sys.bank_id,
logic_date);
EXEC SQL PREPARE sel_ls from :sqlstr;
if (SQLCODE) {
daylog(ERROR, "PREPARE failed(%d)", SQLCODE);
fclose(fp);
return -1;
}
EXEC SQL DECLARE d_cur cursor for sel_ls;
if (SQLCODE) {
daylog(ERROR, "DECLARE FAILED![%d]", SQLCODE);
fclose(fp);
return(-1);
}
$endif;
$open d_cur;
if (SQLCODE) {
errcall(ERROR, "Open d_cur error![%d]", SQLCODE);
fclose(fp);
return(-1);
}
while (1) {
$fetch d_cur into :ls;
if (SQLCODE == 100) break;
if (SQLCODE) {
errcall(ERROR, "Fetch d_cur error![%d]", SQLCODE);
$close d_cur;
fclose(fp);
return(-1);
}
del_st_space("tran_ls", &ls);
if (strcmp(G_cen_bankid, G_bankid)) {
get_sign_bank(ls.merchant_id, sign_bankid, sign_hostid);
if (strcmp(G_bankid, sign_bankid))
continue;
}
FileDetail_debit_jymx(fp, &ls);
}
$close d_cur;
FileTail_debit_jymx(fp);
fclose(fp);
return(0);
}
int FileHead_debit_jymx(fp, sys, logic_date)
FILE *fp;
S_sys_param sys;
char *logic_date;
{
char date[11], time[9];
char bank_name[128];
getdatef(date, "/");
gettimef(time, ":");
fprintf(fp, "%42s中国银行BTS系统借记卡\n", " ");
fprintf(fp, "%42s全辖交易明细清单\n", " ");
fprintf(fp, "BTS-808%77s清算逻辑日: %s\n", " ", logic_date);
#ifdef wyz020429_mod
get_bank_name(sys.bank_id, sys.host_id, bank_name);
fprintf(fp, "%-5.5s%-82s%s %s\n", sys.bank_id, bank_name, date, time);
#else
get_bank_name(G_bankid, "00", bank_name);
fprintf(fp, "%-5.5s%-82s%s %s\n", G_bankid, bank_name, date, time);
#endif
fprintf(fp, "----------------------------------------------------------------------------------------------------------\n");
fprintf(fp, "%-21s %-8s %14s %6s %-15s %-8s %-6s %-6s %-10s %-8s\n", "卡 号", "交易类型", "交易金额", "授权码", "商户号", "EDC 号", "收单行", "发卡行", "交易日期", "交易时间");
fprintf(fp, "----------------------------------------------------------------------------------------------------------\n");
}
int FileDetail_debit_jymx(fp, pls)
FILE *fp;
S_tran_ls *pls;
{
char buf[16];
char tmp_date[11]; /* YYYY/MM/DD */
char tmp_time[9]; /* hh:mm:ss */
str2date(tmp_date, pls->local_sys_date, "/");
str2time(tmp_time, pls->local_sys_time, ":");
type2buf(pls->tran_type, buf);
fprintf(fp, "%-6.6s-%-4.4s-%-9.9s %-8s %14.2lf %6s %-15.15s %-8.8s %-6.6s %-6.6s %-10s %-8s\n", pls->card_no, pls->card_no + 6, pls->card_no + 10, buf, pls->tran_amt, pls->auth_no, pls->merchant_id, pls->terminal_id, pls->acq_bank_id, pls->iss_bank_id, tmp_date, tmp_time);
}
int FileTail_debit_jymx(fp)
FILE *fp;
{
fprintf(fp, "----------------------------------------------------------------------------------------------------------\n");
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?