From 44eefeafb411920bc9cf62a706ee04b6ef5f5772 Mon Sep 17 00:00:00 2001 From: wugang <425674808@qq.com> Date: Wed, 21 Mar 2018 15:49:43 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BWP.B3_YunKen.Web/BWP.B3_YunKen.Web.csproj | 1 + .../CusAcceptWeixinMessageTemplate.cs | 86 +++++++++++++++++++ BWP.B3_YunKen.Web/PluginClass.cs | 11 +++ .../CusrAcceptDoCheckSendWeixinMessage.cs | 70 +++++++++++++++ BWP.B3_YunKen/BWP.B3_YunKen.csproj | 1 + 5 files changed, 169 insertions(+) create mode 100644 BWP.B3_YunKen.Web/Pages/WeixinMessage_/CusAcceptWeixinMessageTemplate.cs create mode 100644 BWP.B3_YunKen/BLActions/CusrAcceptDoCheckSendWeixinMessage.cs diff --git a/BWP.B3_YunKen.Web/BWP.B3_YunKen.Web.csproj b/BWP.B3_YunKen.Web/BWP.B3_YunKen.Web.csproj index 02754a3..3e82776 100644 --- a/BWP.B3_YunKen.Web/BWP.B3_YunKen.Web.csproj +++ b/BWP.B3_YunKen.Web/BWP.B3_YunKen.Web.csproj @@ -194,6 +194,7 @@ + diff --git a/BWP.B3_YunKen.Web/Pages/WeixinMessage_/CusAcceptWeixinMessageTemplate.cs b/BWP.B3_YunKen.Web/Pages/WeixinMessage_/CusAcceptWeixinMessageTemplate.cs new file mode 100644 index 0000000..05c86a1 --- /dev/null +++ b/BWP.B3_YunKen.Web/Pages/WeixinMessage_/CusAcceptWeixinMessageTemplate.cs @@ -0,0 +1,86 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Web.UI; +using BWP.B3Frameworks.BO; +using BWP.B3Frameworks.Utils; +using BWP.B3Sale.BL; +using Forks.EnterpriseServices.BusinessInterfaces; + +namespace BWP.Web.Pages.WeixinMessage_ +{ + public class CusAcceptWeixinMessageTemplate : WeixinMessageUtil.IWeixinMessageView + { + WeixinMessage mMessage; + + public CusAcceptWeixinMessageTemplate(WeixinMessage message) + { + mMessage = message; + } + + public System.Web.UI.Control CreateContent() + { + var bl = BIFactory.Create(); + var cusAccept = bl.Load(mMessage.TargetID.Value); + + var html = @" +
+

{title}

+
+ + + + + +
会计单位{AccountingUnit_ID}发货时间{LoadTime}
销售出库报价数量合计{AcceptNumber}销售出库金额{Money}
送货员{Deliveryman_Name}车牌号{Car_Name}
运费金额{FreightPrice}客户{Customer_Name}
+ + +{trs} +
存货规格验收数量验收金额主单位辅单位品牌项备注
+
+
+"; + html = html.Replace("{title}", mMessage.Title); + html = html.Replace("{AccountingUnit_ID}", cusAccept.AccountingUnit_ID == null ? "" : cusAccept.AccountingUnit_ID.Value.ToString()).Replace("{LoadTime}", cusAccept.LoadTime == null ? "" : cusAccept.LoadTime.Value.ToString()).Replace("{AcceptNumber}", cusAccept.AcceptNumber == null ? "" : cusAccept.AcceptNumber.Value.ToString()).Replace("{Money}", cusAccept.Money == null ? string.Empty : cusAccept.Money.Value.ToString()).Replace("{Deliveryman_Name}", cusAccept.Deliveryman_Name).Replace("{Car_Name}", cusAccept.Car_Name).Replace("{FreightPrice}", cusAccept.FreightPrice == null ? string.Empty : cusAccept.FreightPrice.Value.ToString()).Replace("{Customer_Name}", cusAccept.Customer_Name); + if (cusAccept.Details.Count() > 0) { + var str = new StringBuilder(); + foreach (var detail in cusAccept.Details) { + str.Append(""); + str.Append(""); + str.Append(detail.Goods_Name); + str.Append(""); + str.Append(""); + str.Append(detail.Goods_Spec); + str.Append(""); + str.Append(""); + str.Append(detail.AcceptNum); + str.Append(""); + str.Append(""); + str.Append(detail.Money); + str.Append(""); + str.Append(""); + str.Append(detail.Unit); + str.Append(""); + str.Append(""); + str.Append(detail.Goods_SecondUnit); + str.Append(""); + str.Append(""); + str.Append(detail.BrandItem_Name); + str.Append(""); + str.Append(""); + str.Append(detail.Remark); + str.Append(""); + str.Append(""); + } + html = html.Replace("{trs}", str.ToString()); + } + return new LiteralControl(html); + } + + public string GetTitle() + { + return mMessage.Title; + } + } +} diff --git a/BWP.B3_YunKen.Web/PluginClass.cs b/BWP.B3_YunKen.Web/PluginClass.cs index 187ba80..21f73c5 100644 --- a/BWP.B3_YunKen.Web/PluginClass.cs +++ b/BWP.B3_YunKen.Web/PluginClass.cs @@ -18,6 +18,10 @@ using BWP.Web.Pages.B3Sale.Bills.Verification_; using BWP.Web.Pages.B3Sale.Bills.ReturnInStore_; using BWP.Web.Pages.B3Sale.Bills.ReturnApplication_; using BWP.B3Frameworks; +using BWP.B3Frameworks.Utils; +using System; +using BWP.Web.Pages; +using BWP.Web.Pages.WeixinMessage_; namespace BWP.B3_YunKen.Web { @@ -44,6 +48,7 @@ namespace BWP.B3_YunKen.Web GlobalFlags.On(B3SaleConsts.Flags.UseCustomerAcceptDate); GlobalFlags.On(B3SaleConsts.Flags.CustAcceptAnalyseUseDealerZone); GlobalFlags.On(B3FrameworksConsts.GlobalFlags.青花瓷公众号登陆支持验证码); + GlobalFlags.On(B3SaleConsts.Flags.SetPriceByBrandItem); WpfPageFactory.RegisterPageOverlay(typeof(OrderEdit).FullName, typeof(OrderEdit_Ext).FullName); WpfPageFactory.RegisterPageOverlay(typeof(SaleOutStoreEdit).FullName, typeof(SaleOutStoreEdit_Ext).FullName); WpfPageFactory.RegisterPageOverlay(typeof(SaleForecastEdit).FullName, typeof(SaleForecastEdit_Ext).FullName); @@ -62,6 +67,12 @@ namespace BWP.B3_YunKen.Web WeChatDataTemplateNameAttribute.SetCustomName(typeof(Order), "耘垦销售订单"); WeChatDataTemplateNameAttribute.SetCustomName(typeof(SaleOutStore), "耘垦销售出库单"); WeChatDataTemplateNameAttribute.SetCustomName(typeof(SaleForecast), "耘垦销售预报"); + WeixinMessageUtil.RegisterCustomView("耘垦客户验收", (message) => { return new CusAcceptWeixinMessageTemplate(message); }); + } + + public static bool TryGetViewCreator(string type, Func creator) + { + return true; } public void OnUnitInit() diff --git a/BWP.B3_YunKen/BLActions/CusrAcceptDoCheckSendWeixinMessage.cs b/BWP.B3_YunKen/BLActions/CusrAcceptDoCheckSendWeixinMessage.cs new file mode 100644 index 0000000..dbfad10 --- /dev/null +++ b/BWP.B3_YunKen/BLActions/CusrAcceptDoCheckSendWeixinMessage.cs @@ -0,0 +1,70 @@ +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; + string empUserName; + string cusUserName; + if (dmo.Employee_ID != null) { + empUserName = InnerBLUtil.GetDmoProperty(context.Session, "User_Name", new Tuple("Employee_ID", dmo.Employee_ID)); + InsertExternalMessage(dmo, empUserName, context); + } + if (dmo.Customer_ID != null) { + cusUserName = InnerBLUtil.GetDmoProperty(context.Session, "User_Name", new Tuple("Customer_ID", dmo.Customer_ID)); + InsertExternalMessage(dmo, cusUserName, context); + } + } + + private void InsertExternalMessage(CustomerAccept accept, string userName, IDmoContext context) + { + 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(context); + var externalMessage = new ExternalMessage(); + externalMessage.Type = ExternalMessageType.微信; + externalMessage.Receiver = userName; + externalMessage.Url = url; + externalMessage.Subject = message.Title; + externalMessageBL.Insert(externalMessage); + } + + public IList Features + { + get { return new List(); } + } + + public string Name + { + get { return "B3_YunKen.【客户验收】审核时发送微信消息给{客户}和{销售人员}"; } + } + } +} diff --git a/BWP.B3_YunKen/BWP.B3_YunKen.csproj b/BWP.B3_YunKen/BWP.B3_YunKen.csproj index 12d804a..5797acd 100644 --- a/BWP.B3_YunKen/BWP.B3_YunKen.csproj +++ b/BWP.B3_YunKen/BWP.B3_YunKen.csproj @@ -65,6 +65,7 @@ +