public Response <string> SendWxTextCardMessage(string _title, string _description, string _url, string _btntxt, string _touser = "******") { WxHelper wx = new WxHelper(_accessor.HttpContext); WxTextCardMessage msg = new WxTextCardMessage(Convert.ToInt32(wx.AgentId), _title, _description, _url, _btntxt); return(wx.SendWxTextCardMessage(msg)); }
/// <summary> /// 驳回报销单 /// </summary> /// <param name="reimburse"></param> private void reject(TravelApply travelApply, WxHelper wx, string opinion, User user) { travelApply.Status = "已拒绝"; travelApply.Level = travelApply.Level + 1; _unitWork.Update(travelApply); // 发通知给提交人 审批被拒绝 WxTextCardMessage msg = new WxTextCardMessage(Convert.ToInt32(wx.AgentId), "审批通知", $"你的差旅申请已被{user.UserName}审批,审批结果为拒绝,审批理由为{opinion}!", "http://yelioa.top:8080/#/travel_apply/mine", ""); msg.touser = travelApply.WechatUserId; wx.SendWxTextCardMessage(msg); }
/// <summary> /// 同意报销单 /// </summary> /// <param name="reimburse"></param> /// <param name="docCode"></param> private void agree(TravelApply travelApply, string docCode, WxHelper wx, User user) { // 判断是否流程结束 var totalStep = _unitWork .Find <ApprovalApprover>(u => u.DocCode.Equals(docCode) && u.DocumentTableName.Equals("差旅申请")).ToList() .Count; if (totalStep == travelApply.Level + 1) { // 流程结束 travelApply.Status = "已审批"; _unitWork.Update(travelApply); // 发通知给提交人 已被审批 WxTextCardMessage msg = new WxTextCardMessage(Convert.ToInt32(wx.AgentId), "审批通知", $"你的差旅申请已被{user.UserName}审批,审批结果为同意!", "http://yelioa.top:8080/#/travel_apply/mine", ""); msg.touser = travelApply.WechatUserId; wx.SendWxTextCardMessage(msg); // 发通知给提交人审批流程结束 msg = new WxTextCardMessage(Convert.ToInt32(wx.AgentId), "审批通知", "你的差旅申请已经审批通过!", "http://yelioa.top:8080/#/travel_apply/mine", ""); msg.touser = travelApply.WechatUserId; wx.SendWxTextCardMessage(msg); } else { // 流程没结束 travelApply.Status = "审批中"; _unitWork.Update(travelApply); // 发通知给提交人 已被审批 WxTextCardMessage msg = new WxTextCardMessage(Convert.ToInt32(wx.AgentId), "审批通知", $"你的差旅申请已被{user.UserName}审批,审批结果为同意!", "http://yelioa.top:8080/#/travel_apply/mine", ""); msg.touser = travelApply.WechatUserId; wx.SendWxTextCardMessage(msg); // 发通知给下一级审批人 msg = new WxTextCardMessage(Convert.ToInt32(wx.AgentId), "审批通知", "你有一笔差旅申请待审批!", "http://yelioa.top:8080/#/travel_apply/pending", ""); msg.touser = _unitWork.FindSingle <ApprovalApprover>(u => u.DocCode.Equals(travelApply.DocCode) && u.DocumentTableName.Equals("差旅申请") && u.Level == travelApply.Level + 1).WechatUserId; wx.SendWxTextCardMessage(msg); } travelApply.Level = travelApply.Level + 1; _unitWork.Update(travelApply); }
public Response <string> SendWxTextCardMessage(WxTextCardMessage msg) { string json = Json.ToJson(msg); return(SendWxMsg(json)); }
/// <summary> /// 差旅申请 新增或保存草稿 /// </summary> /// <param name="travelApply"></param> /// <returns></returns> public TravelApply addOrDraft(TravelApply travelApply, JArray approverJArray, User userInfo, WxHelper wx) { if (string.IsNullOrEmpty(travelApply.DocCode)) { travelApply.DocCode = Encrypt.GenerateDocCode(); } travelApply.WechatUserId = userInfo.WechatUserId; travelApply.UserName = userInfo.UserName; // 找部门id if (!string.IsNullOrEmpty(travelApply.DepartmentName)) { travelApply.DepartmentId = _unitWork.FindSingle <Department>(u => u.Name.Equals(travelApply.DepartmentName)).Id; } // 处理总金额 travelApply.TotalMoney = travelApply.AccomodationFee + travelApply.TicketFee + travelApply.TollFee + travelApply.TravelAllowance; if (!_unitWork.IsExist <TravelApply>(u => u.DocCode.Equals(travelApply.DocCode))) { _unitWork.Add(travelApply); } else { _unitWork.Update(travelApply); } if (travelApply.Status.Equals("已提交")) { // 新增记录到审批人表 var approverList = new List <ApprovalApprover>(); foreach (var jarray in approverJArray) { var approver = new ApprovalApprover { DocumentTableName = "差旅申请", DocCode = travelApply.DocCode, Level = int.Parse(jarray["level"].ToString()), WechatUserId = jarray["wechatUserId"].ToString() }; approverList.Add(approver); } ; _unitWork.BatchAdd(approverList.ToArray()); // 新增记录到审批记录表 var record = new ApprovalRecord { DocumentTableName = "差旅申请", DocCode = travelApply.DocCode, Level = 0, WechatUserId = userInfo.WechatUserId, ApprovalResult = "单据提交", ApprovalOpinions = "单据提交" }; _unitWork.Add(record); // 给下级审批人发消息 WxTextCardMessage msg = new WxTextCardMessage(Convert.ToInt32(wx.AgentId), "审批通知", "你有一笔差旅申请待审批!", "http://yelioa.top:8080/#/travel_apply/pending", ""); msg.touser = _unitWork.FindSingle <ApprovalApprover>(u => u.DocCode.Equals(travelApply.DocCode) && u.DocumentTableName.Equals("差旅申请") && u.Level == travelApply.Level + 1).WechatUserId; wx.SendWxTextCardMessage(msg); // 给提交人发消息 msg = new WxTextCardMessage(Convert.ToInt32(wx.AgentId), "审批通知", $"你的差旅申请已提交,请耐心等待审批!", "http://yelioa.top:8080/#/travel_apply/mine", ""); msg.touser = travelApply.WechatUserId; wx.SendWxTextCardMessage(msg); } _unitWork.Save(); return(travelApply); }