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

📄 cms004.sqc

📁 一整套完整的银行卡系统源代码
💻 SQC
字号:
/******************************************************************** **   源码文件名称 : cms004.SQC **   所属子系统   : CMS  **   当前文件版本 : 4.0.0.0 **   作者         : Feng **   版本创建日期 : 2004/09/21 **   功能描述     : 获取卡片种类信息子交易 **   修改记录     : **   修改人       修改日期     修改日期*********************************************************************/#include "code.h"#include "attrdef.h"#include "sysdef.h"#include "pubcom.h"#include "cmscode.h"#include "cmscardkind.h"#include "dpssaveprdinfo.h"#include "dpstermprdinfo.h"#include "pubcurrencyinfo.h"#include <stdio.h>EXEC SQL INCLUDE SQLCA;int cmsGetCardKindInfPro( PUBCOM *pstPubcom ){ 	EXEC SQL BEGIN DECLARE SECTION;		char    acSelStr[ CONDITION_LEN + 1 ];		char    acPrdName[BIT41_LEN + 1];		char    acChName[BIT17_LEN + 1];	EXEC SQL END DECLARE SECTION;	/*定义局部变量*/	struct	cmscardkind			stCmsCardKind;		/* 卡片种类表		*/	struct	dpssaveprdinfo		stDpsSavePrdInfo;	/* 存款活期产品表	*/	struct	dpstermprdinfo		stDpsTermPrdInfo;	/* 存款活期产品表	*/	struct	pubcurrencyinfo		stPubCurrencyInfo;	/* 币种信息表   	*/	char    acTableName[PRDCODE_LEN + 1];			/* 表名称			*/   	char    acFileName[FILENAME_LEN + 1];			/* 文件名称			*/ 	char    acWhrStr[ CONDITION_LEN + 1 ];			/* Where条件		*/	int 	iCount = 0;	FILE	*fp;	int		iRtn;									/* 函数返回值		*/	int		iRtn1;									/* 函数返回值		*/	strcpy( g_acRspCode,  RSP_OK );	strcpy( g_acTrcMsg, "子交易: 获取卡片种类信息处理开始.." );	TRCLOG4	/* 初始化 */	memset( &stCmsCardKind,		0x00,	sizeof( struct cmscardkind ) );	memset( &stDpsSavePrdInfo,	0x00,	sizeof( struct dpssaveprdinfo ) );	memset( &stDpsTermPrdInfo,	0x00,	sizeof( struct dpstermprdinfo ) );	memset( &stPubCurrencyInfo,	0x00,	sizeof( struct pubcurrencyinfo ) );	memset( acPrdName, 			0x00,	sizeof( acPrdName ) );	memset( acChName, 			0x00,	sizeof( acChName ) );	/* 取数据字典值 */	getstring( "CardKind",	stCmsCardKind.cardkind	);	strcpy( g_acTrcMsg, stCmsCardKind.cardkind );	TRCLOG2		strpack( stCmsCardKind.cardkind );	if ( strlen( stCmsCardKind.cardkind ) == ZEROS )	{		memset( acFileName,		0x00, sizeof( acFileName ) ); 		memset( acTableName,	0x00, sizeof( acTableName ) );		memset( acSelStr,		0x00, sizeof( acSelStr ) );		memset( acWhrStr,		0x00, sizeof( acWhrStr ) );		strcpy( acTableName, "cms004" );		sprintf(acFileName, "%s%s%s", acTableName, pstPubcom->acBrc, \							pstPubcom->acTeller );		fp = (FILE *)BeginFile( pstPubcom, acFileName );		if ( fp == NULL )		{			strcpy( g_acRspMsg, "打开文件句柄出错!" ); 			ERRLOG			goto Exit;		}		/*组织查询字典*/ 		if (GetInqDict( fp , "210003" ))		{			ERRLOG			goto Exit;		}		strcpy( acSelStr, "select * from cmscardkind order by cardkind" );		EXEC SQL PREPARE pre1_cur FROM :acSelStr;		if ( SQLCODE )		{			strcpy( g_acRspCode, "CMS1A7" );			pubCrtRspInfo( SQLCODE );			ERRLOG			goto Exit ;		}		EXEC SQL DECLARE cardkind_cur CURSOR FOR pre1_cur;		if ( SQLCODE )		{			sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE);			TRCLOG4			strcpy( g_acRspCode, "CMS110" );        	pubCrtRspInfo("cmscardkind",SQLCODE );        	ERRLOG        	goto Exit ;		}			SQLOPENCUR(cardkind_cur,"cardkind_cur")		if ( SQLCODE )		{			sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE);			TRCLOG4			strcpy( g_acRspCode, "CMS111" );			pubCrtRspInfo("cmscardkind",SQLCODE );			ERRLOG			goto Exit ;		}		for ( ; ; )		{			EXEC SQL FETCH cardkind_cur INTO R_CMSCARDKIND; 			if( SQLCODE == SQLNOTFOUND )     			break ;			if(SQLCODE) 			{     			sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE);     			TRCLOG4     			strcpy( g_acRspCode, "CMS112" );     			pubCrtRspInfo( "cmscardkind",SQLCODE );	SQLCLOSECUR(cardkind_cur,"cardkind_cur")     			ERRLOG     			goto Exit ;        	}			pubVtoSCmscardkind(&stCmsCardKind);			/* 取币种信息 */				/*pubInitPubcurrencyinfo();*/			EXEC SQL SELECT chname INTO :acChName					 FROM	pubcurrencyinfo					 WHERE	ccy = :cmscardkind_ccy;			if( SQLCODE && SQLCODE != SQLNOTFOUND )        	{            	strcpy(g_acRspCode,"CMS112");            	pubCrtRspInfo("dpssaveprdinfo",SQLCODE);            	ERRLOG	SQLCLOSECUR(cardkind_cur,"cardkind_cur")            	goto Exit;        	}			/* 取产品名称 */			/*pubInitDpssaveprdinfo();			pubInitDpstermprdinfo();*/			EXEC SQL SELECT prdname INTO :acPrdName				     FROM	dpssaveprdinfo				  	 WHERE	prdcode = :cmscardkind_prdcod;    		if( SQLCODE && SQLCODE != SQLNOTFOUND )     		{				strcpy(g_acRspCode,"CMS112");				pubCrtRspInfo("dpssaveprdinfo",SQLCODE);				ERRLOG	SQLCLOSECUR(cardkind_cur,"cardkind_cur")				goto Exit;     		}			if ( SQLCODE == SQLNOTFOUND )			{     			EXEC SQL SELECT prdname INTO :acPrdName				FROM   dpstermprdinfo   				WHERE  prdcode = :cmscardkind_prdcod;     			if( SQLCODE && SQLCODE != SQLNOTFOUND )     			{					strcpy(g_acRspCode,"CMS112"); 					pubCrtRspInfo("dpstermprdinfo",SQLCODE); 					ERRLOG	SQLCLOSECUR(cardkind_cur,"cardkind_cur") 					goto Exit;     			}   			}			/* 拼写文件 */ 			fprintf( fp, "\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\n",						 stCmsCardKind.cardkind,      /* 卡号 */						 stCmsCardKind.cardidkind,    /* 卡片识别种类 */						 stCmsCardKind.cardkindcomm,  /* 卡片种类说明 */						 stCmsCardKind.ccy,           /* 主帐户的币种 */                     	 acChName,				      /* 主帐户的币种说明 */                     	 stCmsCardKind.prdcod,        /* 主帐户的产品代码 */                     	 acPrdName );                 /* 主帐户的产品代码说明 */			iCount ++;		}	SQLCLOSECUR(cardkind_cur,"cardkind_cur")    	EndFile( fp );		if (iCount == 0)    	{        	strcpy( g_acRspCode, "CMS1B7" );        	pubCrtRspInfo( "卡片种类查询");        	ERRLOG			goto Exit;    	}		/* 出口赋值 */	Exit:		EndFile( fp );		if ( !strcmp( g_acRspCode, RSP_OK ) )		{			SetInqFormid(pstPubcom, "210003") ; 			sprintf( g_acTrcMsg, "卡片种类查询正常结束" );			TRCLOG4			return SUCCESS;		}		else		{			sprintf( g_acTrcMsg, "卡片种类查询失败" );			TRCLOG4			return FAILED;		}	}	else 	{		memset( acPrdName, 0x00, sizeof(acPrdName) );		/* 获取卡片种类信息 */		iRtn = pubReadCmscardkind( &stCmsCardKind );		if ( iRtn )		{			ERRLOG			goto Exit1;		}		strcpy( g_acTrcMsg, stCmsCardKind.cardidkind );		TRCLOG2		/* 获取存款活期产品表 */		strcpy( stDpsSavePrdInfo.prdcode, stCmsCardKind.prdcod );		iRtn = pubReadDpssaveprdinfo( &stDpsSavePrdInfo );		if ( iRtn )		{	    	strcpy( stDpsTermPrdInfo.prdcode, stCmsCardKind.prdcod );        	iRtn1 = pubReadDpstermprdinfo( &stDpsTermPrdInfo );			if (iRtn1 )			{				ERRLOG				goto Exit1;			}			strcpy( acPrdName, stDpsTermPrdInfo.prdname );			strcpy( g_acRspCode,  RSP_OK );			pubCrtRspInfo();		}		if ( strlen(acPrdName) ==0 )		{			strcpy( acPrdName, stDpsSavePrdInfo.prdname );		}		/* 取币种信息表 */		strcpy( stPubCurrencyInfo.ccy, stCmsCardKind.ccy );		iRtn = pubReadPubcurrencyinfo( &stPubCurrencyInfo );		if ( iRtn )		{			ERRLOG			goto Exit1;		}		/* 子交易出口 */ 		/* 币种				*/		setstring( "Ccy",			stCmsCardKind.ccy );		/* 主帐户币种说明	*/		setstring( "CcyInfo",		stPubCurrencyInfo.chname );		/* 产品代码			*/		setstring( "PrdCode",		stCmsCardKind.prdcod );		/* 卡片种类说明		*/		setstring( "CardKindComm",	stCmsCardKind.cardkindcomm );		/* 卡片属性			*/		setstring( "CardAttr",		stCmsCardKind.cardattr );		/* 卡标志			*/		setstring( "CardFlg",		stCmsCardKind.cardflg );		/* 记名标志			*/		setstring( "MarkFlg",		stCmsCardKind.markflg );		/* 卡片识别种类		*/		setstring( "CardDidKind",	stCmsCardKind.cardidkind );		/* 发卡对象		*/		setstring( "CardObject",	stCmsCardKind.cardobject );		/* 产品名称		*/		setstring( "PrdName",		acPrdName );		/* 产品流程代码		*/		setstring( "Flag",			stDpsSavePrdInfo.flowcode );		/* 产品类型		*/		setstring( "Flag1",			stDpsSavePrdInfo.prdtype );	Exit1:		strcpy( g_acTrcMsg, "子交易: 获取卡片种类信息结束.." );		TRCLOG4		if( !strcmp( g_acRspCode, RSP_OK ) )			return SUCCESS;		else			return FAILED ;	}}

⌨️ 快捷键说明

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