/// <summary> /// 更新 /// </summary> /// <param name="flowTaskModel">任务实体</param> /// <returns></returns> public int Update(Model.FlowTask flowTaskModel) { using (var db = new DataContext()) { db.Update(flowTaskModel); return(db.SaveChanges()); } }
/// <summary> /// 添加一个任务 /// </summary> /// <param name="flowTask">任务实体</param> /// <returns></returns> public int Add(Model.FlowTask flowTask) { using (var db = new DataContext()) { db.Add(flowTask); return(db.SaveChanges()); } }
/// <summary> /// 发送待办消息 /// </summary> /// <param name="flowTask"></param> /// <returns></returns> public static string SendWaitTaskMessage(Model.FlowTask flowTask) { if (!Config.WeiXin_IsUse) { return(string.Empty); } if (null == flowTask || flowTask.ReceiveId.IsEmptyGuid()) { return(string.Empty); } var userModel = new User().Get(flowTask.ReceiveId); if (null == userModel || userModel.WeiXinOpenId.IsNullOrWhiteSpace()) { return(string.Empty); } var httpContext = Tools.HttpContext; string appopenmodel = null == httpContext ? "0" : httpContext.Request.Querys("rf_appopenmodel"); string linkUrl = Config.WeiXin_WebUrl + string.Format("/RoadFlowCore/FlowRun/{0}?flowid={1}&stepid={2}&taskid={3}&groupid={4}&instanceid={5}&appid={6}&tabid={7}&rf_appopenmodel={8}&ismobile=1", "Index", flowTask.FlowId, flowTask.StepId, flowTask.Id, flowTask.GroupId, flowTask.InstanceId, null == httpContext ? "" : httpContext.Request.Querys("appid"), null == httpContext ? "" : httpContext.Request.Querys("tabid"), appopenmodel); string token = Common.GetAccessToken(); string url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + token; JObject jObject = new JObject { ["touser"] = userModel.WeiXinOpenId, ["template_id"] = "1wFmd0moKTb8HIw1ZIqUGIbo7h253R5IjOQAW5_UkcQ", ["url"] = linkUrl }; JObject data = new JObject(); JObject first = new JObject { ["value"] = flowTask.Title, ["color"] = "" }; data["first"] = first; JObject key1 = new JObject { ["value"] = flowTask.SenderName }; data["keyword1"] = key1; JObject key2 = new JObject { ["value"] = flowTask.ReceiveTime.ToShortDateTimeString() }; data["keyword2"] = key2; JObject remark = new JObject { ["value"] = flowTask.CompletedTime.HasValue ? "要求完成时间:" + flowTask.CompletedTime.Value.ToShortDateTimeString() : "" }; data["remark"] = remark; jObject["data"] = data; string msg = HttpHelper.HttpPost(url, jObject.ToString(Newtonsoft.Json.Formatting.None)); JObject returnJson = JObject.Parse(msg); if (returnJson.Value <string>("errcode").Equals("0")) { //Log.Add("Send template message", msg); return("1"); } else { Log.Add("发送公众号模板消息错误", msg); return(string.Empty); } }
public string QueryInstance() { string appid = Request.Querys("appid"); string tabid = Request.Querys("tabid"); string FlowID = Request.Forms("FlowID"); string Title = Request.Forms("Title"); string ReceiveID = Request.Forms("ReceiveID"); string Date1 = Request.Forms("Date1"); string Date2 = Request.Forms("Date2"); string sidx = Request.Forms("sidx"); string sord = Request.Forms("sord"); string order = (sidx.IsNullOrEmpty() ? "ReceiveTime" : sidx) + " " + (sord.IsNullOrEmpty() ? "DESC" : sord); int size = Tools.GetPageSize(); int number = Tools.GetPageNumber(); Business.FlowTask flowTask = new Business.FlowTask(); Guid userId = new Business.User().GetUserId(ReceiveID); if (FlowID.IsNullOrWhiteSpace()) { FlowID = new Business.Flow().GetManageInstanceFlowIds(Current.UserId).JoinSqlIn(); } DataTable dataTable = flowTask.GetInstanceList(size, number, FlowID, Title, userId.IsEmptyGuid() ? "" : userId.ToString(), Date1, Date2, order, out int count); Newtonsoft.Json.Linq.JArray jArray = new Newtonsoft.Json.Linq.JArray(); foreach (DataRow dr in dataTable.Rows) { var groupTasks = flowTask.GetListByGroupId(dr["GroupId"].ToString().ToGuid()); Model.FlowTask taskModel = null; if (!Title.IsNullOrWhiteSpace()) { taskModel = groupTasks.Where(p => p.Title.ContainsIgnoreCase(Title)).OrderByDescending(p => p.Sort).ThenBy(p => p.Status).First(); } if (null == taskModel) { taskModel = groupTasks.OrderByDescending(p => p.Sort).ThenBy(p => p.Status).First(); } int openModel = 0, width = 0, height = 0; string opation = "<a class=\"list\" href=\"javascript:void(0);\" onclick=\"manage('" + taskModel.Id.ToString() + "', '" + taskModel.GroupId.ToString() + "');\"><i class=\"fa fa-check-square-o\"></i>管理</a>"; //if (taskModel.ExecuteType.In(-1, 0, 1)) //{ opation += "<a class=\"list\" href=\"javascript:void(0);\" onclick=\"delete1('" + taskModel.Id.ToString() + "', '" + taskModel.GroupId.ToString() + "');\"><i class=\"fa fa-trash-o\"></i>删除</a>"; //} string status = flowTask.GetExecuteTypeTitle(taskModel.ExecuteType); string taskTitle = "<a href=\"javascript:void(0);\" class=\"list\" onclick=\"openTask('" + Url.Content("~/RoadFlowCore/FlowRun/Index") + "?" + string.Format("flowid={0}&stepid={1}&instanceid={2}&taskid={3}&groupid={4}&appid={5}&display=1", taskModel.FlowId.ToString(), taskModel.StepId.ToString(), taskModel.InstanceId, taskModel.Id.ToString(), taskModel.GroupId.ToString(), appid ) + "','" + taskModel.Title.TrimAll() + "','" + taskModel.Id.ToString() + "'," + openModel + "," + width + "," + height + ");return false;\">" + taskModel.Title + "</a>"; Newtonsoft.Json.Linq.JObject jObject = new Newtonsoft.Json.Linq.JObject { { "id", taskModel.Id.ToString() }, { "Title", taskTitle }, { "FlowName", taskModel.FlowName }, { "StepName", taskModel.StepName }, { "ReceiveName", taskModel.ReceiveName }, { "ReceiveTime", taskModel.ReceiveTime.ToDateTimeString() }, { "StatusTitle", status }, { "Opation", opation } }; jArray.Add(jObject); } return("{\"userdata\":{\"total\":" + count + ",\"pagesize\":" + size + ",\"pagenumber\":" + number + "},\"rows\":" + jArray.ToString() + "}"); }