예제 #1
0
        private static void InternalDoClose()
        {
            //记录开始清算
            ScheduleManager.IsStockReckoning = true;

            bool isSuccess = DoReckoning();

            if (isSuccess)
            {
                #region update 李健华 2010-06-12  分红登记
                //isSuccess = DoMelonCutting();
                isSuccess = MelonCutService.RegisterMeloncutTable();
                #endregion
                if (isSuccess)
                {
                    DoHistoryDataProcess();
                }
            }
            //这里分红处理后在这里就加载内存表
            ////清算完毕后再重新加载内存资金表内容,为后面其他清算做预委托下单的处理同样操作内存表的数据
            ////内存表管理
            MemoryDataManager.Start();

            ScheduleManager.IsStockReckoning = false;

            ScheduleManager.IsHKReckoning = true;
            isSuccess = DoHKReckoning();
            if (isSuccess)
            {
                DoHKHistoryDataProcess();
            }
            //这里港股完成后也重新加载一个,因为在内部清算的时候已经全过一交提交
            MemoryDataManager.Start();
            ScheduleManager.IsHKReckoning = false;
        }
예제 #2
0
        /// <summary>
        /// 分红处理
        /// </summary>
        public static bool DoMelonCutting()
        {
            if (StatusTableChecker.HasDoneMelonCut(DateTime.Now))
            {
                return(true);
            }

            bool result = false;

            LogHelper.WriteInfo("------------开始证券收市处理-DoMelonCutting[分红处理]");

            try
            {
                result = MelonCutService.Process();
                if (!result)
                {
                    LogHelper.WriteInfo("***证券收市处理-DoMelonCutting[分红处理]第1次失败!进行第2次处理");
                    result = MelonCutService.Process();
                }

                if (!result)
                {
                    LogHelper.WriteInfo("***证券收市处理-DoMelonCutting[分红处理]第2次失败!进行第3次处理");
                    result = MelonCutService.Process();
                }

                if (!result)
                {
                    LogHelper.WriteInfo("***证券收市处理-DoMelonCutting[分红处理]第3次失败!退出");
                }
                else
                {
                    LogHelper.WriteInfo("------------完成证券收市处理-DoMelonCutting[分红处理]");
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteError(ex.ToString(), ex);
                LogHelper.WriteInfo("------------证券收市处理失败-DoMelonCutting[分红处理]");
            }

            return(result);
        }