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

📄 cmsgen.sqc

📁 一整套完整的银行卡系统源代码
💻 SQC
📖 第 1 页 / 共 2 页
字号:
 **   			piDays			----	解除天数 **   返回结果:int **   			0				----	成功 **   			-1				----	失败*******************************************************/int	cmsApiGetCanAuthDays( piDays )int						*	piDays;				/* 解除天数			*/{	int		iRtn;								/* 函数返回值		*/	int		iDays;	sprintf( g_acTrcMsg, "cmsApiGetCanAuthDays begin " );	TRCLOG2	/* 调用API获取公共参数表参数值 */	iRtn = pubGetBaseInfo( "CMSAUTHAUTCANDAYS", &iDays );	if ( iRtn )	{		ERRLOG		return FAILED;	}	*piDays = iDays;	sprintf( g_acTrcMsg, "cmsApiGetCanAuthDays end " );	TRCLOG2	return SUCCESS;}/******************************************************* **	  函数名称:cmsApiGetBankTitle **   功能描述:获取银行标识 **   输入参数: **   输出参数: **   			pcBankTitle		----	银行标识 **   返回结果:int **   			0				----	成功 **   			-1				----	失败*******************************************************/int	cmsApiGetBankTitle( pcBankTitle )char					*	pcBankTitle;		/* 银行标识			*/{	int		iRtn;								/* 函数返回值		*/	sprintf( g_acTrcMsg, "cmsApiGetBankTitle begin " );	TRCLOG2	/* 调用API获取公共参数表参数值 */	iRtn = pubGetBaseInfo( "CMSBANKID", pcBankTitle );	if ( iRtn )	{		ERRLOG		return FAILED;	}	sprintf( g_acTrcMsg, "cmsApiGetBankTitle end " );	TRCLOG2	return SUCCESS;}/******************************************************* **	  函数名称:cmsApiGetVouMethod **   功能描述:获取卡凭证号码方式 **   输入参数: **   输出参数: **   			pcMethod		----	方式       **										"0"大排序 **										"1"卡顺序号 **   返回结果:int **   			0				----	成功 **   			-1				----	失败*******************************************************/int	cmsApiGetVouMethod( pcMethod )char					*	pcMethod;			/* 凭证号码方式		*/{	int		iRtn;								/* 函数返回值		*/	sprintf( g_acTrcMsg, "cmsApiGetVouMethod begin " );	TRCLOG2	/* 调用API获取公共参数表参数值 */	iRtn = pubGetBaseInfo( "CMSVOUMETHOD", pcMethod );	if ( iRtn )	{		ERRLOG		return FAILED;	}	sprintf( g_acTrcMsg, "cmsApiGetVouMethod end " );	TRCLOG2	return SUCCESS;}/******************************************************* **	  函数名称:cmsApiGetSeqNoInCard **   功能描述:获取卡内账户序号,开卡时使用,  **   			数据库中存放的是已经使用的顺序号 **   输入参数: **   			pcCardNo		----	卡号 **   输出参数: **   			pcAcctSeqNo		----	帐户序号 **   返回结果:int **   			0				----	成功 **   			-1				----	失败*******************************************************/int	cmsApiGetSeqNoInCard( pcCardNo, pcAcctSeqNo )char					*	pcCardNo;			/* 卡号				*/char					*	pcAcctSeqNo;		/* 帐户序号			*/{	/* 定义 局部变量 */	struct	cmsseqno	stCmsSeqNo;				/* 卡内帐户序号结构 */	int					iRtn;					/* 函数返回值		*/	long				lSeqNo;					/* 临时顺序号		*/	sprintf( g_acTrcMsg, "cmsApiGetSeqNoInCard begin " );	TRCLOG2	/* 初始化卡号顺序号文件结构 */	memset( &stCmsSeqNo, 0x00, sizeof( struct cmsseqno ) );	/* 将输入参数赋值给结构 */	strcpy ( stCmsSeqNo.cardno,		pcCardNo		);	/* 从卡内帐户序号表获取记录并锁住记录 */	pubStoVCmsseqno( &stCmsSeqNo );	EXEC SQL	DECLARE SeqNo1_cur CURSOR FOR 				SELECT * FROM CMSSEQNO				WHERE cardno = :cmsseqno_cardno;	SQLOPENCUR(SeqNo1_cur,"SeqNo1_cur")	/* 打开游标错误 */	if ( SQLCODE )	{		strcpy( g_acRspCode, "CMS111" );		pubCrtRspInfo( "cmsseqno", SQLCODE );		ERRLOG		return FAILED;	}	pubInitCmsseqno();	EXEC SQL	FETCH SeqNo1_cur INTO R_CMSSEQNO ;	/* 取游标错误 */	if ( SQLCODE && SQLCODE != SQLNOTFOUND )	{		strcpy( g_acRspCode, "CMS112" );		pubCrtRspInfo( "cmsseqno", SQLCODE );		ERRLOG	SQLCLOSECUR(SeqNo1_cur,"SeqNo1_cur")		return FAILED;	}	/* 记录不存在 需要增加新的记录,新纪录的序号为"0002",返回"0000" */	else if ( SQLCODE == SQLNOTFOUND )	{	SQLCLOSECUR(SeqNo1_cur,"SeqNo1_cur")		strcpy( stCmsSeqNo.cardno,	pcCardNo );		strcpy( stCmsSeqNo.seqno,	OTHERACCTSEQNO );		iRtn = pubInstCmsseqno( &stCmsSeqNo );		/* 数据库插入错 */		if ( iRtn )		{			ERRLOG			return FAILED;		}		strcpy( pcAcctSeqNo, MAINACCTSEQNO );	}	/* 记录 存在 进行修改 */	else	{		pubVtoSCmsseqno( &stCmsSeqNo );	SQLCLOSECUR(SeqNo1_cur,"SeqNo1_cur")		/* 累加卡内帐户序号文件中帐户序号 */		lSeqNo =  atol( stCmsSeqNo.seqno );		lSeqNo ++;		/* 判断帐户序号是否超过最大序号9999 */		/* 帐户序号超出限制 */		if ( lSeqNo > MAXACCTSEQNO )		{			strcpy( g_acRspCode, "CMS106" );			pubCrtRspInfo( lSeqNo );			ERRLOG			return FAILED;		}			sprintf( cmsseqno_seqno, "%0*ld", ACCTSEQNO_LEN, lSeqNo );		strcpy( stCmsSeqNo.seqno, cmsseqno_seqno );		/* 修改卡号顺序号文件记录 */		iRtn = pubModiCmsseqno( &stCmsSeqNo );		if ( iRtn )		{			ERRLOG			return FAILED;		}			/* 为输出参数赋值 */		strcpy( pcAcctSeqNo,	cmsseqno_seqno );	}	sprintf( g_acTrcMsg, "cmsApiGetSeqNoInCard end " );	TRCLOG2		return SUCCESS;}/******************************************************* **	  函数名称:cmsApiDltCmsSeqNo **   功能描述:销卡删除卡内账户序号 **   输入参数: **   			pcCardNo		----	卡号 **   输出参数: **   返回结果:int **   			0				----	成功 **   			-1				----	失败*******************************************************/int	cmsApiDltCmsSeqNo( pcCardNo )char					*	pcCardNo;			/* 卡号				*/{	/* 定义 局部变量 */	struct	cmsseqno	stCmsSeqNo;				/* 卡内帐户序号结构 */	sprintf( g_acTrcMsg, "cmsApiDltCmsSeqNo begin " );	TRCLOG2	/* 初始化卡号顺序号文件结构 */	memset( &stCmsSeqNo, 0x00, sizeof( struct cmsseqno ) );	/* 将输入参数赋值给结构 */	strcpy ( stCmsSeqNo.cardno,		pcCardNo		);	/* 从卡内帐户序号表删除记录 */	pubStoVCmsseqno( &stCmsSeqNo );	EXEC SQL	DELETE FROM CMSSEQNO				WHERE cardno = :cmsseqno_cardno;	/* 数据库异常错误 */    if ( SQLCODE )	{		strcpy( g_acRspCode, "CMS1A7" );		pubCrtRspInfo( SQLCODE );		ERRLOG		return FAILED;	}	sprintf( g_acTrcMsg, "cmsApiDltCmsSeqNo end " );	TRCLOG2	return SUCCESS;}/******************************************************* **	  函数名称:cmsApiChgCardCmsSeqNo **   功能描述:换卡增加卡号顺序号文件 **   输入参数: **   			pcCardNo		----	卡号 **   			pcNewCardNo		----	新卡号 **   输出参数: **   返回结果:int **   			0				----	成功 **   			-1				----	失败*******************************************************/int	cmsApiChgCardCmsSeqNo( pcCardNo, pcNewCardNo )char					*	pcCardNo;			/* 卡号				*/char					*	pcNewCardNo;		/* 新卡号			*/{	/* 定义 局部变量 */	struct	cmsseqno	stCmsSeqNo;				/* 卡内帐户序号结构 */	int					iRtn;	sprintf( g_acTrcMsg, "cmsApiChgCmsSeqNo begin " );	TRCLOG2	/* 初始化卡号顺序号文件结构 */	memset( &stCmsSeqNo, 0x00, sizeof( struct cmsseqno ) );	/* 将输入参数赋值给结构 */	strcpy ( stCmsSeqNo.cardno,		pcCardNo		);	/* 获取旧卡卡号顺序号文件记录 */	iRtn = pubReadCmsseqno( &stCmsSeqNo );	if ( iRtn )	{		ERRLOG		return FAILED;	}	strcpy( stCmsSeqNo.cardno,		pcNewCardNo );	/* 插入新卡卡号顺序号文件 */	iRtn = pubInstCmsseqno( &stCmsSeqNo );	if ( iRtn )	{		ERRLOG		return FAILED;	}	sprintf( g_acTrcMsg, "cmsApiChgCmsSeqNo end " );	TRCLOG2	return SUCCESS;}/******************************************************* **	  函数名称:cmsApiGenCardPinparm **   功能描述:哈尔滨生成写磁控制码 **   输入参数: **   			pcCardNo		----	卡号 **   输出参数: **             pcPinparm 		----	写磁控制码 **             pcEncryPinparm  ----	写磁控制码密文 **   返回结果:int **   			0				----	成功 **   			-1				----	失败 **   修改记录     : **   修改人       修改日期     修改位置 **   冯金国	   2006-01-09   新增加*******************************************************/int	cmsApiGenCardPinparm( pcCardNo, pcPinparm, pcEncryPinparm )char					*	pcCardNo;			/* 卡号				*/char					*	pcPinparm;			/* 写磁控制码   */char					*	pcEncryPinparm;		/* 写磁控制码密文   */{	/* 定义 局部变量 */	int					iRtn;	sprintf( g_acTrcMsg, "cmsApiGenCardPinparm begin " );	TRCLOG2	strcpy( pcPinparm,	"123456" );	PIN_Encrypt( pcPinparm, pcCardNo, pcEncryPinparm );	sprintf( g_acTrcMsg, "cmsApiGenCardPinparm end " );	TRCLOG2	return SUCCESS;}

⌨️ 快捷键说明

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