📄 cmscheck.sqc
字号:
} } sprintf( g_acTrcMsg, "cmsApiChkCardKind end " ); TRCLOG2 return SUCCESS;}/******************************************************* ** 函数名称:cmsApiChkCardNoIsMain ** 中文名称:检查卡号是否为主卡 ** 功能描述:根据按卡号检查是否主卡 ** 输入参数: ** pstCmsCardInfo ---- 卡片信息表 ** 输出参数:无 ** 返回结果:int ** 0 ---- 成功 ** -1 ---- 失败*******************************************************/int cmsApiChkCardNoIsMain( pstCmsCardInfo )struct cmscardinfo * pstCmsCardInfo; /* 卡片信息表 */{ /* 定义 局部变量 */ int iRtn; /* 函数返回值 */ sprintf( g_acTrcMsg, "cmsApiChkCardNoIsMain begin " ); TRCLOG2 /* 检查卡标志 */ switch ( pstCmsCardInfo->cardflg[ BIT1_LEN ] ) { /* 主卡 */ case MAIN_CARD: break; /* 附卡 */ case SUBMAIN_CARD: default: /* 卡号是附卡 */ strcpy( g_acRspCode, "CMS131" ); pubCrtRspInfo( pstCmsCardInfo->cardno ); ERRLOG return FAILED; break; } sprintf( g_acTrcMsg, "cmsApiChkCardNoIsMain end " ); TRCLOG2 return SUCCESS;}/******************************************************* ** 函数名称:cmsApiChkCardNoIsAcce ** 中文名称:检查卡号是否为附卡 ** 功能描述:根据按卡号检查是否附卡 ** 输入参数: ** pstCmsCardInfo ---- 卡片信息表 ** 输出参数:无 ** 返回结果:int ** 0 ---- 成功 ** -1 ---- 失败*******************************************************/int cmsApiChkCardNoIsAcce( pstCmsCardInfo )struct cmscardinfo * pstCmsCardInfo; /* 卡片信息表 */{ /* 定义 局部变量 */ int iRtn; /* 函数返回值 */ sprintf( g_acTrcMsg, "cmsApiChkCardNoIsAcce begin " ); TRCLOG2 /* 检查启用标志 */ switch ( pstCmsCardInfo->cardflg[ BIT1_LEN ] ) { /* 附卡 */ case SUBMAIN_CARD: break; /* 主卡 */ case MAIN_CARD: default: /* 卡号是主卡 */ strcpy( g_acRspCode, "CMS132" ); pubCrtRspInfo( pstCmsCardInfo->cardno ); ERRLOG return FAILED; break; } sprintf( g_acTrcMsg, "cmsApiChkCardNoIsAcce end " ); TRCLOG2 return SUCCESS;}/******************************************************* ** 函数名称:cmsApiChkCardNoHasAcceCard ** 中文名称:检查卡号是否存在附卡 ** 功能描述:根据按卡号检查是否存在附卡 ** 输入参数: ** pstCmsCardInfo ---- 卡片信息表 ** 输出参数:无 ** 返回结果:int ** 0 ---- 成功 ** -1 ---- 失败 ** >0 ---- 附卡张数*******************************************************/int cmsApiChkCardNoHasAcceCard( pstCmsCardInfo )struct cmscardinfo * pstCmsCardInfo; /* 卡片信息表 */{ /* 定义 局部变量 */ int iRtn; /* 函数返回值 */ sprintf( g_acTrcMsg, "cmsApiChkCardNoHasAcceCard begin " ); TRCLOG2 /* 检查卡内附卡数量为0 */ /* 卡内存在附卡 */ if ( pstCmsCardInfo->acdcnt > ZEROS ) { strcpy( g_acRspCode, "CMS133" ); pubCrtRspInfo( pstCmsCardInfo->cardno, pstCmsCardInfo->acdcnt ); ERRLOG return pstCmsCardInfo->acdcnt; } sprintf( g_acTrcMsg, "cmsApiChkCardNoHasAcceCard end " ); TRCLOG2 return SUCCESS;}/******************************************************* ** 函数名称:cmsApiChkCardNoHasAcct ** 中文名称:检查卡号内是否存在帐户 ** 功能描述:检查卡片下是否有帐户 ** 输入参数: ** pcCardNo ---- 卡号 ** 输出参数:无 ** 返回结果:int ** 0 ---- 成功(无帐户) ** -1 ---- 失败 ** >0 ---- 帐户数*******************************************************/int cmsApiChkCardNoHasAcct( pcCardNo )char * pcCardNo; /* 卡号 */{ /* 定义 局部变量 */ int iRtn; /* 函数返回值 */ sprintf( g_acTrcMsg, "cmsApiChkCardNoHasAcct begin " ); TRCLOG2 /* 初始化并赋值 */ memset ( acCardNo, 0x00, sizeof( acCardNo ) ); memset ( acStatus, 0x00, sizeof( acStatus ) ); lNum = 0; strcpy ( acCardNo, pcCardNo ); /* 正常状态 */ acStatus[ BIT1_LEN ] = NORMAL_STS; /* 获取卡内帐户数目 */ EXEC SQL SELECT count(*) INTO :lNum FROM cmsacctm WHERE cardno = :acCardNo AND status = :acStatus; if ( SQLCODE ) { strcpy ( g_acRspCode, "999996" ); /* 读数据库出错 */ pubCrtRspInfo( "cmsacctm", SQLCODE ); ERRLOG return FAILED; } /* 检查卡内帐户数量为0 */ /* 卡内存在帐户 */ if ( lNum > ZEROS ) { strcpy( g_acRspCode, "CMS134" ); pubCrtRspInfo( pcCardNo, lNum ); ERRLOG return lNum; } sprintf( g_acTrcMsg, "cmsApiChkCardNoHasAcct end " ); TRCLOG2 return SUCCESS;}/******************************************************* ** 函数名称:cmsApiChkCardNoHasOtherAcct ** 中文名称:检查卡号内是否存在主帐户外的帐户 ** 功能描述:检查卡片下是否有主帐户外的帐户 ** 输入参数: ** pcCardNo ---- 卡号 ** 输出参数:无 ** 返回结果:int ** 0 ---- 成功(无帐户) ** -1 ---- 失败 ** >0 ---- 帐户数*******************************************************/int cmsApiChkCardNoHasOtherAcct( pcCardNo )char * pcCardNo; /* 卡号 */{ /* 定义 局部变量 */ int iRtn; /* 函数返回值 */ sprintf( g_acTrcMsg, "cmsApiChkCardNoHasOtherAcct begin " ); TRCLOG2 /* 初始化并赋值 */ memset ( acCardNo, 0x00, sizeof( acCardNo ) ); memset ( acStatus, 0x00, sizeof( acStatus ) ); memset ( acMASeqNo, 0x00, sizeof( acMASeqNo ) ); lNum = 0; strcpy ( acCardNo, pcCardNo ); /* 正常状态 */ acStatus[ BIT1_LEN ] = NORMAL_STS; /* 主帐户序号 */ strcpy( acMASeqNo, MAINACCTSEQNO ); /* 获取卡内帐户数目 */ EXEC SQL SELECT count(*) INTO :lNum FROM cmsacctm WHERE cardno = :acCardNo AND acctseqno != :acMASeqNo AND status = :acStatus; /* 读数据库出错 */ if ( SQLCODE ) { strcpy ( g_acRspCode, "999996" ); pubCrtRspInfo( "cmsacctm", SQLCODE ); ERRLOG return FAILED; } /* 检查卡内帐户数量为0 */ /* 卡内存在帐户 */ if ( lNum > ZEROS ) { strcpy( g_acRspCode, "CMS134" ); pubCrtRspInfo( pcCardNo, lNum ); ERRLOG return lNum; } sprintf( g_acTrcMsg, "cmsApiChkCardNoHasOtherAcct end " ); TRCLOG2 return SUCCESS;}/******************************************************* ** 函数名称:cmsApiChkCardHasBook ** 中文名称:检查卡上是否有存折 ** 功能描述:根据卡号检查卡上是否有存折 ** 输入参数: ** pstCmsCardInfo ---- 卡片信息表 ** 输出参数:无 ** 返回结果:int ** 0 ---- 成功(有存折) ** -1 ---- 失败(无存折)*******************************************************/int cmsApiChkCardHasBook( pstCmsCardInfo )struct cmscardinfo * pstCmsCardInfo; /* 卡片信息表 */{ /* 定义 局部变量 */ int iRtn; /* 函数返回值 */ sprintf( g_acTrcMsg, "cmsApiChkCardHasBook begin " ); TRCLOG2 /* 检查是否有存折 */ switch ( pstCmsCardInfo->hasbankbook[ BIT1_LEN ] ) { /* 有折 */ case BANKBOOK: break; /* 无折 */ case NOBANKBOOK: default: /* 卡对应无存折 */ strcpy( g_acRspCode, "CMS135" ); pubCrtRspInfo( pstCmsCardInfo->cardno ); ERRLOG return FAILED; break; } sprintf( g_acTrcMsg, "cmsApiChkCardHasBook end " ); TRCLOG2 return SUCCESS;}/******************************************************* ** 函数名称:cmsApiChkAcctIsCardMainAcct ** 中文名称:检查存折账号是否为卡主帐号 ** 功能描述:检查存折账号是否为卡主帐号 ** 输入参数: ** pstCmsCardInfo ---- 卡片信息表 ** pcAcctNo ---- 存折客户账号 ** pcSubAcct ---- 款项代码 ** 输出参数:无 ** 返回结果:int ** 0 ---- 成功 ** -1 ---- 失败*******************************************************/int cmsApiChkAcctIsCardMainAcct( pstCmsCardInfo, pcAcctNo, pcSubAcct )struct cmscardinfo * pstCmsCardInfo; /* 卡片信息表 */char * pcAcctNo; /* 存折客户账号 */char * pcSubAcct; /* 款项代码 */{ /* 定义 局部变量 */ int iRtn; /* 函数返回值 */ sprintf( g_acTrcMsg, "cmsApiChkAcctIsCardMainAcct begin " ); TRCLOG2 /* 检查存折帐户是否和卡主帐户一致 */ /* 和卡主帐户不一致 */ if ( strcmp( pstCmsCardInfo->acctno, pcAcctNo ) \ || strcmp( pstCmsCardInfo->subacct, pcSubAcct ) ) { strcpy( g_acRspCode, "CMS136" ); pubCrtRspInfo( pcAcctNo, pcSubAcct, pstCmsCardInfo->cardno ); ERRLOG return FAILED; } sprintf( g_acTrcMsg, "cmsApiChkAcctIsCardMainAcct end " ); TRCLOG2 return SUCCESS;}/******************************************************* ** 函数名称:cmsApiChkCardStatIsPwdTelLost ** 中文名称:检查卡状态是否为密码口挂挂失状态 ** 功能描述:已知某卡片的卡片信息,判断卡状态是否为密码口挂挂失状态 ** 输入参数: ** pstCmsCardInfo ---- 卡片信息表 ** 输出参数:无 ** 返回结果:int ** 0 ---- 成功(密码口挂挂失) ** -1 ---- 失败*******************************************************/int cmsApiChkCardStatIsPwdTelLost( pstCmsCardInfo )struct cmscardinfo * pstCmsCardInfo; /* 卡片信息表 */{ /* 定义 局部变量 */ int iRtn; /* 函数返回值 */ sprintf( g_acTrcMsg, "cmsApiChkCardStatIsPwdTelLost begin " ); TRCLOG2 /* 检查是否密码口挂 */ switch ( pstCmsCardInfo->cardstat[ BIT3_LEN ] ) { /* 正常 */ case BIT3_CARDOK: /* 卡没有密码挂失 */ strcpy( g_acRspCode, "CMS145" ); pubCrtRspInfo( pstCmsCardInfo->cardno ); ERRLOG return FAILED; break; /* 密码口挂 */ case BIT3_PWTELLLOST: break; /* 密码书挂 */ case BIT3_PWPAPERLOST: /* 卡已经密码书挂 */ strcpy( g_acRspCode, "CMS147" ); pubCrtRspInfo( pstCmsCardInfo->cardno ); ERRLOG return FAILED; break; } sprintf( g_acTrcMsg, "cmsApiChkCardStatIsPwdTelLost end " ); TRCLOG2 return SUCCESS;}/******************************************************* ** 函数名称:cmsApiChkCardStatIsReadyOpen ** 中文名称:检查卡状态是否为待领卡状态 ** 功能描述:已知某卡片的卡片信息,判断卡状态是否为待领卡状态 ** 输入参数: ** pstCmsCardInfo ---- 卡片信息表 ** 输出参数:无 ** 返回结果:int ** 0 ---- 成功(是) ** -1 ---- 失败*******************************************************/int cmsApiChkCardStatIsReadyOpen( pstCmsCardInfo )struct cmscardinfo * pstCmsCardInfo; /* 卡片信息表 */{ /* 定义 局部变量 */ int iRtn; /* 函数返回值 */ sprintf( g_acTrcMsg, "cmsApiChkCardStatIsReadyOpen begin " ); TRCLOG2 /* 检查是否待领卡 */ switch ( pstCmsCardInfo->crdsts[ BIT1_LEN ] ) { /* 正常 */ case CARDOKSTS: /* 卡已经发卡 */ strcpy( g_acRspCode, "CMS191" ); pubCrtRspInfo( pstCmsCardInfo->cardno ); ERRLOG return FAILED; break; /* 已销卡 */ case CARDCCSTS: /* 卡已经销卡 */ strcpy( g_acRspCode, "CMS192" ); pubCrtRspInfo( pstCmsCardInfo->cardno ); ERRLOG return FAILED; break; /* 未制卡 */ case CARDKCSTS: /* 卡未制卡 */ strcpy( g_acRspCode, "CMS193" ); pubCrtRspInfo( pstCmsCardInfo->cardno ); ERRLOG return FAILED; break; /* 未发卡 */ case CARDNGSTS: break; } sprintf( g_acTrcMsg, "cmsApiChkCardStatIsReadyOpen end " ); TRCLOG2 return SUCCESS;}/******************************************************* ** 函数名称:cmsApiChkCardStatIsLock ** 中文名称:检查卡状态是否为锁定状态 ** 功能描述:已知某卡片的卡片信息,判断卡状态是否为锁定状态
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -