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

📄 cms507.sqc

📁 一整套完整的银行卡系统源代码
💻 SQC
字号:
/******************************************************************** **   源码文件名称 : cms507.SQC **   所属子系统   : CMS  **   当前文件版本 : 1.0.0.0 **   作者         : Feng **   版本创建日期 : 2004/09/25 **   功能描述     : 卡销毁交易 **   修改记录     : **   修改人       修改日期     修改说明 **   Feng         2006-01-16   增加废卡中凭证号码处理*********************************************************************/#include "code.h"#include "attrdef.h"#include "sysdef.h"#include "pubcom.h"#include "cmscode.h"#include "cmscardcancelt.h"#include "cmscardinfo.h"#include "cmscardkind.h"#include "cmsacctm.h"#include "dmsvoubal.h"EXEC SQL INCLUDE SQLCA;int cmsDesTroyCardPro( PUBCOM *pstPubcom ){	/*定义局部变量*/	struct	cmscardcancelt 	stCmsCardCancelT;	struct	cmscardinfo 	stCmsCardInfo;    struct  cmscardkind     stCmsCardKind;      	/* 卡片种类表       */	struct	cmsacctm 		stCmsAcctM;	char	acFlag[ FLAG_LEN + 1 ];			/* 凭证状态 */	int		iRtn=0 ;	strcpy( g_acTrcMsg, "子交易: 卡销毁子交易开始.....");	TRCLOG4	strcpy( g_acRspCode, RSP_OK );	memset( &stCmsCardCancelT, 0x00, sizeof ( struct cmscardcancelt ) ); 	memset( &stCmsCardInfo, 0x00, sizeof ( struct cmscardinfo ) );     memset( &stCmsCardKind, 0x00, sizeof( struct cmscardkind ) );	memset( &stCmsAcctM, 0x00, sizeof ( struct cmsacctm ) ); 	memset( acFlag, 0x00, sizeof ( acFlag ) ); 	/* 取数据字典值 */	getstring( "CardNo",		stCmsCardCancelT.cardno		); /*卡号*/	getstring( "AcctSeqNo",		stCmsCardCancelT.batchno	); /*批次号*/	/* Feng Add in 2006-01-16 Begin */	getstring( "VouNo",			stCmsCardCancelT.vouno		); /*凭证号码*/	/* Feng Add in 2006-01-16 End */		sprintf( g_acTrcMsg, "cardno[%s]batchno[%s]",stCmsCardCancelT.cardno, stCmsCardCancelT.batchno );	TRCLOG3	/* Feng Add in 2006-01-16 Begin */	/* 获取卡片信息表 */ 	strcpy( stCmsCardInfo.cardno, stCmsCardCancelT.cardno );	if( pubReadCmscardinfo( &stCmsCardInfo ) ) 	{		if ( SQLCODE == SQLNOTFOUND )			sprintf( g_acRspMsg, "卡号[%s]不存在", stCmsCardInfo.cardno );		ERRLOG		goto Exit;	}    /* 获取卡片种类表 */    iRtn = cmsApiGetCmsCardKind( stCmsCardInfo.cardkind, &stCmsCardKind );    if ( iRtn )    {        ERRLOG        return FAILED;    }	/* 获取卡作废销毁登记簿*/	strcpy( stCmsCardCancelT.voukind, stCmsCardKind.blankvoukind );	strcpy( stCmsCardCancelT.precharcode, stCmsCardInfo.precharcode );	/* Feng Add in 2006-01-16 End */	if( pubReadCmscardcancelt( &stCmsCardCancelT ) ) 	{		ERRLOG		goto Exit;	}	/*检查记录状态*/	if(stCmsCardCancelT.flag[BIT1_LEN]==FLAG_DESTROY)	{		sprintf(g_acRspCode,"CMS1D7");		pubCrtRspInfo(stCmsCardCancelT.cardno);		ERRLOG		goto Exit;	}	/*修改记录为销毁*/	stCmsCardCancelT.flag[BIT1_LEN] = FLAG_DESTROY;	strcpy( stCmsCardCancelT.destroydate,		pstPubcom->acTranDate );	strcpy( stCmsCardCancelT.destroyteller,		pstPubcom->acTeller );	strcpy( stCmsCardCancelT.destroybrc,		pstPubcom->acBrc );	strcpy( stCmsCardCancelT.destroyauthteller,	pstPubcom->acAteller );	/* 修改卡作废销毁登记簿*/	if( pubModiCmscardcancelt( &stCmsCardCancelT ) ) 	{		ERRLOG		goto Exit;	}		/* Feng Add in 2006-01-16 Begin  修改凭证种类、号码和冠字的赋值 */	/* 凭证付出 表外账减1 */	if (  dmsInVouOut(	pstPubcom, stCmsCardCancelT.voukind, \					stCmsCardCancelT.vouno, stCmsCardCancelT.vouno, 1, \					stCmsCardCancelT.precharcode,acFlag ) )	{		ERRLOG		goto Exit;	}	/* 修改机构凭证库文件(出库) */	if ( dmsChgVouLibOut(	pstPubcom->acBrc, pstPubcom->iBoxNo, \							stCmsCardCancelT.voukind, \							stCmsCardCancelT.precharcode, \							stCmsCardCancelT.vouno, \							stCmsCardCancelT.vouno, 1 ) )	{		ERRLOG		goto Exit;	}  	/* 修改尾箱凭证余额文件 */	strcpy( dmsvoubal_brc,			pstPubcom->acBrc );	strcpy( dmsvoubal_voukind,		stCmsCardCancelT.voukind );	strcpy( dmsvoubal_precharcode,	stCmsCardCancelT.precharcode );	dmsvoubal_number = 1;	dmsvoubal_boxno = pstPubcom->iBoxNo ;	/* 修改凭证余额 */	EXEC SQL	update dmsvoubal				set number = number - :dmsvoubal_number				WHERE brc     = :dmsvoubal_brc			AND   boxno = :dmsvoubal_boxno			AND   voukind = :dmsvoubal_voukind			AND precharcode = :dmsvoubal_precharcode;	if( SQLCODE )	{		strcpy( g_acRspCode, "DMS992" );		pubCrtRspInfo("尾箱凭证余额文件",SQLCODE);		ERRLOG		goto Exit;	}	/* 调用登记凭证使用明细api  */	if( dmsSumVouUseSts(	pstPubcom, stCmsCardCancelT.voukind, \							stCmsCardCancelT.precharcode, \							stCmsCardCancelT.vouno,stCmsCardCancelT.vouno, \							1, USERMODE_CANCEL, "" ) )	{		ERRLOG		goto Exit;	}	/* Feng Add in 2006-01-16 End  修改凭证种类、号码和冠字的赋值 */	/* 统计当日本批次号已处理数量 */	pubStoVCmscardcancelt( &stCmsCardCancelT );	EXEC SQL	select	count(*) 				into	:dmsvoubal_number				from	cmscardcancelt				where	batchno=:cmscardcancelt_batchno				and		destroydate = :cmscardcancelt_destroydate				and		flag = :cmscardcancelt_flag;	if( SQLCODE )	{		strcpy( g_acRspCode, "999996" );		pubCrtRspInfo("cmscardcancelt",SQLCODE);		ERRLOG		goto Exit;	}	/*写子交易流水*/	if( cmsApiInsTranLog( pstPubcom, &stCmsCardInfo, &stCmsAcctM, "制卡", "预制卡申请删除" ) )	{		ERRLOG		goto Exit;	}	/* 子交易出口 */ 	setlong( "Num"	, &dmsvoubal_number );		strcpy( g_acTrcMsg, "子交易: 卡销毁子交易结束.....");	TRCLOG4;Exit:	if( !strcmp( g_acRspCode, RSP_OK ) )		return SUCCESS;	else 		return FAILED ;	return 0;}

⌨️ 快捷键说明

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