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

📄 cms619.sqc

📁 一整套完整的银行卡系统源代码
💻 SQC
字号:
/******************************************************************** **   源码文件名称 : cms619.SQC **   所属子系统   : CMS  **   当前文件版本 : 1.0.0.0 **   作        者 : XL  **   版本创建日期 : 2004/10/26 **   功能描述     : 卡片交易限额调整登记簿查询 **   修改记录     : **   修改人       修改日期     修改日期*********************************************************************/#include    "sysdefine.h"#include    <stdio.h>#include	"pubcom.h"#include	"funcapi.h"#include    "code.h"#include    "attrdef.h"#include    "cmscode.h"#include	"cmstlimtm.h"EXEC SQL INCLUDE SQLCA;/*********************************************************   函数名称: cms216019**   功能描述:卡片交易限额调整登记簿查询**   输入参数:**            acBeginDate   ----  起始日期 **            acEndDate     ----  终止日期**            acCardNo      ----  卡号**   输出参数:**     acCardNo      ----  卡号           actrandate   ----  交易日期**     acserseqno  ----流水号             acvouchno   ---- 登记簿编号 **  acTrandevType ----  业务发生地类型    acCCY         ----  币种 **     acperiod      ----  周期长度        accashlimitamt----  本周期取现限额**     acdepolimitamt ---- 本周期存款限额  acconlimitamt ----  本周期消费限额**     actranoutlimitamt ----本周期转出限额  accashlimittime ----本周期取现次数**     acdepolimittime ----本周期存款次数   acconlimittime ---- 本周期消费次数 **   actranoutlimittime ----本周期转出次数  acidtype  ---- 证件类型**   acidcode    ----  证件号码             accustname  ---- 姓名/单位名称**   acissuebrc   ---- 发卡机构码           acteller  ---- 发卡交易柜员**   accardkind  ---- 卡片种类              aclmtbrc ---- 调整机构码**   aclmtteller ---- 调整交易柜员          aclmtauthteller ---- 授权交易柜员**   返回结果: **   作        者 : XL **   版本创建日期 : 2004/10/26**   修改记录     :**   修改人       修改日期     修改位置*******************************************************/int cms216019(pstPubcom)struct          pubcom          *pstPubcom;{	EXEC SQL BEGIN DECLARE SECTION;		char    acSelStr[ CONDITION_LEN + 1 ];        char    acChName[BIT17_LEN + 1];        char    acName[70 + 1];	EXEC SQL END DECLARE SECTION;	struct  cmstlimtm  	stCmsTlimtm;	           /* 卡片交易限额调整登记簿 */	char    acCardNo[ CARDNO_LEN + 1 ];            /* 卡号   */	char    acBeginDate[ DATE_LEN + 1 ];           /* 起始日期 */	char    acEndDate[ DATE_LEN + 1 ];             /* 终止日期 */    char    acTableName[PRDCODE_LEN + 1];          /* 表名称 */	char    acFileName[FILENAME_LEN + 1];          /* 文件名称 */     char    acWhrStr[ CONDITION_LEN + 1 ];	int 	iCount = 0;	FILE	*fp;							       /* 文件指针  	  */	sprintf( g_acTrcMsg,"卡片交易限额调整登记簿查询开始");	TRCLOG4	memset( acCardNo,      	0x00, 	sizeof( acCardNo ) );    memset( acBeginDate,   	0x00, 	sizeof( acBeginDate ) );    memset( acEndDate,     	0x00, 	sizeof( acEndDate ) );    memset( acFileName,		0x00,   sizeof( acFileName ) );	memset( acTableName,	0x00,   sizeof( acTableName ) );	memset( acSelStr,		0x00, 	sizeof( acSelStr ) );	memset( acWhrStr,		0x00, 	sizeof( acWhrStr ) );	memset( acChName,		0x00, 	sizeof( acChName ) );	memset( acName,			0x00, 	sizeof( acName ) );	memset( &stCmsTlimtm,	0x00, 	sizeof( struct cmstlimtm ) );    /* 取数据字典 */    getstring( "CardNo", acCardNo );	getstring( "BeginDate1", acBeginDate );	getstring( "EndDate1", acEndDate);    sprintf( g_acTrcMsg,"CardNo[%s]BeginDate1[%s]EndDate1[%s]",acCardNo,acBeginDate,acEndDate);    TRCLOG3	sprintf( acSelStr, "select * from cmstlimtm" );	sprintf( acWhrStr, " where 1=1");	if ( strcmp ( acBeginDate, INITDATE ) )	{		sprintf( acWhrStr+strlen(acWhrStr), " and trandate >= '%s'", acBeginDate );	}	if ( strcmp ( acEndDate, INITDATE ) )	{		sprintf( acWhrStr+strlen(acWhrStr), " and trandate <= '%s'", acEndDate );	}	if ( strlen ( acCardNo ) > 0 )	{		sprintf( acWhrStr+strlen(acWhrStr), " and cardno = '%s'", acCardNo );	}    sprintf( acWhrStr+strlen(acWhrStr), " ORDER BY trandate,cardno, serseqno DESC" );	sprintf( acSelStr + strlen(acSelStr), " %s", acWhrStr );    strcpy( acTableName, "cms619" );	sprintf(acFileName, "%s%s%s", acTableName, pstPubcom->acBrc,pstPubcom->acTeller); 	fp = (FILE *)BeginFile( pstPubcom, acFileName );	if ( fp == NULL )	{		strcpy( g_acRspMsg, "打开文件句柄出错!" );		pubCrtRspInfo( );		ERRLOG		goto Exit;	}    /*组织查询字典*/	if(GetInqDict( fp , "216019" ) )	{			ERRLOG				goto Exit;		}	sprintf( g_acTrcMsg, "%s" ,acSelStr);	TRCLOG3		/* 查询 */	EXEC SQL PREPARE pre1_cur FROM :acSelStr;    if ( SQLCODE )    {        strcpy( g_acRspCode, "CMS1A7" );        pubCrtRspInfo( SQLCODE );        ERRLOG        goto Exit ;    }	EXEC SQL DECLARE cmstlimtm_cur CURSOR FOR pre1_cur;    if ( SQLCODE )    {        sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE);        TRCLOG4        strcpy( g_acRspCode, "CMS110" );        pubCrtRspInfo("cmstlimtm",SQLCODE );        ERRLOG        goto Exit ;    }	SQLOPENCUR(cmstlimtm_cur,"cmstlimtm_cur")    if(SQLCODE)    {        sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE);        TRCLOG4        strcpy( g_acRspCode, "CMS111" );        pubCrtRspInfo("cmstlimtm",SQLCODE );        ERRLOG        goto Exit ;    }	for ( ; ; )		{		EXEC SQL FETCH cmstlimtm_cur INTO R_CMSTLIMTM;		if ( SQLCODE == SQLNOTFOUND )    		break;		if(SQLCODE)		{    		sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE);    		TRCLOG4    		strcpy( g_acRspCode, "CMS112" );    		pubCrtRspInfo( "cmstlimtm",SQLCODE );	SQLCLOSECUR(cmstlimtm_cur,"cmstlimtm_cur")    		ERRLOG    		goto Exit ; 		}		pubVtoSCmstlimtm(&stCmsTlimtm);		memset( acChName,		0x00, 	sizeof( acChName ) );		memset( acName,			0x00, 	sizeof( acName ) );		/*根据币种代码取币种信息*/		pubInitPubcurrencyinfo();		EXEC SQL SELECT chname INTO :acChName 				 FROM	pubcurrencyinfo 				 WHERE	ccy = :cmstlimtm_ccy;		if( SQLCODE && SQLCODE != SQLNOTFOUND )		{            strcpy(g_acRspCode,"CMS112");            pubCrtRspInfo("pubcurrencyinfo",SQLCODE);            ERRLOG	SQLCLOSECUR(cmstlimtm_cur,"cmstlimtm_cur")            goto Exit;        }        /*取渠道名称*/        EXEC SQL SELECT name INTO :acName                 FROM   cmschannel                 WHERE  trandevtype = :cmstlimtm_trandevtype;        if( SQLCODE && SQLCODE != SQLNOTFOUND )        {            strcpy(g_acRspCode,"CMS112");            pubCrtRspInfo("pubcurrencyinfo",SQLCODE);            ERRLOG	SQLCLOSECUR(cmstlimtm_cur,"cmstlimtm_cur")            goto Exit;        }			fprintf ( fp, "\"%s\"~\"%s\"~%d~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~%d~%.2lf~%.2lf~%.2lf~%.2lf~%d~%d~%d~%d~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"~\"%s\"\n",					  stCmsTlimtm.cardno,				/* 卡号 		  */					  stCmsTlimtm.trandate,				/* 交易日期 	  */					  stCmsTlimtm.serseqno,				/* 流水号 		  */					  stCmsTlimtm.vouchno,				/* 登记簿编号     */					  stCmsTlimtm.trandevtype,			/* 业务发生地类型 */					  acName,							/* 业务发生地类型描述 */					  stCmsTlimtm.ccy,					/* 币种 	 	  */					  acChName,							/* 币种名称 	  */					  stCmsTlimtm.period,				/* 周期长度 	  */					  stCmsTlimtm.cashlimitamt,			/* 本周期取现限额 */					  stCmsTlimtm.depolimitamt,			/* 本周期存款限额 */					  stCmsTlimtm.conlimitamt,			/* 本周期消费限额 */					  stCmsTlimtm.tranoutlimitamt,		/* 本周期转出限额 */					  stCmsTlimtm.cashlimittime,		/* 本周期取现次数 */					  stCmsTlimtm.depolimittime,		/* 本周期存款次数 */					  stCmsTlimtm.conlimittime,			/* 本周期消费次数 */					  stCmsTlimtm.tranoutlimittime,		/* 本周期转出次数 */					  stCmsTlimtm.idtype,				/* 证件类型       */					  stCmsTlimtm.idcode,				/* 证件号码       */					  stCmsTlimtm.custname,				/* 姓名/单位名称  */					  stCmsTlimtm.issuebrc,				/* 发卡机构码     */					  stCmsTlimtm.teller,				/* 发卡交易柜员   */					  stCmsTlimtm.cardkind,				/* 卡片种类       */					  stCmsTlimtm.lmtbrc,				/* 调整机构码     */					  stCmsTlimtm.lmtteller,			/* 调整交易柜员   */					  stCmsTlimtm.lmtauthteller );		/* 授权交易柜员   */		iCount ++;	}	SQLCLOSECUR(cmstlimtm_cur,"cmstlimtm_cur")    EndFile( fp );    if (iCount == 0)    {		strcpy( g_acRspCode, "CMS1B7" );		pubCrtRspInfo( "主卡对附卡调整");		ERRLOG		return FAILED;    }	    /* 出口赋值 */ Exit:	EndFile( fp );	if( !strcmp( g_acRspCode, RSP_OK ) )	{		SetInqFormid(pstPubcom, "216019") ;         sprintf( g_acTrcMsg,"卡片交易限额调整登记簿查询正常结束");		TRCLOG4		return SUCCESS;    }	else 	{		sprintf( g_acTrcMsg,"卡片交易限额调整登记簿查询失败");		TRCLOG4		return FAILED ;    }}

⌨️ 快捷键说明

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