示例#1
0
        /// <summary>
        /// 读取交易规则及基础数据
        /// </summary>
        private static void DoBaseData()
        {
            //已经在ScheduleManger中初始化
            //MCService.CommonPara.Reset();
            //MCService.CommonPara.Initialize();

            LogHelper.WriteInfo("------------证券开市处理-DoBaseData");
            try
            {
                MCService.Reset();

                AccountManager.Instance.Reset();

                #region  old code  注释 --李健华 2010-06-09
                ////交易员工厂封装类进行重置
                //VTTradersFactory.Reset();
                //VTTradersFactory.GetStockTraders();
                //VTTradersFactory.GetFutureTraders();
                #endregion
                RealTimeMarketUtil.GetInstance().Reset();
                LocalCommonValidater.Reset();

                #region ===回推故障数据导入 Create by:李健华 Create date:2009-08-12===

                FailureRecoveryFactory.XHReaderToDB();

                #endregion ===回推故障数据导入 End===

                var rescueManager = RescueManager.Instance;

                LogHelper.WriteInfo("------------完成证券开市处理-DoBaseData");
            }
            catch (Exception ex)
            {
                LogHelper.WriteError(ex.ToString(), ex);
                LogHelper.WriteInfo("------------证券开市处理失败-DoBaseData");
            }
        }
 public void XHReaderToDBTest()
 {
     FailureRecoveryFactory.XHReaderToDB();
     Assert.Inconclusive("无法验证不返回值的方法。");
 }
        /// <summary>
        /// 开始启动,进行初始化
        /// </summary>
        public static bool Start(ref string errMsg)
        {
            if (scheduler != null)
            {
                if (scheduler.IsStarted)
                {
                    return(true);
                }
            }

            //DaoUtil.Initialize();
            //删除正常退出标志
            //DaoUtil.DeleteNormalFlag();
            bool isConnectionOk = DaoUtil.TestConnection();

            if (!isConnectionOk)
            {
                errMsg = "无法连接数据库,请检查配置文件!";
                LogHelper.WriteDebug("ScheduleManager.Start" + errMsg);
                return(false);
            }

            stockOpenJob   = new StockOpenProcessJob();
            stockCloseJob  = new StockCloseProcessJob();
            futureOpenJob  = new FutureOpenProcessJob();
            futureCloseJob = new FutureCloseProcessJob();

            stockMelonCutting = new StockMelonCuttingJob();
            try
            {
                //启动内存表管理器
                //MemoryDataManager.Start();

                //===回推故障数据导入 Start===
                FailureRecoveryFactory.QHReaderToDB();
                FailureRecoveryFactory.XHReaderToDB();
                FailureRecoveryFactory.HKReaderToDB();
                //===回推故障数据导入 End===

                ISchedulerFactory schedFact = new StdSchedulerFactory();
                scheduler = schedFact.GetScheduler();

                MCService.CommonPara.Reset();
                MCService.CommonPara.Initialize();

                InitializeTriggers();

                LogHelper.WriteInfo("ScheduleManager.Start");
                scheduler.Start();

                DoOpenProcess();
                DoCloseProcess();

                #region 已经在DoOpenProcess中期货中有执行不再处理
                ////add 2010-03-16 添加对期货的清算判断,如果发现前一日没有清算完成则设置期货是否清算异常系统暂停交易,使用期台不能下单
                //DateTime ReckoningDateTime;
                //bool isReckoning = false;
                //isReckoning = StatusTableChecker.IsFutureReckoningFaultRecovery(out ReckoningDateTime, out errMsg);
                //if (isReckoning)
                //{
                //    IList<CM_BreedClass> list = MCService.CommonPara.GetAllBreedClass();
                //    foreach (var item in list)
                //    {
                //        if (item.BreedClassTypeID.Value == (int)GTA.VTS.Common.CommonObject.Types.BreedClassTypeEnum.CommodityFuture ||
                //            item.BreedClassTypeID.Value == (int)GTA.VTS.Common.CommonObject.Types.BreedClassTypeEnum.StockIndexFuture)
                //        {
                //            IsFutureReckoningErrorStopTrade = true;
                //            break;
                //        }
                //    }
                //}
                #endregion
                //==================

                IsStartSuccess = true;
            }
            catch (Exception ex)
            {
                LogHelper.WriteInfo("ScheduleManger start failure!");
                LogHelper.WriteError(ex.ToString(), ex);

                IsStartSuccess = false;
                return(false);
            }

            LogHelper.WriteInfo("ScheduleManger start success!");
            return(true);
        }