📄 cmsb21.sqc
字号:
/******************************************************************** ** 源码文件名称 : 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 + -