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

📄 cms014.sqc

📁 一整套完整的银行卡系统源代码
💻 SQC
字号:
/******************************************************************** **   源码文件名称 : cms014.SQC **   所属子系统   : CMS  **   当前文件版本 : 4.0.0.0 **   作者         : Feng **   版本创建日期 : 2004/09/21 **   功能描述     : 挂失补发检查子交易 **   修改记录     : **   修改人       修改日期     修改说明 **   Feng         2006-01-16   凭证信息的输出*********************************************************************/#include "code.h"#include "attrdef.h"#include "sysdef.h"#include "pubcom.h"#include "cmscode.h"#include "cmscardinfo.h"#include "pubvouinfo.h"EXEC SQL INCLUDE SQLCA;int cmsLostAndOpenNewCardChkPro( PUBCOM *pstPubcom ){	/*定义局部变量*/	struct	cmscardinfo			stCmsCardInfo;	/* 卡片信息表		*/	struct	cmscardinfo			stNewCardInfo;	/* 新卡片信息表		*/	char	acCardStat[ BIT21_LEN ][BIT11_LEN];	/* 卡状态检查标志	*/	char	acPasswd[ PASSWD_LEN + 1 ];			/* 密码				*/	char	acFlag[ FLAG_LEN + 1 ];				/* 凭证收回标志		*/												/* 0不收回1收回		*/	int		iRtn;								/* 函数返回值		*/	int		iNumx;								/* 数组计数器		*/	int		iNumy;								/* 数组计数器		*/	strcpy( g_acTrcMsg, "子交易: 挂失补发检查处理开始.." );	TRCLOG4	/* 初始化 */	memset( &stCmsCardInfo,		0x00,	sizeof( struct cmscardinfo ) );	memset( &stNewCardInfo,		0x00,	sizeof( struct cmscardinfo ) );	memset( acPasswd,			0x00,	sizeof( acPasswd ) );	memset( acFlag,				0x00,	sizeof( acFlag ) );	acFlag[ BIT1_LEN ] = FLAG_RTNCLOSE;	/* 卡检查状态数组全置未不检查 */	for ( iNumx = 0; iNumx < BIT21_LEN; iNumx ++ )		for ( iNumy = 0; iNumy < BIT11_LEN; iNumy ++ )			acCardStat[iNumx][iNumy] = CHECK_NO;	/* 取数据字典值 */	getstring( "CardNo",	stCmsCardInfo.cardno	);		/* 从卡片信息表获取纪录 */	iRtn = pubReadCmscardinfo( &stCmsCardInfo );	if ( iRtn )	{		if ( SQLCODE == SQLNOTFOUND )			sprintf( g_acRspMsg, "卡号[%s]不存在", stCmsCardInfo.cardno );		ERRLOG		return FAILED;	}	/* 从字典获取其他数据 */	getstring( "CardNo1",	stNewCardInfo.cardno	);	getstring( "Passwd",	acPasswd	);	/* 检查卡状态是否正常 */	acCardStat[ BIT1_LEN ][ BIT1_LEN ] = CHECK_YES;	/* 检查销卡		*/	acCardStat[ BIT2_LEN ][ BIT3_LEN ] = CHECK_YES;	/* 检查书挂		*/	acCardStat[ BIT3_LEN ][ BIT1_LEN ] = CHECK_YES;	/* 检查密挂		*/	acCardStat[ BIT5_LEN ][ BIT1_LEN ] = CHECK_YES;	/* 检查吞卡		*/	acCardStat[ BIT6_LEN ][ BIT1_LEN ] = CHECK_YES;	/* 检查拣拾		*/	acCardStat[ BIT8_LEN ][ BIT1_LEN ] = CHECK_YES;	/* 检查挂失补发		*/	acCardStat[ BIT9_LEN ][ BIT1_LEN ] = CHECK_YES;	/* 检查锁卡		*/	acCardStat[ BIT4_LEN ][ BIT1_LEN ] = CHECK_YES;	/* 检查冻结		*/	acCardStat[ BIT11_LEN ][ BIT1_LEN ] = CHECK_YES;	/* 检查银行止付	*/	acCardStat[ BIT12_LEN ][ BIT1_LEN ] = CHECK_YES;	/* 检查客户止付	*/	acCardStat[ BIT13_LEN ][ BIT1_LEN ] = CHECK_YES;	/* 检查欠费	*/	acCardStat[ BIT14_LEN ][ BIT1_LEN ] = CHECK_YES; 	iRtn = cmsApiChkCardStatIsNormal( &stCmsCardInfo, acCardStat );	if ( iRtn )	{		ERRLOG		return FAILED;	}	/* 检查卡是否为非记名卡 */	/* 支持记名卡补成非记名卡 */	/*	iRtn = cmsApiChkIsUnnameCard( &stCmsCardInfo );	if ( iRtn )	{		ERRLOG		return FAILED;	}	*/	/* 检查卡密码 */	iRtn = cmsApiChkCardPwd( &stCmsCardInfo, acPasswd, pstPubcom->acChannelId );	if ( iRtn )	{		ERRLOG		return FAILED;	}	/* 检查是否存在中间业务委托 */	iRtn = cmsApiChkCardAgentState( &stCmsCardInfo );	if ( iRtn )	{		ERRLOG		return FAILED;	}	/* 获取新卡的卡片信息表记录 */	iRtn = pubReadCmscardinfo( &stNewCardInfo );	if ( iRtn )	{		if ( SQLCODE == SQLNOTFOUND )			sprintf( g_acRspMsg, "卡号[%s]不存在", stNewCardInfo.cardno );		ERRLOG		return FAILED;	}	/* 检查新卡状态是否为待领卡状态 */	iRtn = cmsApiChkCardStatIsReadyOpen( &stNewCardInfo );	if ( iRtn )	{		ERRLOG		return FAILED;	}	/* 检查新卡是否为非记名卡 */	iRtn = cmsApiChkIsUnnameCard( &stNewCardInfo );	if ( iRtn )	{		ERRLOG		return FAILED;	}	/* 检查两个卡号是否为同一个卡片种类API */	iRtn = cmsApiChkIsSameCardKind( stCmsCardInfo.cardkind,		\								stNewCardInfo.cardkind );	if ( iRtn )	{		ERRLOG		return FAILED;	}	/* 获取凭证名称 */	pubInitPubvouinfo();	strcpy( pubvouinfo_voukind, stNewCardInfo.voukind );	EXEC SQL	SELECT	vouname 				INTO	:pubvouinfo_vouname				FROM	pubvouinfo				WHERE	voukind = :pubvouinfo_voukind;	if ( SQLCODE )	{		strcpy( g_acRspCode, "999996" );		/* 数据库读错误 */		pubCrtRspInfo( "pubvouinfo",SQLCODE );		ERRLOG		return FAILED;	}	strpack( pubvouinfo_vouname );	/* 子交易出口 */ 	setstring( "Flag",			acFlag );					/* 凭证标志		*/	setstring( "VouKind",		stCmsCardInfo.voukind );	/* 凭证种类		*/	/* Feng Modify in 2006-01-16 Begin */	setstring( "VouNo",			stCmsCardInfo.vouno );		/* 凭证号码		*/	setstring( "PreCharCode",	stCmsCardInfo.precharcode );		/* 冠字号码		*/	setstring( "NewVouKind",	stNewCardInfo.voukind );	/* 新凭证种类	*/	setstring( "NewVouNo",		stNewCardInfo.vouno );		/* 新凭证号码	*/	setstring( "PreCharCod1",	stNewCardInfo.precharcode );		/* 冠字号码		*/	/* Feng Modify in 2006-01-16 End */	setstring( "VouName",		pubvouinfo_vouname );		strcpy( g_acTrcMsg, "子交易: 挂失补发检查结束.." );	TRCLOG4	strcpy( g_acRspCode,  RSP_OK );	return SUCCESS;}

⌨️ 快捷键说明

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