📄 cms027.sqc
字号:
/******************************************************************** ** 源码文件名称 : cms027.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 "cmscardkind.h"#include "ciscustomerinfo.h"#include "dpssaveprdinfo.h"EXEC SQL INCLUDE SQLCA;int cmsChkMarkCardPro( PUBCOM *pstPubcom ){ /*定义局部变量*/ struct cmscardinfo stCmsCardInfo; /* 卡片信息表 */ struct cmscardkind stCmsCardKind; /* 卡片种类表 */ struct ciscustomerinfo stCisCustInfo; /* 客户基本信息表 */ struct dpssaveprdinfo stDpsSavePrdInfo; /* 存款活期产品表 */ char acDataSrcFlag[FLAG_LEN+1]; /*卡号或帐号数据来源,刷磁/人工输入*/ char acChkMagFlag[FLAG_LEN+1]; /*卡号是否刷卡输入标志*/ char acCardSrcFlag[FLAG_LEN+1] ; /*卡号来源标志*/ char acChkAcctSrcFlag[FLAG_LEN+1];/*三磁道*/ int iRtn; /* 函数返回值 */ strcpy( g_acTrcMsg, "子交易: 未发卡获取卡信息处理开始.." ); TRCLOG4 /* 初始化 */ memset( &stCmsCardInfo, 0x00, sizeof( struct cmscardinfo ) ); memset( &stCmsCardKind, 0x00, sizeof( struct cmscardkind ) ); memset( &stCisCustInfo, 0x00, sizeof( struct ciscustomerinfo ) ); memset( &stDpsSavePrdInfo, 0x00, sizeof( struct dpssaveprdinfo ) ); 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; } } } /* 获取卡片信息 */ 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; } /* 获取存款活期产品表 */ strcpy( stDpsSavePrdInfo.prdcode, stCmsCardKind.prdcod ); iRtn = pubReadDpssaveprdinfo( &stDpsSavePrdInfo ); if ( iRtn ) { ERRLOG return FAILED; } /* 检查卡状态是否为待领卡状态 API*/ iRtn = cmsApiChkCardStatIsReadyOpen( &stCmsCardInfo ); if ( iRtn ) { ERRLOG return FAILED; } if ( stCmsCardInfo.markflg[ BIT1_LEN ] == REGNAMECARD ) /* 记名卡 */ { /* 按客户号获取客户信息 CIS API */ strcpy( stCisCustInfo.customid, stCmsCardInfo.custno ); iRtn = pubReadCiscustomerinfo( &stCisCustInfo ); if ( iRtn ) { ERRLOG return FAILED; } setstring( "CustomId", stCmsCardInfo.custno ); /* 客户号 */ setstring( "CustomName",stCisCustInfo.customname ); /* 客户姓名 */ setstring( "IdType", stCisCustInfo.idtype ); /* 证件类型 */ setstring( "IdNo", stCisCustInfo.idno ); /* 证件号码 */ } /* 子交易出口 */ setstring( "Ccy", stCmsCardKind.ccy ); /* 币种 */ setstring( "PrdCode", stCmsCardKind.prdcod ); /* 产品代码 */ setstring( "CardKindComm", stCmsCardKind.cardkindcomm );/* 卡片种类说明*/ setstring( "CardKind", stCmsCardInfo.cardkind ); /* 卡片种类 */ setstring( "CardAttr", stCmsCardInfo.cardattr ); /* 卡片属性 */ setstring( "CardFlg", stCmsCardInfo.cardflg ); /* 卡标志 */ setstring( "MarkFlg", stCmsCardInfo.markflg ); /* 记名标志 */ setstring( "CardObject", stCmsCardInfo.cardobject ); /* 发卡对象 */ setstring( "PrdName", stDpsSavePrdInfo.prdname ); /* 产品名称 */ setstring( "Flag", stDpsSavePrdInfo.flowcode ); /* 产品流程代码 */ setstring( "Flag1", stDpsSavePrdInfo.prdtype ); /* 产品名称 */ strcpy( g_acTrcMsg, "子交易: 未发卡获取卡信息结束.." ); TRCLOG4 strcpy( g_acRspCode, RSP_OK ); return SUCCESS;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -