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

📄 cardinfo.sqc

📁 一整套完整的银行卡系统源代码
💻 SQC
字号:
/******************************************************* **   源码文件名称 : cardinfo.SQC **   所属子系统   : 卡管理 **   功能描述     : 对cmscardinfo的处理 **   当前文件版本 : 4.0.0.0 **   作        者 : UCCB  ALex   **   版本创建日期 : 2004/09/15 **   修改记录     : **   修改人       修改日期     修改位置*******************************************************/#include "sysdefine.h"#include "code.h"#include "attrdef.h"#include "pubcom.h"#include "cmscode.h"#include "cmscardinfo.h"exec sql include sqlca;/******************************************************* **	  函数名称:cmsApiGetCmsCardInfo **   功能描述:按卡号查询卡信息 **   输入参数: **   			pcCardNo		----	卡号 **   输出参数: **   			pstCmsCardInfo	----	卡片信息表 **   返回结果:int **   作        者 : UCCB   ALex   **   版本创建日期 : 2004/09/15 **   修改记录     : **   修改人       修改日期     修改位置*******************************************************/int	cmsApiGetCmsCardInfo( pcCardNo, pstCmsCardInfo )char					*pcCardNo;			/* 卡号		    	*/struct	cmscardinfo		*pstCmsCardInfo;		/* 卡片信息表   	*/{	sprintf( g_acTrcMsg, "cmsApiGetCmsCardInfo begin " );	TRCLOG2	strcpy(pstCmsCardInfo->cardno,pcCardNo);	/*取卡片信息表*/	if(pubReadCmscardinfo(pstCmsCardInfo))	{		if ( SQLCODE == SQLNOTFOUND )		{			strcpy(g_acRspCode,"CMS302");			pubCrtRspInfo( pcCardNo );		}		ERRLOG		return FAILED;	}	sprintf( g_acTrcMsg, "cmsApiGetCmsCardInfo end " );	TRCLOG2		return SUCCESS;}/******************************************************* **	  函数名称:cmsApiGetMainAcctNo **   功能描述:按卡号获取主账户和款项代码 **   输入参数: **   			pcCardNo		----	卡号 **   输出参数: **   			pcAcctNo      	----	主账户     **   			pcSubAcct     	----	款项代码     **   返回结果:int  0  成功  -1 失败 **   作        者 : UCCB   ALex   **   版本创建日期 : 2004/09/15 **   修改记录     : **   修改人       修改日期     修改位置*******************************************************/int	cmsApiGetMainAcctNo( pcCardNo, pcAcctNo, pcSubAcct)char					*pcCardNo;				/* 卡号        	*/char					*pcAcctNo;				/* 主账户   	*/char					*pcSubAcct;				/* 款项代码 	*/{	struct	cmscardinfo		stCmsCardInfo;		/* 卡片信息表   	*/	sprintf( g_acTrcMsg, "cmsApiGetMainAcctNo begin cardno[%s] ",pcCardNo );	TRCLOG2	memset( &stCmsCardInfo, 0x00, sizeof( struct cmscardinfo ) );	strcpy(stCmsCardInfo.cardno,pcCardNo);	/*取卡片信息表*/	if(pubReadCmscardinfo(&stCmsCardInfo))	{		if ( SQLCODE == SQLNOTFOUND )		{			strcpy(g_acRspCode,"CMS302");			pubCrtRspInfo( pcCardNo );		}		ERRLOG		return FAILED;	}		/*给出口参数付值*/	strcpy(pcAcctNo,	stCmsCardInfo.acctno);	strcpy(pcSubAcct,	stCmsCardInfo.subacct);	sprintf( g_acTrcMsg, "cmsApiGetMainAcctNo end " );	TRCLOG2	return SUCCESS;}/******************************************************* **	  函数名称:cmsApiChkIsSameCardKind **   功能描述:  检查是否是相同卡种 **			 ** **   输入参数: **   			pcCardKind1	----	卡片种类1  **   			pcCardKind2	----	卡片种类2     **   输出参数: **   			 **   涉及库表:  **   		 cmscardinfo	 **   返回结果:int   0  相同   -1 失败   不同 **   作        者 : UCCB   ALex  **   版本创建日期 : 2004/09/18 **   修改记录     : **   修改人       修改日期     修改位置*******************************************************/int	cmsApiChkIsSameCardKind( pcCardKind1, pcCardKind2 )char  	          	 * 	pcCardKind1;			/* 卡片种类1  	*/char    			 *	pcCardKind2;			/* 卡片种类2  	*/{	sprintf( g_acTrcMsg, "cmsApiChkIsSameCardKind begin " );	TRCLOG2	/*比较两卡片的卡片种类*/	if( strcmp( pcCardKind1, pcCardKind2 ) )	{		sprintf( g_acRspCode, "CMS208");		pubCrtRspInfo( pcCardKind1, pcCardKind2);		ERRLOG;		return FAILED;	}	sprintf( g_acTrcMsg, "cmsApiChkIsSameCardKind end " );	TRCLOG2	return SUCCESS;}		/******************************************************* **	  函数名称:cmsApiChkIsSamePerson      **   功能描述:  检查是否为同一客户 **			 ** **   输入参数: **   			pstCmsCardInfo		----	卡片信息表 **   			pcCustNo     	----	客户号         **   输出参数: **   			 **   涉及库表:  **   		 cmscardinfo	 **   返回结果:int   0  相同   -1 失败   不同 **   作        者 : UCCB   ALex  **   版本创建日期 : 2004/09/20 **   修改记录     : **   修改人       修改日期     修改位置*******************************************************/int	cmsApiChkIsSamePerson( pstCmsCardInfo, pcCustNo )struct	cmscardinfo	 *	pstCmsCardInfo;			/* 卡片信息表		*/char                 *	pcCustNo    ;			/* 客户号      */{	sprintf( g_acTrcMsg, "cmsApiChkIsSamePerson begin " );	TRCLOG2	/*比较两两客户号是否是同一客户*/	if( strcmp( pstCmsCardInfo->custno, pcCustNo ) )	{		sprintf( g_acRspCode, "CMS209");		pubCrtRspInfo( pcCustNo, pstCmsCardInfo->custno );		ERRLOG;		return FAILED;	}		sprintf( g_acTrcMsg, "cmsApiChkIsSamePerson end " );	TRCLOG2	return SUCCESS;}		/******************************************************* **	  函数名称:cmsApiChkIsSameBranch **   功能描述:  检查是否为相同机构 **			 **   输入参数: **   			pcBranch1   	----	当前机构    **   			pcBranch2   	----	原机构     **   输出参数: **   			 **   涉及库表:  **   		  **   		  **   返回结果:int   0  相同   -1 失败   不同 **   作        者 : UCCB   ALex  **   版本创建日期 : 2004/09/20 **   修改记录     : **   修改人       修改日期     修改位置*******************************************************/int	cmsApiChkIsSameBranch( pcBranch1, pcBranch2 )char                 *	pcBranch1;				/* 交易机构  		*/char                 *	pcBranch2;				/* 原机构    	 	*/{	sprintf( g_acTrcMsg, "cmsApiChkIsSameBranch begin " );	TRCLOG2	/*比较两两机构码      */	if(strcmp( pcBranch1, pcBranch2 ))	{		sprintf( g_acRspCode, "CMS210");		pubCrtRspInfo( pcBranch1, pcBranch2);		ERRLOG;		return FAILED;	}	sprintf( g_acTrcMsg, "cmsApiChkIsSameCardKind end " );	TRCLOG2	return SUCCESS;}		/******************************************************* **	  函数名称:cmsApiChkCardStatIsKeepCardNo **   功能描述:  检查卡状态是否为保号换卡状态 **			 **   输入参数: **   			pstCardInfo 	----	卡片信息表  **   输出参数: **   			 **   涉及库表:  **   		 cardinfo	卡片信息表 **   		  **   返回结果:int   0  是     -1  否     **   作        者 : UCCB   ALex  **   版本创建日期 : 2004/09/20 **   修改记录     : **   修改人       修改日期     修改位置*******************************************************/int	cmsApiChkCardStatIsKeepCardNo( pstCardInfo )struct   cmscardinfo   *  pstCardInfo;	/* 卡片信息表		*/{	sprintf( g_acTrcMsg, "cmsApiChkCardStatIsKeepCardNo begin " );	TRCLOG2	/*判断是否为保号换卡*/	if( pstCardInfo->cardstat[BIT14_LEN]!=BIT14_CARDBHAPLY )	{		sprintf( g_acRspCode, "CMS188");		pubCrtRspInfo( pstCardInfo->cardno );		ERRLOG;		return FAILED;	}	sprintf( g_acTrcMsg, "cmsApiChkCardStatIsKeepCardNo end " );	TRCLOG2	return SUCCESS;}		/******************************************************* **	  函数名称:cmsApiChkCardStatIsLost **   功能描述:  检查卡状态是否为卡片书面挂失状态 **			 **   输入参数: **   			pstCardInfo 	----	卡片信息表  **   输出参数: **   			 **   涉及库表:  **   		 cardinfo	卡片信息表 **   		  **   返回结果:int   0  是     -1  否     **   作        者 : UCCB   ALex  **   版本创建日期 : 2004/09/20 **   修改记录     : **   修改人       修改日期     修改位置*******************************************************/int	cmsApiChkCardStatIsLost( pstCardInfo )struct   cmscardinfo   *  pstCardInfo;	/* 卡片信息表		*/{	sprintf( g_acTrcMsg, "cmsApiChkCardStatIsLost begin " );	TRCLOG2	/*判断是否为卡片书面挂失状态*/	if( pstCardInfo->cardstat[BIT2_LEN]!=BIT2_PAPERLOST )	{		sprintf( g_acRspCode, "CMS155");		pubCrtRspInfo( pstCardInfo->cardno );		ERRLOG;		return FAILED;	}	sprintf( g_acTrcMsg, "cmsApiChkCardStatIsLost end " );	TRCLOG2	return SUCCESS;}		/******************************************************* **	  函数名称:cmsApiChkCardStatIsTelLost **   功能描述:  检查卡状态是否为卡片口头挂失状态 **			 **   输入参数: **   			pstCardInfo 	----	卡片信息表  **   输出参数: **   			 **   涉及库表:  **   		 cardinfo	卡片信息表 **   		  **   返回结果:int   0  是     -1  否     **   作        者 : UCCB   ALex  **   版本创建日期 : 2004/09/20 **   修改记录     : **   修改人       修改日期     修改位置*******************************************************/int	cmsApiChkCardStatIsTelLost( pstCardInfo )struct   cmscardinfo   *  pstCardInfo;	/* 卡片信息表		*/{	sprintf( g_acTrcMsg, "cmsApiChkCardStatIsTelLost begin " );	TRCLOG2	/*判断是否为卡片口头挂失状态*/	if( pstCardInfo->cardstat[BIT2_LEN]!=BIT2_TELLLOST )	{		sprintf( g_acRspCode, "CMS156");		pubCrtRspInfo( pstCardInfo->cardno );		ERRLOG;		return FAILED;	}	sprintf( g_acTrcMsg, "cmsApiChkCardStatIsTelLost end " );	TRCLOG2	return SUCCESS;}		/******************************************************* **	  函数名称:cmsApiChkCardStatIsPwdLost **   功能描述:  检查卡状态是否为卡片密码书面挂失 **			 **   输入参数: **   			pstCardInfo 	----	卡片信息表  **   输出参数: **   			 **   涉及库表:  **   		 cardinfo	卡片信息表 **   		  **   返回结果:int   0  是     -1  否     **   作        者 : UCCB   ALex  **   版本创建日期 : 2004/09/20 **   修改记录     : **   修改人       修改日期     修改位置*******************************************************/int	cmsApiChkCardStatIsPwdLost( pstCardInfo )struct   cmscardinfo   *  pstCardInfo;	/* 卡片信息表		*/{	sprintf( g_acTrcMsg, "cmsApiChkCardStatIsPwdLost begin " );	TRCLOG2	/*判断是否为卡片密码书面挂失*/	if( pstCardInfo->cardstat[BIT3_LEN]!=BIT3_PWPAPERLOST )	{		sprintf( g_acRspCode, "CMS149");		pubCrtRspInfo( pstCardInfo->cardno );		ERRLOG;		return FAILED;	}	sprintf( g_acTrcMsg, "cmsApiChkCardStatIsPwdLost end " );	TRCLOG2	return SUCCESS;}		/******************************************************* **	  函数名称:cmsApiGetCustomId **   功能描述:按卡号获取客户号 **   输入参数: **   			pcCardNo		----	卡号 **   输出参数: **   			pcCustomId     	----	客户号 **   返回结果:int  0  成功  -1 失败 **   作        者 : Feng **   版本创建日期 : 2004/09/15 **   修改记录     : **   修改人       修改日期     修改位置*******************************************************/int	cmsApiGetCustomId( pcCardNo, pcCustomId)char					*pcCardNo;				/* 卡号        	*/char					*pcCustomId;			/* 客户号   	*/{	struct	cmscardinfo		stCmsCardInfo;		/* 卡片信息表   	*/	sprintf( g_acTrcMsg, "cmsApiGetCustomId begin " );	TRCLOG2	memset( &stCmsCardInfo, 0x00, sizeof( struct cmscardinfo ) );	strcpy(stCmsCardInfo.cardno,pcCardNo);	/*取卡片信息表*/	if(pubReadCmscardinfo(&stCmsCardInfo))	{		if ( SQLCODE == SQLNOTFOUND )		{			strcpy(g_acRspCode,"CMS302");			pubCrtRspInfo( pcCardNo );		}		ERRLOG		return FAILED;	}		/* 检查是否已发卡 */	switch ( stCmsCardInfo.crdsts[ BIT1_LEN ] )	{		/* 正常 */		case CARDOKSTS:			break;		/* 已销卡 */		case CARDCCSTS:			/* 卡已经销卡 */			strcpy( g_acRspCode, "CMS192" );			pubCrtRspInfo( pcCardNo );			ERRLOG			return FAILED;		/* 未制卡 */		case CARDKCSTS:			/* 卡未制卡 */			strcpy( g_acRspCode, "CMS193" );			pubCrtRspInfo( pcCardNo );			ERRLOG			return FAILED;		/* 未发卡 */		case CARDNGSTS:			/* 卡未发卡 */			strcpy( g_acRspCode, "CMS1C2" );			pubCrtRspInfo( pcCardNo );			ERRLOG			return FAILED;	}	/*给出口参数付值*/	strcpy(pcCustomId,	stCmsCardInfo.custno );	sprintf( g_acTrcMsg, "cmsApiGetCustomId end " );	TRCLOG2	return SUCCESS;}/******************************************************* **	  函数名称:cmsApiChkCardAgentState **   功能描述:  检查卡是否存在中间业务委托关系 **			 **   输入参数: **   			pstCardInfo 	----	卡片信息表  **   输出参数: **   			 **   涉及库表:  **   		 cardinfo	卡片信息表 **   		  **   返回结果:int   0  是     -1  否     **   作        者 : UCCB   ALex  **   版本创建日期 : 2004/09/20 **   修改记录     : **   修改人       修改日期     修改位置*******************************************************/int	cmsApiChkCardAgentState( pstCardInfo )struct   cmscardinfo   *  pstCardInfo;	/* 卡片信息表		*/{	sprintf( g_acTrcMsg, "cmsApiChkCardAgentState begin " );	TRCLOG2	/* 判断是否存在中间业务委托关系 */	if( pstCardInfo->madfeeflag[BIT1_LEN]== MADFEE )	{		sprintf( g_acRspCode, "CMS1E8");		pubCrtRspInfo( pstCardInfo->cardno );		ERRLOG;		return FAILED;	}	sprintf( g_acTrcMsg, "cmsApiChkCardAgentState end " );	TRCLOG2	return SUCCESS;}		

⌨️ 快捷键说明

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