📄 cms501.sqc
字号:
/******************************************************************** ** 源码文件名称 : cms501.SQC ** 所属子系统 : CMS ** 当前文件版本 : 1.0.0.0 ** 作者 : UCCB ALEX ** 版本创建日期 : 2004/09/23 ** 功能描述 : 预制卡申请子交易 ** 修改记录 : ** 修改人 修改日期 修改日期*********************************************************************/#include "code.h"#include "attrdef.h"#include "sysdef.h"#include "pubcom.h"#include <stdio.h>#include <stdlib.h>#include <math.h>#include "cmscode.h"#include "cmspcdreg.h"#include "cmscardkind.h"#include "cmscardinfo.h"#include "cmsacctm.h"EXEC SQL INCLUDE SQLCA;int cmsPreMakeCardReqPro( PUBCOM *pstPubcom ){ /*定义局部变量*/ char acCardKind[CARDKIND_LEN+1] ; /*卡种*/ char acTranDate[DATE_LEN+1] ; /*交易日期*/ char acWishDate[DATE_LEN+1] ; /*希望制卡日期*/ char acTranDate8[DATE8_LEN+1] ; /*交易日期*/ char acCheckFlag[ BIT8_LEN + 1 ]; /* 检查卡片种类标志 */ int iRtn; struct cmspcdreg stPcdReg ; struct cmscardkind stCardKind ; struct cmsacctm stCmsAcctM ; struct cmscardinfo stCmsCardInfo ; strcpy( g_acTrcMsg, "子交易: 预制卡申请开始.." ); TRCLOG4 strcpy( g_acRspCode, RSP_OK ); memset( &stPcdReg, 0x00, sizeof ( struct cmspcdreg ) ); memset( acCheckFlag, 0x00, sizeof( acCheckFlag ) ); memset( acCardKind, 0x00, sizeof( acCardKind ) ); memset( acTranDate, 0x00, sizeof( acTranDate ) ); memset( acTranDate8, 0x00, sizeof( acTranDate8 ) ); memset( acWishDate, 0x00, sizeof( acWishDate ) ); memset( &stCardKind, 0x00, sizeof ( struct cmscardkind ) ); memset( &stCmsAcctM, 0x00, sizeof ( struct cmsacctm ) ); memset( &stCmsCardInfo, 0x00, sizeof ( struct cmscardinfo ) ); /* 取数据字典值 */ getstring("acCardKind", stCardKind.cardkind ); /*卡种 */ getstring("acWishDate", stPcdReg.wishdate ); /*希望制卡日期*/ getstring("acWishDate", acWishDate ); /*希望制卡日期*/ getlong( "lAplyNum", &stPcdReg.aplynum ); /*申请数量*/ /* 获取卡片种类表 */ if( pubReadCmscardkind( &stCardKind ) ) { ERRLOG goto Exit; } /* 检查卡片种类是否为非记名卡 if ( stCardKind.markflg[ BIT1_LEN ] != UNREGNAMECARD ) { strcpy( g_acRspCode, "CMS1D0" ); pubCrtRspInfo( stCardKind.cardkind ); ERRLOG return FAILED; } */ /* 检查卡片种类(全部属性)API是否为启用标志、检查卡种交易类型 */ /* 检查业务发生地、是否是记名卡 */ acCheckFlag[ BIT1_LEN ] = CHECK_YES; /* 检查启用标志 */ acCheckFlag[ BIT2_LEN ] = CHECK_NO; /* 检查卡种交易类型 */ acCheckFlag[ BIT3_LEN ] = CHECK_NO; /* 检查业务发生地 */ acCheckFlag[ BIT4_LEN ] = CHECK_NO; /* 检查发卡对象 单/个 */ acCheckFlag[ BIT5_LEN ] = CHECK_NO; /* 检查记名标志 */ acCheckFlag[ BIT6_LEN ] = CHECK_NO; /* 不检查挂失标志 */ iRtn = cmsApiChkCardKind( &stCardKind, acCheckFlag, LOGOTHER, pstPubcom->acChannelId, CZEROS, UNREGNAMECARD, CZEROS, "" ); if ( iRtn ) { ERRLOG return FAILED; } /* 判断希望制卡日期是否大于业务日期*/ cmsDelDelimiter( acWishDate, '-' ); if( atol( acWishDate ) < atol( pstPubcom->acTranDate8 ) ) { sprintf(g_acRspCode,"999999"); sprintf(g_acRspMsg,"希望制卡日期小于业务日期"); ERRLOG goto Exit; } /*写预制卡登记簿 */ stPcdReg.serseqno = pstPubcom->lSerSeqNo; /* 流水号 */ sprintf( stPcdReg.vouchno,"%s%08ld",pstPubcom->acTranDate8,stPcdReg.serseqno); strcpy( stPcdReg.aplydate, pstPubcom->acTranDate );/* 申请机构 */ strcpy( stPcdReg.aplybrc, pstPubcom->acBrc ); /* 申请机构 */ strcpy( stPcdReg.aplyteller,pstPubcom->acTeller ); /* 申请柜员 */ strcpy( stPcdReg.authteller,pstPubcom->acAteller ); /* 授权柜员 */ strcpy ( stPcdReg.cardkind, stCardKind.cardkind ); /* 卡片种类 */ strcpy ( stPcdReg.voukind, stCardKind.voukind ); /* 凭证种类 */ stPcdReg.aplyflg[BIT1_LEN]=PREAPLY; /* 申请标志 */ stPcdReg.applflg[BIT1_LEN]=APPLYREG; /* 状态标志 */ stPcdReg.processflg[BIT1_LEN]=MKFILE_UNDONE; /* 处理标志 */ if( pubInstCmspcdreg( &stPcdReg ) ) { ERRLOG goto Exit; } /*写子交易流水*/ iRtn = cmsApiInsTranLog( pstPubcom, &stCmsCardInfo, &stCmsAcctM, "制卡", "预制卡申请" ); if( iRtn ) { ERRLOG goto Exit; } /* 子交易出口 */ strcpy( g_acTrcMsg, "子交易: 预制卡申请结束.." ); TRCLOG4 pubCrtRspInfo();Exit: if( !strcmp( g_acRspCode, RSP_OK ) ) return SUCCESS; else return FAILED ;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -