📄 cms521.sqc
字号:
/******************************************************************** ** 源码文件名称 : cms521.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 "cmsactiom.h"#include "cmsacctm.h"#include "dpsacctlink.h"#include "dpssaveaccdyninfo.h"#include "dpstermaccdyninfo.h"EXEC SQL INCLUDE SQLCA;int cmsActInCardPro( PUBCOM *pstPubcom ){ /*定义局部变量*/ struct cmscardinfo stCmsCardInfo; /* 卡片信息表 */ struct cmsacctm stCmsAcctM; /* 卡账户对照表 */ struct cmsactiom stCmsActioM; /* 移入移出登记簿 */ struct dpsacctlink stDpsacctlink; /* 存款帐户关系表 */ struct dpssaveaccdyninfo stDpssaveaccdyninfo;/* 活期存款帐户动态表 */ struct dpstermaccdyninfo stDpstermaccdyninfo;/* 定期存款帐户动态表 */ int iRtn; /* 函数返回值 */ double dRate; strcpy( g_acTrcMsg, "子交易: 存折单移入卡处理开始.." ); TRCLOG4 /* 初始化 */ memset( &stCmsCardInfo, 0x00, sizeof( struct cmscardinfo ) ); memset( &stCmsAcctM, 0x00, sizeof( struct cmsacctm ) ); memset( &stCmsActioM, 0x00, sizeof( struct cmsactiom ) ); memset( &stDpsacctlink, 0x00, sizeof( struct dpsacctlink ) ); memset( &stDpstermaccdyninfo, 0x00, sizeof( struct dpstermaccdyninfo ) ); memset( &stDpssaveaccdyninfo, 0x00, sizeof( struct dpssaveaccdyninfo ) ); /* 取数据字典值 */ getstring( "CardNo", stCmsCardInfo.cardno ); /* 获取卡片信息 */ iRtn = pubReadCmscardinfo( &stCmsCardInfo ); if ( iRtn ) { if ( SQLCODE == SQLNOTFOUND ) sprintf( g_acRspMsg, "卡号[%s]不存在", stCmsCardInfo.cardno ); ERRLOG return FAILED; } /* 从字典获取其他字段 */ getstring( "Ccy1", stCmsAcctM.ccy ); getstring( "PrdCode", stCmsAcctM.prdcod ); getstring( "AcctNo", stCmsAcctM.acctno ); getstring( "AcctNo1", stCmsActioM.acctno ); getstring( "SubAcct1", stCmsAcctM.subacct ); getstring( "IdType1", stCmsActioM.idtype ); getstring( "IdNo1", stCmsActioM.idcode ); getstring( "CustomName1", stCmsActioM.custname ); /* 获取卡内新的账户序号 */ iRtn = cmsApiGenCardNewSeqNo( stCmsCardInfo.cardno, \ stCmsAcctM.acctseqno ); if ( iRtn ) { ERRLOG return FAILED; } /* 为增加卡账户对照表准备数据 */ strcpy( stCmsAcctM.cardno, stCmsCardInfo.cardno ); /* 按产品代码获取业务种类 */ iRtn = cmsApiGetBussKindByPrdCod( stCmsAcctM.prdcod, stCmsAcctM.busskind ); if ( iRtn ) { ERRLOG return FAILED; } if( pubInqAcctNoIdx( stCmsAcctM.acctno , stCmsAcctM.subsys ) ) { ERRLOG return FAILED; } strcpy( stCmsAcctM.custno, stCmsCardInfo.custno ); strcpy( stCmsAcctM.issuebrc, pstPubcom->acBrc ); strcpy( stCmsAcctM.issueteller, pstPubcom->acTeller ); strcpy( stCmsAcctM.issuedate, pstPubcom->acTranDate ); stCmsAcctM.accowner[ BIT1_LEN ] = BELONGMAINCARD; /* 属于主卡 */ stCmsAcctM.cardbookflag[ BIT1_LEN ] = ACCOPENFLG_CARD; /* 无折 */ stCmsAcctM.status[ BIT1_LEN ] = NORMAL_STS; /* 正常 */ /* 插入卡账户对照表 */ iRtn = pubInstCmsacctm( &stCmsAcctM ); if ( iRtn ) { ERRLOG return FAILED; } /* 为增加移入移出登记簿做赋值准备 */ strcpy( stCmsActioM.cardno, stCmsCardInfo.cardno ); strcpy( stCmsActioM.trandate, pstPubcom->acTranDate ); stCmsActioM.serseqno = pstPubcom->lSerSeqNo; sprintf( stCmsActioM.vouchno, "%s%0*ld", pstPubcom->acTranDate8, \ SERSEQNO_LEN, stCmsActioM.serseqno ); strcpy( stCmsActioM.acctseqno, stCmsAcctM.acctseqno ); strcpy( stCmsActioM.busskind, stCmsAcctM.busskind ); strcpy( stCmsActioM.ccy, stCmsAcctM.ccy ); strcpy( stCmsActioM.prdcod, stCmsAcctM.prdcod ); strcpy( stCmsActioM.subacct, stCmsAcctM.subacct ); strcpy( stCmsActioM.issuebrc, stCmsCardInfo.issuebrc ); strcpy( stCmsActioM.brc, pstPubcom->acBrc ); strcpy( stCmsActioM.teller, pstPubcom->acTeller ); stCmsActioM.opflg[ BIT1_LEN ] = MOVEIN; /* 移入 */ /* 插入账户移入移出登记簿 */ iRtn = pubInstCmsactiom( &stCmsActioM ); if ( iRtn ) { ERRLOG return FAILED; } strcpy( stDpsacctlink.acctno, stCmsAcctM.acctno ); strcpy( stDpsacctlink.subacct, stCmsAcctM.subacct ); if ( pubReadDpsacctlink( &stDpsacctlink ) ) { ERRLOG return FAILED; } /* 如果款项是活期,取活期动态分户结构 */ if( dpsacctlink_opnflag[0] == SAVE_DEPOSIT ) { strcpy( stDpssaveaccdyninfo.subacct, dpsacctlink_subacct ); if( pubReadDpssaveaccdyninfo ( &stDpssaveaccdyninfo ) ) { ERRLOG return FAILED; } dRate=0.00; /*开户利率赋值*/ } /* 如果款项是定期,取定期动态分户结构 */ else { strcpy( stDpstermaccdyninfo.subacct, dpsacctlink_subacct ); if( pubReadDpstermaccdyninfo ( &stDpstermaccdyninfo ) ) { ERRLOG return FAILED; } dRate=stDpstermaccdyninfo.opnrate; /*开户利率赋值*/ } /* 是否写子交易流水 */ iRtn = cmsApiInsTranLog( pstPubcom, &stCmsCardInfo, &stCmsAcctM, "移入", "存单折移入卡" ); if ( iRtn ) { ERRLOG return FAILED; } /* 子交易出口 */ setstring( "AcctSeqNo", stCmsAcctM.acctseqno ); /* 账户序号 */ setdouble( "IntRate", &dRate ); /* 开户利率 */ strcpy( g_acTrcMsg, "子交易: 存折单移入卡处理结束.." ); TRCLOG4 strcpy( g_acRspCode, RSP_OK ); return SUCCESS;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -