You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

116 lines
5.7 KiB

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 BWP.B3Sale.BO;
using Forks.EnterpriseServices.BusinessInterfaces;
using Forks.EnterpriseServices.DomainObjects2;
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<ICustomerAcceptBL>();
var cusAccept = bl.Load(mMessage.TargetID.Value);
var dmoTypeId = DmoTypeIDAttribute.GetID(typeof(SaleOutStore));
string outCode = string.Empty;
string dealer = string.Empty;
string handcarNumber = string.Empty;
string freightUnitPrice = string.Empty;
string driver_Name = string.Empty;
string driverPhone = string.Empty;
string allUnitNum = string.Empty;
string money = string.Empty;
string freightPrice = string.Empty;
if (cusAccept.BillType == dmoTypeId && cusAccept.BillID != null) {
var outbl = BIFactory.Create<ISaleOutStoreBL>();
var saleOutStore = outbl.Load(cusAccept.BillID.Value);
outCode = saleOutStore.Code;
dealer = saleOutStore.CustomerDealer_Name;
handcarNumber = saleOutStore.HandcarNumber;
freightUnitPrice = saleOutStore.FreightUnitPrice==null?string.Empty:saleOutStore.FreightUnitPrice.ToString();
driver_Name = saleOutStore.Driver_Name;
driverPhone = saleOutStore.DriverPhone;
allUnitNum = saleOutStore.AllUnitNum == null ? string.Empty : saleOutStore.AllUnitNum.ToString();
money = saleOutStore.Money == null ? string.Empty : saleOutStore.Money.ToString();
freightPrice = saleOutStore.FreightPrice == null ? string.Empty : saleOutStore.FreightPrice.ToString();
}
var checkTime = cusAccept.CheckTime == null ? "" : cusAccept.CheckTime.Value.ToString();
var acceptNumber = cusAccept.AcceptNumber==null?string.Empty:cusAccept.AcceptNumber.ToString();
var acceptFreightUnitPrice = cusAccept.FreightUnitPrice==null?string.Empty:cusAccept.FreightUnitPrice.ToString();
var acceptMoney = cusAccept.Money==null?string.Empty:cusAccept.Money.ToString();
var acceptFreightPrice = cusAccept.FreightPrice==null?string.Empty:cusAccept.FreightPrice.ToString();
var html = @"
<article class=""weui-article"">
<h1>{title}</h1>
<section>
<table border=""1"" cellspacing=""0"">
<tr><td colspan=""3"">经销商发货信息</td><td>单号</td><td colspan=""2"">{OutCode}</td></tr>
<tr><td>发货工厂</td><td colspan=""2"">{AccountingUnit_Name}</td><td>发货时间</td><td colspan=""2"">{CheckTime}</td></tr>
<tr><td>客户名称</td><td colspan=""5"">{CustomerDealer_Name}</td></tr>
<tr><td>运输车号</td><td colspan=""2"">{HandcarNumber}</td><td>运费单价</td><td colspan=""2"">{FreightUnitPrice}</td></tr>
<tr><td>司机姓名</td><td colspan=""2"">{Driver_Name}</td><td>司机电话</td><td colspan=""2"">{DriverPhone}</td></tr>
<tr><td>总数量</td><td>{AllUnitNum}</td><td>总金额</td><td>{Money}</td><td>总运费</td><td>{FreightPrice}</td></tr>
</table>
<table border=""1"" cellspacing=""0"" style=""margin-top:10px;"">
<tr><td colspan=""3"">分销商发货明细</td><td>单号</td><td colspan=""2"">{AcceptCode}</td></tr>
<tr><td>客户名称</td><td colspan=""5"">{AcceptCode}</td></tr>
<tr><th>名称</th><th>品牌</th><th>件数</th><th>单价</th><th>重量</th><th>金额</th></tr>
{trs}
<tr><td>总数量</td><td colspan=""2"">{AcceptNumber}</td><td>运费单价</td><td colspan=""2"">{AcceptFreightUnitPrice}</td></tr>
<tr><td>总金额</td><td colspan=""2"">{AcceptMoney}</td><td>运费金额</td><td colspan=""2"">{AcceptFreightPrice}</td></tr>
</table>
</section>
</article>
";
html = html.Replace("{title}", mMessage.Title);
html = html.Replace("{OutCode}", outCode).Replace("{AccountingUnit_Name}", cusAccept.AccountingUnit_Name).Replace("{CheckTime}", checkTime).Replace("{CustomerDealer_Name}", dealer).Replace("{HandcarNumber}", handcarNumber).Replace("{FreightUnitPrice}", freightUnitPrice).Replace("{Driver_Name}", driver_Name).Replace("{DriverPhone}", driverPhone).Replace("{AllUnitNum}", allUnitNum).Replace("{Money}", money).Replace("{FreightPrice}", freightPrice).Replace("{AcceptCode}",cusAccept.Code).Replace("{AcceptNumber}", acceptNumber).Replace("{AcceptFreightUnitPrice}", acceptFreightUnitPrice).Replace("{AcceptMoney}", acceptMoney).Replace("{AcceptFreightPrice}", acceptFreightPrice);
if (cusAccept.Details.Count() > 0) {
var str = new StringBuilder();
foreach (var detail in cusAccept.Details) {
str.Append("<tr>");
str.Append("<td>");
str.Append(detail.Goods_Name);
str.Append("</td>");
str.Append("<td>");
str.Append(detail.BrandItem_Name);
str.Append("</td>");
str.Append("<td>");
str.Append(detail.AcceptSecondNumber);
str.Append("</td>");
str.Append("<td>");
str.Append(detail.Price);
str.Append("</td>");
str.Append("<td>");
str.Append(detail.AcceptNum);
str.Append("</td>");
str.Append("<td>");
str.Append(detail.AcceptMoney);
str.Append("</td>");
str.Append("</tr>");
}
html = html.Replace("{trs}", str.ToString());
}
return new LiteralControl(html);
}
public string GetTitle()
{
return mMessage.Title;
}
}
}