diff --git a/B3WeChat/BL/IApproveMessageBL.cs b/B3WeChat/BL/IApproveMessageBL.cs index 44db00a..8bed79c 100644 --- a/B3WeChat/BL/IApproveMessageBL.cs +++ b/B3WeChat/BL/IApproveMessageBL.cs @@ -74,12 +74,47 @@ namespace BWP.B3WeChat.BL message.ApproveResult = 审批状态.已审批; Session.Update(message); + CloseOthersMessages(message, "审批"); + + } + + private void CloseOthersMessages(ApproveMessage message,string action) + { + if (string.IsNullOrEmpty(message.BusinessNo)) + { + return; + } + + var query = new DmoQuery(typeof(ApproveMessage)); + + query.Where.Conditions.Add(DQCondition.EQ("CustomerCode", message.CustomerCode)); + query.Where.Conditions.Add(DQCondition.EQ("BusinessNo", message.BusinessNo)); + query.Where.Conditions.Add(DQCondition.InEQ("ID", message.ID)); + + var list = Session.ExecuteList(query).Cast().ToArray(); + + if (list.Length > 0) + { + var update = new DQUpdateDom(typeof(ApproveMessage)); + update.Where.Conditions.Add(DQCondition.EQ("CustomerCode", message.CustomerCode)); + update.Where.Conditions.Add(DQCondition.EQ("BusinessNo", message.BusinessNo)); + update.Where.Conditions.Add(DQCondition.InEQ("ID", message.ID)); + update.Columns.Add(new DQUpdateColumn("ApproveResult", 审批状态.已关闭)); + Session.ExecuteNonQuery(update); + } + + foreach (var otherItem in list) + { + SendMessageUtil.SendCloseMessage(otherItem.OpenID, otherItem.ID, message.Username + action); + } + } public void Reject(ApproveMessage message) { message.ApproveResult = 审批状态.已退回; Session.Update(message); + CloseOthersMessages(message, "退回"); } } } diff --git a/B3WeChat/BO/NamedValueTemplate.cs b/B3WeChat/BO/NamedValueTemplate.cs index 27e0f31..82f56a8 100644 --- a/B3WeChat/BO/NamedValueTemplate.cs +++ b/B3WeChat/BO/NamedValueTemplate.cs @@ -15,5 +15,7 @@ namespace BWP.B3WeChat.BO.NamedValueTemplate /// 审批消息本身没有已删除状态,只用来查询消息状态用 /// public static NamedValue<审批状态> 已删除 = new NamedValue<审批状态>(3); + + public static NamedValue<审批状态> 已关闭 = new NamedValue<审批状态>(4); } } diff --git a/B3WeChat/Rpcs/ApproveMessageRpc.cs b/B3WeChat/Rpcs/ApproveMessageRpc.cs index 5229457..ad3e2c0 100644 --- a/B3WeChat/Rpcs/ApproveMessageRpc.cs +++ b/B3WeChat/Rpcs/ApproveMessageRpc.cs @@ -59,18 +59,6 @@ namespace BWP.B3WeChat.Rpcs #endif } - private static void DelMessagesByBusiness(ApproveMessage message) - { - if (string.IsNullOrEmpty(message.BusinessNo)) - { - return; - } - var del = new DQDeleteDom(typeof(ApproveMessage)); - del.Where.Conditions.Add(DQCondition.EQ("CustomerCode", message.CustomerCode)); - del.Where.Conditions.Add(DQCondition.EQ("BusinessNo", message.BusinessNo)); - del.EExecute(); - } - [Rpc] public static Dictionary QueryApproveResult(string[] messageIDList) @@ -115,8 +103,6 @@ namespace BWP.B3WeChat.Rpcs return; } SendMessageUtil.SendFeedbackNotice(message.OpenID, "你好,你的审批结果ERP系统已收到并处理", "微信审批接收", "消息号" + message.ID, message.CreateTime, true); - bl.Delete(messageID); - DelMessagesByBusiness(message); } [Rpc] @@ -127,8 +113,6 @@ namespace BWP.B3WeChat.Rpcs return; } SendMessageUtil.SendFeedbackNotice(message.OpenID, "你好,你的审批结果ERP系统已收到并处理", "微信审批接收", "消息号" + message.ID, message.CreateTime, false, reason); - bl.Delete(messageID); - DelMessagesByBusiness(message); } } } diff --git a/B3WeChat/Utils/SendMessageUtil.cs b/B3WeChat/Utils/SendMessageUtil.cs index cb544f0..2f2eb14 100644 --- a/B3WeChat/Utils/SendMessageUtil.cs +++ b/B3WeChat/Utils/SendMessageUtil.cs @@ -80,10 +80,20 @@ namespace BWP.B3WeChat.Utils dict.Add("keyword1", new ValueColor(FormatTime(DateTime.Now))); dict.Add("keyword2", new ValueColor(content)); InOutMessageUtil.SendTemplateMessage(openID, "QEgY8xa4BuAAcyTex1qXuN9KeKM93O9XHCz2Ti-oCpc", dict); + } + public static void SendCloseMessage(string openID, string messageID,string description) + { + var dict = new Dictionary(); + var first = string.Format("你好,发给你的审批消息NO.{0}已关闭", messageID); + dict.Add("first", new ValueColor(first)); + dict.Add("keyword1", new ValueColor(FormatTime(DateTime.Now))); + dict.Add("keyword2", new ValueColor(description)); + InOutMessageUtil.SendTemplateMessage(openID, "QEgY8xa4BuAAcyTex1qXuN9KeKM93O9XHCz2Ti-oCpc", dict); } + //模板ID:Qp53p4jHyk9vxXiLs0VRUN_5HHwmjeWPT-7XLwG2FkU //标题:绑定通知 //详细内容 diff --git a/WebFolder/config/NamedValue/B3WeChat.xml b/WebFolder/config/NamedValue/B3WeChat.xml index 05e28a9..fb9087b 100644 --- a/WebFolder/config/NamedValue/B3WeChat.xml +++ b/WebFolder/config/NamedValue/B3WeChat.xml @@ -5,6 +5,7 @@ +