|
|
|
|
|
|
|
|
|
using NetLibrary.Express;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Data;
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
using System.Drawing.Printing;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Reflection;
|
|
|
|
|
using System.Web;
|
|
|
|
|
using System.Web.UI;
|
|
|
|
|
using System.Web.UI.WebControls;
|
|
|
|
|
using TradeData;
|
|
|
|
|
using TradeModel;
|
|
|
|
|
|
|
|
|
|
namespace TradeManage.DingDan
|
|
|
|
|
{
|
|
|
|
|
public partial class DD_DoneOrderListForTM : System.Web.UI.Page
|
|
|
|
|
{
|
|
|
|
|
// ReportDocument rptSales = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
|
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected void APrint_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
////Page.ClientScript.RegisterClientScriptBlock(Page.ClientScript.GetType(), "big", "<script>alert('"+ordersid.Value+"')</script>");
|
|
|
|
|
//string idarr = ordersid.Value.Trim(',');//.Split(',');
|
|
|
|
|
//int printType = 0;
|
|
|
|
|
////int ExpressID = Convert.ToInt32(Session["ExpressID"].ToString());
|
|
|
|
|
//int CompanyId = 1;
|
|
|
|
|
//if (idarr == null || idarr == "")
|
|
|
|
|
// return;
|
|
|
|
|
////List<int> orderlist = new List<int>();
|
|
|
|
|
////for (int i = 0; i < idarr.Length; i++)
|
|
|
|
|
////{
|
|
|
|
|
//// orderlist.Add(Convert.ToInt32(idarr[i]));
|
|
|
|
|
////}
|
|
|
|
|
//OrderPrintData opd = new OrderPrintData();
|
|
|
|
|
//var ordermodel = opd.GetOrderPrint(idarr, CompanyId, printType);
|
|
|
|
|
//if (ordermodel == null || ordermodel.Count() == 0)
|
|
|
|
|
// return;
|
|
|
|
|
////CrystalReportSource1.Report.FileName = ordermodel.First().ExpressRPT;
|
|
|
|
|
//rptSales.FileName = Server.MapPath("../PrintTemplate/" + ordermodel.First().ExpressRPT);
|
|
|
|
|
|
|
|
|
|
//if (ordermodel.First().ExpressService.Contains("EUB") || ordermodel.First().ExpressService.Contains("E邮宝"))
|
|
|
|
|
//{
|
|
|
|
|
// List<OrderDetail> listod = new List<OrderDetail>();
|
|
|
|
|
// foreach (var q in ordermodel)
|
|
|
|
|
// {
|
|
|
|
|
// if (q.ExpressService == ("EUB") || q.ExpressService == ("线上EUB") || q.ExpressService == ("Wish-E邮宝"))
|
|
|
|
|
// {
|
|
|
|
|
// //美国EUB邮编图片
|
|
|
|
|
// q.Image = GetZipcodeImg(q.RevZip);
|
|
|
|
|
// }
|
|
|
|
|
// int count = 0;
|
|
|
|
|
// foreach (var d in q.ListModel)
|
|
|
|
|
// {
|
|
|
|
|
// var check = listod.Where(o => o.JoinOrderCode == d.JoinOrderCode && o.GoodsCode == d.GoodsCode && o.GoodsSku == d.GoodsSku && o.TypeDesc == d.TypeDesc && o.GoodsName == d.GoodsName);
|
|
|
|
|
// if (check.Count() == 0)
|
|
|
|
|
// {
|
|
|
|
|
// if (count > 2) break;
|
|
|
|
|
// OrderDetail od = new OrderDetail();
|
|
|
|
|
|
|
|
|
|
// od = d;
|
|
|
|
|
// count++;
|
|
|
|
|
// listod.Add(od);
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// //EUB子报表
|
|
|
|
|
// Sections sections = rptSales.ReportDefinition.Sections;
|
|
|
|
|
|
|
|
|
|
// OrderPrint ppe = new OrderPrint();
|
|
|
|
|
// string back = setdata(listod, sections, ppe);
|
|
|
|
|
//}
|
|
|
|
|
//else
|
|
|
|
|
//{
|
|
|
|
|
// if (ordermodel.First().ExpressService.Contains("Wish") || ordermodel.First().ExpressService == "燕邮宝" || ordermodel.First().ExpressService.Contains("德邮"))
|
|
|
|
|
// {
|
|
|
|
|
// foreach (var q in ordermodel)
|
|
|
|
|
// {
|
|
|
|
|
// //Wish邮
|
|
|
|
|
// if (q.ExpressService.Contains("Wish"))
|
|
|
|
|
// q.RevAddress = GetInfoWH(q.RevCountry, q.RevAddress, q.RevMobile, q.RevPhone, q.ExpressService, q.AreaSerial, q.CountryName);
|
|
|
|
|
|
|
|
|
|
// //燕邮宝
|
|
|
|
|
// if (q.ExpressService.Contains("燕邮宝"))
|
|
|
|
|
// q.AreaSerial = Getcode(q.RevZip);
|
|
|
|
|
// //德国邮政
|
|
|
|
|
// if (q.ExpressService.Contains("德邮"))
|
|
|
|
|
// q.RevAddress = getDHLCustom(q.RevAddress);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// foreach (var q in ordermodel)
|
|
|
|
|
// {
|
|
|
|
|
// if (q.JoinOrderCode != null)
|
|
|
|
|
// {
|
|
|
|
|
// q.OrderCode = q.JoinOrderCode;
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
//}
|
|
|
|
|
//rptSales.SetDataSource(ordermodel);
|
|
|
|
|
//PrintDocument prtdoc = new PrintDocument();
|
|
|
|
|
//string strDefaultPrinter = prtdoc.PrinterSettings.PrinterName;
|
|
|
|
|
|
|
|
|
|
//// then print, this is the important thing here
|
|
|
|
|
//rptSales.PrintOptions.PrinterName = strDefaultPrinter;
|
|
|
|
|
//rptSales.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.DefaultPaperSize;
|
|
|
|
|
//rptSales.PrintOptions.PaperSource = CrystalDecisions.Shared.PaperSource.Auto;
|
|
|
|
|
////rptSales.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, false, "");
|
|
|
|
|
////parameters here depending on your situation.
|
|
|
|
|
//rptSales.PrintToPrinter(1, true, 1, 9999);
|
|
|
|
|
}
|
|
|
|
|
//public string getDHLCustom(string custom)
|
|
|
|
|
//{
|
|
|
|
|
// string str = "";
|
|
|
|
|
// string[] templist = custom.Split(',');
|
|
|
|
|
// for (int i = 0; i < templist.Length; i++)
|
|
|
|
|
// {
|
|
|
|
|
// if (templist[i].Trim() != "") str += templist[i].Trim() + "\r\n";
|
|
|
|
|
// }
|
|
|
|
|
// return str;
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
//protected string GetInfoWH(string CountryEn, string address, string phone, string tel, string shippmark, string code1, string CountryCN)
|
|
|
|
|
//{
|
|
|
|
|
// string result = "";
|
|
|
|
|
// string pstr = "";
|
|
|
|
|
// string str = "";
|
|
|
|
|
// if (shippmark.Contains("平邮"))
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
|
|
// str = CountryEn + " " + code1 + " " + CountryCN + "\r\n";
|
|
|
|
|
|
|
|
|
|
// if (phone != null)
|
|
|
|
|
// {
|
|
|
|
|
// if (phone.Length > 5)
|
|
|
|
|
// {
|
|
|
|
|
// pstr = phone;
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// if (pstr == "") pstr = tel;
|
|
|
|
|
// string[] alist = address.Split(',');
|
|
|
|
|
// string a = alist[0] + "\r\n";
|
|
|
|
|
// string zip = alist[alist.Length - 2].ToString();
|
|
|
|
|
// for (int i = 1; i < alist.Length - 2; i++)
|
|
|
|
|
// {
|
|
|
|
|
// a += alist[i] + ",";
|
|
|
|
|
// }
|
|
|
|
|
// result = a + CountryEn + " " + zip + "\r\n" + str + "Phone:" + pstr;
|
|
|
|
|
// }
|
|
|
|
|
// else
|
|
|
|
|
// {
|
|
|
|
|
// //var data = pr.Where(o => o.Country.Trim() == CountryEn.Trim());
|
|
|
|
|
|
|
|
|
|
// //if (data.Count() > 0)
|
|
|
|
|
// //{
|
|
|
|
|
// str = CountryEn + " " + code1 + " " + CountryCN + "\r\n";
|
|
|
|
|
// //}
|
|
|
|
|
// if (phone != null)
|
|
|
|
|
// {
|
|
|
|
|
// if (phone.Length > 5)
|
|
|
|
|
// {
|
|
|
|
|
// pstr = phone;
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// if (pstr == "") pstr = tel;
|
|
|
|
|
// string[] alist = address.Split(',');
|
|
|
|
|
// string a = alist[0] + "\r\n";
|
|
|
|
|
// string zip = alist[alist.Length - 2].ToString();
|
|
|
|
|
// for (int i = 1; i < alist.Length - 2; i++)
|
|
|
|
|
// {
|
|
|
|
|
// a += alist[i] + ",";
|
|
|
|
|
// }
|
|
|
|
|
// result = a + CountryEn + " " + zip + "\r\n" + str + "Phone:" + pstr;
|
|
|
|
|
// }
|
|
|
|
|
// return result;
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
//public string Getcode(string data)
|
|
|
|
|
//{
|
|
|
|
|
// var str = "1";
|
|
|
|
|
// try
|
|
|
|
|
// {
|
|
|
|
|
// string[] address = data.Split(',');
|
|
|
|
|
// string temp = address[address.Length - 2];
|
|
|
|
|
// int zip = Convert.ToInt32(temp);
|
|
|
|
|
// if (zip >= 100000 && zip <= 199999)
|
|
|
|
|
// str = "1";
|
|
|
|
|
// if (zip >= 200000 && zip <= 299999)
|
|
|
|
|
// str = "2";
|
|
|
|
|
// if (zip >= 300000 && zip <= 399999)
|
|
|
|
|
// str = "3";
|
|
|
|
|
// if ((zip >= 400000 && zip <= 499999) || (zip >= 600000 && zip <= 629999) || (zip >= 640000 && zip <= 641999))
|
|
|
|
|
// str = "4";
|
|
|
|
|
// if (zip >= 500000 && zip <= 599999)
|
|
|
|
|
// str = "5";
|
|
|
|
|
// if ((zip >= 630000 && zip <= 639999) || (zip >= 642000 && zip <= 699999))
|
|
|
|
|
// str = "6";
|
|
|
|
|
// }
|
|
|
|
|
// catch
|
|
|
|
|
// {
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// return str;
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
//public static string setdata(List<OrderDetail> listod, Sections sections, OrderPrint ppe)
|
|
|
|
|
//{
|
|
|
|
|
// //ppe.CrystalReportSource1 = new CrystalDecisions.Web.CrystalReportSource();
|
|
|
|
|
|
|
|
|
|
// foreach (Section section in sections)
|
|
|
|
|
// {
|
|
|
|
|
// ReportObjects reportObjects = section.ReportObjects;
|
|
|
|
|
// foreach (ReportObject reportObject in reportObjects)
|
|
|
|
|
// {
|
|
|
|
|
// if (reportObject.Kind == ReportObjectKind.SubreportObject)
|
|
|
|
|
// {
|
|
|
|
|
// SubreportObject subreportObject = (SubreportObject)reportObject;
|
|
|
|
|
// ReportDocument subReportDocument = subreportObject.OpenSubreport(subreportObject.SubreportName);
|
|
|
|
|
// subReportDocument.SetDataSource(listod);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// return "";
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
//public byte[] GetZipcodeImg(string str)
|
|
|
|
|
//{
|
|
|
|
|
// string barType = "A";
|
|
|
|
|
// string rawData = "420" + str;
|
|
|
|
|
// if (string.IsNullOrEmpty(barType))
|
|
|
|
|
// {
|
|
|
|
|
// barType = "C";
|
|
|
|
|
// }
|
|
|
|
|
// int cw = 1;
|
|
|
|
|
// int hm = 1;
|
|
|
|
|
// int vm = 1;
|
|
|
|
|
// bool showblank = false;
|
|
|
|
|
// bool showfont = false;
|
|
|
|
|
// int emSize = 12;
|
|
|
|
|
// int textA = 1;
|
|
|
|
|
// FontFamily ff = new FontFamily("Arial");
|
|
|
|
|
// absCode128 code128;
|
|
|
|
|
// code128 = new GS1_128(rawData);
|
|
|
|
|
|
|
|
|
|
// code128.BarCellWidth = (byte)cw;
|
|
|
|
|
// code128.HorizontalMulriple = (byte)hm;
|
|
|
|
|
// code128.VerticalMulriple = (byte)vm;
|
|
|
|
|
// code128.ShowBlank = showblank;
|
|
|
|
|
// code128.DataDisplay = showfont;
|
|
|
|
|
// code128.FontSize = emSize;
|
|
|
|
|
// code128.FontFamily = ff;
|
|
|
|
|
// code128.TextAlignment = (System.Drawing.StringAlignment)textA;
|
|
|
|
|
|
|
|
|
|
// System.Drawing.Image img = code128.GetBarCodeImage();
|
|
|
|
|
|
|
|
|
|
// ReportDocument rptDoc1;
|
|
|
|
|
// System.IO.MemoryStream ms = new System.IO.MemoryStream();
|
|
|
|
|
|
|
|
|
|
// img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
|
|
|
|
|
// ms.Position = 0;
|
|
|
|
|
// byte[] imageBytes = new byte[ms.Length];
|
|
|
|
|
// ms.Read(imageBytes, 0, imageBytes.Length);
|
|
|
|
|
// // CrystalDecisions.CrystalReports.Engine.FieldObject img1 = rptDoc1.ReportDefinition.ReportObjects["crtimg"] as CrystalDecisions.CrystalReports.Engine.FieldObject;
|
|
|
|
|
// //img1=img
|
|
|
|
|
// return imageBytes;
|
|
|
|
|
//}
|
|
|
|
|
//public static DataTable ToDataTable<T>(IEnumerable<T> varlist)
|
|
|
|
|
//{
|
|
|
|
|
// DataTable dtReturn = new DataTable();
|
|
|
|
|
|
|
|
|
|
// // column names
|
|
|
|
|
// PropertyInfo[] oProps = null;
|
|
|
|
|
|
|
|
|
|
// if (varlist == null) return dtReturn;
|
|
|
|
|
|
|
|
|
|
// foreach (T rec in varlist)
|
|
|
|
|
// {
|
|
|
|
|
// if (oProps == null)
|
|
|
|
|
// {
|
|
|
|
|
// oProps = ((Type)rec.GetType()).GetProperties();
|
|
|
|
|
// foreach (PropertyInfo pi in oProps)
|
|
|
|
|
// {
|
|
|
|
|
// Type colType = pi.PropertyType;
|
|
|
|
|
|
|
|
|
|
// if ((colType.IsGenericType) && (colType.GetGenericTypeDefinition()
|
|
|
|
|
// == typeof(Nullable<>)))
|
|
|
|
|
// {
|
|
|
|
|
// colType = colType.GetGenericArguments()[0];
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// dtReturn.Columns.Add(new DataColumn(pi.Name, colType));
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// DataRow dr = dtReturn.NewRow();
|
|
|
|
|
|
|
|
|
|
// foreach (PropertyInfo pi in oProps)
|
|
|
|
|
// {
|
|
|
|
|
// dr[pi.Name] = pi.GetValue(rec, null) == null ? DBNull.Value : pi.GetValue
|
|
|
|
|
// (rec, null);
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// dtReturn.Rows.Add(dr);
|
|
|
|
|
// }
|
|
|
|
|
// return dtReturn;
|
|
|
|
|
//}
|
|
|
|
|
}
|
|
|
|
|
}
|