public void testCallBack(int timer_id, string user_params) { JObject item = (JObject)JsonConvert.DeserializeObject(user_params); int eneity_id = Convert.ToInt32(item["entity_id"]); string event_name = item["event_name"].ToString(); DSEventDetail ds = new DSEventDetail(); DateTime now = DateTime.Now; ds.year = now.Year; ds.month = now.Month; ds.day = now.Day; ds.week = WeekOfMonth(now, 1); ds.state = 0; ds.entity_id = eneity_id; //List<UI_MISSION> AllHistoryMiss = CWFEngine.GetHistoryMissions(eneity_id); UI_MISSION u = CWFEngine.GetActiveMission <Person_Info>(eneity_id, null, false); string work_name = u.WE_Name; string event_desc = u.WE_Event_Desc; ds.event_name = work_name + ":" + event_desc; Timer_Jobs tj = js.GetTimerJob(timer_id); ds.DSTime_Desc = tj.STR_RES_2; //if (dm.getdetailbyE_id(eneity_id) == null) dm.AddDsEvent(ds); }
public override void Load(Timer_Jobs job) { base.Load(job); m_wfentityID = job.workflow_ID; m_eventName = job.STR_RES_1; }
public ActionResult Index(int job_id) { Jobs js = new Jobs(); Timer_Jobs tj = js.GetTimerJob(job_id); string qeendtime = tj.STR_RES_3; if (DateTime.Now < DateTime.Parse(qeendtime)) { ViewBag.zgenable = 1; } else { ViewBag.zgenable = 0; } ViewBag.jobName = tj.job_name; ViewBag.time = tj.STR_RES_2; ViewBag.depts = tj.STR_RES_1; ViewBag.wfe_ids = tj.run_result; int UserId = (Session["User"] as EquipModel.Entities.Person_Info).Person_Id; PersonManagment pm = new PersonManagment(); EquipBLL.AdminManagment.PersonManagment.P_viewModal pv = pm.Get_PersonModal(UserId); if (pv.Role_Names.Contains("可靠性工程师")) { ViewBag.isKkxgcs = "1"; } else { ViewBag.isKkxgcs = "0"; } return(View()); }
/// <summary> /// 保存定时性任务到数据库 /// </summary> /// <param name="job"></param> public override void Save(Timer_Jobs job = null) { Timer_Jobs self = new Timer_Jobs(); self.workflow_ID = m_wfentityID; self.Job_Type = TIMER_JOB_TYPE.CHANGE_STATUS; base.Save(self); }
public override void Save(Timer_Jobs job = null) { Timer_Jobs job1 = new Timer_Jobs(); job1.Job_Type = TIMER_JOB_TYPE.Normal; base.Save(job1); }
/// <summary> /// 保存到数据库 /// </summary> public override void Save(Timer_Jobs job = null) { Timer_Jobs self_Job = new Timer_Jobs(); self_Job.workflow_ID = m_workFlow.DefineID; self_Job.Job_Type = TIMER_JOB_TYPE.CREATE_WORKFLOW; CustomAction = CreateCallback; base.Save(self_Job); }
/// <summary> /// 保存该定时性任务 /// </summary> /// <param name="job"></param> public override void Save(Timer_Jobs job = null) { Timer_Jobs self_Job = new Timer_Jobs(); self_Job.workflow_ID = m_wfentityID; self_Job.Job_Type = TIMER_JOB_TYPE.TIME_OUT; //保留字段STR_RES_1保存callback URL地址 self_Job.STR_RES_1 = m_eventName; base.Save(self_Job); }
/// <summary> /// 根据Timer_Jobs创建相应的对象 /// </summary> /// <param name="job"></param> /// <returns></returns> public static CTimerMission CreateTimerMission(Timer_Jobs job) { if (job == null) { return(null); } CTimerMission J_val; switch (job.Job_Type) { case TIMER_JOB_TYPE.CREATE_WORKFLOW: CTimerCreateWF J_create = new CTimerCreateWF(); J_create.Load(job); J_val = J_create; break; case TIMER_JOB_TYPE.CHANGE_STATUS: CTimerWFStatus J_status = new CTimerWFStatus(); J_status.Load(job); J_val = J_status; break; case TIMER_JOB_TYPE.TIME_OUT: CTimerTimeout J_timeout = new CTimerTimeout(); J_timeout.Load(job); J_val = J_timeout; break; case TIMER_JOB_TYPE.EMPTY: CTimerEmptyMission J_empty = new CTimerEmptyMission(); J_empty.Load(job); J_val = J_empty; break; case TIMER_JOB_TYPE.Normal: CTimerNormalMission J_Normal = new CTimerNormalMission(); J_Normal.Load(job); J_val = J_Normal; break; default: J_val = null; break; } return(J_val); }
/// <summary> /// 从数据库记录加载类对象 /// </summary> /// <param name="job"></param> public virtual void Load(Timer_Jobs job) { //ID job_id = job.JOB_ID; //前一次执行时间 m_perTime = job.PreTime; //任务状态 status = job.status; //执行时间 m_triggerT.FromString(job.corn_express); m_triggerT.RefreshNextTiming(DateTime.Now); //解析运行参数 ParseRunParam(job.run_params); //解析运行结果 ParseRunResult(job.run_result); //名称 mission_name = job.job_name; //创建时间 m_createTime = job.create_time; //自定义事件 CustomAction = job.custom_action; //自定义标签 CustomFlag = job.custom_flag; //读取保留字段 m_reserve.Clear(); if (job.STR_RES_1 != "null") { m_reserve["STR_RES_1"] = job.STR_RES_1; } if (job.STR_RES_2 != "null") { m_reserve["STR_RES_2"] = job.STR_RES_2; } if (job.STR_RES_3 != "null") { m_reserve["STR_RES_3"] = job.STR_RES_3; } m_reserve["INT_RES_1"] = job.INT_RES_1; m_reserve["INT_RES_2"] = job.INT_RES_2; m_reserve["INT_RES_3"] = job.INT_RES_3; }
/// <summary> /// 从数据库记录加载类对象 /// </summary> /// <param name="job">数据库记录</param> public override void Load(Timer_Jobs job) { //加载工作流定义 WorkFlows wfs = new WorkFlows(); WorkFlow_Define wf_define = wfs.GetWorkFlowDefineByID(job.workflow_ID); m_workFlow = null; if (wf_define != null) { XmlDocument doc = new XmlDocument(); doc.LoadXml(Encoding.Default.GetString(wf_define.W_Xml)); m_workFlow = new CWorkFlow(); m_workFlow.InstFromXmlNode((XmlNode)doc.DocumentElement); m_workFlow.DefineID = job.workflow_ID; } base.Load(job); CreateCallback = CustomAction; }
/// <summary> /// 添加一个定时性任务 /// </summary> /// <param name="job"></param> /// <returns>新定时性任务的ID</returns> public int AppendJob(Timer_Jobs job) { try { using (var db = base.NewDB()) { Timer_Jobs j = db.timer_jobs.Add(job); if (db.SaveChanges() != 1) { return(-1); } return(j.JOB_ID); } } catch { return(-1); } }
/// <summary> /// 保存一个定时任务 /// </summary> /// <param name="job"></param> /// <returns></returns> public int SaveJob(Timer_Jobs job) { try { using (var db = base.NewDB()) { //1. 查找是否存在该任务 var list = db.timer_jobs.Where(a => a.JOB_ID == job.JOB_ID); //2. 如果存在则更新 if (list.ToList().Count != 0) { Timer_Jobs j = list.First(); j.copy(job); if (db.SaveChanges() != 1) { return(-1); } return(j.JOB_ID); } //3. 不存在则添加一条新记录 else { job.JOB_ID = -1; job = db.timer_jobs.Add(job); if (db.SaveChanges() != 1) { return(-1); } return(job.JOB_ID); } } } catch (Exception e) { return(-1); } }
/// <summary> /// 保存到数据库 /// </summary> public virtual void Save(Timer_Jobs job = null) { //任务名称 job.job_name = mission_name; //上一次执行时间 job.PreTime = m_perTime; //创建时间 job.create_time = m_createTime; //任务状态 job.status = status; //任务用途 job.t_using = for_using; //cron表达式 job.corn_express = m_triggerT.ToString(); //job ID job.JOB_ID = job_id; //运行参数 object rp = ParseRunParamsToJObject(); job.run_params = rp == null ? "[]" : rp.ToString(); //运行结果 object rr = ParseRunResultToJobject(); job.run_result = rr == null ? "" : rr.ToString(); //自定义事件 job.custom_action = CustomAction; //自定义标签 job.custom_flag = CustomFlag; //保留字段 foreach (var p in m_reserve) { switch (p.Key) { case "STR_RES_1": job.STR_RES_1 = Convert.ToString(p.Value); break; case "STR_RES_2": job.STR_RES_2 = Convert.ToString(p.Value); break; case "STR_RES_3": job.STR_RES_3 = Convert.ToString(p.Value); break; case "INT_RES_1": job.INT_RES_1 = Convert.ToInt32(p.Value); break; case "INT_RES_2": job.INT_RES_2 = Convert.ToInt32(p.Value); break; case "INT_RES_3": job.INT_RES_3 = Convert.ToInt32(p.Value); break; default: break; } } Jobs t_j = new Jobs(); this.job_id = t_j.SaveJob(job); }
/// <summary> /// 从数据库记录加载类对象 /// </summary> /// <param name="job">数据库记录</param> public override void Load(Timer_Jobs job) { m_wfentityID = job.workflow_ID; base.Load(job); }