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

📄 cms541.sqc

📁 一整套完整的银行卡系统源代码
💻 SQC
字号:
/******************************************************************** **   源码文件名称 : cms541.SQC **   所属子系统   : CMS  **   当前文件版本 : 1.0.0.0 **   作者         : UCCB	ALEX **   版本创建日期 : 2004/10/13 **   功能描述     : 客户止付子交易 **   修改记录     : **   修改人       修改日期     修改日期*********************************************************************/#include "code.h"#include "attrdef.h"#include "sysdef.h"#include "pubcom.h"#include "cmscode.h"#include "cmscardinfo.h"#include "cmscuststopm.h"#include "cmsacctm.h"EXEC SQL INCLUDE SQLCA;int cmsCustStopPaylPro( PUBCOM *pstPubcom ){	/*定义局部变量*/	char	acPassWd[PASSWD_LEN+1]	        ;	/*密码*/	char	acHappen[PASSWD_LEN+1]	        ;	/*业务发生地*/	char	acCheckFlag[BIT21_LEN][BIT11_LEN];	/*卡状态检查标志*/	char	acFlag[ FLAG_LEN+1];				/* 挂失标志 */	int		iRtn;	struct	cmscardinfo		stCardInfo;	struct	cmscardinfo		stFCardInfo;	struct	cmscuststopm	stCustStopM;	struct	cmsacctm		stCmsAcctM;			/* 卡账户对照表		*/	strcpy( g_acTrcMsg, "子交易: 客户止付子交易开始..." );	TRCLOG4;	memset( &stCardInfo,  0x00, sizeof ( struct  cmscardinfo ) ); 	memset( &stFCardInfo, 0x00, sizeof ( struct  cmscardinfo ) ); 	memset( &stCustStopM, 0x00, sizeof ( struct cmscuststopm ) ); 	memset( acCheckFlag,  0x00, sizeof ( acCheckFlag ) ); 	memset( &stCmsAcctM,  0x00,	sizeof( struct cmsacctm ) );	memset( acFlag,		0x00, sizeof( acFlag ) );	/* 取数据字典值 */	getstring( "CardNo",	stCardInfo.cardno			); /*卡号  */	getstring( "CardNo1",	stFCardInfo.cardno			); /*卡号  */	getstring( "Passwd",	acPassWd      				); /*卡密码*/	getstring( "IdType"		,		stCustStopM.idtype		);	getstring( "IdNo"		,		stCustStopM.idcode		);	getstring( "CustomName"	,		stCustStopM.custname	);	getstring( "Memo"	,		stCustStopM.stopreason	);	getstring( "Flag1"		,		acFlag	);	strcpy( acHappen    , 	pstPubcom->acChannelId		);/*业务发生地*/			/* 获取主卡片信息表 */ 	if( pubReadCmscardinfo( &stCardInfo ) ) 	{		if ( SQLCODE == SQLNOTFOUND )			sprintf( g_acRspMsg, "主卡号[%s]不存在", stCardInfo.cardno );		ERRLOG		goto Exit;	}		/*检查是否为主卡*/	if( cmsApiChkCardNoIsMain( &stCardInfo ) )	{		ERRLOG;		goto Exit;	}	/*置卡状态检查标志*/	acCheckFlag[BIT1_LEN][BIT1_LEN]=CHECK_YES;	sprintf( g_acTrcMsg, "Flag[%s][%c]", acFlag, YES );	TRCLOG2	if ( acFlag[ BIT1_LEN ] == YES )	{		acCheckFlag[BIT2_LEN][BIT2_LEN]=CHECK_YES;		acCheckFlag[BIT2_LEN][BIT3_LEN]=CHECK_YES;	}	else		acCheckFlag[BIT2_LEN][BIT1_LEN]=CHECK_YES;	acCheckFlag[BIT3_LEN][BIT1_LEN]=CHECK_YES;	acCheckFlag[BIT4_LEN][BIT1_LEN]=CHECK_YES;	acCheckFlag[BIT5_LEN][BIT1_LEN]=CHECK_YES;	acCheckFlag[BIT6_LEN][BIT1_LEN]=CHECK_YES;	acCheckFlag[BIT7_LEN][BIT1_LEN]=CHECK_YES;	acCheckFlag[BIT8_LEN][BIT1_LEN]=CHECK_YES;	acCheckFlag[BIT9_LEN][BIT1_LEN]=CHECK_YES;	acCheckFlag[BIT11_LEN][BIT1_LEN]=CHECK_YES;	acCheckFlag[BIT12_LEN][BIT1_LEN]=CHECK_YES;	acCheckFlag[BIT13_LEN][BIT1_LEN]=CHECK_YES;	acCheckFlag[BIT14_LEN][BIT1_LEN]=CHECK_YES;	/*检查主卡状态是否正常*/	if( cmsApiChkCardStatIsNormal( &stCardInfo, acCheckFlag ) )	{		ERRLOG;		goto Exit;	}	/*判断主卡密码是否正确*/	if( cmsApiChkCardPwd( &stCardInfo,acPassWd,acHappen ) )	{		ERRLOG		goto Exit;	}	/* 获取附卡片信息表 */ 	if( pubReadCmscardinfo( &stFCardInfo ) ) 	{		if ( SQLCODE == SQLNOTFOUND )			sprintf( g_acRspMsg, "附卡号[%s]不存在", stFCardInfo.cardno );		ERRLOG		goto Exit;	}		/*检查是否为附卡*/	if( cmsApiChkCardNoIsAcce( &stFCardInfo ) )	{		ERRLOG		goto Exit;	}	/*检查附卡状态是否正常*/	acCheckFlag[BIT2_LEN][BIT2_LEN]=CHECK_NO;	acCheckFlag[BIT2_LEN][BIT3_LEN]=CHECK_NO;	if( cmsApiChkCardStatIsNormal( &stFCardInfo, acCheckFlag ) )	{		ERRLOG;		goto Exit;	}	/*检查主附卡关系 */	if( cmsApiChkMainAndAcceCardRelation( stCardInfo.cardno, &stFCardInfo ) )	{		ERRLOG		goto Exit;	}	/*修改附卡卡片信息*/	stFCardInfo.cardstat[BIT12_LEN]=BIT12_CUSTSTOPPAY;	strcpy( stFCardInfo.chgdate,	pstPubcom->acTranDate	);	if( pubModiCmscardinfo( &stFCardInfo ) )	{		ERRLOG		goto Exit;	}	/*登记客户支付登记簿赋值*/	strcpy( stCustStopM.maincardno	,		stCardInfo.cardno		);	strcpy( stCustStopM.accecardno	,		stFCardInfo.cardno		);	strcpy( stCustStopM.stopdate  	,		pstPubcom->acTranDate	);	stCustStopM.stopserseqno=pstPubcom->lSerSeqNo;	sprintf( stCustStopM.vouchno,"%s%08d",pstPubcom->acTranDate8,pstPubcom->lSerSeqNo );	strcpy( stCustStopM.stopteller	,		pstPubcom->acTeller  	);	strcpy( stCustStopM.authteller	,		pstPubcom->acAteller  	);	strcpy( stCustStopM.stopbrc   	,		pstPubcom->acBrc      	);	stCustStopM.stoptype[BIT1_LEN]=CUST_STOP;	stCustStopM.stopstat[BIT1_LEN]=STOP_STAT;	/*登记客户止付登记簿*/	if( pubInstCmscuststopm( &stCustStopM ) )	{		ERRLOG		goto Exit;	}	/* 子交易出口 */ 	iRtn = cmsApiInsTranLog( pstPubcom, &stCardInfo, &stCmsAcctM, "止付", "客户止付" );	if ( iRtn )	{		ERRLOG		return FAILED;	}		strcpy( g_acTrcMsg, "子交易: 客户止付结束.." );	TRCLOG4;Exit:	if( !strcmp( g_acRspCode, RSP_OK ) )		return SUCCESS;	else 		return FAILED ;}

⌨️ 快捷键说明

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