//可以多行刪除數據_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; }
//添加排程執行日誌 private void ScheduleAddLog(string schedule_code) { ScheduleLogQuery query_log = new ScheduleLogQuery(); query_log.schedule_code = schedule_code; try { //如果通過瀏覽器登陸; query_log.create_user = (System.Web.HttpContext.Current.Session["caller"] as Caller).user_id; } catch (Exception) { //根據schedule_code獲取相應period的change_user ScheduleMasterQuery query_master = new ScheduleMasterQuery(); query_master.schedule_code = schedule_code; _secheduleServiceMgr = new ScheduleServiceMgr(mySqlConnectionString); ScheduleMasterQuery master = _secheduleServiceMgr.GetScheduleMaster(query_master); if (master.schedule_period_id != 0) { SchedulePeriodQuery query_period = new SchedulePeriodQuery(); query_period.rowid = master.schedule_period_id; query_period = _secheduleServiceMgr.GetSchedulePeriod(query_period); query_log.create_user = query_period.change_user; } } query_log.ipfrom = BLL.gigade.Common.CommonFunction.GetIP4Address(Request.UserHostAddress.ToString()); _secheduleServiceMgr.AddScheduleLog(query_log); }
/// <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; }