//保存排程_period信息 public HttpResponseBase SaveSchedulePeriodInfo() { string json = string.Empty; try { SchedulePeriodQuery query = new SchedulePeriodQuery(); _secheduleServiceMgr = new ScheduleServiceMgr(mySqlConnectionString); if (!string.IsNullOrEmpty(Request.Params["rowid"])) { query.rowid = Convert.ToInt32(Request.Params["rowid"]); } if (!string.IsNullOrEmpty(Request.Params["schedule_code"])) { query.schedule_code = Request.Params["schedule_code"]; } if (!string.IsNullOrEmpty(Request.Params["period_type"])) { query.period_type = Convert.ToUInt32(Request.Params["period_type"]); } if (!string.IsNullOrEmpty(Request.Params["period_nums"])) { query.period_nums = Convert.ToUInt32(Request.Params["period_nums"]); } if (!string.IsNullOrEmpty(Request.Params["current_nums"])) { query.current_nums = Convert.ToUInt32(Request.Params["current_nums"]); } if (!string.IsNullOrEmpty(Request.Params["limit_nums"])) { query.limit_nums = Convert.ToUInt32(Request.Params["limit_nums"]); } if (!string.IsNullOrEmpty(Request.Params["begin_datetime"])) { query.begin_datetime = (int)CommonFunction.GetPHPTime(Request.Params["begin_datetime"]); } query.create_user = (System.Web.HttpContext.Current.Session["caller"] as Caller).user_id; query.change_user = (System.Web.HttpContext.Current.Session["caller"] as Caller).user_id; int _dt = _secheduleServiceMgr.SaveSchedulePeriodInfo(query); if (_dt > 0) { json = "{success:true}"; //根據schedule_code獲取相應的ScheduleMaster信息 ScheduleMasterQuery query_master = new ScheduleMasterQuery(); query_master.schedule_code = query.schedule_code; ScheduleMasterQuery item = _secheduleServiceMgr.GetScheduleMaster(query_master); //更新ScheduleMaster表的previous_execute_time、next_execute_time、state; //獲取next_execute_time和schedule_period_id int schedule_period_id = 0; int next_execute_time = _secheduleServiceMgr.GetNext_Execute_Time(item.schedule_code, out schedule_period_id); if (item.next_execute_time > next_execute_time || (item.next_execute_time == 0 && item.next_execute_time < next_execute_time)) { item.next_execute_time = next_execute_time; ; item.schedule_period_id = schedule_period_id; _secheduleServiceMgr.UpdateScheduleMaster(item); } } else { json = "{success:false}"; } } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:false,totalCount:0,data:[]}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return Response; }
//可以多行刪除數據_period public HttpResponseBase SchedulePeriodDelete() { string json = string.Empty; SchedulePeriodQuery period = new SchedulePeriodQuery(); _secheduleServiceMgr = new ScheduleServiceMgr(mySqlConnectionString); try { string id = Request.Params["id"]; id = id.Substring(0, id.Length - 1).ToString(); string[] ids = id.Split(','); if (ids.Length>0) { period.rowid = int.Parse(ids[0].ToString()); period = _secheduleServiceMgr.GetSchedulePeriod(period); ScheduleMasterQuery query_master = new ScheduleMasterQuery(); query_master.schedule_code = period.schedule_code; //刪除 int result = _secheduleServiceMgr.SchedulePeriodDelete(id); if (result > 0) { ScheduleMasterQuery item = _secheduleServiceMgr.GetScheduleMaster(query_master); //更新ScheduleMaster表的previous_execute_time、next_execute_time、state; //獲取next_execute_time和schedule_period_id int schedule_period_id = 0; int next_execute_time = _secheduleServiceMgr.GetNext_Execute_Time(item.schedule_code, out schedule_period_id); //if (item.next_execute_time > next_execute_time || (item.next_execute_time == 0 && item.next_execute_time < next_execute_time)) { item.next_execute_time = next_execute_time; if (item.next_execute_time == 0) { item.schedule_state = 0; } item.schedule_period_id = schedule_period_id; //修改ScheduleMaster _secheduleServiceMgr.UpdateScheduleMaster(item); } } } json = "{success:true}"; } #region 只刪除一行數據時的代碼段 //if (!string.IsNullOrEmpty(Request.Params["id"])) //{ // query.id = Convert.ToUInt32(Request.Params["id"]); //} // int _dt = informationMgr.PersonInfromationDelete(query); //if (_dt > 0) //{ // json = "{success:true}"; //} //else //{ // json = "{success:false}"; //} #endregion catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:false}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
/// <summary> /// 獲取需要執行的排程列表并逐個執行,添加日誌和更新排程; /// </summary> /// <returns></returns> public HttpResponseBase GetExeScheduleServiceList() { //獲取需要執行的排程 List<ScheduleMasterQuery> store = new List<ScheduleMasterQuery>(); _secheduleServiceMgr = new ScheduleServiceMgr(mySqlConnectionString); try { ScheduleMasterQuery query = new ScheduleMasterQuery(); query.schedule_state = 1; store = _secheduleServiceMgr.GetExeScheduleMasterList(query); foreach (ScheduleMasterQuery item in store) { try { //執行排程 bool result = ExeScheduleService(item.schedule_api,item.schedule_code); //更新SchedulePeriod表的current_nums;ScheduleMaster表的previous_execute_time、next_execute_time、state; //更新current_nums欄位; SchedulePeriodQuery query_period = new SchedulePeriodQuery(); query_period.rowid = item.schedule_period_id; query_period = _secheduleServiceMgr.GetSchedulePeriod(query_period); if (query_period != null) { query_period.current_nums += 1; _secheduleServiceMgr.UpdateSchedulePeriod(query_period); } //更新ScheduleMaster表的previous_execute_time、next_execute_time、state; item.previous_execute_time = (int)CommonFunction.GetPHPTime(); //獲取next_execute_time和schedule_period_id int schedule_period_id = 0; item.next_execute_time = _secheduleServiceMgr.GetNext_Execute_Time(item.schedule_code, out schedule_period_id); item.schedule_period_id = schedule_period_id; if (item.next_execute_time == 0) { item.schedule_state = 0; } _secheduleServiceMgr.UpdateScheduleMaster(item); } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); } } } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); } //this.Response.Clear(); //this.Response.Write(); //this.Response.End(); return this.Response; }