1、OTC清算详细设计说明书清算框架软件设计说明书(清算框架)公司名称深圳市金证科技股份有限公司文档编号文档名称OTC-软件设计说明书-清算框架文档版本0.1起 草曹永亮起草日期2013-11-15审 批审批日期YYYY-MM-DD修订历史版本号日期状态修订人摘要0.12013-11-15C曹永亮初稿状态标识:C Created A- Added M - Modified D - Deleted1 前言 51.1 目的和范围 51.2 背景 51.3 术语和定义 51.4 参考资料 52 清算框架设计 62.1 清算数据准备 62.1.1 查询未完成清算的TA或产品 62.1.2 数据采集准备 6
2、2.1.3 查询需采集数据 62.1.4 数据采集过程 62.1.5 数据采集结束处理 62.1.6 数据导入准备过程 62.1.7 查询需导入数据 72.1.8 数据导入过程 72.1.9 数据导入结束处理 72.2 清算预处理 72.2.1 查询可清算批次 72.2.2 查询清算数据状态 72.2.3 预处理准备 72.3 下账处理 82.3.1 查询可导出数据 82.3.2 数据导出过程 82.3.3 查询数据导出状态 82.3.4 查询可下发数据 82.3.5 数据下发过程 82.3.6 查询数据下发状态 83 数据结构设计 94 接口设计 95 后台类设计 105.1 清算数据准备
3、105.1.1 设计说明 105.2 清算预处理 115.2.1 设计说明 115.3 簿记处理 125.3.1 设计说明 125.4 下账处理 135.4.1 设计说明 131前言22.1目的和范围2.2本文对OTC清算子系统的清算框架的概要设计和详细设计进行了描述说明,将作为清算框架编码的依据。2.3背景2.42.5术语和定义2.62.7参考资料2.8金证股份OTC-清算概要设计说明书.docx金证股份KBSS_OTC_SETT_ORACLE.pdm金证股份OTC_清算框架详细设计_OOM.oom3清算框架设计44.1清算数据准备4.24.2.1数据采集准备4.2.24.2.2.1处理流程
4、4.2.2.21.检查入参数据的合法性:检查数据字典,登记公司及产品代码是否存在;2.3.调用COtcSettDataPrepare:FetchProvisionBegin方法;4.5.输出执行结果给前台。6.相关SQL:当前清算日是否有清算记录:SELECTCOUNT(*)FROM OTC_SETT_STAT WHERE SETT_DATE =SETT_DATE存在状态为0、1取该记录批次号:SELECTDISTINCT(SETT_BAT_NO)FROM OTC_SETT_STATWHERE SETT_DATE =SETT_DATEAND SETT_STAT IN(0,1)存在状态不为0、1
5、取该最大批次号+1:SELECTMAX(SETT_BAT_NO)+1FROM OTC_SETT_STATWHERE SETT_DATE =SETT_DATEAND SETT_STAT NOTIN(0,1)4.2.3查询需采集数据4.2.44.2.4.1处理流程4.2.4.21.调用COtcSettFetchStat:ListFetchData方法;2.3.输出查询结果给前台。4.相关SQL:SELECT A.TABLE_CODE,A.TABLE_NAME,A.SRC_SUBSYS,A.FETCH_WAY,A.SQL_COND,A.SQL_CHECK, A.EARLIEST_FETCH_TIME
6、,A.LATEST_FETCH_FLAG,A.DUP_FETCH_FLAG,COALESCE(B.SETT_DATE,0),COALESCE(B.SETT_BAT_NO,0),COALESCE(B.LAST_FETCH_TIMESTAMP,NULL),COALESCE(B.FETCH_TIMES,0),COALESCE(B.FETCH_REC_CNT,0),COALESCE(B.SRC_REC_CNT,0),COALESCE(B.DEST_REC_CNT,0),COALESCE(B.FETCH_STAT,),COALESCE(B.CHECK_STAT,),COALESCE(B.REMARK,)
7、,COALESCE(B.FETCH_OPER,0)FROM OTC_SETT_FETCH_CONFIG A,OTC_SETT_FETCH_STAT BWHERE A.TABLE_CODE = B.TABLE_CODE(+)AND(B.SETT_DATE =20131123OR B.SETT_DATE ISNULL)AND(B.SETT_BAT_NO =1OR B.SETT_BAT_NO ISNULL)4.2.5数据采集过程4.2.64.2.6.1处理流程4.2.6.21.检查入参数据的合法性;2.3.调用COtcSettDataPrepare:DoDataFetch方法;4.5.输出执行结果给
8、前台。6.处理流程图:相关SQL:加锁:UPDATE OTC_SETT_FETCH_STAT A SET A.FETCH_REC_CNT = A.FETCH_REC_CNTWHERE A.SETT_DATE =20131121AND A.TABLE_CODE =OTC_MARKETAND A.SETT_BAT_NO =1;采集状态更新:UPDATE OTC_SETT_FETCH_STAT A SET A.FETCH_STAT =1WHERE A.SETT_DATE =20131121AND A.TABLE_CODE =OTC_MARKETAND A.SETT_BAT_NO =1AND A.FE
9、TCH_STAT 1;4.2.7数据采集结束处理4.2.84.2.8.1处理流程4.2.8.21.检查入参数据的合法性;2.3.调用COtcSettDataPrepare:FetchProvisionEnd方法;4.5.输出执行结果给前台。6.相关SQL:按采集的状态更新清算状态:SELECT COUNT(*) CNT FROM OTC_SETT_STAT X WHERE X.SETT_DATE = %d AND X.SETT_BAT_NO = %d AND NOT EXISTS ( SELECT 0 FROM ( SELECT COALESCE(B.SETT_DATE,%d) SETT_DA
10、TE,COALESCE(B.SETT_BAT_NO,%d)SETT_BAT_NO, COALESCE(B.FETCH_STAT, )FETCH_STAT ,COALESCE(B.CHECK_STAT, )CHECK_STAT FROM OTC_SETT_FETCH_CONFIG A ,OTC_SETT_FETCH_STAT B WHERE A.TABLE_CODE = B.TABLE_CODE(+) )C WHERE C.SETT_DATE = X.SETT_DATE AND C.SETT_BAT_NO = X.SETT_BAT_NO AND (C.FETCH_STAT != %c OR C.
11、CHECK_STAT != %c) )CNT为0时,按SETT_DATE,SETT_BAT_NO更新状态为9,否则更新为2按采集状态和导入状态更新清算状态:UPDATE OTC_SETT_STAT A SET SETT_STAT =1WHERE A.SETT_DATE =20131121AND A.SETT_BAT_NO =1AND A.FETCH_STAT =2AND A.IMP_STAT =24.2.9数据导入准备过程4.2.104.2.10.1处理流程4.2.10.21.检查入参数据的合法性;2.3.调用COtcSettDataPrepare:ImpProvisionBegin方法;4.
12、5.输出执行结果给前台。6.4.2.11查询需导入数据4.2.124.2.12.1处理流程4.2.12.21.检查入参数据的合法性;2.3.调用COtcSettDataStat:ListImpData方法;4.5.输出查询结果给前台。6.相关SQL:SELECT A.SETT_CFG_ID,A.MKT_CODE,A.TA_CODE,A.INST_SNO,A.INST_CLS,A.ITF_ID,A.PROVIDE_TYPE,A.DATA_TYPE, A.IMP_XML,A.ITF_TABLE,A.FILE_FORMAT,A.FILE_NAME,A.FILE_PATH,COALESCE(B.IMP
13、_STAT,),COALESCE(B.DEAL_STAT,)FROM OTC_SETT_DATA_PATH A,OTC_SETT_DATA_STAT BWHERE A.SETT_CFG_ID = B.SETT_CFG_ID(+)AND A.ITF_ID = B.ITF_ID(+)AND(B.SETT_DATE =20131123OR B.SETT_DATE ISNULL)AND(B.SETT_BAT_NO =1OR B.SETT_BAT_NO ISNULL)AND(B.DEAL_STAT IN(0,1,2)OR B.DEAL_STAT ISNULL);4.2.13数据导入过程4.2.144.2
14、.14.1处理流程4.2.14.21.检查入参数据的合法性;2.3.调用COtcSettDataPrepare:DoDataImp方法;4.5.输出执行结果给前台。相关SQL:加锁:UPDATE OTC_SETT_DATA_STAT A SET A.IMP_CNT = A.IMP_CNT WHERE A.SETT_CFG_ID =1AND A.SETT_DATE =20131121AND A.SETT_BAT_NO =1AND A.ITF_ID =0_01更新导入状态:UPDATE OTC_SETT_DATA_STAT A SET A.IMP_STAT =1,A.DEAL_STAT =0WHERE A.SETT_CFG_ID =1AND A.SETT_DATE =20131121AND A.SETT_BAT_NO =1AND A.ITF_ID =0_01AND A.IMP_STAT 1AND A.DEAL_STAT IN(0,1,2)处理流程:4.2.15
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1