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

📄 cmscheck.sqc

📁 一整套完整的银行卡系统源代码
💻 SQC
📖 第 1 页 / 共 5 页
字号:
		}	}	sprintf( g_acTrcMsg, "cmsApiChkCardKind end " );	TRCLOG2	return SUCCESS;}/******************************************************* **	  函数名称:cmsApiChkCardNoIsMain **   中文名称:检查卡号是否为主卡 **   功能描述:根据按卡号检查是否主卡 **   输入参数: **   			pstCmsCardInfo	----	卡片信息表 **   输出参数:无 **   返回结果:int **   			0				----	成功 **   			-1				----	失败*******************************************************/int	cmsApiChkCardNoIsMain( pstCmsCardInfo )struct	cmscardinfo		*	pstCmsCardInfo;		/* 卡片信息表		*/{	/* 定义 局部变量 */	int					iRtn;					/* 函数返回值		*/	sprintf( g_acTrcMsg, "cmsApiChkCardNoIsMain begin " );	TRCLOG2	/* 检查卡标志 */	switch ( pstCmsCardInfo->cardflg[ BIT1_LEN ] )	{		/* 主卡 */		case MAIN_CARD:			break;		/* 附卡 */		case SUBMAIN_CARD:		default:			/* 卡号是附卡 */			strcpy( g_acRspCode, "CMS131" );			pubCrtRspInfo( pstCmsCardInfo->cardno );			ERRLOG			return FAILED;			break;	}	sprintf( g_acTrcMsg, "cmsApiChkCardNoIsMain end " );	TRCLOG2	return SUCCESS;}/******************************************************* **	  函数名称:cmsApiChkCardNoIsAcce **   中文名称:检查卡号是否为附卡 **   功能描述:根据按卡号检查是否附卡 **   输入参数: **   			pstCmsCardInfo	----	卡片信息表 **   输出参数:无 **   返回结果:int **   			0				----	成功 **   			-1				----	失败*******************************************************/int	cmsApiChkCardNoIsAcce( pstCmsCardInfo )struct	cmscardinfo		*	pstCmsCardInfo;		/* 卡片信息表		*/{	/* 定义 局部变量 */	int					iRtn;					/* 函数返回值		*/	sprintf( g_acTrcMsg, "cmsApiChkCardNoIsAcce begin " );	TRCLOG2	/* 检查启用标志 */	switch ( pstCmsCardInfo->cardflg[ BIT1_LEN ] )	{		/* 附卡 */		case SUBMAIN_CARD:			break;		/* 主卡 */		case MAIN_CARD:		default:			/* 卡号是主卡 */			strcpy( g_acRspCode, "CMS132" );			pubCrtRspInfo( pstCmsCardInfo->cardno );			ERRLOG			return FAILED;			break;	}	sprintf( g_acTrcMsg, "cmsApiChkCardNoIsAcce end " );	TRCLOG2	return SUCCESS;}/******************************************************* **	  函数名称:cmsApiChkCardNoHasAcceCard **   中文名称:检查卡号是否存在附卡 **   功能描述:根据按卡号检查是否存在附卡 **   输入参数: **   			pstCmsCardInfo	----	卡片信息表 **   输出参数:无 **   返回结果:int **   			0				----	成功 **   			-1				----	失败 **   			>0				----	附卡张数*******************************************************/int	cmsApiChkCardNoHasAcceCard( pstCmsCardInfo )struct	cmscardinfo		*	pstCmsCardInfo;		/* 卡片信息表		*/{	/* 定义 局部变量 */	int					iRtn;					/* 函数返回值		*/	sprintf( g_acTrcMsg, "cmsApiChkCardNoHasAcceCard begin " );	TRCLOG2	/* 检查卡内附卡数量为0 */	/* 卡内存在附卡 */	if ( pstCmsCardInfo->acdcnt > ZEROS )	{		strcpy( g_acRspCode, "CMS133" );		pubCrtRspInfo( pstCmsCardInfo->cardno, pstCmsCardInfo->acdcnt );		ERRLOG		return pstCmsCardInfo->acdcnt;	}	sprintf( g_acTrcMsg, "cmsApiChkCardNoHasAcceCard end " );	TRCLOG2	return SUCCESS;}/******************************************************* **	  函数名称:cmsApiChkCardNoHasAcct **   中文名称:检查卡号内是否存在帐户 **   功能描述:检查卡片下是否有帐户 **   输入参数: **   			pcCardNo		----	卡号 **   输出参数:无 **   返回结果:int **   			0				----	成功(无帐户) **   			-1				----	失败 **   			>0				----	帐户数*******************************************************/int	cmsApiChkCardNoHasAcct( pcCardNo )char					*	pcCardNo;			/* 卡号				*/{	/* 定义 局部变量 */	int					iRtn;					/* 函数返回值		*/	sprintf( g_acTrcMsg, "cmsApiChkCardNoHasAcct begin " );	TRCLOG2	/* 初始化并赋值 */	memset ( acCardNo,	0x00,	sizeof( acCardNo ) );	memset ( acStatus,	0x00,	sizeof( acStatus ) );	lNum = 0; 	strcpy ( acCardNo,	pcCardNo );	/* 正常状态 */	acStatus[ BIT1_LEN ] = NORMAL_STS;				/* 获取卡内帐户数目 */	EXEC SQL	SELECT	count(*)				INTO	:lNum				FROM	cmsacctm				WHERE	cardno = :acCardNo				AND		status = :acStatus;	if ( SQLCODE )	{		strcpy ( g_acRspCode, "999996" );		/* 读数据库出错 */		pubCrtRspInfo( "cmsacctm", SQLCODE );		ERRLOG		return FAILED;	}	/* 检查卡内帐户数量为0 */	/* 卡内存在帐户 */	if ( lNum > ZEROS )	{		strcpy( g_acRspCode, "CMS134" );		pubCrtRspInfo( pcCardNo, lNum );		ERRLOG		return lNum;	}	sprintf( g_acTrcMsg, "cmsApiChkCardNoHasAcct end " );	TRCLOG2	return SUCCESS;}/******************************************************* **	  函数名称:cmsApiChkCardNoHasOtherAcct **   中文名称:检查卡号内是否存在主帐户外的帐户 **   功能描述:检查卡片下是否有主帐户外的帐户 **   输入参数: **   			pcCardNo		----	卡号 **   输出参数:无 **   返回结果:int **   			0				----	成功(无帐户) **   			-1				----	失败 **   			>0				----	帐户数*******************************************************/int	cmsApiChkCardNoHasOtherAcct( pcCardNo )char					*	pcCardNo;			/* 卡号				*/{	/* 定义 局部变量 */	int					iRtn;					/* 函数返回值		*/	sprintf( g_acTrcMsg, "cmsApiChkCardNoHasOtherAcct begin " );	TRCLOG2	/* 初始化并赋值 */	memset ( acCardNo,	0x00,	sizeof( acCardNo ) );	memset ( acStatus,	0x00,	sizeof( acStatus ) );	memset ( acMASeqNo,	0x00,	sizeof( acMASeqNo ) );	lNum = 0; 	strcpy ( acCardNo,	pcCardNo );	/* 正常状态 */	acStatus[ BIT1_LEN ] = NORMAL_STS;			/* 主帐户序号 */	strcpy( acMASeqNo,	MAINACCTSEQNO );		/* 获取卡内帐户数目 */	EXEC SQL	SELECT	count(*)				INTO	:lNum				FROM	cmsacctm				WHERE	cardno = :acCardNo				AND		acctseqno != :acMASeqNo				AND		status = :acStatus;	/* 读数据库出错 */	if ( SQLCODE )	{		strcpy ( g_acRspCode, "999996" );		pubCrtRspInfo( "cmsacctm", SQLCODE );		ERRLOG		return FAILED;	}	/* 检查卡内帐户数量为0 */	/* 卡内存在帐户 */	if ( lNum > ZEROS )	{		strcpy( g_acRspCode, "CMS134" );		pubCrtRspInfo( pcCardNo, lNum );		ERRLOG		return lNum;	}	sprintf( g_acTrcMsg, "cmsApiChkCardNoHasOtherAcct end " );	TRCLOG2	return SUCCESS;}/******************************************************* **	  函数名称:cmsApiChkCardHasBook **   中文名称:检查卡上是否有存折 **   功能描述:根据卡号检查卡上是否有存折 **   输入参数: **   			pstCmsCardInfo	----	卡片信息表 **   输出参数:无 **   返回结果:int **   			0				----	成功(有存折) **   			-1				----	失败(无存折)*******************************************************/int	cmsApiChkCardHasBook( pstCmsCardInfo )struct	cmscardinfo		*	pstCmsCardInfo;		/* 卡片信息表		*/{	/* 定义 局部变量 */	int					iRtn;					/* 函数返回值		*/	sprintf( g_acTrcMsg, "cmsApiChkCardHasBook begin " );	TRCLOG2	/* 检查是否有存折 */	switch ( pstCmsCardInfo->hasbankbook[ BIT1_LEN ] )	{		/* 有折 */		case BANKBOOK:			break;		/* 无折 */		case NOBANKBOOK:		default:			/* 卡对应无存折 */			strcpy( g_acRspCode, "CMS135" );			pubCrtRspInfo( pstCmsCardInfo->cardno );			ERRLOG			return FAILED;			break;	}	sprintf( g_acTrcMsg, "cmsApiChkCardHasBook end " );	TRCLOG2	return SUCCESS;}/******************************************************* **	  函数名称:cmsApiChkAcctIsCardMainAcct **   中文名称:检查存折账号是否为卡主帐号 **   功能描述:检查存折账号是否为卡主帐号 **   输入参数: **   			pstCmsCardInfo	----	卡片信息表 **   			pcAcctNo		----	存折客户账号 **   			pcSubAcct		----	款项代码 **   输出参数:无 **   返回结果:int **   			0				----	成功 **   			-1				----	失败*******************************************************/int	cmsApiChkAcctIsCardMainAcct( pstCmsCardInfo, pcAcctNo, pcSubAcct )struct	cmscardinfo		*	pstCmsCardInfo;		/* 卡片信息表		*/char					*	pcAcctNo;			/* 存折客户账号		*/char					*	pcSubAcct;			/* 款项代码			*/{	/* 定义 局部变量 */	int					iRtn;					/* 函数返回值		*/	sprintf( g_acTrcMsg, "cmsApiChkAcctIsCardMainAcct begin " );	TRCLOG2	/* 检查存折帐户是否和卡主帐户一致 */	/* 和卡主帐户不一致 */	if ( strcmp( pstCmsCardInfo->acctno, pcAcctNo ) \		|| strcmp( pstCmsCardInfo->subacct, pcSubAcct ) )	{		strcpy( g_acRspCode, "CMS136" );		pubCrtRspInfo( pcAcctNo, pcSubAcct, pstCmsCardInfo->cardno );		ERRLOG		return FAILED;	}	sprintf( g_acTrcMsg, "cmsApiChkAcctIsCardMainAcct end " );	TRCLOG2	return SUCCESS;}/******************************************************* **	  函数名称:cmsApiChkCardStatIsPwdTelLost **   中文名称:检查卡状态是否为密码口挂挂失状态 **   功能描述:已知某卡片的卡片信息,判断卡状态是否为密码口挂挂失状态 **   输入参数: **   			pstCmsCardInfo	----	卡片信息表 **   输出参数:无 **   返回结果:int **   			0				----	成功(密码口挂挂失) **   			-1				----	失败*******************************************************/int	cmsApiChkCardStatIsPwdTelLost( pstCmsCardInfo )struct	cmscardinfo		*	pstCmsCardInfo;		/* 卡片信息表		*/{	/* 定义 局部变量 */	int					iRtn;					/* 函数返回值		*/	sprintf( g_acTrcMsg, "cmsApiChkCardStatIsPwdTelLost begin " );	TRCLOG2	/* 检查是否密码口挂 */	switch ( pstCmsCardInfo->cardstat[ BIT3_LEN ] )	{		/* 正常 */		case BIT3_CARDOK:			/* 卡没有密码挂失 */			strcpy( g_acRspCode, "CMS145" );			pubCrtRspInfo( pstCmsCardInfo->cardno );			ERRLOG			return FAILED;			break;		/* 密码口挂 */		case BIT3_PWTELLLOST:			break;		/* 密码书挂 */		case BIT3_PWPAPERLOST:			/* 卡已经密码书挂 */			strcpy( g_acRspCode, "CMS147" );			pubCrtRspInfo( pstCmsCardInfo->cardno );			ERRLOG			return FAILED;			break;	}	sprintf( g_acTrcMsg, "cmsApiChkCardStatIsPwdTelLost end " );	TRCLOG2	return SUCCESS;}/******************************************************* **	  函数名称:cmsApiChkCardStatIsReadyOpen **   中文名称:检查卡状态是否为待领卡状态 **   功能描述:已知某卡片的卡片信息,判断卡状态是否为待领卡状态 **   输入参数: **   			pstCmsCardInfo	----	卡片信息表 **   输出参数:无 **   返回结果:int **   			0				----	成功(是) **   			-1				----	失败*******************************************************/int	cmsApiChkCardStatIsReadyOpen( pstCmsCardInfo )struct	cmscardinfo		*	pstCmsCardInfo;		/* 卡片信息表		*/{	/* 定义 局部变量 */	int					iRtn;					/* 函数返回值		*/	sprintf( g_acTrcMsg, "cmsApiChkCardStatIsReadyOpen begin " );	TRCLOG2	/* 检查是否待领卡 */	switch ( pstCmsCardInfo->crdsts[ BIT1_LEN ] )	{		/* 正常 */		case CARDOKSTS:			/* 卡已经发卡 */			strcpy( g_acRspCode, "CMS191" );			pubCrtRspInfo( pstCmsCardInfo->cardno );			ERRLOG			return FAILED;			break;		/* 已销卡 */		case CARDCCSTS:			/* 卡已经销卡 */			strcpy( g_acRspCode, "CMS192" );			pubCrtRspInfo( pstCmsCardInfo->cardno );			ERRLOG			return FAILED;			break;		/* 未制卡 */		case CARDKCSTS:			/* 卡未制卡 */			strcpy( g_acRspCode, "CMS193" );			pubCrtRspInfo( pstCmsCardInfo->cardno );			ERRLOG			return FAILED;			break;		/* 未发卡 */		case CARDNGSTS:			break;	}	sprintf( g_acTrcMsg, "cmsApiChkCardStatIsReadyOpen end " );	TRCLOG2	return SUCCESS;}/******************************************************* **	  函数名称:cmsApiChkCardStatIsLock **   中文名称:检查卡状态是否为锁定状态 **   功能描述:已知某卡片的卡片信息,判断卡状态是否为锁定状态

⌨️ 快捷键说明

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