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

📄 cms521.sqc

📁 一整套完整的银行卡系统源代码
💻 SQC
字号:
/******************************************************************** **   源码文件名称 : cms521.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 "cmscardinfo.h"#include "cmsactiom.h"#include "cmsacctm.h"#include "dpsacctlink.h"#include "dpssaveaccdyninfo.h"#include "dpstermaccdyninfo.h"EXEC SQL INCLUDE SQLCA;int cmsActInCardPro( PUBCOM *pstPubcom ){	/*定义局部变量*/	struct	cmscardinfo			stCmsCardInfo;		/* 卡片信息表		*/	struct	cmsacctm			stCmsAcctM;			/* 卡账户对照表		*/	struct	cmsactiom			stCmsActioM;		/* 移入移出登记簿	*/	struct	dpsacctlink			stDpsacctlink;		/* 存款帐户关系表	*/	struct	dpssaveaccdyninfo	stDpssaveaccdyninfo;/* 活期存款帐户动态表	*/	struct	dpstermaccdyninfo	stDpstermaccdyninfo;/* 定期存款帐户动态表	*/	int		iRtn;								/* 函数返回值		*/	double	dRate;	strcpy( g_acTrcMsg, "子交易: 存折单移入卡处理开始.." );	TRCLOG4	/* 初始化 */	memset( &stCmsCardInfo,		  0x00,	sizeof( struct cmscardinfo ) );	memset( &stCmsAcctM,		  0x00,	sizeof( struct cmsacctm ) );	memset( &stCmsActioM,		  0x00,	sizeof( struct cmsactiom ) );	memset( &stDpsacctlink,		  0x00,	sizeof( struct dpsacctlink ) );	memset( &stDpstermaccdyninfo, 0x00,	sizeof( struct dpstermaccdyninfo ) );	memset( &stDpssaveaccdyninfo, 0x00,	sizeof( struct dpssaveaccdyninfo ) );	/* 取数据字典值 */	getstring( "CardNo",	stCmsCardInfo.cardno	);		/* 获取卡片信息 */	iRtn = pubReadCmscardinfo( &stCmsCardInfo );	if ( iRtn )	{		if ( SQLCODE == SQLNOTFOUND )			sprintf( g_acRspMsg, "卡号[%s]不存在", stCmsCardInfo.cardno );		ERRLOG		return FAILED;	}	/* 从字典获取其他字段 */	getstring( "Ccy1",			stCmsAcctM.ccy			);	getstring( "PrdCode",		stCmsAcctM.prdcod		);	getstring( "AcctNo",		stCmsAcctM.acctno		);	getstring( "AcctNo1",		stCmsActioM.acctno		);	getstring( "SubAcct1",		stCmsAcctM.subacct		);	getstring( "IdType1",		stCmsActioM.idtype		);	getstring( "IdNo1",			stCmsActioM.idcode		);	getstring( "CustomName1",	stCmsActioM.custname	);	/* 获取卡内新的账户序号 */	iRtn = cmsApiGenCardNewSeqNo( stCmsCardInfo.cardno, \									stCmsAcctM.acctseqno );	if ( iRtn )	{		ERRLOG		return FAILED;	}	/* 为增加卡账户对照表准备数据 */	strcpy( stCmsAcctM.cardno,		stCmsCardInfo.cardno		);	/* 按产品代码获取业务种类 */	iRtn = cmsApiGetBussKindByPrdCod( stCmsAcctM.prdcod, stCmsAcctM.busskind );	if ( iRtn )	{		ERRLOG		return FAILED;	}	if( pubInqAcctNoIdx( stCmsAcctM.acctno , stCmsAcctM.subsys ) )	{		ERRLOG		return FAILED;	}	strcpy( stCmsAcctM.custno,		stCmsCardInfo.custno		);	strcpy( stCmsAcctM.issuebrc,	pstPubcom->acBrc			);	strcpy( stCmsAcctM.issueteller,	pstPubcom->acTeller			);	strcpy( stCmsAcctM.issuedate,	pstPubcom->acTranDate		);	stCmsAcctM.accowner[ BIT1_LEN ] = BELONGMAINCARD;		/* 属于主卡		*/	stCmsAcctM.cardbookflag[ BIT1_LEN ] = ACCOPENFLG_CARD;	/* 无折		*/	stCmsAcctM.status[ BIT1_LEN ] = NORMAL_STS;				/* 正常			*/	/* 插入卡账户对照表 */	iRtn = pubInstCmsacctm( &stCmsAcctM );	if ( iRtn )	{		ERRLOG		return FAILED;	}	/* 为增加移入移出登记簿做赋值准备 */	strcpy( stCmsActioM.cardno,		stCmsCardInfo.cardno		);	strcpy( stCmsActioM.trandate,	pstPubcom->acTranDate		);	stCmsActioM.serseqno = pstPubcom->lSerSeqNo;	sprintf( stCmsActioM.vouchno,	"%s%0*ld", pstPubcom->acTranDate8, \					SERSEQNO_LEN,	 stCmsActioM.serseqno		);	strcpy( stCmsActioM.acctseqno,	stCmsAcctM.acctseqno	);	strcpy( stCmsActioM.busskind,	stCmsAcctM.busskind		);	strcpy( stCmsActioM.ccy,		stCmsAcctM.ccy		);	strcpy( stCmsActioM.prdcod,		stCmsAcctM.prdcod		);	strcpy( stCmsActioM.subacct,	stCmsAcctM.subacct		);	strcpy( stCmsActioM.issuebrc,	stCmsCardInfo.issuebrc	);	strcpy( stCmsActioM.brc,		pstPubcom->acBrc		);	strcpy( stCmsActioM.teller,		pstPubcom->acTeller		);	stCmsActioM.opflg[ BIT1_LEN ] = MOVEIN;			/* 移入		*/	/* 插入账户移入移出登记簿 */	iRtn = pubInstCmsactiom( &stCmsActioM );	if ( iRtn )	{		ERRLOG		return FAILED;	}	strcpy( stDpsacctlink.acctno, stCmsAcctM.acctno );	strcpy( stDpsacctlink.subacct, stCmsAcctM.subacct );	if ( pubReadDpsacctlink( &stDpsacctlink ) )	{		ERRLOG		return FAILED;	}	/* 如果款项是活期,取活期动态分户结构 */	if( dpsacctlink_opnflag[0] == SAVE_DEPOSIT )	{		strcpy( stDpssaveaccdyninfo.subacct, dpsacctlink_subacct );		if( pubReadDpssaveaccdyninfo ( &stDpssaveaccdyninfo ) )		{			ERRLOG			return FAILED;		}		dRate=0.00;                                   /*开户利率赋值*/	}	/* 如果款项是定期,取定期动态分户结构 */	else	{		strcpy( stDpstermaccdyninfo.subacct, dpsacctlink_subacct );		if( pubReadDpstermaccdyninfo ( &stDpstermaccdyninfo ) )		{			ERRLOG			return FAILED;		}		dRate=stDpstermaccdyninfo.opnrate;           /*开户利率赋值*/	}	/* 是否写子交易流水 */	iRtn = cmsApiInsTranLog( pstPubcom, &stCmsCardInfo, &stCmsAcctM, "移入", "存单折移入卡" );	if ( iRtn )	{		ERRLOG		return FAILED;	}	/* 子交易出口 */ 	setstring( "AcctSeqNo",	stCmsAcctM.acctseqno );	/* 账户序号	*/	setdouble( "IntRate",  &dRate         ); /* 开户利率 */		strcpy( g_acTrcMsg, "子交易: 存折单移入卡处理结束.." );	TRCLOG4	strcpy( g_acRspCode,  RSP_OK );	return SUCCESS;}

⌨️ 快捷键说明

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