/// <summary> /// 获取当前清算步骤 /// </summary> /// <returns></returns> private static ClearStepInfo GetRuningStep() { if (ClearDate.HasValue) { Console.WriteLine("GetRuningStep"); _clearconfig = ClearConfigDataAccessMock.Current.GetConfigInfo(ClearDate.Value); if (_clearconfig == null) { step1.ClearState = EnumClearState.NotBegin; return(step1); } else { if (dicstep.ContainsKey(_clearconfig.ClearStep)) { ClearStepInfo step = dicstep[_clearconfig.ClearStep]; step.ClearState = _clearconfig.ClearState; step.Start = _clearconfig.BeginTime; step.Finish = _clearconfig.FinishTime; return(step); } else { throw new Exception("步骤异常"); } } } return(null); }
public DateTime Validate(DateTime cleardate) { ClearConfigInfo configinfo = ClearConfigManagerMock.GetLatestConfigInfo(); if (configinfo == null || configinfo.ClearDate > cleardate) { } else if (cleardate == configinfo.NextClearDate) { if (!(configinfo.ClearStep == "Step5" || (configinfo.ClearStep == "Step4" && configinfo.ClearState == EnumClearState.Finished))) { return(configinfo.ClearDate); } } else if (cleardate > configinfo.NextClearDate) { if (configinfo.ClearStep == "Step5" || (configinfo.ClearStep == "Step4" && configinfo.ClearState == EnumClearState.Finished)) { return(configinfo.NextClearDate); } else { return(configinfo.ClearDate); } } return(cleardate.Date); }
public DateTime GetDate( ) { ClearConfigInfo configinfo = ClearConfigManagerMock.GetLatestConfigInfo(); if (configinfo != null) { if (configinfo.ClearStep == "Step5" || (configinfo.ClearStep == "Step4" && configinfo.ClearState == EnumClearState.Finished)) { if (configinfo.NextClearDate.Date > this._maxDate) { return(this._maxDate); } else { return(configinfo.NextClearDate); } } else { return(configinfo.ClearDate); } } else { return(_maxDate); } }
private static ClearConfigInfo ClearConfigBuinder() { ClearConfigInfo info = new ClearConfigInfo(); if (ClearDate != null) { info.NextClearDate = ClearDate.Value.AddDays(1); info.ClearDate = ClearDate.Value; } return(info); }
public static void ErrorStep(ClearStepInfo step) { if (!ClearDate.HasValue) { throw new Exception("未设置当前清算时间"); } _clearconfig = ClearConfigDataAccessMock.Current.GetConfigInfo(ClearDate.Value); if (_clearconfig == null) { throw new Exception("出错了"); } _clearconfig.ClearState = EnumClearState.Error; _clearconfig.FinishTime = DateTime.Now; SaveToOracle(); }
/// <summary> /// 新增或更新任务 /// </summary> /// <param name="configinfo"></param> /// <returns></returns> public bool InsertOrUpdateConfigInfo(ClearConfigInfo configinfo) { var infos = this.GetConfigInfo(); var info = infos.FirstOrDefault(x => x.Equals(configinfo)); if (info == null) { infos.Add(configinfo); } else { infos[infos.IndexOf(info)] = configinfo; } File.WriteAllText(this.GetFile(), JsonConvert.SerializeObject(infos)); return(true); }
/// <summary> /// 清算是否进行中 /// </summary> /// <returns></returns> public static bool IsRuningFinished() { if (ClearDate.HasValue) { _clearconfig = ClearConfigDataAccessMock.Current.GetConfigInfo(ClearDate.Value); if (_clearconfig == null) { _clearconfig = ClearConfigBuinder(); return(false); } } if (_clearconfig.ClearState == EnumClearState.Finished && _clearconfig.ClearStep == "9999") { return(true); } return(false); }
/// <summary> /// 开始清算步骤 /// </summary> public static void RunStep(ClearStepInfo step) { if (!ClearDate.HasValue) { throw new Exception("未设置当前清算时间"); } _clearconfig = ClearConfigDataAccessMock.Current.GetConfigInfo(ClearDate.Value); if (_clearconfig == null) { _clearconfig = ClearConfigBuinder(); _clearconfig.BeginTime = DateTime.Now; } _clearconfig.ClearState = EnumClearState.Clearing; if (step != null && !string.IsNullOrEmpty(step.ClearStep)) { _clearconfig.ClearStep = step.ClearStep; _clearconfig.ClearStepName = step.ClearStepName; SaveToOracle(); } }
public static void FinishStep(ClearStepInfo step) { if (!ClearDate.HasValue) { throw new Exception("未设置当前清算时间"); } _clearconfig = ClearConfigDataAccessMock.Current.GetConfigInfo(ClearDate.Value); if (_clearconfig == null) { throw new Exception("出错了"); } if (step.NextStep == null) { _clearconfig.ClearState = EnumClearState.AllComplete; } else { _clearconfig.ClearState = EnumClearState.Finished; } _clearconfig.FinishTime = DateTime.Now; SaveToOracle(); }