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

📄 cmsb21.sqc

📁 一整套完整的银行卡系统源代码
💻 SQC
📖 第 1 页 / 共 2 页
字号:
/******************************************************************** **   源码文件名称 : cmsB21.SQC **   函数名称 	   : cms21B021 **   所属子系统   : CMS  **   当前文件版本 : 1.0.0.0 **   作        者 : ZhouR  **   版本创建日期 : 2004/10/14 **   功能描述     : 手续费付费明细表打印 **   修改记录     : **   修改人       修改日期     修改日期*********************************************************************/#include    "sysdefine.h"#include    <stdio.h>#include	"pubcom.h"#include	"funcapi.h"#include    "code.h"#include    "attrdef.h"#include    "cmscode.h"#include	"cmstxdethis.h"#include	"pubbranchinfo.h"#include 	"errlog.h"EXEC SQL INCLUDE sqlca;#define 	OVERPAGE	45       /* 满页行数 */ #define 	OVERLINE	5        /* 换行行数 */ #define		LIMIT		50struct	prtdata{	char	acBrc[BRC_LEN + 1];					/* 机构码 	*/	char	acBrcName[BRCNAME_LEN + 1];			/* 机构名称 */	char    acTranDevType[ 24 ];       			/* 业务发生地类型 */	char	acNumber[BIT9_LEN + 1];			 	/* 交易笔数1*/	char	acNumber1[BIT9_LEN + 1];		 	/* 交易笔数2*/	char	acNumber2[BIT9_LEN + 1];		 	/* 交易笔数3*/	char	acNumber3[BIT9_LEN + 1];		 	/* 交易笔数4*/	char	acNumber4[BIT9_LEN + 1];		 	/* 交易笔数5*/	char  	acTranAmt[TXAMT_LEN + 1];   		/* 金额 1	*/	char  	acTranAmt1[TXAMT_LEN + 1];   		/* 金额 2	*/	char  	acTranAmt2[TXAMT_LEN + 1];   		/* 金额 3	*/	char  	acTranAmt3[TXAMT_LEN + 1];   		/* 金额 4	*/	char  	acTranAmt4[TXAMT_LEN + 1];   		/* 金额 5	*/	char	acBankPayFee[TXAMT_LEN + 1];		/* 手续费1	*/	char	acBankPayFee1[TXAMT_LEN + 1];		/* 手续费2	*/	char	acBankPayFee2[TXAMT_LEN + 1];		/* 手续费3	*/	char	acBankPayFee3[TXAMT_LEN + 1];		/* 手续费4	*/	char	acBankPayFee4[TXAMT_LEN + 1];		/* 手续费5	*/};#define 	PRTLINE												\	if( prtline( fp, acFmtFile,acPrtData ) ) 					\	FUNCERR_PRO													\	iLineCount++;#define		PRTHEAD 											\	memset( acPrtData, 0x00, sizeof( acPrtData ) );				\	prtline( fp,"title:%s", acBankname);						\	iLineCount++;												\	memset( acPrtData, 0x00, sizeof( acPrtData ) );				\	prtline( fp, "title0:%s|%s|%s|%d",							\		 pstPubcom->acBrc, acBeginDate, acEndDate, iPage );     \	iLineCount++;												\	iLine	++ ;												\	memset( acPrtData, 0x00, sizeof( acPrtData ) );				\	prtline( fp, "head:"	);									\	iLineCount++;#define		PRTBODY1											\	memset( acPrtData, 0x00, sizeof( acPrtData ) );				\	prtline( fp, "body:"	);									\	iLineCount++;												\	memset( acPrtData, 0x00, sizeof( acPrtData ) );				\	prtline( fp, "body0:%s|%s|%s|%s|%s|%s",				 		\			stPrtdata.acBrc,		stPrtdata.acBrcName,		\			stPrtdata.acTranDevType,stPrtdata.acNumber,			\			stPrtdata.acTranAmt, 	stPrtdata.acBankPayFee );	\	iLineCount++;												\	iLine	++ ;												\	if( iLine % OVERPAGE == 0 )									\		{ PRTFOOT }#define		PRTBODY2											\	memset( acPrtData, 0x00, sizeof( acPrtData ) );				\	prtline( fp, "body3:"	);									\	iLineCount++;												\	iLine	++ ;												\	memset( acPrtData, 0x00, sizeof( acPrtData ) );				\	prtline( fp, "body4:%s|%s|%s|%s|%s|%s",					 	\			stPrtdata.acBrc,		stPrtdata.acBrcName,		\			stPrtdata.acTranDevType,stPrtdata.acNumber2,		\			stPrtdata.acTranAmt2, 	stPrtdata.acBankPayFee2 );	\	iLineCount++;												\	iLine	++ ;												\	if( iLine % OVERPAGE == 0 )									\		{ PRTFOOT }#define		PRTBODY3											\	memset( acPrtData, 0x00, sizeof( acPrtData ) );				\	prtline( fp, "body5:"	);									\	iLineCount++;												\	iLine	++ ;												\	memset( acPrtData, 0x00, sizeof( acPrtData ) );				\	prtline( fp, "body6:%s|%s|%s|%s|%s",				 		\			stPrtdata.acBrc,		stPrtdata.acBrcName,		\			stPrtdata.acNumber3,								\			stPrtdata.acTranAmt3, 	stPrtdata.acBankPayFee3 );	\	iLineCount++;												\	iLine	++ ;												\	if( iLine % OVERPAGE == 0 )									\		{ PRTFOOT }#define		PRTBODY												\	memset( acPrtData, 0x00, sizeof( acPrtData ) );				\	prtline( fp, "body7:"	);									\	iLineCount++;												\	iLine	++ ;												\	memset( acPrtData, 0x00, sizeof( acPrtData ) );				\	prtline( fp, "body8:%s|%s|%s",					 	\			stPrtdata.acNumber4,		\			stPrtdata.acTranAmt4, 	stPrtdata.acBankPayFee4 );	\	iLineCount++;												\	iLine	++ ;												\	if( iLine % OVERPAGE == 0 )									\		{ PRTFOOT }	#define		PRTFOOT												\	memset( acPrtData, 0x00, sizeof( acPrtData ) );				\	prtline( fp, "tail1:" );									\	iLineCount++;												\	memset( acPrtData, 0x00, sizeof( acPrtData ) );				\	prtline( fp, "bottm:%s", 									\			 pstPubcom->acTeller );								\	iLineCount++;												\	memset( acPrtData, 0x00, sizeof( acPrtData ) );				\	prtline( fp, "next:%s",pstPubcom->acTranDate );				\	iLineCount++;												\	iPage	++ ;	iLine	=	0 ;	int cms21B021(pstPubcom)struct          pubcom          *pstPubcom;{	EXEC SQL BEGIN DECLARE SECTION;	char    acBeginDate[DATE_LEN + 1 ];         /* 起始日期 */ 	char    acEndDate[DATE_LEN + 1 ];           /* 终止日期 */ 	char    caBrc[BRC_LEN + 1 ];          		/* 机构码   */	char    acBrcCode[BRC_LEN + 1 ];          	/* 机构码   */	char	acBrcName[BRCNAME_LEN + 1];			/* 机构名称 */	char    TranDevType[ 3 ]; 			      	/* 业务发生地类型 */	short   TranDevType_ID;	long	Number = 0;	short   Number_ID;	double  Tranamt = 0.0;	short   Tranamt_ID;	double  Payfee = 0.0;	short   Payfee_ID;	char	acWhrStr2[ 512 ];	char	acWhrStr11[ 1024 ];	char	acWhrStr12[ 1024 ];	char	acWhrStr13[ 1024 ];	EXEC SQL END   DECLARE SECTION;	long	acNum = 0;	long	acNum1 = 0;	long	acNum2 = 0;	long	acNumber;		 	/* 交易笔数1*/	long	acNumber1;		 	/* 交易笔数2*/	long	acNumber2;		 	/* 交易笔数3*/	long	acNumber3;		 	/* 交易笔数4*/	long	acNumber4;		 	/* 交易笔数5*/	long	acNumber5;		 	/* 交易笔数6*/	double  acTranAmt;   		/* 金额 1	*/	double  acTranAmt1;   		/* 金额 2	*/	double  acTranAmt2;   		/* 金额 3	*/	double  acTranAmt3;   		/* 金额 4	*/	double  acTranAmt4;   		/* 金额 5	*/	double  acTranAmt5;   		/* 金额 6	*/	double	acBankPayFee;		/* 手续费1	*/	double	acBankPayFee1;		/* 手续费2	*/	double	acBankPayFee2;		/* 手续费3	*/	double	acBankPayFee3;		/* 手续费4	*/	double	acBankPayFee4;		/* 手续费5	*/	double	acBankPayFee5;		/* 手续费6	*/	char	acBankname[ 41 ];	char    acBuffer[24];	FILE	*fp,*fmtfp;							/* 文件指针	*/ 	char	acSelStr[ 301 ];	char	acWhrStr[ 512 ];	char	acWhrStr1[ 512 ];	char	acWhrStr3[ 512 ];	char	acWhrStr4[ 512 ];	char	acWhrStr5[ 512 ];	char	acWhrStr6[ 512 ];	char	acWhrStr7[ 512 ];	char	acWhrStr8[ 512 ];	char	acWhrStr9[ 512 ];	char	acWhrStr10[ 512 ];	int		iLineCount	=	0 ;	int		iLine	=	0 ;	int		i, iPage ;	char	acFileName[ 101 ];	char	acFmtFile[ 101 ];	char	acPrtData[ 4096 ];	struct	prtdata	stPrtdata;	struct  cmstxdethis      stCmsTxdetHis;     	/* 外围交易登记簿历史表 */	struct  pubbranchinfo    stPubBranchInfo;   	memset( acBeginDate,   	0x00, sizeof( acBeginDate ));	memset( acEndDate,     	0x00, sizeof( acEndDate )  );  	memset( caBrc,    		0x00, sizeof( caBrc )      );	memset( acBrcCode,    	0x00, sizeof( acBrcCode )  );	memset( acBuffer, 	   	0x00, sizeof( acBuffer )   );	memset( acSelStr, 	   	0x00, sizeof( acSelStr )   );	memset( acWhrStr, 	   	0x00, sizeof( acWhrStr )   );	memset( acWhrStr1, 	   	0x00, sizeof( acWhrStr1 )  );	memset( acWhrStr2, 	   	0x00, sizeof( acWhrStr2 )  );	memset( acWhrStr3, 	   	0x00, sizeof( acWhrStr3 )  );	memset( acWhrStr4, 	   	0x00, sizeof( acWhrStr4 )  );	memset( acWhrStr5, 	   	0x00, sizeof( acWhrStr5 )  );	memset( acWhrStr6, 	   	0x00, sizeof( acWhrStr6 )  );	memset( acWhrStr7, 	   	0x00, sizeof( acWhrStr7 )  );	memset( acWhrStr8, 	   	0x00, sizeof( acWhrStr8 )  );	memset( acWhrStr9, 	   	0x00, sizeof( acWhrStr9 )  );	memset( acWhrStr10, 	0x00, sizeof( acWhrStr10 ) );	memset( acWhrStr11, 	0x00, sizeof( acWhrStr11 ) );	memset( acWhrStr12, 	0x00, sizeof( acWhrStr12 ) );	memset( acWhrStr13, 	0x00, sizeof( acWhrStr13 ) );	memset( &stCmsTxdetHis, 0x00, sizeof( struct cmstxdethis ));	memset( &stPubBranchInfo, 0x00, sizeof( struct pubbranchinfo ));	memset( acBankname,    	0x00, sizeof( acBankname ) );	if ( pubGetBaseInfo("BANKNAME", acBankname ) )		FUNCERR_PRO	/* 取数据字典 */  	getstring( "Brc1", 			caBrc );	getstring( "BeginDate1", 	acBeginDate );	getstring( "EndDate1", 		acEndDate	);     	sprintf( g_acTrcMsg,"caBrc[%s]BeginDate1[%s]EndDate1[%s]", 			caBrc,acBeginDate,acEndDate );  	TRCLOG4    /*检查交易机构是否为中心机构,如果是,则申请机构可以为空,否则当申请机构为空时,将交易机构付给申请机构 */	if (!strcmp( pstPubcom->acBrcType, BRCTYPE_SITE)) /* 营业网点 */	{		if (strlen( caBrc ) == 0)		{			strcpy( caBrc, pstPubcom->acBrc );			}		if (strcmp( pstPubcom->acBrc, caBrc))		{        	strcpy( g_acRspCode, "CMS214" );			pubCrtRspInfo( );			ERRLOG			goto Exit;		}	}	fp = (FILE *)BeginFile( pstPubcom, NULL );	if ( fp == NULL )	{        strcpy( g_acRspMsg, "打开文件句柄出错!" );        pubCrtRspInfo( );		ERRLOG		return FAILED ;	}	sprintf( acFmtFile, "%s/fmt/cmsB21.fmt", getenv("HOME") );	sprintf( g_acFmtFile, acFmtFile );          	if( ( fmtfp=fopen(acFmtFile,"r") ) == NULL )	{                                           		strcpy( g_acTrcMsg, acFmtFile );        		TRCLOG2                                 		strcpy( g_acRspCode, "CMS1B0" );		sprintf( g_acRspMsg, "打开格式文件[%s]错", acFmtFile );		ERRLOG		goto Exit;	}	iLine	=	0 ;			iPage	=	1 ;	sprintf( acWhrStr, " select * from pubbranchinfo where 1=1");	if ( strlen ( caBrc ) )	{		sprintf( acWhrStr1, " and brccode = '%s'",  caBrc );	}	sprintf( acWhrStr2, "%s%s", acWhrStr,acWhrStr1 ); 	EXEC SQL PREPARE pre_0 FROM :acWhrStr2;	if ( SQLCODE )                      	{                                   		strcpy( g_acRspCode, "CMS1A7" );		pubCrtRspInfo( SQLCODE );       		ERRLOG                          		goto Exit;	}                                   	EXEC SQL    DECLARE pub_l_cur CURSOR FOR pre_0;	if(SQLCODE)	{		sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE);  		TRCLOG4		strcpy( g_acRspCode, "CMS110" );		pubCrtRspInfo("pubbranchinfo",SQLCODE );		ERRLOG		goto Exit ;	}	SQLOPENCUR(pub_l_cur,"pub_l_cur")	if(SQLCODE)	{		sprintf( g_acTrcMsg,"SQLCODE[%d]", SQLCODE);  		TRCLOG4		strcpy( g_acRspCode, "CMS111" );		pubCrtRspInfo("pubbranchinfo",SQLCODE );		ERRLOG		goto Exit ;	}	for( ; ; )	{

⌨️ 快捷键说明

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