📄 cmsgen.sqc
字号:
** piDays ---- 解除天数 ** 返回结果:int ** 0 ---- 成功 ** -1 ---- 失败*******************************************************/int cmsApiGetCanAuthDays( piDays )int * piDays; /* 解除天数 */{ int iRtn; /* 函数返回值 */ int iDays; sprintf( g_acTrcMsg, "cmsApiGetCanAuthDays begin " ); TRCLOG2 /* 调用API获取公共参数表参数值 */ iRtn = pubGetBaseInfo( "CMSAUTHAUTCANDAYS", &iDays ); if ( iRtn ) { ERRLOG return FAILED; } *piDays = iDays; sprintf( g_acTrcMsg, "cmsApiGetCanAuthDays end " ); TRCLOG2 return SUCCESS;}/******************************************************* ** 函数名称:cmsApiGetBankTitle ** 功能描述:获取银行标识 ** 输入参数: ** 输出参数: ** pcBankTitle ---- 银行标识 ** 返回结果:int ** 0 ---- 成功 ** -1 ---- 失败*******************************************************/int cmsApiGetBankTitle( pcBankTitle )char * pcBankTitle; /* 银行标识 */{ int iRtn; /* 函数返回值 */ sprintf( g_acTrcMsg, "cmsApiGetBankTitle begin " ); TRCLOG2 /* 调用API获取公共参数表参数值 */ iRtn = pubGetBaseInfo( "CMSBANKID", pcBankTitle ); if ( iRtn ) { ERRLOG return FAILED; } sprintf( g_acTrcMsg, "cmsApiGetBankTitle end " ); TRCLOG2 return SUCCESS;}/******************************************************* ** 函数名称:cmsApiGetVouMethod ** 功能描述:获取卡凭证号码方式 ** 输入参数: ** 输出参数: ** pcMethod ---- 方式 ** "0"大排序 ** "1"卡顺序号 ** 返回结果:int ** 0 ---- 成功 ** -1 ---- 失败*******************************************************/int cmsApiGetVouMethod( pcMethod )char * pcMethod; /* 凭证号码方式 */{ int iRtn; /* 函数返回值 */ sprintf( g_acTrcMsg, "cmsApiGetVouMethod begin " ); TRCLOG2 /* 调用API获取公共参数表参数值 */ iRtn = pubGetBaseInfo( "CMSVOUMETHOD", pcMethod ); if ( iRtn ) { ERRLOG return FAILED; } sprintf( g_acTrcMsg, "cmsApiGetVouMethod end " ); TRCLOG2 return SUCCESS;}/******************************************************* ** 函数名称:cmsApiGetSeqNoInCard ** 功能描述:获取卡内账户序号,开卡时使用, ** 数据库中存放的是已经使用的顺序号 ** 输入参数: ** pcCardNo ---- 卡号 ** 输出参数: ** pcAcctSeqNo ---- 帐户序号 ** 返回结果:int ** 0 ---- 成功 ** -1 ---- 失败*******************************************************/int cmsApiGetSeqNoInCard( pcCardNo, pcAcctSeqNo )char * pcCardNo; /* 卡号 */char * pcAcctSeqNo; /* 帐户序号 */{ /* 定义 局部变量 */ struct cmsseqno stCmsSeqNo; /* 卡内帐户序号结构 */ int iRtn; /* 函数返回值 */ long lSeqNo; /* 临时顺序号 */ sprintf( g_acTrcMsg, "cmsApiGetSeqNoInCard begin " ); TRCLOG2 /* 初始化卡号顺序号文件结构 */ memset( &stCmsSeqNo, 0x00, sizeof( struct cmsseqno ) ); /* 将输入参数赋值给结构 */ strcpy ( stCmsSeqNo.cardno, pcCardNo ); /* 从卡内帐户序号表获取记录并锁住记录 */ pubStoVCmsseqno( &stCmsSeqNo ); EXEC SQL DECLARE SeqNo1_cur CURSOR FOR SELECT * FROM CMSSEQNO WHERE cardno = :cmsseqno_cardno; SQLOPENCUR(SeqNo1_cur,"SeqNo1_cur") /* 打开游标错误 */ if ( SQLCODE ) { strcpy( g_acRspCode, "CMS111" ); pubCrtRspInfo( "cmsseqno", SQLCODE ); ERRLOG return FAILED; } pubInitCmsseqno(); EXEC SQL FETCH SeqNo1_cur INTO R_CMSSEQNO ; /* 取游标错误 */ if ( SQLCODE && SQLCODE != SQLNOTFOUND ) { strcpy( g_acRspCode, "CMS112" ); pubCrtRspInfo( "cmsseqno", SQLCODE ); ERRLOG SQLCLOSECUR(SeqNo1_cur,"SeqNo1_cur") return FAILED; } /* 记录不存在 需要增加新的记录,新纪录的序号为"0002",返回"0000" */ else if ( SQLCODE == SQLNOTFOUND ) { SQLCLOSECUR(SeqNo1_cur,"SeqNo1_cur") strcpy( stCmsSeqNo.cardno, pcCardNo ); strcpy( stCmsSeqNo.seqno, OTHERACCTSEQNO ); iRtn = pubInstCmsseqno( &stCmsSeqNo ); /* 数据库插入错 */ if ( iRtn ) { ERRLOG return FAILED; } strcpy( pcAcctSeqNo, MAINACCTSEQNO ); } /* 记录 存在 进行修改 */ else { pubVtoSCmsseqno( &stCmsSeqNo ); SQLCLOSECUR(SeqNo1_cur,"SeqNo1_cur") /* 累加卡内帐户序号文件中帐户序号 */ lSeqNo = atol( stCmsSeqNo.seqno ); lSeqNo ++; /* 判断帐户序号是否超过最大序号9999 */ /* 帐户序号超出限制 */ if ( lSeqNo > MAXACCTSEQNO ) { strcpy( g_acRspCode, "CMS106" ); pubCrtRspInfo( lSeqNo ); ERRLOG return FAILED; } sprintf( cmsseqno_seqno, "%0*ld", ACCTSEQNO_LEN, lSeqNo ); strcpy( stCmsSeqNo.seqno, cmsseqno_seqno ); /* 修改卡号顺序号文件记录 */ iRtn = pubModiCmsseqno( &stCmsSeqNo ); if ( iRtn ) { ERRLOG return FAILED; } /* 为输出参数赋值 */ strcpy( pcAcctSeqNo, cmsseqno_seqno ); } sprintf( g_acTrcMsg, "cmsApiGetSeqNoInCard end " ); TRCLOG2 return SUCCESS;}/******************************************************* ** 函数名称:cmsApiDltCmsSeqNo ** 功能描述:销卡删除卡内账户序号 ** 输入参数: ** pcCardNo ---- 卡号 ** 输出参数: ** 返回结果:int ** 0 ---- 成功 ** -1 ---- 失败*******************************************************/int cmsApiDltCmsSeqNo( pcCardNo )char * pcCardNo; /* 卡号 */{ /* 定义 局部变量 */ struct cmsseqno stCmsSeqNo; /* 卡内帐户序号结构 */ sprintf( g_acTrcMsg, "cmsApiDltCmsSeqNo begin " ); TRCLOG2 /* 初始化卡号顺序号文件结构 */ memset( &stCmsSeqNo, 0x00, sizeof( struct cmsseqno ) ); /* 将输入参数赋值给结构 */ strcpy ( stCmsSeqNo.cardno, pcCardNo ); /* 从卡内帐户序号表删除记录 */ pubStoVCmsseqno( &stCmsSeqNo ); EXEC SQL DELETE FROM CMSSEQNO WHERE cardno = :cmsseqno_cardno; /* 数据库异常错误 */ if ( SQLCODE ) { strcpy( g_acRspCode, "CMS1A7" ); pubCrtRspInfo( SQLCODE ); ERRLOG return FAILED; } sprintf( g_acTrcMsg, "cmsApiDltCmsSeqNo end " ); TRCLOG2 return SUCCESS;}/******************************************************* ** 函数名称:cmsApiChgCardCmsSeqNo ** 功能描述:换卡增加卡号顺序号文件 ** 输入参数: ** pcCardNo ---- 卡号 ** pcNewCardNo ---- 新卡号 ** 输出参数: ** 返回结果:int ** 0 ---- 成功 ** -1 ---- 失败*******************************************************/int cmsApiChgCardCmsSeqNo( pcCardNo, pcNewCardNo )char * pcCardNo; /* 卡号 */char * pcNewCardNo; /* 新卡号 */{ /* 定义 局部变量 */ struct cmsseqno stCmsSeqNo; /* 卡内帐户序号结构 */ int iRtn; sprintf( g_acTrcMsg, "cmsApiChgCmsSeqNo begin " ); TRCLOG2 /* 初始化卡号顺序号文件结构 */ memset( &stCmsSeqNo, 0x00, sizeof( struct cmsseqno ) ); /* 将输入参数赋值给结构 */ strcpy ( stCmsSeqNo.cardno, pcCardNo ); /* 获取旧卡卡号顺序号文件记录 */ iRtn = pubReadCmsseqno( &stCmsSeqNo ); if ( iRtn ) { ERRLOG return FAILED; } strcpy( stCmsSeqNo.cardno, pcNewCardNo ); /* 插入新卡卡号顺序号文件 */ iRtn = pubInstCmsseqno( &stCmsSeqNo ); if ( iRtn ) { ERRLOG return FAILED; } sprintf( g_acTrcMsg, "cmsApiChgCmsSeqNo end " ); TRCLOG2 return SUCCESS;}/******************************************************* ** 函数名称:cmsApiGenCardPinparm ** 功能描述:哈尔滨生成写磁控制码 ** 输入参数: ** pcCardNo ---- 卡号 ** 输出参数: ** pcPinparm ---- 写磁控制码 ** pcEncryPinparm ---- 写磁控制码密文 ** 返回结果:int ** 0 ---- 成功 ** -1 ---- 失败 ** 修改记录 : ** 修改人 修改日期 修改位置 ** 冯金国 2006-01-09 新增加*******************************************************/int cmsApiGenCardPinparm( pcCardNo, pcPinparm, pcEncryPinparm )char * pcCardNo; /* 卡号 */char * pcPinparm; /* 写磁控制码 */char * pcEncryPinparm; /* 写磁控制码密文 */{ /* 定义 局部变量 */ int iRtn; sprintf( g_acTrcMsg, "cmsApiGenCardPinparm begin " ); TRCLOG2 strcpy( pcPinparm, "123456" ); PIN_Encrypt( pcPinparm, pcCardNo, pcEncryPinparm ); sprintf( g_acTrcMsg, "cmsApiGenCardPinparm end " ); TRCLOG2 return SUCCESS;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -