Browse Source

当审核或退回单据时马上关闭相同业务的其他审批消息

master
yashen 9 years ago
parent
commit
1b8b50a7b2
5 changed files with 48 additions and 16 deletions
  1. +35
    -0
      B3WeChat/BL/IApproveMessageBL.cs
  2. +2
    -0
      B3WeChat/BO/NamedValueTemplate.cs
  3. +0
    -16
      B3WeChat/Rpcs/ApproveMessageRpc.cs
  4. +10
    -0
      B3WeChat/Utils/SendMessageUtil.cs
  5. +1
    -0
      WebFolder/config/NamedValue/B3WeChat.xml

+ 35
- 0
B3WeChat/BL/IApproveMessageBL.cs View File

@ -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<ApproveMessage>().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, "退回");
}
}
}

+ 2
- 0
B3WeChat/BO/NamedValueTemplate.cs View File

@ -15,5 +15,7 @@ namespace BWP.B3WeChat.BO.NamedValueTemplate
/// 审批消息本身没有已删除状态,只用来查询消息状态用
/// </summary>
public static NamedValue<> = new NamedValue<>(3);
public static NamedValue<> = new NamedValue<>(4);
}
}

+ 0
- 16
B3WeChat/Rpcs/ApproveMessageRpc.cs View File

@ -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<string, short> 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);
}
}
}

+ 10
- 0
B3WeChat/Utils/SendMessageUtil.cs View File

@ -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<string, ValueColor>();
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
//标题:绑定通知
//详细内容


+ 1
- 0
WebFolder/config/NamedValue/B3WeChat.xml View File

@ -5,6 +5,7 @@
<Word name="已审批" value="1"/>
<Word name="已退回" value="2"/>
<Word name="已删除" value="3"/>
<Word name="已关闭" value="4"/>
</NamedValue>
</NamedValueSettings>

Loading…
Cancel
Save