/** * 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; using CY.Model.Inquiry; namespace CY.WebForm.Pages.business { /// /// 打印送货单 /// 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; EC_OrderPrintParameterBLL eC_OrderPrintParameterBLL = null; Sys_DictionaryBLL dictionaryBLL = null; /// /// 初始化构造 /// 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(); eC_OrderPrintParameterBLL = new EC_OrderPrintParameterBLL(); dictionaryBLL = new Sys_DictionaryBLL(); } /// /// 界面加载事件 /// /// /// 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"]); var DeliveryTime = MyConvert.ConvertToDateTime( Request["DeliveryTime"]); if (string.IsNullOrEmpty(Request["ids"]) || Guid.Empty.Equals(buyerid)) { Response.Clear(); Response.Write(""); Response.End(); return; } else ; string buyerNmae = string.Empty; string buyerPhone = string.Empty; string address = string.Empty; string prepayments = "0.00"; string Remark = ""; List 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; oA_CorporateClients = _oA_CorporateClientsBLL.SelectModelByFirmIdandMemberId(CurrentUser.MemberId, buyerid); this.spnBuyerName.InnerText = oA_CorporateClients.CompanyName; 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("", 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 = DeliveryTime.HasValue? DeliveryTime: eC_OrderBasic.DeliveryTime; oA_DeliverPlan.BuyerId = eC_OrderBasic.BuyerId; oA_DeliverPlan.DeliveredTime = null; oA_DeliverPlan.Zhuyishixiang = Remark; 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 = Remark; oA_DeliverPlan.BusinessManagerId = oA_CorporateClients.BusinessManagerId??0; oA_DeliverPlan.Biddingcompany = oA_CorporateClients.Biddingcompany??0; oA_DeliverPlan.CompanyName = oA_CorporateClients.CompanyName; oA_DeliverPlan.shifouDelivery = shifouDelivery; _OA_DeliverPlanBLL.InsertModel(oA_DeliverPlan); this.spnBuyerAddress.InnerText = oA_DeliverPlan.Dizhi; this.spnNowTime.InnerText = oA_DeliverPlan.DeliverTime.Value.ToString("yyyy-MM-dd"); this.SellerOrderId.InnerText = oA_DeliverPlan.SellerOrderId; this.spnBuyerPhone.InnerText = oA_DeliverPlan.Dianhua; 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.spnBuyerAddress.InnerText = oA_DeliverPlan.Dizhi; this.spnNowTime.InnerText = oA_DeliverPlan.DeliverTime.Value.ToString("yyyy-MM-dd"); this.SellerOrderId.InnerText = oA_DeliverPlan.SellerOrderId; this.spnBuyerPhone.InnerText = oA_DeliverPlan.Dianhua; 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.CompanyName = oA_CorporateClients.CompanyName; //oA_DeliverPlan.shifouDelivery = shifouDelivery; //oA_DeliverPlan.DeliverTime = eC_OrderBasic.DeliveryTime; _OA_DeliverPlanBLL.UpdateModel(oA_DeliverPlan); } List eC_OrderBasics = _eC_OrderBasicBLL.GetOrderByIds(Request["ids"]).ToList(); decimal SumPrice = 0; if (eC_OrderBasics != null && eC_OrderBasics.Count > 0) { for (int i = 0; i < eC_OrderBasics.Count; i++) { if (i == 0) { EC_AwbInfo m_EC_AwbInfoaaa = _eC_OrderBasicBLL.SelectAwbInfoById(eC_OrderBasics[i].Keyid.Value); if (m_EC_AwbInfoaaa != null) { this.spnRemark.InnerText = m_EC_AwbInfoaaa.Remark; } } SumPrice += eC_OrderBasics[i].SumPrice.Value; EC_OrderPrintParameter _eC_OrderPrintParameter = eC_OrderPrintParameterBLL.GetModel(eC_OrderBasics[i].Keyid.Value); InquiryCommonModel _inquiryCommonModel = null; if (null == _eC_OrderPrintParameter) { _inquiryCommonModel = new InquiryCommonModel(); } else { _inquiryCommonModel = SerializationHelper.DeSerialize(typeof(InquiryCommonModel), _eC_OrderPrintParameter.PrintParameter) as InquiryCommonModel; } eC_OrderBasics[i].PrintSizeName = _inquiryCommonModel.PrintSizeName; EC_OrderBasic _eC_OrderBasic = _eC_OrderBasicBLL.SelectModelById(eC_OrderBasics[i].Keyid.Value); eC_OrderBasics[i].OrderExtend.PrintNum = _eC_OrderBasic.OrderExtend.PrintNum; var sss = dictionaryBLL.GetDataByType("印刷单位").Where(x => x.MeanValue == _eC_OrderBasic.OrderExtend.printunit).FirstOrDefault(); if (sss != null) { eC_OrderBasics[i].yssldw = sss.Name; } } } rptData.DataSource = eC_OrderBasics; rptData.DataBind(); this.spnSumPrice.InnerText = SumPrice.ToString("#0.00"); this.spnSumPriceUpper.InnerText = GetChinaMoney(SumPrice); } catch (Exception ex) { PAGEHandleException(ex); Response.Clear(); Response.Write(""); Response.End(); } } /// /// 获取订单送货地址 /// /// 订单收货地址 /// 默认收货地址 private static string GetAddress(List eC_AcceptWayByOrders, string defaultAddress) { if (null == eC_AcceptWayByOrders || 0 == eC_AcceptWayByOrders.Count) return null; Sys_DictionaryBLL _sys_DictionaryBLL = new Sys_DictionaryBLL(); List sys_Dictionaries = _sys_DictionaryBLL.GetDataByType("收货方式") as List; Dictionary typs = new Dictionary(); 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;//地址一致时采用一致的地址 } } public static string GetChinaMoney(decimal money) { string[] strArray; string str = ""; string str2 = ""; string str3 = money.ToString("0.00"); switch (str3.Trim().Length) { case 4: strArray = new string[] { str3[0].ToString(), "y", str3[2].ToString(), "j", str3[3].ToString(), "f" }; str = string.Concat(strArray); break; case 5: strArray = new string[] { str3[0].ToString(), "s", str3[1].ToString(), "y", str3[3].ToString(), "j", str3[4].ToString(), "f" }; str = string.Concat(strArray); break; case 6: strArray = new string[] { str3[0].ToString(), "b", str3[1].ToString(), "s", str3[2].ToString(), "y", str3[4].ToString(), "j", str3[5].ToString(), "f" }; str = string.Concat(strArray); break; case 7: strArray = new string[] { str3[0].ToString(), "q", str3[1].ToString(), "b", str3[2].ToString(), "s", str3[3].ToString(), "y", str3[5].ToString(), "j", str3[6].ToString(), "f" }; str = string.Concat(strArray); break; case 8: strArray = new string[] { str3[0].ToString(), "w", str3[1].ToString(), "q", str3[2].ToString(), "b", str3[3].ToString(), "s", str3[4].ToString(), "y", str3[6].ToString(), "j", str3[7].ToString(), "f" }; str = string.Concat(strArray); break; case 9: strArray = new string[] { str3[0].ToString(), "s", str3[1].ToString(), "w", str3[2].ToString(), "q", str3[3].ToString(), "b", str3[4].ToString(), "s", str3[5].ToString(), "y", str3[7].ToString(), "j", str3[8].ToString(), "f" }; str = string.Concat(strArray); break; case 10: strArray = new string[] { str3[0].ToString(), "b", str3[1].ToString(), "s", str3[2].ToString(), "w", str3[3].ToString(), "q", str3[4].ToString(), "b", str3[5].ToString(), "s", str3[6].ToString(), "y", str3[8].ToString(), "j", str3[9].ToString(), "f" }; str = string.Concat(strArray); break; case 11: strArray = new string[] { str3[0].ToString(), "q", str3[1].ToString(), "b", str3[2].ToString(), "s", str3[3].ToString(), "w", str3[4].ToString(), "q", str3[5].ToString(), "b", str3[6].ToString(), "s", str3[7].ToString(), "y", str3[9].ToString(), "j", str3[10].ToString(), "f" }; str = string.Concat(strArray); break; case 12: strArray = new string[] { str3[0].ToString(), "m", str3[1].ToString(), "q", str3[2].ToString(), "b", str3[3].ToString(), "s", str3[4].ToString(), "w", str3[5].ToString(), "q", str3[6].ToString(), "b", str3[7].ToString(), "s", str3[8].ToString(), "y", str3[10].ToString(), "j", str3[11].ToString(), "f" }; str = string.Concat(strArray); break; } for (int i = 0; i < str.Trim().Length; i++) { switch (str[i]) { case '0': str2 = str2 + "零"; break; case '1': str2 = str2 + "壹"; break; case '2': str2 = str2 + "贰"; break; case '3': str2 = str2 + "叁"; break; case '4': str2 = str2 + "肆"; break; case '5': str2 = str2 + "伍"; break; case '6': str2 = str2 + "陆"; break; case '7': str2 = str2 + "柒"; break; case '8': str2 = str2 + "捌"; break; case '9': str2 = str2 + "玖"; break; case 'b': str2 = str2 + "佰"; break; case 'f': str2 = str2 + "分"; break; case 'j': str2 = str2 + "角"; break; case 'm': str2 = str2 + "亿"; break; case 'q': str2 = str2 + "仟"; break; case 's': str2 = str2 + "拾"; break; case 'w': str2 = str2 + "万"; break; case 'y': str2 = str2 + "元"; break; } } return str2; } } }