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

📄 cms513.sqc

📁 一整套完整的银行卡系统源代码
💻 SQC
字号:
/******************************************************************** **   源码文件名称 : cms513.SQC **   所属子系统   : CMS  **   当前文件版本 : 1.0.0.0 **   作者         : UCCB	ALEX **   版本创建日期 : 2004/09/22 **   功能描述     : 保号换卡申请子交易 **   修改记录     : **   修改人       修改日期     修改说明 **   Feng         2006-01-16   卡凭证信息的输出和作废销毁登记簿的处理*********************************************************************/#include "code.h"#include "attrdef.h"#include "sysdef.h"#include "pubcom.h"#include "cmscode.h"#include "cmspcdreg.h"#include "cmscardinfo.h"#include "cmscardkind.h"#include "cmscardcancelt.h"#include "cmsacctm.h"#include "ciscustomerinfo.h"EXEC SQL INCLUDE SQLCA;int cmsKeepCardNoChgReqPro( PUBCOM *pstPubcom ){	/*定义局部变量*/	char	acBankTitle[PARAMVALUE_LEN+1];	/*银行标识*/	char	acCustInf[CUSTNAME_LEN+1];		/*客户信息*/	char	acTranDate8[DATE8_LEN+1];		/*交易日期*/	char	acVouNo[VOUNO_LEN+1];		/*凭证号码*/	char	acMethod[ PARAMVALUE_LEN+1 ];	/* 凭证号码方式	*/	long	lMinNum,lMaxNum;	long	lNum;	char	acChgFlg[ FLAG_LEN + 1 ];		/* 换卡标志		*/	int		iRtn ;	struct	cmscardinfo		 stCardInfo;	/*卡片信息表*/	struct	cmscardcancelt 	stCmsCant;			/* 作废销毁登记簿	*/	struct	cmsacctm   		 stAcctM;		/*卡帐号对账表*/	struct	cmspcdreg      	 stPcdReg;		/*预制卡登记簿*/	struct	ciscustomerinfo  stCisInfo;		/*客户基本信息*/    struct  cmscardkind     stCmsCardKind;  /* 卡片种类表       */	strcpy( g_acTrcMsg, "子交易: 保号换卡申请开始.." );	TRCLOG4;	strcpy( g_acRspCode, RSP_OK );	memset( &stCardInfo,	0x00, sizeof ( struct cmscardinfo      ) );     memset( &stCmsCardKind, 0x00, sizeof( struct cmscardkind ) );	memset( &stAcctM,		0x00, sizeof ( struct cmsacctm         ) ); 	memset( &stPcdReg,		0x00, sizeof ( struct cmspcdreg        ) ); 	memset( &stCisInfo,		0x00, sizeof ( struct ciscustomerinfo  ) ); 	memset( acMethod,		0x00,	sizeof( acMethod ) );	memset( acChgFlg,		0x00,	sizeof( acChgFlg ) );	memset( acVouNo,		0x00,	sizeof( acVouNo ) );	/* 取数据字典值 */	getstring("CardNo", stCardInfo.cardno);	getstring( "ChgFlag",	acChgFlg			);			/* 获取卡片信息表 */ 	if( pubReadCmscardinfo( &stCardInfo ) ) 	{		if ( SQLCODE == SQLNOTFOUND )			sprintf( g_acRspMsg, "卡号[%s]不存在", stCardInfo.cardno );		ERRLOG		goto Exit;	}	/* Feng Add in 2006-01-16 Begin */    /* 获取卡片种类表 */    iRtn = cmsApiGetCmsCardKind( stCardInfo.cardkind, &stCmsCardKind );    if ( iRtn )    {        ERRLOG        return FAILED;    }	/* Feng Add in 2006-01-16 End */	/* 获取凭证号码生成方式 */	if ( cmsApiGetVouMethod( acMethod ) )	{		ERRLOG		return FAILED;	}		/* 凭证号码获取方式为大排序 */	if ( acMethod [ BIT1_LEN ] == METHOD_SINGLESEQ )	{		/* 获取卡凭证号码 */		lNum = 1 ;		if( cmsApiGetCardVouNo( stCardInfo.voukind,stCardInfo.precharcode, &lNum,&lMinNum,&lMaxNum ) )		{			ERRLOG			goto Exit;		}		sprintf( acVouNo,"%0*ld", MAX_VOUSEQNOLEN, lMaxNum);		strpack( acVouNo );	}	/*修改卡片信息表    */	strcpy(cmscardinfo_cardno,stCardInfo.cardno);	cmscardinfo_cardstat[BIT14_LEN]=BIT14_CARDBHAPLY;	cmscardinfo_crdsts[BIT1_LEN]=CARDKCSTS;	EXEC SQL	UPDATE cmscardinfo 				SET	cardstat=:cmscardinfo_cardstat,					crdsts	=:cmscardinfo_crdsts				WHERE	cardno=:cmscardinfo_cardno;	if( SQLCODE )	{		sprintf(g_acRspMsg,"UPDATE 卡片信息表错SQLCODE[%d]cardno[%s]", SQLCODE,cmscardinfo_cardno);		ERRLOG;		sprintf(g_acRspCode,"999997");		pubCrtRspInfo( "cmscardinfo", SQLCODE );		ERRLOG;		goto Exit;	}	strcpy( stCisInfo.customid, stCardInfo.custno );	iRtn = pubReadCiscustomerinfo( &stCisInfo );	if ( iRtn ) 	{		ERRLOG		goto Exit;	}	switch ( acChgFlg[ BIT1_LEN ] )	{		case FLAG_COMCARDTOCOMCARD:		case FLAG_NAMCARDTOCOMCARD:			stPcdReg.aplyflg[BIT1_LEN]=HOLDCARDAPLY;	/* 申请标志	*/			break;		case FLAG_COMCARDTONAMCARD:		case FLAG_NAMCARDTONAMCARD:			stPcdReg.aplyflg[BIT1_LEN]=NAMEHOLDCARDAPLY;	/* 申请标志	*/			strcpy( stPcdReg.custno, stCardInfo.custno );	/* 客户号 */			strpack( stCisInfo.custengname );			if ( !strlen( stCisInfo.custengname ) )			{				strcpy(g_acRspCode,"CMS1F0");				pubCrtRspInfo( stCardInfo.custno );				ERRLOG				goto Exit;			}			strcpy( stPcdReg.custname, stCisInfo.custengname );/* 客户拼音 */			break;	}	/*写预制卡登记簿    */	strcpy( stPcdReg.scardno, stCardInfo.cardno );	strcpy( stPcdReg.ecardno, stCardInfo.cardno );	stPcdReg.serseqno = pstPubcom->lSerSeqNo;			/* 流水号	*/	stPcdReg.aplynum  = 1;								/* 申请数量*/	sprintf( stPcdReg.vouchno,"%s%08ld",pstPubcom->acTranDate8,stPcdReg.serseqno);	strcpy( stPcdReg.aplydate,	pstPubcom->acTranDate );/* 申请日期	*/	strcpy( stPcdReg.wishdate,	pstPubcom->acTranDate );/* 希望日期	*/	strcpy( stPcdReg.aplybrc,	pstPubcom->acBrc );		/* 申请机构	*/	strcpy( stPcdReg.aplyteller,pstPubcom->acTeller );	/* 申请柜员	*/	strcpy( stPcdReg.authteller,pstPubcom->acAteller );	/* 授权柜员	*/	strcpy ( stPcdReg.cardkind,	stCardInfo.cardkind );	/* 卡片种类 */	strcpy ( stPcdReg.voukind,	stCardInfo.voukind );	/* 卡片种类 */	strcpy ( stPcdReg.svouno,	acVouNo  );	/* 凭证号码 */	strcpy ( stPcdReg.evouno,	acVouNo  );	/* 凭证号码 */	stPcdReg.applflg[BIT1_LEN]=APPLYREG;				/* 状态标志	*/	stPcdReg.processflg[BIT1_LEN]=MKFILE_UNDONE;		/* 处理标志	*/	if( pubInstCmspcdreg( &stPcdReg ) )	{		ERRLOG		goto Exit;	}	/* Feng Add in 2006-01-16 Begin */	/* 凭证号码获取方式为大排序 */	if ( acMethod [ BIT1_LEN ] == METHOD_SINGLESEQ )	{		memset( &stCmsCant,	0x00,	sizeof( struct cmscardcancelt ) );		strcpy( stCmsCant.canceldate,      pstPubcom->acTranDate   );		stCmsCant.serseqno = pstPubcom->lSerSeqNo;		strcpy( stCmsCant.cardno,    stCardInfo.cardno    );		strcpy( stCmsCant.cardkind,    stCardInfo.cardkind    );		strcpy( stCmsCant.voukind,    stCmsCardKind.blankvoukind    );		strcpy( stCmsCant.precharcode,    stCardInfo.precharcode    );		strcpy( stCmsCant.vouno,    stCardInfo.vouno    );		sprintf( stCmsCant.vouchno, "%s%0*ld", pstPubcom->acTranDate8, \								SERSEQNO_LEN, stCmsCant.serseqno );		stCmsCant.flag[ BIT1_LEN ] = FLAG_INVALID;		stCmsCant.cardflg[ BIT1_LEN ] = stCardInfo.cardflg[ BIT1_LEN ];		strcpy( stCmsCant.custname, stCisInfo.customname );		strcpy( stCmsCant.idtype,	stCisInfo.idtype	);		strcpy( stCmsCant.idcode,	stCisInfo.idno	);		strcpy( stCmsCant.cancelbrc,	pstPubcom->acBrc	);		strcpy( stCmsCant.cancelteller,pstPubcom->acTeller	);			/* 插入卡作废销毁登记簿 */		iRtn = pubInstCmscardcancelt( &stCmsCant );		if ( iRtn )		{			ERRLOG			return FAILED;		}	}	/* Feng Add in 2006-01-16 End */	/*写子交易流水*/	if( cmsApiInsTranLog( pstPubcom, &stCardInfo, &stAcctM, "换卡", "保号换卡申请"   ) )	{		ERRLOG		goto Exit;	}	/* 子交易出口 */ 	setstring( "Flag", acMethod ); /* 凭证号生成方式 */	setstring( "PreCharCode", stCardInfo.precharcode );	/* 冠字号码		*/	setstring( "VouKind"	, stCmsCardKind.blankvoukind );	/* 废卡凭证种类		*/	setstring( "VouNo"		, stCardInfo.vouno );			/* 废卡凭证号码		*/		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 + -