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

📄 cms303.sqc

📁 一整套完整的银行卡系统源代码
💻 SQC
📖 第 1 页 / 共 2 页
字号:
	/* Step One 主帐户处理 */	memset( acCcy,				0x00,	sizeof( acCcy ) );	memset( acPrdCode,			0x00,	sizeof( acPrdCode ) );	memset( acAcctSeqNo,		0x00,	sizeof( acAcctSeqNo ) );	iRtn = nProcessAcctm( pstPubcom, stCmsCardInfo.cardno, acAcctNo, acSubAcct,							acCustomId, stCmsCardInfo.cardkind,							acCcy, acPrdCode, acAcctSeqNo );	if ( iRtn )	{		ERRLOG		goto Exit;	}		/* 检查币种是否为卡主帐户币种 API*/	iRtn = cmsApiChkIsSameCCY( &stCmsCardKind, acCcy );	if ( iRtn )	{		ERRLOG		goto Exit;	}	strcpy( g_acTrcMsg, "cmsApiChkIsSameCCY finish" );	TRCLOG3	/* 为修改卡片信息表做赋值准备 */	strcpy( stCmsCardInfo.acctno,			acAcctNo		);	strcpy( stCmsCardInfo.acctseqno,		acAcctSeqNo		);	strcpy( stCmsCardInfo.subacct,			acSubAcct		);	strcpy( stCmsCardInfo.issuebrc,			pstPubcom->acBrc		);	strcpy( stCmsCardInfo.teller,			pstPubcom->acTeller		);	strcpy( stCmsCardInfo.maincardno,		stCmsCardInfo.cardno	);	strcpy( stCmsCardInfo.usedate,			pstPubcom->acTranDate	);	strcpy( stCmsCardInfo.chgdate,			pstPubcom->acTranDate	);	strcpy( stCmsCardInfo.cardflg,			acCardFlg	);	strcpy( stCmsCardInfo.markflg,			acMarkFlg	);	strcpy( stCmsCardInfo.custno,			acCustomId	);	stCmsCardInfo.crdsts[ BIT1_LEN ] = CARDOKSTS;	stCmsCardInfo.errnum = 0;	stCmsCardInfo.errnumtot = 0;	stCmsCardInfo.acdcnt = 0;	stCmsCardInfo.acdlmt = 0.0;	stCmsCardInfo.acduseamt = 0.0;	stCmsCardInfo.empflg[ BIT1_LEN ] = COMMONCARD;	stCmsCardInfo.yfeeflag[ BIT1_LEN ] = NOTAKEFEE;	stCmsCardInfo.yfee = 0.0;	stCmsCardInfo.yfeebal = 0.0;    stCmsCardInfo.billway[0] = '0';	stCmsCardInfo.billaddtype[0] = '0';	stCmsCardInfo.madfeeflag[ BIT1_LEN ] = NOMADFEE;	stCmsCardInfo.currbal = 0.0;	stCmsCardInfo.availbal = 0.0;	stCmsCardInfo.hasbankbook[ BIT1_LEN ] = BANKBOOK;	/* 修改卡片信息标记录 */	pubInitCmscardinfo();	pubStoVCmscardinfo( &stCmsCardInfo );	/* for test AY */	sprintf( g_acTrcMsg,"cmscardinfo_custno=[%s]", cmscardinfo_custno);	TRCLOG3	EXEC SQL	UPDATE CMSCARDINFO				SET		( U_CMSCARDINFO ) = ( W_CMSCARDINFO )				WHERE	CURRENT OF Inf_l_cur;	if ( SQLCODE )	{		strcpy( g_acRspCode, "CMS114" );		/* 数据库更新错误 */		pubCrtRspInfo( "cmscardinfo",SQLCODE );		ERRLOG		goto Exit;	}	setstring( "AcctSeqNo",	acAcctSeqNo );		/* 帐户序号		*/	/* Step Two 帐户处理 */	if ( strlen( acAcctNo1 ) )	{		memset( acCcy,				0x00,	sizeof( acCcy ) );		memset( acPrdCode,			0x00,	sizeof( acPrdCode ) );		memset( acAcctSeqNo,		0x00,	sizeof( acAcctSeqNo ) );		iRtn = nProcessAcctm( pstPubcom, stCmsCardInfo.cardno, acAcctNo1,							acSubAcct1, acCustomId, stCmsCardInfo.cardkind,							acCcy, acPrdCode, acAcctSeqNo );		if ( iRtn )		{			ERRLOG			goto Exit;		}		setstring( "AcctSeqNo1",	acAcctSeqNo );	/* 帐户序号		*/	}	/* Step Three 帐户处理 */	if ( strlen( acAcctNo2 ) )	{		memset( acCcy,				0x00,	sizeof( acCcy ) );		memset( acPrdCode,			0x00,	sizeof( acPrdCode ) );		memset( acAcctSeqNo,		0x00,	sizeof( acAcctSeqNo ) );		iRtn = nProcessAcctm( pstPubcom, stCmsCardInfo.cardno, acAcctNo2,							acSubAcct2, acCustomId, stCmsCardInfo.cardkind,							acCcy, acPrdCode, acAcctSeqNo );		if ( iRtn )		{			ERRLOG			goto Exit;		}		setstring( "AcctSeqNo2",	acAcctSeqNo );	/* 帐户序号		*/	}	/* Step Four 帐户处理 */	if ( strlen( acAcctNo3 ) )	{		memset( acCcy,				0x00,	sizeof( acCcy ) );		memset( acPrdCode,			0x00,	sizeof( acPrdCode ) );		memset( acAcctSeqNo,		0x00,	sizeof( acAcctSeqNo ) );		iRtn = nProcessAcctm( pstPubcom, stCmsCardInfo.cardno, acAcctNo3,							acSubAcct3, acCustomId, stCmsCardInfo.cardkind,							acCcy, acPrdCode, acAcctSeqNo );		if ( iRtn )		{			ERRLOG			goto Exit;		}		setstring( "AcctSeqNo3",	acAcctSeqNo );	/* 帐户序号		*/	}	/* 登记账号索引表 */	iRtn = pubRegAcctNoIdx( stCmsCardInfo.cardno, STR_CMS );	if ( iRtn )	{		ERRLOG		goto Exit;	}	/* 子交易出口 */ 	setstring( "VouKind",		stCmsCardInfo.voukind );	/* 凭证种类		*/	setstring( "VouNo",			stCmsCardInfo.vouno );		/* 凭证号码		*/	setstring( "PreCharCode",	stCmsCardInfo.precharcode );		/* 冠字号码		*/	Exit:	SQLCLOSECUR(Inf_l_cur,"Inf_l_cur")	strcpy( g_acTrcMsg, "子交易: 主卡发卡结束.." );	TRCLOG4	if( !strcmp( g_acRspCode, RSP_OK ) )		return SUCCESS;	else		return FAILED ;}int	nProcessAcctm( pstPub,pcCardNo,pcAcctNo,pcSubAcct,pcCustomId,pcCardKind,							pcCcy, pcPrdCode, pcAcctSeqNo )PUBCOM *pstPub;			/* 公共结构		*/char	*pcCardNo;			/* 卡号			*/char	*pcAcctNo;			/* 客户帐号		*/char	*pcSubAcct;			/* 款项帐号		*/char	*pcCustomId;		/* 客户号		*/char	*pcCardKind;		/* 卡片种类		*//* 输出 */char	*pcCcy;				/* 币种 		*/char	*pcPrdCode;			/* 产品代码 	*/char	*pcAcctSeqNo;		/* 帐户序号 	*/{	struct	cmsacctm			stCmsAcctM;			/* 卡帐户对照表		*/	struct	dpssaveaccdyninfo	stDpsSaveDyn;		/* 活期存款动态		*/	struct	ciscustaccinfo		stCisCustAcc;		/* 客户号帐号对照	*/	int		iRtn = 0;	strcpy( g_acTrcMsg, "nProcessAcctm Begin " );	TRCLOG4	memset( &stCmsAcctM,		0x00,	sizeof( struct cmsacctm ) );	memset( &stDpsSaveDyn,		0x00,	sizeof( struct dpssaveaccdyninfo ) );	memset( &stCisCustAcc,		0x00,	sizeof( struct ciscustaccinfo ) );	strcpy( stCisCustAcc.acctno,	pcAcctNo );	/* 获取客户号帐号对照 */	iRtn = pubReadCiscustaccinfo( &stCisCustAcc );	if ( iRtn )	{		ERRLOG		goto Exit;	}	/* 检查是否为同一客户 */	if ( strcmp( stCisCustAcc.customid, pcCustomId ) )	{		strcpy( g_acRspCode, "CMS1C0" );		pubCrtRspInfo( );		ERRLOG		goto Exit;	}	/* 获取活期存款动态 */	strcpy( stDpsSaveDyn.subacct,	pcSubAcct );	iRtn = pubReadDpssaveaccdyninfo( &stDpsSaveDyn );	if ( iRtn )	{		ERRLOG		goto Exit;	}	/* 检查卡内同币种同一产品代码的账户是否超限 */	iRtn = cmsApiChkCardAcctNumExceed( pcCardNo, pcCardKind,							stDpsSaveDyn.ccy, stDpsSaveDyn.prdcode );	if ( iRtn )	{		ERRLOG		goto Exit;	}	/* 为增加卡账户对照表准备数据 */	strcpy( stCmsAcctM.cardno,		pcCardNo		);	strcpy( stCmsAcctM.acctno,		pcAcctNo		);	strcpy( stCmsAcctM.subacct,		pcSubAcct		);	strcpy( stCmsAcctM.custno,		pcCustomId		);	strcpy( stCmsAcctM.prdcod,		stDpsSaveDyn.prdcode	);	strcpy( stCmsAcctM.ccy,			stDpsSaveDyn.ccy		);	/* 生成卡内帐户序号 */	iRtn = cmsApiGetSeqNoInCard( pcCardNo, stCmsAcctM.acctseqno );	if ( iRtn )	{		ERRLOG		goto Exit;	}	/* 按产品代码获取业务种类 */	iRtn = cmsApiGetBussKindByPrdCod( stCmsAcctM.prdcod, stCmsAcctM.busskind );	if ( iRtn )	{		ERRLOG		goto Exit;	}	strcpy( stCmsAcctM.subsys,		STR_DPS						);	strcpy( stCmsAcctM.issuebrc,	pstPub->acBrc			);	strcpy( stCmsAcctM.issueteller,	pstPub->acTeller			);	strcpy( stCmsAcctM.issuedate,	pstPub->acTranDate		);	stCmsAcctM.accowner[ BIT1_LEN ] = BELONGMAINCARD;	/* 属于主卡		*/	stCmsAcctM.cardbookflag[ BIT1_LEN ] = ACCOPENFLG_BOOK;	/* 有折		*/	stCmsAcctM.status[ BIT1_LEN ] = NORMAL_STS;			/* 正常			*/	/* 插入卡账户对照表 */	iRtn = pubInstCmsacctm( &stCmsAcctM );	if ( iRtn )	{		ERRLOG		goto Exit;	}	/* 调用存款api修改静态文件 */	iRtn=dpsBooAddCarStaOper( pcAcctNo, "1", "", "", "", "", "", "", "", "0" );	if ( iRtn )	{		ERRLOG		goto Exit;	}	strcpy( pcCcy,			stDpsSaveDyn.ccy		);	strcpy( pcPrdCode,		stDpsSaveDyn.prdcode	);	strcpy( pcAcctSeqNo,	stCmsAcctM.acctseqno	);Exit:	strcpy( g_acTrcMsg, "nProcessAcctm End " );	TRCLOG4	if( !strcmp( g_acRspCode, RSP_OK ) )		return SUCCESS;	else		return FAILED ;}

⌨️ 快捷键说明

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