📄 cms024.sqc
字号:
/******************************************************************** ** 源码文件名称 : cms024.SQC ** 所属子系统 : CMS ** 当前文件版本 : 4.0.0.0 ** 作者 : Feng ** 版本创建日期 : 2004/09/21 ** 功能描述 : 获取卡和客户信息子交易 ** 修改记录 : ** 修改人 修改日期 修改日期*********************************************************************/#include "code.h"#include "attrdef.h"#include "sysdef.h"#include "pubcom.h"#include "cmscode.h"#include "cmscardinfo.h"#include "cmsacctm.h"#include "cmscardkind.h"#include "ciscustomerinfo.h"EXEC SQL INCLUDE SQLCA;int cmsGetCardCustInfPro( PUBCOM *pstPubcom ){ /*定义局部变量*/ struct cmscardinfo stCmsCardInfo; /* 卡片信息表 */ struct cmscardkind stCmsCardKind; /* 卡片种类表 */ struct ciscustomerinfo stCisCustInfo; /* 客户基本信息表 */ struct cmsacctm stCmsAcctM; /* 卡帐户对照表 */ int iRtn; /* 函数返回值 */ char acKey[5]; char acDataSrcFlag[FLAG_LEN+1]; /*卡号或帐号数据来源,刷磁/人工输入*/ char acChkMagFlag[FLAG_LEN+1]; /*卡号是否刷卡输入标志*/ char acCardSrcFlag[FLAG_LEN+1] ; /*卡号来源标志*/ char acChkAcctSrcFlag[FLAG_LEN+1];/*三磁道*/ strcpy( g_acTrcMsg, "子交易: 获取卡和客户信息处理开始.." ); TRCLOG4 /* 初始化 */ memset( &stCmsCardInfo, 0x00, sizeof( struct cmscardinfo ) ); memset( &stCmsCardKind, 0x00, sizeof( struct cmscardkind ) ); memset( &stCmsAcctM, 0x00, sizeof( struct cmsacctm ) ); memset( &stCisCustInfo, 0x00, sizeof( struct ciscustomerinfo ) ); memset( acChkAcctSrcFlag, 0x00 , sizeof( acChkAcctSrcFlag ) ) ; memset( acChkMagFlag, 0x00 , sizeof( acChkMagFlag ) ) ; memset( acCardSrcFlag, 0x00 , sizeof( acCardSrcFlag ) ) ; memset( acDataSrcFlag, 0x00 , sizeof( acDataSrcFlag ) ) ; /* 取数据字典值 */ getstring( "CardNo", stCmsCardInfo.cardno ); /*卡号或帐号数据来源,刷磁/人工输入*/ getstring("DataSrcFlag", acDataSrcFlag) ; /*检查卡号是否刷卡输入标志*/ if( pubGetBaseInfo( "CHKCARDSRCFLAG" , acCardSrcFlag ) ) { ERRLOG return FAILED; } if( acCardSrcFlag[0] == NO ) acChkMagFlag[0] = NO ; else { /*检查卡号是否刷卡输入标志*/ getstring("ChkMagFlag", acChkMagFlag) ; /*如果前台未付值,付检查标志*/ if( !strlen( acChkMagFlag ) ) acChkMagFlag[0]= NO ; } if(!strlen( acChkMagFlag ) ) strcpy( acChkMagFlag,STR_NO ); if(!strlen( acDataSrcFlag ) ) strcpy( acDataSrcFlag , "0") ; /*手工输入*/ /*取是否检查帐号是否刷磁输入标志*/ if( pubGetBaseInfo( "CHKACCTSRCFLAG" , acChkAcctSrcFlag ) ) { ERRLOG return FAILED; } /*检查:应刷磁输入*/ if( strcmp( acChkAcctSrcFlag , "1" ) == 0 ) { /*检查前台是否要求卡号必须刷磁输入*/ if( strcmp( acChkMagFlag , STR_YES ) == 0 ) { if( strcmp( acDataSrcFlag ,"2" ) != 0 ) { strcpy( g_acRspCode ,"PUB100"); sprintf( g_acRspMsg,"卡号[%s]必须刷卡输入",stCmsCardInfo.cardno ); ERRLOG return FAILED; } } } sprintf( g_acTrcMsg, "cardno[%s]", stCmsCardInfo.cardno ); TRCLOG3 /* 获取卡片信息 */ iRtn = pubReadCmscardinfo( &stCmsCardInfo ); if ( iRtn ) { if ( SQLCODE == SQLNOTFOUND ) sprintf( g_acRspMsg, "卡号[%s]不存在", stCmsCardInfo.cardno ); ERRLOG return FAILED; } /* 获取卡片种类 */ strcpy( stCmsCardKind.cardkind, stCmsCardInfo.cardkind ); iRtn = pubReadCmscardkind( &stCmsCardKind ); if ( iRtn ) { if ( SQLCODE == SQLNOTFOUND ) sprintf( g_acRspMsg, "卡片种类[%s]不存在", stCmsCardInfo.cardkind ); ERRLOG return FAILED; } /* 按客户号获取客户信息 CIS API */ strcpy( stCisCustInfo.customid, stCmsCardInfo.custno ); strpack( stCisCustInfo.customid ); iRtn = pubReadCiscustomerinfo( &stCisCustInfo ); if ( iRtn ) { if ( SQLCODE == SQLNOTFOUND ) sprintf( g_acRspMsg, "客户号[%s]不存在", stCmsCardInfo.custno ); ERRLOG return FAILED; } /* 获取卡帐户对照表 */ strcpy( stCmsAcctM.cardno, stCmsCardInfo.cardno ); strcpy( stCmsAcctM.acctseqno, stCmsCardInfo.acctseqno ); iRtn = pubReadCmsacctm ( &stCmsAcctM ); if ( iRtn ) { if ( SQLCODE == SQLNOTFOUND ) sprintf( g_acRspMsg, "卡号[%s]帐户序号[%s]不存在", stCmsCardInfo.cardno, stCmsCardInfo.acctseqno ); ERRLOG return FAILED; } /* 子交易出口 */ setstring( "CustomId", stCmsCardInfo.custno ); /* 客户号 */ setstring( "IdType1", stCisCustInfo.idtype ); /* 证件类型 */ setstring( "IdNo1", stCisCustInfo.idno ); /* 证件号码 */ setstring( "CustomName", stCisCustInfo.customname ); /* 客户姓名 */ setstring( "CustomType", stCisCustInfo.customtype ); /* 客户类型 */ setstring( "AcctNo", stCmsCardInfo.acctno ); /* 客户账号 */ setstring( "SubAcct", stCmsCardInfo.subacct ); /* 款项代码 */ setstring( "CardKindComm", stCmsCardKind.cardkindcomm );/* 卡种说明 */ setstring( "Ccy1", stCmsAcctM.ccy ); /* 币种 */ setstring( "PrdCode", stCmsAcctM.prdcod ); /* 产品代码 */ strcpy( g_acTrcMsg, "子交易: 获取卡和客户信息结束.." ); TRCLOG4 strcpy( g_acRspCode, RSP_OK ); return SUCCESS;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -