|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
using System.Text;
|
|
|
using BWP.B3Frameworks.BO;
|
|
|
using BWP.B3Frameworks.BO.NamedValueTemplate;
|
|
|
using BWP.B3Frameworks.Utils;
|
|
|
using BWP.B3Sale.BL;
|
|
|
using BWP.B3Sale.BO;
|
|
|
using Forks.EnterpriseServices.BusinessInterfaces;
|
|
|
using Forks.EnterpriseServices.DomainObjects2;
|
|
|
using Forks.EnterpriseServices.DomainObjects2.DQuery;
|
|
|
using Forks.EnterpriseServices.SqlDoms;
|
|
|
using TSingSoft.WebPluginFramework.BIPlugins.BLEvents;
|
|
|
using Forks.EnterpriseServices.BusinessInterfaces;
|
|
|
using BWP.B3Frameworks.BL;
|
|
|
|
|
|
namespace BWP.B3_YunKen.BLActions
|
|
|
{
|
|
|
public class CusrAcceptDoCheckSendWeixinMessage : IBLMethodAction
|
|
|
{
|
|
|
public string Description
|
|
|
{
|
|
|
get { return "【客户验收】审核时发送微信消息给{客户}、{销售人员}、{经销商}"; }
|
|
|
}
|
|
|
|
|
|
public void Execute(IDmoContext context, object customer, object parameter)
|
|
|
{
|
|
|
var dmo = customer as CustomerAccept;
|
|
|
if (dmo == null)
|
|
|
return;
|
|
|
if (parameter == null)
|
|
|
throw new ApplicationException("请配置接收消息的角色");
|
|
|
string empUserName;
|
|
|
string cusUserName;
|
|
|
var roles = parameter.ToString().Split(',');
|
|
|
if (roles.Contains("销售人员")) {
|
|
|
if (dmo.Employee_ID != null) {
|
|
|
empUserName = InnerBLUtil.GetDmoProperty<Employee, string>(context.Session, "User_Name", new Tuple<string, object>("ID", dmo.Employee_ID));
|
|
|
InsertExternalMessage(dmo, empUserName, context);
|
|
|
}
|
|
|
}
|
|
|
if (roles.Contains("客户")) {
|
|
|
if (dmo.Customer_ID != null) {
|
|
|
cusUserName = InnerBLUtil.GetDmoProperty<Customer, string>(context.Session, "User_Name", new Tuple<string, object>("ID", dmo.Customer_ID));
|
|
|
InsertExternalMessage(dmo, cusUserName, context);
|
|
|
}
|
|
|
}
|
|
|
if (roles.Contains("经销商")) {
|
|
|
if (dmo.CustomerDealer_ID != null) {
|
|
|
cusUserName = InnerBLUtil.GetDmoProperty<Customer, string>(context.Session, "User_Name", new Tuple<string, object>("ID", dmo.CustomerDealer_ID));
|
|
|
InsertExternalMessage(dmo, cusUserName, context);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void InsertExternalMessage(CustomerAccept accept, string userName, IDmoContext context)
|
|
|
{
|
|
|
if (string.IsNullOrEmpty(userName))
|
|
|
return;
|
|
|
var message = new WeixinMessage();
|
|
|
message.Title = "客户验收单No."+accept.ID;
|
|
|
message.TargetID = accept.ID;
|
|
|
message.Type = "耘垦客户验收";
|
|
|
var url = WeixinMessageUtil.NewWeixinMessageUrl(context.Session, message);
|
|
|
var externalMessageBL = BIFactory.Create<IExternalMessageBL>(context);
|
|
|
var externalMessage = new ExternalMessage();
|
|
|
externalMessage.Type = ExternalMessageType.微信;
|
|
|
externalMessage.Receiver = userName;
|
|
|
externalMessage.Url = url;
|
|
|
externalMessage.Subject = message.Title;
|
|
|
//string customerDealer_Name = string.Empty;
|
|
|
//if(accept.BillID!=null){
|
|
|
// var outbl = BIFactory.Create<ISaleOutStoreBL>(context);
|
|
|
// if (accept.BillID != null) {
|
|
|
// var saleOutStore = outbl.Load(accept.BillID.Value);
|
|
|
// customerDealer_Name = saleOutStore.CustomerDealer_Name;
|
|
|
// }else{
|
|
|
// customerDealer_Name = accept.CustomerDealer_Name;
|
|
|
// }
|
|
|
//}
|
|
|
var str = "发货工厂:" + accept.AccountingUnit_Name + " 发货时间:" + accept.CheckTime != null ? accept.CheckTime.Value.ToString() : string.Empty + " 客户名称:"+accept.CustomerDealer_Name+" 分销商:"+accept.Customer_Name+" 客户验收单号:"+accept.Code;
|
|
|
externalMessage.Content = str;
|
|
|
externalMessageBL.Insert(externalMessage);
|
|
|
}
|
|
|
|
|
|
public IList<string> Features
|
|
|
{
|
|
|
get { return new List<string>(); }
|
|
|
}
|
|
|
|
|
|
public string Name
|
|
|
{
|
|
|
get { return "B3_YunKen.【客户验收】审核时发送微信消息给{客户}、{销售人员}、{经销商}"; }
|
|
|
}
|
|
|
}
|
|
|
}
|