/**
|
* PrintAwbOrder.aspx.cs
|
*
|
* 功 能: 打印送货单
|
* 类 名: PrintAwbOrder
|
*
|
* Ver 变更日期 负责人 变更内容
|
* ───────────────────────────────────
|
* V0.01 2013-5-17 17:54 吴崎均 初版
|
*
|
*
|
*
|
*/
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Web;
|
using System.Web.UI;
|
using System.Web.UI.WebControls;
|
using CY.BLL.EC;
|
using CY.BLL;
|
using CY.Model;
|
using CY.Infrastructure.Common;
|
using System.Text;
|
using CY.BLL.Sys;
|
using System.Transactions;
|
|
namespace CY.WebForm.Pages.business
|
{
|
/// <summary>
|
/// 打印送货单
|
/// </summary>
|
public partial class PrintAwbOrder : BasePage
|
{
|
EC_OrderBasicBLL _eC_OrderBasicBLL = null;
|
OA_CorporateClientsBLL _oA_CorporateClientsBLL = null;
|
EC_MemberBasicBLL _eC_MemberBasicBLL = null;
|
OA_StaffBLL oA_StaffBLL = null;
|
OA_DeliverPlanBLL _OA_DeliverPlanBLL = null;
|
OA_DeliverPlanBLL oA_DeliverPlanBLL = null;
|
/// <summary>
|
/// 初始化构造
|
/// </summary>
|
public PrintAwbOrder()
|
{
|
_eC_OrderBasicBLL = new EC_OrderBasicBLL();
|
_oA_CorporateClientsBLL = new OA_CorporateClientsBLL();
|
_eC_MemberBasicBLL = new EC_MemberBasicBLL();
|
oA_StaffBLL = new OA_StaffBLL();
|
_OA_DeliverPlanBLL = new OA_DeliverPlanBLL();
|
oA_DeliverPlanBLL = new OA_DeliverPlanBLL();
|
}
|
|
/// <summary>
|
/// 界面加载事件
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
protected void Page_Load(object sender, EventArgs e)
|
{
|
int shifouDelivery = MyConvert.ConvertToInt(Request["shifouDelivery"]).Value;
|
int orderId = Request["orderId"].ToString().ToInt32().Value;
|
|
|
|
Guid buyerid = MyConvert.ConvertToGuid(Request["buyerid"]);
|
if (string.IsNullOrEmpty(Request["ids"]) || Guid.Empty.Equals(buyerid))
|
{
|
Response.Clear();
|
Response.Write("<script>alert('传入参数错误!');</script>");
|
Response.End(); return;
|
}
|
else ;
|
|
string buyerNmae = string.Empty;
|
string buyerPhone = string.Empty;
|
string address = string.Empty;
|
string prepayments = "0.00";
|
string Remark = "";
|
|
List<EC_AcceptWayByOrder> eC_AcceptWayByOrders = null;
|
OA_CorporateClients oA_CorporateClients = null;
|
OA_CustomerCommunications oA_CustomerCommunications = null;
|
EC_MemberExtend eC_MemberExtend = null;
|
OA_CorporateClients oA_CorporateClientsBiddingcompany = null;
|
|
try
|
{
|
|
|
eC_AcceptWayByOrders = _eC_OrderBasicBLL.SelectOrderAddress(Request["ids"].Trim()) as List<EC_AcceptWayByOrder>;
|
oA_CorporateClients = _oA_CorporateClientsBLL.SelectModelByFirmIdandMemberId(CurrentUser.MemberId, buyerid);
|
oA_CorporateClientsBiddingcompany = _oA_CorporateClientsBLL.SelectBiddingcompanyByFirmId(CurrentUser.MemberId).Where(x=>x.Keyid1 == oA_CorporateClients.Biddingcompany).FirstOrDefault();
|
if (oA_CorporateClientsBiddingcompany != null)
|
{
|
this.spnD.InnerText = oA_CorporateClientsBiddingcompany.CompanyName;
|
}
|
OA_Staff oA_Staff = oA_StaffBLL.GetModelByKeyid(oA_CorporateClients.BusinessManagerId);
|
if (oA_Staff != null)
|
{
|
this.spnB.InnerText = oA_Staff.Name;
|
}
|
this.spnC.InnerText = CurrentUser.TrueName;
|
|
|
if (null == oA_CorporateClients)
|
{
|
EC_MemberExtend buyerMemberExtend = _eC_MemberBasicBLL.GetMemberExtendByMemberId(buyerid);
|
buyerNmae = buyerMemberExtend.Name;
|
buyerPhone = buyerMemberExtend.PhoneNum;
|
address = buyerMemberExtend.DetailedAddress;
|
}
|
else
|
{
|
oA_CustomerCommunications = _oA_CorporateClientsBLL.GetModel_CustomerCommunications(oA_CorporateClients.Keyid);
|
buyerNmae = oA_CorporateClients.CompanyName;
|
buyerPhone = oA_CustomerCommunications.CompanyPhone;
|
address = oA_CustomerCommunications.DetailedAddress;
|
prepayments = (oA_CorporateClients.Prepayments.HasValue ? oA_CorporateClients.Prepayments.Value : 0).ToString("F2");
|
}
|
buyerNmae = string.IsNullOrEmpty(buyerNmae) ? string.Empty : buyerNmae;
|
buyerPhone = string.IsNullOrEmpty(buyerPhone) ? string.Empty : buyerPhone;
|
address = string.IsNullOrEmpty(address) ? string.Empty : address;
|
prepayments = string.IsNullOrEmpty(prepayments) ? string.Empty : prepayments;
|
eC_MemberExtend = _eC_MemberBasicBLL.GetMemberExtendByMemberId(CurrentUser.MemberId);
|
|
|
|
//address = GetAddress(eC_AcceptWayByOrders, address);
|
//if (string.IsNullOrEmpty(address))
|
//{
|
// Response.Clear();
|
// Response.Write(string.Format("<script>alert('{0}!');</script>", 1 == eC_AcceptWayByOrders.Count ? "没有收货地址" : "要合并的订单收货地址必须一致"));
|
// Response.End();
|
//}
|
string accepterAddress = string.Empty;
|
string accepterPhone = string.Empty;
|
|
EC_AcceptWayByOrderBLL _AcceptWayByOrderBLL = new EC_AcceptWayByOrderBLL();
|
EC_AcceptWayByOrder model = _AcceptWayByOrderBLL.GetModelByTargetId(orderId);
|
EC_AwbInfo m_EC_AwbInfo = _eC_OrderBasicBLL.SelectAwbInfoById(orderId);
|
if (model != null)
|
{
|
accepterAddress = model.AccepterAddress;
|
accepterPhone = model.AccepterPhone;
|
}
|
if (!string.IsNullOrEmpty(accepterAddress))
|
{
|
address = accepterAddress;
|
}
|
if (!string.IsNullOrEmpty(accepterPhone))
|
{
|
buyerPhone = accepterPhone;
|
}
|
|
if (m_EC_AwbInfo != null)
|
{
|
Remark = m_EC_AwbInfo.Remark;
|
|
}
|
this.spnRemark.InnerHtml = Remark;
|
StringBuilder builder = new StringBuilder();
|
builder.Append("{");
|
builder.Append("BuyerName:'");
|
builder.Append(buyerNmae);
|
builder.Append("',");
|
builder.Append("BuyerPhone:'");
|
builder.Append(buyerPhone);
|
builder.Append("',");
|
builder.Append("BuyerAddress:'");
|
builder.Append(address);
|
builder.Append("',");
|
builder.Append("BuyerPrepayments:'");
|
builder.Append(prepayments);
|
builder.Append("',");
|
builder.Append("SellerName:'");
|
builder.Append(eC_MemberExtend.Name);
|
builder.Append("',");
|
builder.Append("SellerAddress:'");
|
builder.Append(eC_MemberExtend.DetailedAddress);
|
builder.Append("',");
|
builder.Append("SellerPhone:'");
|
builder.Append(eC_MemberExtend.PhoneNum);
|
builder.Append("',");
|
builder.Append("SellerShortName:'");
|
builder.Append(CurrentUser.ShortName);
|
builder.Append("'}");
|
|
txtOtherInfo.Value = builder.ToString();
|
|
EC_OrderBasic eC_OrderBasic = _eC_OrderBasicBLL.SelectModelById(orderId);
|
|
if (!eC_OrderBasic.DeliveryOrderId.HasValue || eC_OrderBasic.DeliveryOrderId.Equals(Guid.Empty))
|
{
|
|
string ssss = DateTime.Now.ToString("yyyyMMdd");
|
string SellerOrderId = ssss+ 1.ToString("000");
|
|
string maxSellerOrderId = oA_DeliverPlanBLL.GetModelByformid(CurrentUser.MemberId).Where(x=>x.SellerOrderId.Contains(ssss)).Max(x=>x.SellerOrderId);
|
if (!string.IsNullOrWhiteSpace(maxSellerOrderId))
|
{
|
string aaaaaaaaaaaa = maxSellerOrderId.Substring(maxSellerOrderId.Length - 3, 3);
|
SellerOrderId = ssss + (aaaaaaaaaaaa.ToInt32().Value+1).ToString("000");
|
}
|
this.SellerOrderId.InnerText = SellerOrderId;
|
using (TransactionScope scope = new TransactionScope())
|
{
|
|
|
OA_DeliverPlan oA_DeliverPlan = new OA_DeliverPlan();
|
oA_DeliverPlan.Lianxiren = model.Accepter;
|
oA_DeliverPlan.Keyid = Guid.NewGuid();
|
oA_DeliverPlan.FirmId = CurrentUser.MemberId;
|
oA_DeliverPlan.DeliverTime = eC_OrderBasic.DeliveryTime;
|
oA_DeliverPlan.BuyerId = eC_OrderBasic.BuyerId;
|
oA_DeliverPlan.DeliveredTime = null;
|
oA_DeliverPlan.Zhuyishixiang = "";
|
oA_DeliverPlan.Gongzuokaoping = "";
|
oA_DeliverPlan.CarId = 0;
|
oA_DeliverPlan.DriverId = 0;
|
oA_DeliverPlan.Transferstatus = 1;
|
oA_DeliverPlan.TransfersTime = null;
|
oA_DeliverPlan.Sort = 1;
|
oA_DeliverPlan.Creater = CurrentUser.TrueMemberId;
|
oA_DeliverPlan.CreateTime = DateTime.Now;
|
oA_DeliverPlan.Updater = CurrentUser.TrueMemberId;
|
oA_DeliverPlan.LastUpdateTime = DateTime.Now;
|
oA_DeliverPlan.wentifankui = "";
|
oA_DeliverPlan.SellerOrderId = SellerOrderId;
|
oA_DeliverPlan.Dianhua = model.AccepterPhone;
|
oA_DeliverPlan.Dizhi = model.AccepterAddress;
|
oA_DeliverPlan.Remark = "";
|
oA_DeliverPlan.BusinessManagerId = oA_CorporateClients.BusinessManagerId??0;
|
oA_DeliverPlan.Biddingcompany = oA_CorporateClients.Biddingcompany??0;
|
oA_DeliverPlan.shifouDelivery = shifouDelivery;
|
_OA_DeliverPlanBLL.InsertModel(oA_DeliverPlan);
|
string[] orderids = Request["ids"].Split(',');
|
foreach (string oid in orderids)
|
{
|
_eC_OrderBasicBLL.UpdateDeliveryOrderId(oid.ToInt32().Value, oA_DeliverPlan.Keyid);
|
}
|
scope.Complete();
|
}
|
|
|
}
|
else
|
{
|
|
OA_DeliverPlan oA_DeliverPlan = _OA_DeliverPlanBLL.GetModelByKeyid(eC_OrderBasic.DeliveryOrderId,null,null);
|
this.SellerOrderId.InnerText = oA_DeliverPlan.SellerOrderId;
|
oA_DeliverPlan.Dianhua = model.AccepterPhone;
|
oA_DeliverPlan.Dizhi = model.AccepterAddress;
|
oA_DeliverPlan.Lianxiren = model.Accepter;
|
oA_DeliverPlan.Remark = "";
|
oA_DeliverPlan.BusinessManagerId = oA_CorporateClients.BusinessManagerId ?? 0;
|
oA_DeliverPlan.Biddingcompany = oA_CorporateClients.Biddingcompany ?? 0;
|
//oA_DeliverPlan.shifouDelivery = shifouDelivery;
|
oA_DeliverPlan.DeliverTime = eC_OrderBasic.DeliveryTime;
|
_OA_DeliverPlanBLL.UpdateModel(oA_DeliverPlan);
|
}
|
}
|
catch (Exception ex)
|
{
|
PAGEHandleException(ex);
|
Response.Clear();
|
Response.Write("<script>alert('数据错误!');</script>");
|
Response.End();
|
}
|
|
|
|
}
|
/// <summary>
|
/// 获取订单送货地址
|
/// </summary>
|
/// <param name="eC_AcceptWayByOrders">订单收货地址</param>
|
/// <param name="defaultAddress">默认收货地址</param>
|
private static string GetAddress(List<EC_AcceptWayByOrder> eC_AcceptWayByOrders, string defaultAddress)
|
{
|
if (null == eC_AcceptWayByOrders || 0 == eC_AcceptWayByOrders.Count) return null;
|
Sys_DictionaryBLL _sys_DictionaryBLL = new Sys_DictionaryBLL();
|
List<Sys_Dictionary> sys_Dictionaries = _sys_DictionaryBLL.GetDataByType("收货方式") as List<Sys_Dictionary>;
|
Dictionary<int, string> typs = new Dictionary<int, string>();
|
sys_Dictionaries.Find(delegate(Sys_Dictionary sys_Dictionary)
|
{
|
typs.Add(sys_Dictionary.Keyid.Value, sys_Dictionary.Name);
|
return false;
|
});
|
string address = string.Empty;
|
eC_AcceptWayByOrders.Find(delegate(EC_AcceptWayByOrder tempAcceptWay)
|
{
|
switch (typs[tempAcceptWay.AcceptTypeId.Value])
|
{
|
case "自提":
|
case "代发货运":
|
default:
|
break;
|
|
case "送货上门":
|
case "指定货运公司":
|
if (null == address) return true; else ;//地址不相同时直接跳出
|
//地址为空字符时或者地址与收货地址相同时地址为收货地址,否则地址不相同(为空)
|
address = 0 == address.Length || (!string.IsNullOrEmpty(tempAcceptWay.AccepterAddress) && address.Equals(tempAcceptWay.AccepterAddress)) ? tempAcceptWay.AccepterAddress : null;
|
|
break;
|
|
}
|
return false;
|
});
|
|
if (null == address)//地址完全不一致
|
{
|
return null;
|
}
|
else if (string.Empty.Equals(address)) //都是自提或是代发货运时采用默认地址
|
{
|
return defaultAddress;
|
}
|
else
|
{
|
return address;//地址一致时采用一致的地址
|
}
|
|
|
}
|
}
|
}
|