📄 hmd_rpt.ec
字号:
/****************************************************
* 止付名单统计表 hmd_rpt()
*
* 最后修改: 周国祥 2001/08/23
****************************************************/
#include <stdio.h>
#include <math.h>
#include "all.h"
$include "db_struct.h"
$include sqlca;
EXEC SQL WHENEVER SQLERROR CALL error_handler;
EXEC SQL WHENEVER SQLWARNING CALL warning_handler;
EXEC SQL WHENEVER NOT FOUND CALL notfound_handler;
char *get_reason(char *state)
{
switch (atoi(state)) {
case 200:
return("不承兑");
case 201:
return("过期卡");
case 202:
return("欺诈嫌疑");
case 203:
return("与受卡方联系");
case 204:
return("受限制的卡");
case 205:
return("扣卡抓人");
case 206:
return("PIN 输入次数超限");
case 207:
return("特殊条件");
case 208:
return("遗失的卡");
case 209:
return("被窃的卡");
case 210:
return("伪卡嫌疑");
default:
return("");
}
}
int hmd_rpt(filename, input_date)
char *filename;
$parameter char *input_date;
{
FILE *fp;
$S_wb_list hmd;
long num;
#ifndef zgx010524_added
$char indate[9];
date2str(input_date, indate, "");
#endif
if (!(fp = fopen(filename, "w"))) {
daylog(ERROR, "Open %s for write error!", filename);
return(-1); /* File operate error */
}
if (FileHead_DR(fp, input_date)) {
fclose(fp);
return(-2); /* Database operate error */
}
num = 0;
$declare hmd_cur cursor for
select * from wb_list
where input_date = :indate /* input_date */
order by card_no;
$open hmd_cur;
if (SQLCODE) {
daylog(ERROR, "Open hmd_cur error![%d]", SQLCODE);
fclose(fp);
return(-2); /* Database operate error */
}
while (1) {
$fetch hmd_cur into :hmd;
if (SQLCODE == 100) break;
if (SQLCODE) {
daylog(ERROR, "Fetch hmd_cur error![%d]", SQLCODE);
$close hmd_cur;
fclose(fp);
return(-2); /* Database operate error */
}
del_st_space("wb_list", &hmd);
FileDetail_DR(fp, &hmd);
num++;
}
$close hmd_cur;
FileTail_DR(fp, num);
fclose(fp);
return(0);
}
int FileHead_DR(FILE *fp, char *input_date)
{
$S_sys_param sys;
char date[11], time[9];
$char bankname[31];
char input_date1[11]; /* YYYY/MM/DD */
$select * into :sys from sys_param;
if (SQLCODE) {
daylog(ERROR, "Select sys_param error!");
return(-1);
}
get_bank_name(sys.bank_id,sys.host_id, bankname);
getdatef(date, "/");
gettimef(time, ":");
fprintf(fp, "%15s中国银行BTS系统\n", " ");
fprintf(fp, "%15s止付名单统计表\n", " ");
str2date(input_date1, input_date, "/");
fprintf(fp, "BTS-600%19s登记日期: %s\n", " ", input_date1);
fprintf(fp, "%-5.5s%-3.3s%-22.22s%s %s\n", sys.bank_id,sys.host_id, bankname, date, time);
fprintf(fp, "----------------------------------------------\n");
fprintf(fp, "%-19s %-9s %-16s\n", "卡 号", "有效期", "止付类型");
fprintf(fp, "----------------------------------------------\n");
return(0);
}
int FileDetail_DR(FILE *fp, S_wb_list *phmd)
{
fprintf(fp, "%-19s %-9s %-16s\n",
phmd->card_no, phmd->exp_date, get_reason(phmd->wb_type));
return(0);
}
int FileTail_DR(FILE *fp, long num)
{
fprintf(fp, "----------------------------------------------\n");
if (num) fprintf(fp, "%s %ld 张\n", "合 计", num);
return(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -