⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bank.ec

📁 界面库
💻 EC
字号:
/**********************************************************
 * 
 * 周国祥  2001/04/14 针对新库表进行修改
 *	mv jgbm.ec bank.ec
 *	所有函数均加上主机号参数
 *
 * 最后修改:周国祥 2001/08/18
 **********************************************************/
#include <stdio.h>
#include <math.h>
#include "all.h"

EXEC SQL INCLUDE sqlca;
EXEC SQL WHENEVER SQLERROR CALL error_handler;
EXEC SQL WHENEVER SQLWARNING CALL warning_handler;
EXEC SQL WHENEVER NOT FOUND CALL notfound_handler;

/**  update by dongyi for the relation not 1---1 */

/*
 * 	获取联行上级行的行号主机号
 */
int get_bank_father(bankid, hostid, f_bankid, f_hostid)
char	*bankid, *hostid;	/* 联行行号、主机号 */
char	*f_bankid, *f_hostid;	/* 管辖行行号、主机号 */
{
	$char	bank_id[12], host_id[3];
	$char	f_bank_id[12], f_host_id[3];

	strcpy(bank_id, bankid);
	strcpy(host_id, hostid);

	EXEC SQL SELECT father_bank_id, father_host_id
		INTO :f_bank_id, :f_host_id
		FROM adm_bank_ctrl
		WHERE bank_id = :bank_id
		AND host_id = :host_id;

	if (sqlca.sqlcode == 0) {
		DelSpace(f_bank_id);
		DelSpace(f_host_id);
		strcpy(f_bankid, f_bank_id);
		strcpy(f_hostid, f_host_id);
		return(0);
	}

	return(sqlca.sqlcode);
}

/*
 *	根据联行行号主机号获取联行名称
 */
int get_bank_name(char *bank, char *host, char *name)
{
	$char	bankid[12], hostid[3], bankname[31];
	int	iReturn;

	name[0] = 0;

	strcpy(bankid, bank);
	strcpy(hostid, host);

	$declare bank_name_cur cursor for 
		select bank_name from bank_info
		where bank_id = :bankid and host_id = :hostid;
	$open bank_name_cur;

	$fetch bank_name_cur into :bankname;
	iReturn = sqlca.sqlcode;
	if ( iReturn == 0) {
		DelSpace(bankname);
		strcpy(name, bankname);
	}
	$close bank_name_cur;
	return iReturn;
}

/*
 *	仅根据联行行号获取联行名称
 */
int get_bank_name1(char *bank, char *name)
{
	$char	bankid[12], bankname[31];
	int	iReturn;

	name[0] = 0;

	strcpy(bankid, bank);

	$declare bank_name1_cur cursor for 
		select bank_name from bank_info
		where bank_id = :bankid;
	$open bank_name1_cur;

	$fetch bank_name1_cur into :bankname;
	iReturn = sqlca.sqlcode;
	if ( iReturn == 0) {
		DelSpace(bankname);
		strcpy(name, bankname);
	}
	$close bank_name1_cur;
	return iReturn;
}


/*
 *	获取联行电传号码或授权电话
 */
int get_bank_auth(char *bankid, char *hostid, char *tele, char *telex)
{
	$char bank_id[12], host_id[3], auth_tele[16], auth_telex[16];

	tele[0] = telex[0] = 0;

	strcpy(bank_id, bankid);
	strcpy(host_id, hostid);

	EXEC SQL SELECT auth_tel, telex
		INTO :auth_tele, :auth_telex
		FROM  bank_info
		WHERE bank_id = :bank_id
		AND   host_id = :host_id;

	if (sqlca.sqlcode == 0) {
		DelSpace(auth_tele);
		DelSpace(auth_telex);
		strcpy(tele, auth_tele);
		strcpy(telex, auth_telex);
	}

	return(sqlca.sqlcode);
}

/*
 *	获取联行银行类型
 */
int get_bank_type(char *bankid, char *hostid, char *type)
{
	$char	bank_id[12], host_id[3], bank_type[5];
	int	iReturn;

	type[0] = '\0';

	strcpy(bank_id, bankid);
	strcpy(host_id, hostid);

	$declare bank_type_cur cursor for
		SELECT bank_type FROM bank_info
		WHERE bank_id = :bank_id
		AND   host_id = :host_id;

	$open bank_type_cur;
	$fetch bank_type_cur into :bank_type;
	iReturn = sqlca.sqlcode;
	if ( iReturn == 0) {
		DelSpace(bank_type);
		strcpy(type, bank_type);
	}
	$close bank_type_cur;
	return iReturn;
}

/*
 *	检查联行间的上下管辖关系
 * 若主机号为“99”, 则无需判断主机号一致
 */
int check_depend(char *a_bankid, char *a_hostid, char *bankid, char *hostid)
{
	$char	adm_bank_id[12], adm_host_id[3];
	$char	bank_id[12], host_id[3];

	if (!strcmp(a_bankid, bankid) &&
		(!strcmp(a_hostid, hostid)	||
		 !strcmp(a_hostid, "99")	||
		 !strcmp(hostid, "99")))
		return(0);

	strcpy(bank_id, bankid);
	strcpy(host_id, hostid);

	$declare depend_cur cursor for
		select adm_bank_id, adm_host_id, host_id
		from bank_info
		where bank_id = :bank_id;

	if(SQLCODE) {
		errcall(ERROR,"declare error[%d]",SQLCODE);
		return -1;
	}
	$open depend_cur;
	if(SQLCODE) {
		errcall(ERROR,"open error[%d]",SQLCODE);
		return -1;
	}

	while(1) {
		$fetch depend_cur into :adm_bank_id, :adm_host_id, :host_id;
		if ( SQLCODE )
			break;
		DelSpace(adm_bank_id);
		DelSpace(adm_host_id);
		if (strcmp(hostid, "99") != 0 &&
		    strcmp(hostid, host_id) != 0 )
			continue;
		if ( !strcmp( adm_bank_id, a_bankid )
			&& !strcmp( adm_host_id, a_hostid ) ) {
			$close depend_cur;
			return 0;
		}
	}
	$close depend_cur;
	return -1;
}


/*
 *	检查联行间的上下管辖关系
 */
int check_depend1(char *a_bankid,char *bankid)
{
	$char	adm_bank_id[12];
	$char	bank_id[12];

	if (!strcmp(a_bankid, bankid))
		return(0);

	strcpy(bank_id, bankid);


	$declare depend_cur1 cursor for
		select adm_bank_id 
		from bank_info
		where bank_id = :bank_id;

	if (SQLCODE) {
		errcall(ERROR,"declare error[%d]",SQLCODE);
		return -1;
	}
	$open depend_cur1;
	if(SQLCODE) {
		errcall(ERROR,"open error[%d]",SQLCODE);
		return -1;
	}

	while(1) {
		$fetch depend_cur1 into :adm_bank_id;
		if ( SQLCODE )
			break;
		DelSpace(adm_bank_id);
		if (!strcmp( adm_bank_id, a_bankid )) {
			$close depend_cur1;
			return 0;
		}
	}
	$close depend_cur1;
	return -1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -