using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using TradeData;
using NetLibrary.Data;
using System.Data;
using TradeModel;
using NetLibrary.ReportPrint;
using NetLibrary;
using NetLibrary.Express;
using System.Text.RegularExpressions;
using NetLibrary.OnlineTrade;
using System.Web.Script.Serialization;
using System.Text;
using NetLibrary.Log;
using System.Threading;
using ApiNew;
using Aspose.Pdf;
using System.Net;
using System.Runtime.ConstrainedExecution;
using System.IO;
using System.Net.Http;
using Newtonsoft.Json;
using Org.BouncyCastle.Asn1.Pkcs;
using TradeManage;
using System.Security.Cryptography;
using NetLibrary.WebReference;
using FastJSON;
using System.Runtime.CompilerServices;
using Newtonsoft.Json.Serialization;
using NPOI.HSSF.Record.Formula.Functions;
using static NPOI.HSSF.Util.HSSFColor;
using System.Linq.Expressions;
using Match = System.Text.RegularExpressions.Match;
using TradeManageNew.APIClients.FedexApi.Tests;
using TradeManageNew.APIClients.FedexAPI.Models.RatesAndTransitTimes;
namespace TradeManageNew
{
///
/// DD_OrderServiceNew 的摘要说明
///
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]
public class DD_OrderServiceNew : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
#region 导出订单
[WebMethod(EnableSession = true)]
public string GetListOrderPrintForExcel2(int PlatType, int IsWeight, int ShopId, int DateType, DateTime? SDate, DateTime? EDate, int OutDays, int TjType, string Name, int PrintState, int State, int IsSku, int IsError, int IsDetail, int HBOrder, int PostId, int IsAddr, int IsFP, string KWCode, string GoodsInfo, int TrackState, int FHState, int GM, int SNum, int ENum, int PageIndex, int PageSize, String Sort,string PostionCode, string PostionCode2,int StoreId)
{
PagesNew.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
RefParameterCollection Param = new RefParameterCollection();
if (IsFP > -1)
Param.Add("isnull(a.BillPrint,0)", "=", IsFP, DbType.Int32);
Param.Add("a.CompanyId", "=", CompanyId, DbType.Int32);
Param.Add("a.MateState", "=", 2, DbType.Int32);
if (StoreId > 0)
Param.Add("b.StoreId", "=", StoreId, DbType.Int32);
if (PlatType > 0)
Param.Add("a.PlatId", "=", PlatType, DbType.Int32);
if (ShopId > 0)
Param.Add("a.ShopId", "=", ShopId, DbType.Int32);
if (TrackState == 1)
{
Param.Add("b.TrackState", ">", 0, DbType.Int32);
if (PostId == 0)
Param.Add("b.Post", ">", 0, DbType.Int32);
}
else
if (TrackState == 0)
{
Param.Add("b.TrackState", "=", 0, DbType.Int32);
}
if (DateType == 1)
{
if (SDate != null)
Param.Add("a.OrderDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.OrderDate", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 2)
{
if (SDate != null)
Param.Add("a.InDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.InDate", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 3)
{
if (SDate != null)
Param.Add("a.PrintDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PrintDate", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 4)
{
if (SDate != null)
Param.Add("a.PostDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 5)
{
if (SDate != null)
Param.Add("a.OrderOutDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.OrderOutDate", "<=", EDate, DbType.DateTime);
}
if (OutDays > 0)
{
Param.Add("a.OrderOutDate", "<=", DateTime.Today.AddDays(OutDays), DbType.DateTime);
}
if (PrintState == -1 && FHState > -1)
{
Param.Add("a.poststate", "=", FHState, DbType.Int32);
if (IsError == 1)
{
Param.Add("isnull(b.ErrorInfo,'')", "<>", "", DbType.String);
}
}
else
{
if (IsError == 1)
{
Param.Add("(a.PostState", "=", 2, DbType.Int32);
Param.Add("isnull(b.ErrorInfo,'')", "<>", "", "or", ")", DbType.String);
}
else
Param.Add("a.PostState", "<", 2, DbType.Int32);
}
if (PrintState > -1)
Param.Add("a.PrintState", "=", PrintState, DbType.Int32);
if (PrintState > -1)
Param.Add("a.State", "=", 1, DbType.Int32);
else
{
Param.Add("a.State", ">", 0, DbType.Int32);
Param.Add("a.State", "<", 3, DbType.Int32);
//Param.Add("b.RevPhone", "is", null, "or",")",DbType.String);
}
if (PostId > 0)
Param.Add("b.Post", "=", PostId, DbType.Int32);
if (HBOrder == 1)
Param.Add("a.IsJoin", "=", 1, DbType.Int32);
//if (IsError == 1)
//{
// Param.Add("(b.SendAddr", ">", 0, DbType.Int32);
// Param.Add("b.IsLeaveWord", "=", 1, "or", ")", DbType.Int32);
//}
if (IsAddr > -1)
{
Param.Add("b.SendAddr", "=", IsAddr, DbType.Int32);
}
string TCode = "";
if (Name != "")
{
Name = Name.Trim();
if (TjType == 1)
{
Param.Add("(a.PlatOrderCode", "=", Name, DbType.String);
Param.Add("a.JoinOrderCode", "=", Name, "or", ")", DbType.String);
}
else if (TjType == 2)
{
Param.Add("b.RevName", "like", Name, DbType.String);
}
else if (TjType == 3)
{
Param.Add("b.RevPhone", "like", Name, DbType.String);
}
else if (TjType == 4)
{
Param.Add("(b.RevCountry", "=", Name, DbType.String);
Param.Add("b.CountryName", "=", Name, "or", DbType.String);
Param.Add("b.CountryCode", "=", Name, "or", ")", DbType.String);
}
else if (TjType == 5)
{
Param.Add("b.RevPostCode", "=", Name, DbType.String);
}
else if (TjType == 6)
{
Param.Add("(b.RevAddr", "like", Name, DbType.String);
Param.Add("b.RevProvince", "like", Name, "or", DbType.String);
Param.Add("b.RevCity", "like", Name, "or", DbType.String);
Param.Add("b.RevArea", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 9)
{
Param.Add("(b.ErrorInfo", "like", Name, DbType.String);
Param.Add("b.PostError", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 10)
{
// Param.Add("b.TrackCode", "like", Name, DbType.String);
TCode = Name;
}
}
//if (IsError == 2)
//{
// Param.Add("(a.SendAddr", ">", 0, DbType.Int32);
// Param.Add("a.IsLeaveWord", "=", 1, "or", ")", DbType.Int32);
//}
if (IsWeight == 2)
{
Param.Add("isnull(a.IsSpare,0)", "=", 1, DbType.Int32);
}
else
if (IsWeight == 1)
{
Param.Add("isnull(a.IsSpare,0)", "=", 0, DbType.Int32);
}
//if (IsSku == 0)
// Param.Add("a.FPDate", "is", null, DbType.String);
//else if (IsSku == 1)
// Param.Add("a.FPDate", "is not", null, DbType.String);
//Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel> resultModel = new JsonModel>();
int RowCount = 0;
//string Sort = "orderid desc";
//if (PrintState == 0)
// Sort = "orderid";
string GoodsName = "";
string Code = "";
if (GoodsInfo != "")
{
GoodsName = GoodsInfo.Trim();
if (GoodsInfo.Trim().Contains(' '))
{
GoodsName = GoodsInfo.Trim().Split(' ')[0].Trim();
Code = GoodsInfo.Trim().Split(' ')[1].Trim();
}
}
//else
// if (TjType == 8 && Name != "")
// {
// SKU = Name;
// }
List orderlist = new List();
List ordertemp = new List();
if (PrintState > -1)
orderlist = DataNew.GetListDT_PrintOrderInfoForTM2(CompanyId, TCode, GoodsName, 0, Code, KWCode, IsSku, GM, PrintState, Param, PageIndex, PageSize, Sort, out RowCount);
else
orderlist = DataNew.GetListDT_PrintOrderInfoForTM(CompanyId, TCode, GoodsName, 0, Code, KWCode, IsSku, Param, PageIndex, PageSize, Sort, out RowCount);
string Ids = "";
if (orderlist != null)
{
foreach (var md in orderlist)
{
Ids += md.OrderId.ToString() + ",";
ordertemp.Add(md);
}
}
orderlist = new List();
if (Ids != "")
{
JC_ExpressService obj3 = new JC_ExpressService();
// var elist = obj3.GetExpressTypeList();
var plist = obj3.GetExpressList();
// var errorlist = obj.GetErrorList(Ids.Trim(','));
if (plist != null)
{
foreach (var md in ordertemp)
{
// if (errorlist != null && errorlist.Count > 0)
// {
// var emd = errorlist.Find(n => n.OrderId == md.OrderId);
// if (emd != null)
// {
// md.ErrorInfo = emd.ErrorInfo;
// }
// }
if (md.Post > 0 && plist != null && plist.Count > 0)
{
var emd = plist.Find(n => n.ExpressID == md.Post);
if (emd != null)
{
md.PostInfo = emd.Name;
}
}
}
}
}
if (IsDetail == 0 && ordertemp != null)
{
if (Ids != "")
{
var listTrack = obj.GetTrackCodeApplyList2(Ids.Trim(','));
if (listTrack != null)
{
foreach (var md in ordertemp)
{
var list3 = new List();
if (md.JoinOrderCode != null && md.JoinOrderCode != "")
list3 = listTrack.FindAll(n => n.OrderCode == md.JoinOrderCode);
else
list3 = listTrack.FindAll(n => n.OrderId == md.OrderId);
if (list3 != null && list3.Count > 0)
{
string trackinfo = "";
int tcount = 0;
foreach (var md1 in list3)
{
if (md1.TrackType < 3)
{
trackinfo += md1.TrackCode + ",";
tcount++;
}
}
if (IsWeight == 1 && tcount > 1 && IsError == 2)
{
ordertemp.Remove(md);
}
if (IsError == 5 && IsWeight == 1 && tcount > 1)
{
orderlist.Add(md);
}
md.TrackCode = trackinfo;
}
}
}
}
}
else
if (IsDetail == 1 && ordertemp != null)
{
if (Ids != "")
{
var listTrack = obj.GetTrackCodeApplyList2(Ids.Trim(','));
var list1 = DataNew.GetOrderGoodsPostionList(Ids.Trim(','));
if (list1 != null)
{
foreach (var md in ordertemp)
{
var list2 = list1.FindAll(n => n.OrderId == md.OrderId);
md.OrderLevel = 0;
md.OrderName = "";
md.GoodsCode = "";
md.IsBlank = 0;
if (list2 != null)
{
md.GoodsList = list2;
if (PostionCode != "")
{
var pmd = list2.Find(n => n.PostionCode.Contains(PostionCode) == true);
if (pmd != null)
md.IsBlank = 1;
}
if (list2.Count > 0)
{
md.OrderLevel = list2[0].LockNum;
md.OrderName = list2[0].PostionCode;
md.GoodsCode = list2[0].GoodsCode;
}
if (SNum > 0 && ENum == 0)
{
if (list2.Sum(o => o.GoodsNum).GetValueOrDefault(0) >= SNum)
{
orderlist.Add(md);
}
}
if (SNum > 0 && ENum > 0)
{
if (list2.Sum(o => o.GoodsNum).GetValueOrDefault(0) >= SNum && list2.Sum(o => o.GoodsNum).GetValueOrDefault(0) <= ENum)
{
orderlist.Add(md);
}
}
if (SNum == 0 && ENum > 0)
{
if (list2.Sum(o => o.GoodsNum).GetValueOrDefault(0) <= ENum)
{
orderlist.Add(md);
}
}
}
var list3 = new List();
if (listTrack != null)
{
if (md.JoinOrderCode != null && md.JoinOrderCode != "")
list3 = listTrack.FindAll(n => n.OrderCode == md.JoinOrderCode);
else
list3 = listTrack.FindAll(n => n.OrderId == md.OrderId);
}
if (list3 != null && list3.Count > 0)
{
string trackinfo = "";
int tcount = 0;
foreach (var md1 in list3)
{
if (md1.TrackType < 3)
{
trackinfo += md1.TrackCode + ",";
tcount++;
}
}
if (IsWeight == 1 && tcount > 1 && IsError == 2)
{
ordertemp.Remove(md);
}
if (IsError == 5 && IsWeight == 1 && tcount > 1)
{
orderlist.Add(md);
}
md.TrackCode = trackinfo;
}
}
}
}
}
if (IsError == 5) ordertemp = orderlist;
if (orderlist != null)
{
if (orderlist.Count() > 0)
ordertemp = orderlist;
}
if (PostionCode2 != "")
{
ordertemp = ordertemp.FindAll(n => n.IsBlank == 0);
}
else
if (PostionCode != "")
{
ordertemp = ordertemp.FindAll(n => n.IsBlank == 1);
}
List orderList2 = new List();
// if (PostionCode == "" || PostionCode2!="")
//orderList2 = ordertemp.OrderBy(s => s.OrderLevel).ThenBy(s => s.OrderName).ThenBy(s => s.GoodsCode).ToList();
// else
//orderList2 = ordertemp.OrderBy(s => s.GoodsCode).ThenBy(s => s.OrderLevel).ThenBy(s => s.OrderName).ToList();
orderList2 = ordertemp.OrderBy(s => s.OrderLevel).OrderBy(s => s.OrderName).ThenBy(s => s.GoodsCode).ThenByDescending(s => s.GoodsNum).ToList();
resultModel.DataSource = orderList2.Take(PageSize).Skip(PageSize * (PageIndex - 1)).ToList();
DataTable tb = new DataTable();
tb.Columns.Add("ordercode", Type.GetType("System.String"));
//tb.Columns.Add("hbordercode", Type.GetType("System.String"));
tb.Columns.Add("goodscode", Type.GetType("System.String"));
tb.Columns.Add("goodscode2", Type.GetType("System.String"));
tb.Columns.Add("num", Type.GetType("System.String"));
tb.Columns.Add("kwcode", Type.GetType("System.String"));
tb.Columns.Add("sortno", Type.GetType("System.String"));
tb.Columns.Add("trackcode", Type.GetType("System.String"));
string ids2 = "";
if (resultModel.DataSource != null)
{
foreach (var md in resultModel.DataSource)
{
ids2 += md.OrderId + ",";
DataRow row = tb.NewRow();
if (md.JoinOrderCode != null && md.JoinOrderCode != "")
row["ordercode"] = md.PlatOrderCode + " [合" + md.JoinOrderCode + "]";
else
row["ordercode"] = md.PlatOrderCode;
// row["hbordercode"] = md.JoinOrderCode;
row["trackcode"] = md.TrackCode.TrimEnd(',');
//tb.Rows.Add(row);
if (md.GoodsList != null)
{
int i = 0;
foreach (var gmd in md.GoodsList)
{
i++;
if (i == 1)
{
if (gmd.OldTypeDesc != null && gmd.OldTypeDesc != "")
row["goodscode"] = gmd.OldTypeDesc;
else
row["goodscode"] = gmd.GoodsCode;
if(gmd.GoodsOldCode!=null)
row["goodscode2"] = gmd.GoodsOldCode;
row["num"] = gmd.GoodsNum.ToString();
row["kwcode"] = gmd.PostionCode.ToString();
row["sortno"] = gmd.LockNum.ToString();
tb.Rows.Add(row);
}
else
{
DataRow row1 = tb.NewRow();
row1["ordercode"] = "";
if (gmd.OldTypeDesc != null && gmd.OldTypeDesc != "")
row1["goodscode"] = gmd.OldTypeDesc;
else
row1["goodscode"] = gmd.GoodsCode;
if (gmd.GoodsOldCode != null)
row1["goodscode2"] = gmd.GoodsOldCode;
row1["num"] = gmd.GoodsNum.ToString();
row1["kwcode"] = gmd.PostionCode.ToString();
row1["sortno"] = gmd.LockNum.ToString();
tb.Rows.Add(row1);
}
}
}
}
DataTable dtCopy = tb.Copy();
DataView dv = tb.DefaultView;
dv.Sort = "sortno,kwcode";
dtCopy = dv.ToTable();
if (ids2 != null)
{
DataRow row2 = dtCopy.NewRow();
row2["ordercode"] = "";
row2["goodscode"] = "";
row2["goodscode2"] = "";
row2["num"] = "";
row2["kwcode"] = "";
dtCopy.Rows.Add(row2);
row2 = dtCopy.NewRow();
row2["ordercode"] = "";
row2["goodscode"] = "";
row2["goodscode2"] = "";
row2["num"] = "";
row2["kwcode"] = "";
dtCopy.Rows.Add(row2);
row2 = dtCopy.NewRow();
row2["ordercode"] = "Total:";
row2["goodscode"] = "";
row2["goodscode2"] = "";
row2["num"] = "";
row2["kwcode"] = "";
dtCopy.Rows.Add(row2);
List list8 = DataNew.GetOrderGoodsPostionList22(ids2.Trim(','));
if (list8 != null)
{
foreach (DT_OrderGoods goods2 in list8)
{
row2 = dtCopy.NewRow();
row2["ordercode"] = "";
if (goods2.OldTypeDesc != null && goods2.OldTypeDesc != "")
row2["goodscode"] = goods2.OldTypeDesc;
else
row2["goodscode"] = goods2.GoodsCode;
row2["goodscode2"] = goods2.GoodsOldCode;
row2["num"] = goods2.GoodsNum;
row2["kwcode"] = goods2.PostionCode;
dtCopy.Rows.Add(row2);
}
}
}
string cn = "QTY" + DateTime.Today.ToString("MMdd");
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("ordercode", "OrderCode", DbType.String, "");
listColumns.Add("goodscode", "SKU", DbType.String, "");
listColumns.Add("goodscode2", "GoodsCode2", DbType.String, "");
listColumns.Add("num", cn, DbType.String, "");
listColumns.Add("kwcode", "LOCATION", DbType.String, "");
listColumns.Add("trackcode", "Trackcode", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(dtCopy, listColumns);
}
return "";
}
#endregion
#region 判断是否是数字
[WebMethod(EnableSession = true)]
public int CheckNum(string str)
{
try
{
string count = str.Trim();
str = count.PadLeft(5, '0');
str = str.Substring(0, 5);
int temp = Convert.ToInt32(str);
return 1;
}
catch
{
return 0;
}
}
#endregion
#region 获取订单物流跟踪码
[WebMethod(EnableSession = true)]
public DT_TrackCode GetOrderTrackCodeModel(DT_Order model, int TrackType)
{
PagesNew.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
string error = "";
var obj1 = new JC_ExpressService();
var md = new DT_TrackCode();
string TrackCode = "";
if (model != null)
{
var obj = new DD_OrderData();
var md1 = obj1.GetExpressModel(CompanyId, model.Post.Value);
error = GetOrderPostCode(md1, model.PlatOrderCode, model.OrderId.Value, model.Post.Value, CompanyId, model.IsSpare, model.JoinOrderCode, TrackType, out TrackCode);
}
md.Error = error;
md.TrackCode = TrackCode.Trim(',');
return md;
}
#endregion
#region 核对物流跟踪码
[WebMethod(EnableSession = true)]
public int CheckWuliu(int LogisticsId, string TrackCode)
{
if (LogisticsId == 1)
{
Regex re = new Regex(@"^LK\d{9}CN$|LN\d{9}CN$|LT\d{9}CN$|AG\d{9}CN$|LM\d{9}CN$|EV\d{9}CN$|LX\d{9}CN$|LQ\d{9}CN$|LS\d{9}CN$");
if (!re.IsMatch(TrackCode))
{
return 1;
}
}
if (LogisticsId == 2)
{
Regex re = new Regex(@"^R[A-Z]{1}\d{9}[A-Z]{2}$");
if (!re.IsMatch(TrackCode))
{
return 1;
}
}
if (LogisticsId == 3)
{
Regex re = new Regex(@"^\d{9}$|\d{10}$|\d{11}$|\d{12}$|\d{13}$|\d{14}$");
if (!re.IsMatch(TrackCode))
{
return 1;
}
}
//if (LogisticsId == 8)
//{
// Regex re = new Regex(@"^LVS\d{18}$|\d{19}$|\BLVS\d{16}$");
// if (!re.IsMatch(TrackCode))
// {
// return 1;
// }
//}
if (LogisticsId == 14)
{
Regex re = new Regex(@"^E[A-Z]{1}\d{9}CN$");
if (!re.IsMatch(TrackCode))
{
return 1;
}
}
return 0;
}
#endregion
#region 获取物流单号
public string GetOrderPostCode(JC_ExpressPost md, string PlatCode, int OrderId, int PostId, int CompanyId, int? IsSpare, string JoinOrderCode, int? TrackType, out string TrackCode)
{
var obj = new DD_OrderData();
var companymd = new JC_PostAddress();
var obj1 = new JC_ExpressService();
var obj11 = new BaseService();
companymd = obj11.GetAddressModel2(PostId);
//var md = obj1.GetExpressModel(CompanyId, PostId);
TrackCode = "";
//if (md != null && md.PostType == 4) //线上发货
//{
// return "";
//}
string orderidlist = "";
string ErrorInfo = "";
string ordercode = "";
string PostCode = "";
var obj2 = new BaseService();
if (md == null)
return "";
if (md.CheckCode == null || md.CheckCode == "")
{
PostCode = obj1.GetInnerExpressCode(CompanyId, PostId);
}
else
{
try
{
var ordermd = obj.GetOrderModel(OrderId);
List goodslist = null;
if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "")//合并订单
{
goodslist = obj.GetOrderGoodsDetailListForJoin(ordermd.JoinOrderCode);
}
else
{
goodslist = obj.GetOrderGoodsDetailList(OrderId);
}
ordercode = ordermd.PlatOrderCode;
if (md != null && ordermd != null)
{
if (md.PostType == 1) //EUB
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
if (companymd == null)
{
ErrorInfo = "发货地址没选择;";
return ErrorInfo;
}
if (md.Name == "EUB" && ordermd.CountryCode != "US")
{
return "国家不支持";
}
if (md.Name.Contains("美国") == true && ordermd.CountryCode != "US")
{
return "国家不支持";
}
if (md.Name == "EUB上海" && ordermd.CountryCode != "US")
{
return "国家不支持";
}
if (md.Name == "EUB慈溪" && ordermd.CountryCode != "US")
{
return "国家不支持";
}
if (md.Name == "俄EUB" && ordermd.CountryCode != "RU")
{
return "国家不支持";
}
if (md.Name.Contains("俄罗斯") == true && ordermd.CountryCode != "RU")
{
return "国家不支持";
}
if (md.Name == "加拿大EUB" && ordermd.CountryCode != "CA")
{
return "国家不支持";
}
if (md.Name.Contains("加拿大") == true && ordermd.CountryCode != "CA")
{
return "国家不支持";
}
if (md.Name == "英国EUB" && (ordermd.CountryCode != "UK" && ordermd.CountryCode != "GB"))
{
return "国家不支持";
}
if (md.Name.Contains("英国") == true && (ordermd.CountryCode != "UK" && ordermd.CountryCode != "GB"))
{
return "国家不支持";
}
if (md.Name == "线上EUB" && ordermd.CountryCode != "US")
{
return "国家不支持";
}
if (md.Name == "线上俄EUB" && ordermd.CountryCode != "RU")
{
return "国家不支持";
}
if (md.Name == "澳大利亚EUB" && ordermd.CountryCode != "AU")
{
return "国家不支持";
}
if (md.Name.Contains("澳大利亚") == true && ordermd.CountryCode != "AU")
{
return "国家不支持";
}
if (md.Name == "乌克兰EUB" && ordermd.CountryCode != "UA")
{
return "国家不支持";
}
if (md.Name.Contains("澳大利亚") == true && ordermd.CountryCode != "AU")
{
return "国家不支持";
}
if (md.Name == "法国EUB" && ordermd.CountryCode != "FR")
{
return "国家不支持";
}
if (md.Name.Contains("澳大利亚") == true && ordermd.CountryCode != "AU")
{
return "国家不支持";
}
if (md.Name == "以色列EUB" && ordermd.CountryCode != "IL")
{
return "国家不支持";
}
if (md.Name.Contains("以色列") == true && ordermd.CountryCode != "IL")
{
return "国家不支持";
}
if (md.Name == "沙特EUB" && ordermd.CountryCode != "SA")
{
return "国家不支持";
}
if (md.Name.Contains("沙特") == true && ordermd.CountryCode != "SA")
{
return "国家不支持";
}
EubApi eub = new EubApi();
Eub_Order model = new Eub_Order();
model.Orderid = ordermd.PlatOrderCode;
if (md.operationtype != null)
model.operationtype = md.operationtype.Value;
else
model.operationtype = 0;
model.producttype = 0;
model.customercode = md.customercode;
model.vipcode = md.vipcode;
if (md.clcttype != null)
model.clcttype = md.clcttype.Value;
else
model.clcttype = 1;
model.pod = false;
model.untread = "Returned";
if (goodslist != null && goodslist.Count > 0 && goodslist[0].Solid != null)
model.volweight = Convert.ToInt32(goodslist[0].Solid / 6000);
else
model.volweight = 0;
model.startdate = DateTime.Now;
model.enddate = DateTime.Now.AddDays(15);
model.sku1 = goodslist[0].GoodsSKU.Replace("&", " ");
model.printcode = "03";
model.barcode = ordermd.PlatOrderCode;
Eub_Person sendmd = new Eub_Person();
sendmd.company = companymd.CompanyEnglishName;
sendmd.email = companymd.Email;
sendmd.name = companymd.SendEnglishName;
sendmd.phone = companymd.Phone;
sendmd.province = companymd.province;
sendmd.city = companymd.city;
sendmd.country = "CN";
sendmd.county = companymd.county;
sendmd.street = companymd.EnglishAddress; //"Guangyuan Road 69 (Asia Tiger Park Building 4),Jiangbei District,Ningbo,China";
sendmd.postcode = companymd.PostCode;
model.sender = sendmd;
Eub_Person revmodel = new Eub_Person();
revmodel.name = ordermd.RevName;
revmodel.phone = ordermd.RevPhone;
if (ordermd.RevProvince != null && ordermd.RevProvince != "")
revmodel.province = ordermd.RevProvince;
else
{
if (md.Name != "EUB" && md.Name != "EUB上海" && md.Name != "EUB慈溪")
{
//ErrorInfo += ordercode + "收件省不能为空;";
if (ordermd.RevCity != null && ordermd.RevCity != "")
{
revmodel.province = ordermd.RevCity;
}
else
{
revmodel.province = " ";
}
}
//return ErrorInfo;
}
string postcode = ordermd.RevPostCode;
if (ordermd.RevCountry == "United States" && postcode.Length > 5)
{
// postcode = Convert.ToInt32(ordermd.RevPostCode.Substring(0, 5).Trim()).ToString();
postcode = ordermd.RevPostCode.Substring(0, 5).Trim();
}
else if (ordermd.RevCountry == "Russian Federation" && postcode.Length > 6)
{
// postcode = Convert.ToInt32(ordermd.RevPostCode.Substring(0, 6).Trim()).ToString();
postcode = ordermd.RevPostCode.Substring(0, 6).Trim();
}
revmodel.county = ordermd.RevArea;
revmodel.city = ordermd.RevCity;
if (ordermd.CountryCode == "UK") ordermd.CountryCode = "GB";
revmodel.country = ordermd.CountryCode;
revmodel.street = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " "); ;
revmodel.postcode = postcode;
model.receiver = revmodel;
Eub_Person collmodel = new Eub_Person();
collmodel.company = companymd.CompanyName;
collmodel.email = companymd.Email;
collmodel.name = companymd.SendName;
collmodel.phone = companymd.Phone;
collmodel.province = companymd.province;
collmodel.country = "CN";
collmodel.city = companymd.city;
collmodel.county = companymd.county;
collmodel.street = companymd.Address;
collmodel.postcode = companymd.PostCode;
model.collect = collmodel;
List ListGoods = new List();
if (goodslist != null)
{
decimal dw = Convert.ToDecimal(0.20);
if (goodslist.Count > 10)
dw = Convert.ToDecimal(0.10);
foreach (var goodsmodel in goodslist)
{
var ListGoodsmd = new Eub_Goods();
ListGoodsmd.cnname = goodsmodel.GoodsName.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " ");
if (goodsmodel.GoodsEnglisgName == null || goodsmodel.GoodsEnglisgName == "")
ListGoodsmd.enname = goodsmodel.GoodsName;
else
ListGoodsmd.enname = goodsmodel.GoodsEnglisgName;
ListGoodsmd.count = goodsmodel.GoodsNum.Value;
ListGoodsmd.unit = "件";
// if (goodsmodel.GoodsPrice != null && goodsmodel.GoodsNum != null)
ListGoodsmd.delcarevalue = 10;
//if (goodsmodel.Weight != null)
// ListGoodsmd.weight = goodsmodel.Weight.Value / 1000;
//else
ListGoodsmd.weight = dw;
ListGoodsmd.origin = "CN";
ListGoodsmd.description = "";
ListGoods.Add(ListGoodsmd);
}
}
model.ListGoods = ListGoods;
PostCode = eub.SendGoods(model, md.CheckCode, out ErrorInfo);
}
//if (PostCode == null || PostCode == "")
//{
// PostCode = obj1.GetInnerExpressCode(CompanyId, PostId);
//}
}
else if (md.Name == "E邮宝") //E邮宝
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
EubApi eub = new EubApi();
Eub_Order model = new Eub_Order();
model.Orderid = ordermd.PlatOrderCode;
if (md.operationtype != null)
model.operationtype = md.operationtype.Value;
else
model.operationtype = 0;
model.producttype = 0;
model.customercode = md.customercode;
model.vipcode = md.vipcode;
if (md.clcttype != null)
model.clcttype = md.clcttype.Value;
else
model.clcttype = 1;
model.pod = false;
model.untread = "Returned";
if (goodslist != null && goodslist.Count > 0 && goodslist[0].Solid != null)
model.volweight = Convert.ToInt32(goodslist[0].Solid / 6000);
else
model.volweight = 0;
model.startdate = DateTime.Now;
model.enddate = DateTime.Now.AddDays(15);
model.sku1 = goodslist[0].GoodsSKU.Replace("&", " ");
model.printcode = "03";
model.barcode = ordermd.PlatOrderCode;
Eub_Person sendmd = new Eub_Person();
sendmd.company = companymd.CompanyEnglishName;
sendmd.email = companymd.Email;
sendmd.name = companymd.SendEnglishName;
sendmd.phone = companymd.Phone;
sendmd.province = companymd.province;
sendmd.city = companymd.city;
sendmd.country = "CN";
sendmd.county = companymd.county;
sendmd.street = companymd.EnglishAddress; //"Guangyuan Road 69 (Asia Tiger Park Building 4),Jiangbei District,Ningbo,China";
sendmd.postcode = companymd.PostCode;
model.sender = sendmd;
Eub_Person revmodel = new Eub_Person();
revmodel.name = ordermd.RevName;
revmodel.phone = ordermd.RevPhone;
if (ordermd.RevMoblie != null && ordermd.RevMoblie != "")
revmodel.mobile = ordermd.RevMoblie.Replace("+", "").Replace("-", "").Replace("/", "");
if (ordermd.RevProvince != null && ordermd.RevProvince != "")
revmodel.province = ordermd.RevProvince;
if (revmodel.province == null && revmodel.province != "")
{
revmodel.province = ordermd.RevCity;
}
string postcode = ordermd.RevPostCode;
if (ordermd.RevCountry == "United States" && postcode.Length > 5)
{
// postcode = Convert.ToInt32(ordermd.RevPostCode.Substring(0, 5).Trim()).ToString();
postcode = ordermd.RevPostCode.Substring(0, 5).Trim();
}
else if (ordermd.RevCountry == "Russian Federation" && postcode.Length > 6)
{
// postcode = Convert.ToInt32(ordermd.RevPostCode.Substring(0, 6).Trim()).ToString();
postcode = ordermd.RevPostCode.Substring(0, 6).Trim();
}
revmodel.county = ordermd.RevArea;
revmodel.city = ordermd.RevCity;
if (ordermd.CountryCode == "UK") ordermd.CountryCode = "GB";
revmodel.country = ordermd.CountryCode;
revmodel.street = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " ");
revmodel.postcode = postcode;
model.receiver = revmodel;
Eub_Person collmodel = new Eub_Person();
collmodel.company = companymd.CompanyName;
collmodel.email = companymd.Email;
collmodel.name = companymd.SendName;
collmodel.phone = companymd.Phone;
collmodel.province = companymd.province;
collmodel.country = "CN";
collmodel.city = companymd.city;
collmodel.county = companymd.county;
collmodel.street = companymd.Address;
collmodel.postcode = companymd.PostCode;
model.collect = collmodel;
List ListGoods = new List();
if (goodslist != null)
{
decimal dw = Convert.ToDecimal(0.20);
if (goodslist.Count > 10)
dw = Convert.ToDecimal(0.10);
foreach (var goodsmodel in goodslist)
{
if (goodsmodel.GoodsName != null && goodsmodel.GoodsName.Length > 30)
goodsmodel.GoodsName = goodsmodel.GoodsName.Substring(0, 30);
var ListGoodsmd = new Eub_Goods();
ListGoodsmd.cnname = goodsmodel.GoodsName.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " ");
// if (goodsmodel.GoodsEnglisgName == null || goodsmodel.GoodsEnglisgName == "")
ListGoodsmd.enname = goodsmodel.GoodsCode + "-" + goodsmodel.TypeCode + goodsmodel.TypeDesc;
// else
// ListGoodsmd.enname = goodsmodel.GoodsEnglisgName;
ListGoodsmd.count = goodsmodel.GoodsNum.Value;
ListGoodsmd.unit = "件";
// if (goodsmodel.GoodsPrice != null && goodsmodel.GoodsNum != null)
ListGoodsmd.delcarevalue = 10;
//if (goodsmodel.Weight != null)
// ListGoodsmd.weight = goodsmodel.Weight.Value / 1000;
//else
ListGoodsmd.weight = dw;
ListGoodsmd.origin = "CN";
ListGoodsmd.description = "";
ListGoods.Add(ListGoodsmd);
}
}
model.ListGoods = ListGoods;
PostCode = eub.SendGoods(model, md.CheckCode, out ErrorInfo);
}
}
else if (md.Name == "BPost") //比利时邮政
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
if (companymd == null)
{
ErrorInfo = "发货地址没选择;";
return ErrorInfo;
}
if (PostCode == null || PostCode == "")
{
PostCode = obj1.GetGZExpressCodeBP(CompanyId, PostId);
}
BelgiumApi baobj = new BelgiumApi();
baobj.authenticate = "basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(string.Format("{0}:{1}", md.UserCode, md.CheckCode)));
Belgium_Order bamodel = new Belgium_Order();
bamodel.ContractId = 1;
bamodel.OrderNumber = ordermd.PlatOrderCode;
bamodel.ProductBarcode = PostCode;
bamodel.RecipientName = ordermd.RevName;
bamodel.RecipientStreet = ordermd.RevAddr;
bamodel.RecipientHouseNumber = "";
bamodel.RecipientBusnumber = "";
bamodel.RecipientZipCode = ordermd.RevPostCode;
bamodel.RecipientCity = ordermd.RevCity;
bamodel.RecipientState = ordermd.RevProvince;
bamodel.RecipientCountry = ordermd.CountryCode;
bamodel.PhoneNumber = ordermd.RevPhone;
bamodel.Email = ordermd.RevMail;
bamodel.SenderName = companymd.SendEnglishName;
bamodel.SenderAddress = companymd.Address;
bamodel.SenderSequence = "1";
bamodel.IsSure = true;
List bglist = new List();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
Belgium_Goods bgmd = new Belgium_Goods();
bgmd.Sku = goodsmodel.GoodsSKU;
bgmd.ChineseContentDescription = goodsmodel.GoodsName;
bgmd.ItemContent = goodsmodel.GoodsEnglisgName;
if (goodsmodel.GoodsPrice != null && goodsmodel.GoodsPrice.Value > 10)
bgmd.Value = 9;
else
bgmd.Value = 7;
bgmd.ItemCount = goodsmodel.GoodsNum.Value;
bgmd.Currency = "USD";
bgmd.Weight = 200;
bgmd.SkuInInvoice = "";
bglist.Add(bgmd);
}
}
bamodel.Customs = bglist;
PostCode = baobj.SendGoods(bamodel, baobj.authenticate, out ErrorInfo);
if (ErrorInfo != "")
PostCode = "";
}
}
else if (md.LogisticsName == "SF Express") //顺丰
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
if (companymd == null)
{
ErrorInfo = "发货地址没选择;";
return ErrorInfo;
}
sfApi sfobj = new sfApi();
sf_Order model = new sf_Order();
if (md.Name == "顺丰E宝挂号" || md.Name == "顺丰E宝平邮")
{
if (md.operationtype != null)
model.express_type = md.operationtype.Value.ToString();
else
model.express_type = "9";
}
else if (md.Name == "顺丰美国")
{
model.express_type = "A9";
}
else if (md.Name == "顺丰欧洲")
{
model.express_type = "A2";
}
model.d_tel = ordermd.RevPhone;
model.d_company = ordermd.RevName;
model.d_contact = ordermd.RevName;
model.d_address = ordermd.RevAddr;
model.orderid = ordermd.PlatOrderCode;
model.d_county = ordermd.RevArea;
model.d_city = ordermd.RevCity;
model.d_post_code = ordermd.RevPostCode;
model.d_deliverycode = ordermd.CountryCode;
model.d_province = ordermd.RevProvince;
model.d_country = ordermd.RevCountry;
model.cargo_total_weight = Convert.ToDecimal(ordermd.TotalWeight) / 1000;
model.j_tel = companymd.Phone;
model.j_company = companymd.CompanyEnglishName;
model.j_province = companymd.province;// "zhejiang province";
model.j_city = companymd.city; //"Ningbo";
model.j_county = companymd.county;
model.j_contact = companymd.SendEnglishName;
model.j_address = companymd.EnglishAddress;
model.j_post_code = companymd.PostCode;
model.declared_value = ordermd.TotalPrice;
model.declared_value_currency = ordermd.MoneyCode;
model.parcel_quantity = 1;
model.pay_method = 1;
model.custid = md.customercode;//"7551878519";
model.cargo_length = 60;
model.cargo_width = 60;
model.cargo_height = 60;
List ListGoods = new List();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
var ListGoodsmd = new sf_Goods();
if (goodsmodel.GoodsEnglisgName != null && goodsmodel.GoodsEnglisgName != "")
{
ListGoodsmd.ename = goodsmodel.GoodsEnglisgName;
}
else
{
ListGoodsmd.ename = "dress";
}
ListGoodsmd.name = goodsmodel.GoodsName;
ListGoodsmd.count = goodsmodel.GoodsNum.Value;
ListGoodsmd.unit = "piece";
if (goodsmodel.Weight != null)
ListGoodsmd.weight = goodsmodel.Weight.Value;
else
ListGoodsmd.weight = 100;
//if (goodsmodel.GoodsPrice != null)
ListGoodsmd.amount = goodsmodel.GoodsPrice.GetValueOrDefault(10);
ListGoodsmd.currency = "USD";
ListGoodsmd.source_area = "China";
ListGoods.Add(ListGoodsmd);
}
}
model.ListGoods = ListGoods;
sfobj.UserCode = md.UserCode;
sfobj.CheckCode = md.CheckCode;
if (md.Name == "顺丰E宝挂号" || md.Name == "顺丰E宝平邮")
{
PostCode = sfobj.SendGoods(model, out ErrorInfo);
}
if (md.Name == "顺丰美国" || md.Name == "顺丰欧洲")
{
PostCode = sfobj.SendOU(model, out ErrorInfo);
}
}
}
else if (md.Name == "顺丰国际挂号(美国)" || md.Name == "顺丰国际挂号(澳大利亚)" || md.Name == "顺丰国际挂号(其它)") //顺丰
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
sfApi sfobj = new sfApi();
sf_Order2 model = new sf_Order2();
model.express_type = "E2";
model.d_tel = ordermd.RevPhone;
model.d_company = ordermd.RevName;
model.d_contact = ordermd.RevName;
model.d_address = ordermd.RevAddr;
model.orderid = ordermd.PlatOrderCode;
model.d_city = ordermd.RevCity;
model.d_post_code = ordermd.RevPostCode;
model.d_province = ordermd.RevProvince;
model.d_country = ordermd.RevCountry;
model.cargo_total_weight = 1; //Convert.ToDecimal(ordermd.TotalWeight) / 1000;
model.j_tel = companymd.Phone;
model.j_company = companymd.CompanyEnglishName;
model.j_province = "zhejiang";// "zhejiang province";
model.j_city = "ningbo"; //"Ningbo";
model.j_contact = companymd.SendEnglishName;
model.j_address = companymd.EnglishAddress;
model.j_post_code = companymd.PostCode;
model.parcel_quantity = 1;
List ListGoods = new List();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
var ListGoodsmd = new sf_Goods2();
if (goodsmodel.GoodsEnglisgName != null && goodsmodel.GoodsEnglisgName != "")
{
ListGoodsmd.ename = goodsmodel.GoodsEnglisgName;
}
else
{
ListGoodsmd.ename = "dress";
}
if (ListGoodsmd.ename.Length > 25)
ListGoodsmd.ename = ListGoodsmd.ename.Substring(0, 24);
ListGoodsmd.name = goodsmodel.GoodsName;
if (ListGoodsmd.name.Length > 25)
ListGoodsmd.name = ListGoodsmd.name.Substring(0, 24);
ListGoodsmd.count = goodsmodel.GoodsNum.Value;
//ListGoodsmd.unit = "piece";
//if (goodsmodel.Weight != null)
// ListGoodsmd.weight = goodsmodel.Weight.Value;
//else
// ListGoodsmd.weight = 100;
//if (goodsmodel.GoodsPrice != null)
//if (goodsmodel.GoodsPrice != null && goodsmodel.GoodsPrice < 10)
// ListGoodsmd.amount = goodsmodel.GoodsPrice.Value;
//else
ListGoodsmd.amount = 10;
//ListGoodsmd.currency = "USD";
// ListGoodsmd.source_area = "China";
ListGoods.Add(ListGoodsmd);
}
}
model.ListGoods = ListGoods;
sfobj.UserCode = md.UserCode;
sfobj.CheckCode = md.CheckCode;
PostCode = sfobj.SendGoods2(model, out ErrorInfo);
if (ErrorInfo != "")
PostCode = "";
}
}
else if (md.Name == "德邮小包" || md.Name == "DHL中英专线")
{
PostCode = obj1.GetGZExpressCodeDY(CompanyId, PostId);
}
else if (md.Name.Contains("DHL"))
{
if (md.client_id != null && md.client_id != "" && goodslist != null && goodslist.Count > 0)
{
DHLApi dhlobj = new DHLApi();
DHLOrder dhlmodel = new DHLOrder();
dhlobj.clientId = md.client_id; //"LTExMTgwNTI4MTY=";
dhlobj.GetTime = md.GetTime;
dhlobj.password = md.client_secret; //"APITest1";
dhlobj.AccessToken = md.UserCode;
dhlobj.token_type = md.CheckCode;
labelRequest labelRequest = new labelRequest();
hdr hdr = new hdr();
hdr.messageType = "LABEL";
hdr.messageDateTime = DateTime.Now.ToString("s");
hdr.accessToken = "";
hdr.messageVersion = "1.4";
hdr.messageLanguage = "en";
labelRequest.hdr = hdr;
DHL_Order bd = new DHL_Order();
bd.customerAccountId = null;
bd.pickupAccountId = md.refresh_token; //"5999999201";
bd.soldToAccountId = md.Code; //"5999999201";
bd.pickupDateTime = DateTime.Now.ToString("s");
pickupAddress pickupAddress = new pickupAddress();
pickupAddress.companyName = "DHL";
pickupAddress.name = "DHL";
pickupAddress.address1 = "china";
pickupAddress.address2 = null;
pickupAddress.address3 = null;
pickupAddress.city = "china";
pickupAddress.state = "china";
pickupAddress.district = "china";
pickupAddress.country = "CN";
pickupAddress.postCode = "6278";
pickupAddress.phone = "9999";
pickupAddress.email = "test@dhl.com";
bd.pickupAddress = pickupAddress;
List shipmentItemslist = new List();
shipmentItems shipmentItems = new shipmentItems();
consigneeAddress consigneeAddress = new consigneeAddress();
string Name = ordermd.RevName;
if (Name.Length > 30)
Name = Name.Substring(0, 30);
consigneeAddress.companyName = Name;
consigneeAddress.name = Name;
consigneeAddress.address2 = null;
consigneeAddress.address3 = null;
if (ordermd.RevAddr.Length <= 50)
consigneeAddress.address1 = ordermd.RevAddr;
else
consigneeAddress.address1 = ordermd.RevAddr.Substring(0, 50);
if (ordermd.RevAddr.Length > 50 && ordermd.RevAddr.Length <= 100)
consigneeAddress.address2 = ordermd.RevAddr.Substring(49, ordermd.RevAddr.Length - 50);
else if (ordermd.RevAddr.Length > 100 && ordermd.RevAddr.Length <= 150)
consigneeAddress.address3 = ordermd.RevAddr.Substring(99, ordermd.RevAddr.Length - 100);
consigneeAddress.city = ordermd.RevCity;
consigneeAddress.state = ordermd.RevProvince;
consigneeAddress.district = null;
consigneeAddress.country = ordermd.CountryCode;
consigneeAddress.postCode = ordermd.RevPostCode;
consigneeAddress.phone = ordermd.RevPhone;
consigneeAddress.email = null;
consigneeAddress.idNumber = "9999";
consigneeAddress.idType = "1";
shipmentItems.consigneeAddress = consigneeAddress;
returnAddress returnAddress = new returnAddress();
returnAddress.companyName = "MHSG";
returnAddress.name = companymd.SendEnglishName;
if (companymd.Address != null && companymd.Address.Length < 50)
returnAddress.address1 = companymd.Address;
else if (companymd.Address != null)
returnAddress.address1 = companymd.Address.Substring(0, 49);
returnAddress.address2 = null;
returnAddress.address3 = null;
returnAddress.city = "ningbo";
returnAddress.state = "zhejiang";
returnAddress.district = "zhenhai";
returnAddress.country = "CN";
returnAddress.postCode = "315000";
returnAddress.phone = companymd.Phone;
shipmentItems.returnAddress = returnAddress;
shipmentItems.shipmentID = "CNAEV543" + ordermd.OrderId.ToString();
shipmentItems.deliveryConfirmationNo = null;
shipmentItems.packageDesc = "Desc";
shipmentItems.totalWeightUOM = "G";
shipmentItems.dimensionUOM = "cm";
shipmentItems.height = Convert.ToDecimal(0.1);
shipmentItems.length = Convert.ToDecimal(0.1);
shipmentItems.width = Convert.ToDecimal(0.1);
shipmentItems.customerReference1 = null;
shipmentItems.customerReference2 = null;
shipmentItems.productCode = "PPS";
shipmentItems.incoterm = "DDU";
shipmentItems.contentIndicator = "01";
shipmentItems.codValue = null;
shipmentItems.insuranceValue = null;
shipmentItems.freightCharge = Convert.ToDecimal(0.1);
shipmentItems.currency = "USD";
List shipmentContentsList = new List();
int TNum = 0;
foreach (var gmd in goodslist)
{
TNum += gmd.GoodsNum.Value;
}
decimal tj = Convert.ToDecimal(5.5);
decimal dj = Convert.ToDecimal(5.5);
if (TNum > 1 && TNum <= 5)
{
tj = Convert.ToDecimal(2.1 * TNum);
dj = Convert.ToDecimal(2.1);
}
else
if (TNum > 5)
{
tj = Convert.ToDecimal(1.1 * TNum);
dj = Convert.ToDecimal(1.1);
}
foreach (var gmd in goodslist)
{
shipmentContents shipmentContents = new shipmentContents();
shipmentContents.skuNumber = gmd.GoodsSKU;
if (gmd.GoodsSKU == null && gmd.GoodsSKU.Length > 50)
shipmentContents.skuNumber = "DEC001";
if (gmd.GoodsEnglisgName != null && gmd.GoodsEnglisgName != "" && gmd.GoodsEnglisgName.Length < 50)
{
shipmentContents.description = gmd.GoodsEnglisgName;
shipmentContents.descriptionImport = gmd.GoodsEnglisgName;
}
else
{
shipmentContents.description = "cloth";
shipmentContents.descriptionImport = "cloth";
}
if (gmd.GoodsName.Length < 50)
shipmentContents.descriptionExport = gmd.GoodsName;
else
shipmentContents.descriptionExport = gmd.GoodsName.Substring(0, 49);
shipmentContents.itemValue = dj;
shipmentContents.itemQuantity = gmd.GoodsNum.Value;
shipmentContents.grossWeight = 100;
shipmentContents.netWeight = 100;
shipmentContents.weightUOM = "g";
shipmentContents.contentIndicator = "01";
shipmentContents.countryOfOrigin = "CN";
shipmentContents.hsCode = null;
shipmentContentsList.Add(shipmentContents);
shipmentItems.shipmentContents = shipmentContentsList;
shipmentItemslist.Add(shipmentItems);
}
shipmentItems.totalValue = tj;
shipmentItems.totalWeight = Convert.ToDecimal(100 * 1.00 * TNum);
bd.shipmentItems = shipmentItemslist;
label label = new label();
label.pageSize = "400x600";
label.format = "PDF";
label.layout = "4x1";
bd.label = label;
labelRequest.bd = bd;
dhlmodel.labelRequest = labelRequest;
PostCode = dhlobj.SendGoods(dhlmodel, out ErrorInfo);
}
}
else if (md.Name.StartsWith("CNE"))
{
string postmessage = "{\"RequestName\":\"TimeStamp\"}";
string error = "";
CNE cneobj = new CNE();
string timeinfo = cneobj.SendGoods(postmessage, out error);
JavaScriptSerializer JsonConvert = new JavaScriptSerializer();
CNE_Result model = JsonConvert.Deserialize(timeinfo);
string code = NetLibrary.Safety.CryptoPublic.Md5For32(md.UserCode + model.ReturnValue + md.CheckCode);
var cnemd = new CNE_Order();
cnemd.RequestName = "PreInputSet";
cnemd.icID = md.UserCode;
cnemd.TimeStamp = model.ReturnValue;
cnemd.MD5 = code;
List RecList = new List();
var recmd = new CNE_Reve();
recmd.iID = "0";
recmd.nItemType = 1;
recmd.cRNo = ordermd.PlatOrderCode;
recmd.cDes = ordermd.CountryName;
recmd.cEmsKind = md.customercode;
recmd.fWeight = 0;
recmd.cReceiver = ordermd.RevName;
recmd.cREMail = "";
recmd.cRAddr = ordermd.RevAddr;
recmd.cRCity = ordermd.RevCity;
recmd.cRProvince = ordermd.RevProvince;
recmd.cRCountry = ordermd.RevCountry;
recmd.cRPhone = ordermd.RevPhone;
recmd.cRPostcode = ordermd.RevPostCode;
var glist = new List();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
var gmd = new CNE_Goods();
gmd.cxGoods = goodsmodel.GoodsName;
if (goodsmodel.GoodsEnglisgName != null && goodsmodel.GoodsEnglisgName != "")
gmd.cxGoodsA = goodsmodel.GoodsEnglisgName;
else
gmd.cxGoodsA = "cloth";
if (gmd.cxGoodsA.Length > 20)
gmd.cxGoodsA = gmd.cxGoodsA.Substring(0, 20);
gmd.fxPrice = 10;
gmd.ixQuantity = goodsmodel.GoodsNum.Value;
gmd.cxGCodeA = goodsmodel.GoodsSKU;
glist.Add(gmd);
recmd.GoodsList = glist;
RecList.Add(recmd);
}
}
cnemd.RecList = RecList;
PostCode = cneobj.SendGoods2(cnemd, out ErrorInfo);
}
else if (md.Name.Contains("Wish"))
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
//WishYouApi wya = new WishYouApi();
//wya.api_key = md.UserCode;
//wya.bid = 0;
//wya.zx_type = 6;
//wya.guid = ordermd.OrderId.ToString();
//if (md.Name == "Wish挂号")
// wya.otype = "1";
//if (md.Name == "Wish平邮")
// wya.otype = "0";
//if (md.Name == "DLP平邮")
// wya.otype = "9-0";
//if (md.Name == "DLP挂号")
// wya.otype = "9-1";
//if (md.Name == "Wish-E邮宝")
// wya.otype = "11-0";
//companymd = obj1.GetSendAddress(CompanyId);
//wya.from = companymd.SendName;
//wya.sender_addres = companymd.SendEnglishName;
//wya.sender_city = companymd.city;
//wya.sender_province = companymd.province;
//wya.sender_phone = companymd.Phone;
//wya.CustomName = ordermd.RevName;
//wya.to_local = ordermd.RevName;
//wya.recipient_addres = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " "); ;
//wya.recipient_addres_local = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " "); ;
//wya.recipient_country_short = ordermd.CountryCode;
//wya.recipient_country_local = ordermd.RevCountry;
//wya.recipient_province = ordermd.RevProvince;
//wya.recipient_province_local = ordermd.RevProvince;
//wya.recipient_city = ordermd.RevCity;
//wya.recipient_city_local = ordermd.RevCity;
//wya.recipient_postcode = ordermd.RevPostCode;
//string phone = "";
//if (ordermd.RevMoblie != null)
//{
// if (ordermd.RevMoblie.Length > 5)
// {
// phone = ordermd.RevMoblie;
// }
//}
//if (phone == "") phone = ordermd.RevPhone;
//wya.recipient_phone = phone;
//string content = "";
//int totalnum = 0;
//decimal totalweight =0;// ordermd.TotalWeight.Value;
//var totalprice = ordermd.TotalPrice.Value;
//if (goodslist != null)
//{
// foreach (var goodsmodel in goodslist)
// {
// totalweight +=Convert.ToDecimal( goodsmodel.Weight.GetValueOrDefault(100) / 1000);
// if (goodsmodel.GoodsEnglisgName != "")
// {
// content += goodsmodel.GoodsEnglisgName + ";";
// }
// else
// {
// content += "dress;";
// }
// totalnum += goodsmodel.GoodsNum.Value;
// }
//}
//wya.content = content;
//wya.type_no = 1;
//wya.weight = totalweight.ToString();
//wya.num = totalnum;
//wya.price = totalprice.ToString();
//wya.from_country = "China";
//wya.user_desc = ordermd.PlatOrderCode;
//wya.trande_no = ordermd.PlatOrderCode;
//wya.trade_amount = totalprice.ToString();
WishYouApi2 wya = new WishYouApi2();
wya.ExpressId = md.ExpressID;
wya.client_id = md.client_id;
wya.client_secret = md.client_secret;
wya.redirect_uri = md.redirect_uri;
wya.refresh_token = md.refresh_token;
wya.code = md.Code;
wya.GetTime = md.GetTime;
wya.access_token = md.UserCode;
wya.bid = 0;
wya.mark = "";
wya.guid = ordermd.OrderId.ToString();
if (md.Name == "Wish挂号")
wya.otype = "1";
if (md.Name == "Wish平邮")
wya.otype = "0";
if (md.Name == "DLP平邮")
wya.otype = "9-0";
if (md.Name == "DLP挂号")
wya.otype = "9-1";
if (md.Name == "Wish-E邮宝")
wya.otype = "11-0";
if (md.customercode != null && md.customercode != "")
wya.otype = md.customercode;
// companymd = obj1.GetSendAddress(CompanyId);
wya.from = companymd.SendName; //"Stella Xu";
wya.sender_addres = companymd.SendEnglishName;// "ChangxingRoad689";
wya.sender_city = companymd.citycode; //"Ningbo";
wya.sender_province = companymd.provincecode;// "Zhejiang";
wya.sender_phone = companymd.Phone;// "13456152202";
wya.to = ordermd.RevName;
wya.to_local = ordermd.RevName;
wya.recipient_country = ordermd.RevCountry;
wya.recipient_addres = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " "); ;
wya.recipient_addres_local = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " "); ;
wya.recipient_country_short = ordermd.CountryCode;
wya.recipient_country_local = ordermd.RevCountry;
if (ordermd.RevProvince == null || ordermd.RevProvince == "")
{
wya.recipient_province = ordermd.RevCity;
wya.recipient_province_local = ordermd.RevCity;
}
else
{
wya.recipient_province = ordermd.RevProvince;
wya.recipient_province_local = ordermd.RevProvince;
}
wya.recipient_city = ordermd.RevCity;
wya.recipient_city_local = ordermd.RevCity;
wya.recipient_postcode = ordermd.RevPostCode;
string phone = "";
if (ordermd.RevMoblie != null)
{
if (ordermd.RevMoblie.Length > 5)
{
phone = ordermd.RevMoblie;
}
}
if (phone == "") phone = ordermd.RevPhone;
wya.recipient_phone = phone;
string content = "";
int totalnum = 0;
decimal totalweight = 0;// ordermd.TotalWeight.Value;
var totalprice = ordermd.TotalPrice.Value;
string contentdesc = "";
string contentname = "货物";
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
if (goodsmodel.GoodsName != null && goodsmodel.GoodsName != "")
contentname = goodsmodel.GoodsName;
totalweight += Convert.ToDecimal(goodsmodel.Weight.GetValueOrDefault(100) / 1000);
if (goodsmodel.GoodsEnglisgName != "")
{
content += goodsmodel.GoodsEnglisgName + ";";
}
else
{
content += "dress;";
}
totalnum += goodsmodel.GoodsNum.Value;
contentdesc += goodsmodel.GoodsCode + "-" + goodsmodel.TypeCode + goodsmodel.TypeDesc + "[" + goodsmodel.GoodsNum.ToString() + "];";
}
}
if (contentname.Length > 49)
contentname = contentname.Substring(0, 40);
wya.content_chinese = contentname;
wya.content = content;
wya.type_no = 1;
wya.weight = totalweight.ToString();
wya.num = totalnum;
wya.single_price = totalprice.ToString();
wya.warehouse_code = md.operationtype.ToString();//仓库 "13";
wya.doorpickup = "";
if (md.vipcode == "1") //上门揽货
wya.doorpickup = "1";
wya.has_battery = "";
if (md.clcttype == 1)
wya.has_battery = "1";//含电池
wya.from_country = "China";
wya.user_desc = contentdesc;// ordermd.PlatOrderCode;
wya.receive_from = companymd.ChargeName;// "ChangxingRoad689";
wya.receive_city = companymd.Shen; //"Ningbo";
wya.receive_province = companymd.Shi;// "Zhejiang";
wya.receive_phone = companymd.Phone;// "13456152202";
wya.receive_addres = companymd.Address;// "13456152202";
wya.trande_no = ordermd.PlatOrderCode;
wya.trade_amount = totalprice.ToString();
PostCode = wya.SendGood(wya);
}
}
//else if (md.Name.Contains("递四方"))
//{
// if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
// {
// try
// {
// pxserver.OrderOnlineServiceClient opx = new pxserver.OrderOnlineServiceClient();
// opx.Open();
// pxserver.createAndPreAlertOrderRequest[] rq = new pxserver.createAndPreAlertOrderRequest[1];
// pxserver.createAndPreAlertOrderRequest rq1 = new pxserver.createAndPreAlertOrderRequest();
// rq1.consigneeName = ordermd.RevName;// "jack";
// rq1.consigneePostCode = ordermd.RevPostCode;// "72601";
// rq1.consigneeTelephone = ordermd.RevPhone;// "0805522713";
// if (ordermd.RevPhone == null || ordermd.RevPhone == "")
// rq1.consigneeTelephone = ordermd.RevMoblie;
// rq1.city = ordermd.RevCity;// "Harrison";
// if (ordermd.RevCity == null || ordermd.RevCity == "")
// rq1.city = ordermd.RevProvince;
// rq1.stateOrProvince = ordermd.RevProvince;// "AR";
// if (ordermd.RevProvince == null || ordermd.RevProvince == "")
// rq1.stateOrProvince = ordermd.RevCity;
// rq1.street = ordermd.RevAddr;//"1202 Chalet Ln1";
// rq1.orderNo = ordermd.PlatOrderCode;// "5958d6a19ca1e531230ec8c5";
// if (rq1.orderNo.Length > 20)
// rq1.orderNo = rq1.orderNo.Substring(0, 20);
// rq1.shipperAddress = companymd.EnglishAddress;// "haishu";
// rq1.shipperCity = companymd.city;// "ningbo";
// rq1.shipperCompanyName = companymd.SendName;// "chu";
// rq1.shipperName = companymd.SendName;// "chu";
// rq1.shipperPostCode = "315000";
// rq1.initialCountryCode = "CN";
// rq1.destinationCountryCode = ordermd.CountryCode;// "US";
// rq1.productCode = md.customercode;//渠道 "B1";
// if(md.Name.Contains("电"))
// rq1.hasBattery = "Y";
// else
// rq1.hasBattery = "N";
// rq1.returnSign = "Y";
// pxserver.declareInvoice[] gmd = new pxserver.declareInvoice[goodslist.Count];
// int idx = 0;
// int gmx = 0;
// foreach (var ggmd in goodslist)
// {
// pxserver.declareInvoice md1 = new pxserver.declareInvoice();
// md1.cName = ggmd.GoodsName;
// md1.declareNote = ggmd.GoodsCode + "-" + ggmd.TypeCode + ggmd.TypeDesc;
// md1.declarePieces = ggmd.GoodsNum.Value.ToString();
// md1.unitPrice = "5";
// md1.name = "衣服";
// md1.eName = "cloth";
// gmd[idx] = md1;
// gmx += ggmd.GoodsNum.Value;
// idx++;
// }
// rq1.declareInvoice = gmd;
// rq1.pieces = gmx.ToString();
// rq[0] = rq1;
// pxserver.createAndPreAlertOrderResponse[] rp = new pxserver.createAndPreAlertOrderResponse[1];
// rp = opx.createAndPreAlertOrderService(md.CheckCode, rq);
// if (rp[0].ack == "Success")
// {
// PostCode = rp[0].trackingNumber;
// }
// else
// {
// ErrorInfo ="失败"+ rp[0].errors[0].cnMessage + rp[0].errors[0].cnAction + rp[0].errors[0].defineMessage;
// }
// opx.Close();
// }
// catch (Exception ex)
// {
// ErrorInfo = "失败" + ex.Message;
// }
// }
//}
else if (md.Name.Contains("燕文") || md.Name == "燕邮宝平邮")
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
YanWenApi ywa = new YanWenApi();
ywa.CheckCode = md.CheckCode;
ywa.UserCode = md.UserCode;
YW_Order model = new YW_Order();
model.Channel = md.customercode;
if (md.Name == "燕文上海平邮" || md.Name == "燕文宁波平邮")
{
model.Channel = "中邮上海平邮小包";
}
if (md.Name == "燕文北京平邮")
{
model.Channel = "中邮北京平邮小包";
}
if (md.Name == "燕文上海小包" || md.Name == "燕文宁波小包")
{
model.Channel = "中邮上海挂号小包";
}
if (md.Name.Contains("燕文德邮"))
{
model.Channel = "德国邮政挂号小包(上海)";
}
if (md.Name.Contains("燕文荷兰挂号(电)"))
{
model.Channel = "荷兰邮政挂号小包(含电)";
}
if (md.Name.Contains("燕文上海E邮宝"))
{
model.Channel = "中邮上海E邮宝(线下)";
}
if (md.Name.Contains("燕文马来西亚邮政平邮小包"))
{
model.Channel = "马来西亚邮政平邮小包(新)";
}
model.orderid = ordermd.PlatOrderCode;
model.d_address = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " "); ;
model.d_City = ordermd.RevCity;
model.d_contact = ordermd.RevName;
model.d_country = ordermd.CountryName;
model.d_email = ordermd.RevMail;
model.d_mobile = ordermd.RevMoblie;
model.d_postcode = ordermd.RevPostCode;
model.d_State = ordermd.RevProvince;
model.d_tel = ordermd.RevPhone;
//string desc = "";
//foreach (var ggmd in goodslist)
//{
// desc +=ggmd.GoodsCode+"-"+ ggmd.TypeCode + ggmd.TypeDesc + "[" + ggmd.GoodsNum.ToString() + "];";
//}
string contentdesc = "";
string contentdesc2 = "";
int GoodsNum = 0;
int IsMore = 0;
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
IsMore++;
GoodsNum += goodsmodel.GoodsNum.Value;
contentdesc2 += goodsmodel.GoodsCode + "-" + goodsmodel.TypeCode + "" + goodsmodel.TypeDesc.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " ") + "[" + goodsmodel.GoodsNum.ToString() + "];";
contentdesc += goodsmodel.GoodsCode + "-" + goodsmodel.TypeCode + goodsmodel.TypeDesc + "[" + goodsmodel.GoodsNum.ToString() + "];";
}
}
model.GoodsNum = GoodsNum;
model.delcarevalue = 5;
if (IsMore > 1)
contentdesc2 = "[MORE]" + contentdesc2;
if (contentdesc2.Length > 195)
contentdesc2 = contentdesc2.Substring(0, 195);
if (IsMore > 1)
model.cnname = goodslist.First().GoodsName.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " ") + " 多个";
else
model.cnname = goodslist.First().GoodsName.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " ");
model.enname = contentdesc2;
// model.Memo = contentdesc;
// if (contentdesc.Length > 50)
// model.Memo = contentdesc2;
model.MoreGoodsName = contentdesc;
model.weight = 100;
PostCode = ywa.GetTrackCode(model);
// ywa.getchannel();
}
}
else if (md.Name.Contains("淼信"))
{
if (md.Name == "淼信俄罗斯")
{
MiaoXinApi mxobj = new MiaoXinApi();
MiaoXin_Order model = new MiaoXin_Order();
model.buyerid = "";
model.consignee_address = ordermd.RevAddr;
model.consignee_city = ordermd.RevCity;
model.consignee_mobile = "";
model.consignee_name = ordermd.RevName;
model.consignee_postcode = ordermd.RevPostCode;
model.consignee_state = "Other";
model.consignee_telephone = ordermd.RevPhone;
model.country = "RU";
model.customer_id = md.UserCode;
model.customer_userid = md.CheckCode;
model.order_customerinvoicecode = ordermd.PlatOrderCode;
model.product_id = "3861";
model.trade_type = "ZYXT";
model.weight = "";
List GoodsList = new List();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
MiaoXin_Goods model2 = new MiaoXin_Goods();
model2.invoice_amount = "5";
model2.invoice_pcs = goodsmodel.GoodsNum.ToString();
model2.invoice_title = goodsmodel.GoodsEnglisgName;
model2.invoice_weight = "100";
model2.item_id = "";
model2.item_transactionid = "";
model2.sku = goodsmodel.GoodsName;
GoodsList.Add(model2);
}
}
model.orderInvoiceParam = GoodsList;
PostCode = mxobj.SendGoods(model, out ErrorInfo);
}
}
else if (md.Name.Contains("Fedex"))
{
FedexSmartPostNew fedexobj = new FedexSmartPostNew();
FedexSmartPostNew.Key = md.UserCode;
FedexSmartPostNew.Password = md.CheckCode;
FedexSmartPostNew.AccountNumber = md.client_id;
FedexSmartPostNew.MeterNumber = md.client_secret;
FedexSmartPostNew.PayAccountNumber = md.refresh_token;
FedexSmartPostNew.HubId = md.Code;
FedexSmartPostNew.PostName = md.customercode;
FedexOrder fdorder = new FedexOrder();
Shiper shiper = new Shiper
{
City = companymd.city,
CompanyName = companymd.SendName,
PersonName = companymd.SendEnglishName,
PhoneNumber = companymd.Phone,
PostalCode = companymd.PostCode,
StateOrProvinceCode = companymd.provincecode,
StreetLines = companymd.EnglishAddress,
CountryCode = companymd.countycode
};
fdorder.Shiper = shiper;
fdorder.CustomerTransactionId = ordermd.PlatOrderCode;
fdorder.PostId = new int?(PostId);
Rever rever = new Rever
{
City = ordermd.RevCity,
CompanyName = ordermd.RevName,
PersonName = ordermd.RevName,
PhoneNumber = ordermd.RevPhone,
PostalCode = ordermd.RevPostCode
};
if ((ordermd.RevProvince == null) || (ordermd.RevProvince == ""))
{
rever.StateOrProvinceCode = ordermd.RevCity;
}
else
{
rever.StateOrProvinceCode = ordermd.RevProvince;
}
rever.StreetLines = ordermd.RevAddr;
rever.CountryCode = ordermd.CountryCode;
fdorder.Rever = rever;
List fedlist = new List();
string gsku = "";
int gnum = 0;
foreach (DT_OrderGoods gmd in goodslist)
{
gsku += gmd.GoodsCode + gmd.GoodsDesc;
gnum += gmd.GoodsNum.Value;
}
FedexGoods fgmd = new FedexGoods
{
Amount = 10.000M,
SKU = gsku,
Description = gsku,
NumberOfPieces = gnum.ToString(),
Weight = 1M,
Height="",
Width="",
Lenght="",
Quantity = 1M
};
fedlist.Add(fgmd);
fdorder.GoodsList = fedlist;
PostCode = fedexobj.GetFedex(fdorder, out ErrorInfo);
}
}
}
catch (Exception ex)
{
ErrorInfo += ex.Message;
}
}
try
{
if (PostCode != null && PostCode != "" && !PostCode.Contains("失败"))
{
DT_TrackCodeApply Model = new DT_TrackCodeApply();
string[] tracklist = PostCode.Split(',');
//if (md.LogisticsId != null)
//{
// if (md.LogisticsId > 0)
// {
// if (CheckWuliu(md.LogisticsId.GetValueOrDefault(0), tracklist[0].ToString()) == 1)
// {
// return "";
// }
// }
//}
if (tracklist.Length > 1)
{
Model.TrackCode = tracklist[0].ToString();
Model.TrackCode2 = tracklist[1].ToString();
}
else
{
Model.TrackCode = tracklist[0].ToString();
}
Model.GetDate = DateTime.Now;
Model.InName = Session["Name"].ToString();
if (JoinOrderCode != "")
Model.OrderCode = JoinOrderCode;
else
Model.OrderCode = ordercode;
Model.OrderId = OrderId;
Model.PostId = PostId;
Model.State = 1;
Model.TrackType = TrackType;
Model.UpdateTime = DateTime.Now;
Model.IsSpare = IsSpare;
Model.JoinOrderCode = JoinOrderCode;
//obj.UpdateTrackCode(PostCode, PostId,OrderId, ErrorInfo);
obj.SaveTrackCodeApply2(Model);
}
else //if (md.PostType != 4) //线上发货的除外
{
ErrorFollow.TraceWrite("GetOrderPostCode", "物流id:" + PostId.ToString() + ";订单号:" + PlatCode + "获取跟踪码错误", ErrorInfo);
//ErrorInfo += "未获取到跟踪码";
obj.UpdateTrackCodeError2(OrderId, PostId, "获取到跟踪码失败");
}
if (PostCode != null && PostCode != "" && !PostCode.Contains("失败"))
{
TrackCode = PostCode;
return "";
}
else
return PlatCode + "的订单" + ErrorInfo + " " + PostCode;
}
catch (Exception ex)
{
return ErrorInfo + ex.Message;
}
}
#endregion
#region 获取物流单号2
[WebMethod(EnableSession = true)]
public string GetOrderPostCode2(int LogisticsId, int PostId, string OrderIds)
{
PagesNew.Login(this.Session);
var obj = new DD_OrderData();
if (OrderIds == "")
return "没有选择订单";
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var companymd = new JC_PostAddress();
var obj1 = new JC_ExpressService();
var obj11 = new BaseService();
string ErrorInfo = "";
companymd = obj11.GetAddressModel(CompanyId);
if (companymd == null)
{
ErrorInfo = "发货地址没选择;";
return ErrorInfo;
}
var md = obj1.GetExpressModel(CompanyId, PostId);
var plist = new List();
//var elist = new List();
var orderlist = obj.GetOrderModelList(OrderIds.Trim(','));
var orderGoodslist = obj.GetOrderGoodsList2(OrderIds.Trim(','));
if (orderlist == null || orderlist.Count == 0)
return "没有选择订单";
var obj2 = new BaseService();
if (md == null)
return "";
foreach (var ordermd in orderlist)
{
if (ordermd.JoinOrderCode != null)
{
if (plist.Where(o => o.JoinOrderCode == ordermd.JoinOrderCode).Count() > 0)
{
continue;
}
}
//if (LogisticsId != 80)
//{
// if (obj2.IsExpress2(CompanyId, PostId, ordermd.CountryCode) <= 0)
// {
// ErrorInfo += ordermd.PlatOrderCode + "的订单国家不支持该物流发送;";
// continue;
// }
//}
string PostCode = "";
if (md.CheckCode == null || md.CheckCode == "")
{
PostCode = obj1.GetInnerExpressCode(CompanyId, PostId);
}
else
{
try
{
List goodslist = new List();
//var ordermd = obj.GetOrderModel(OrderId);
if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "")//合并订单
{
goodslist = obj.GetOrderGoodsDetailListForJoin(ordermd.JoinOrderCode);
}
else
{
if (orderGoodslist != null && orderGoodslist.Count > 0)
{
goodslist = orderGoodslist.FindAll(n => n.OrderId == ordermd.OrderId);
}
}
string ordercode = ordermd.PlatOrderCode;
if (md != null && ordermd != null)
{
if (md.PostType == 1) //EUB
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
if (md.Name == "EUB" && ordermd.CountryCode != "US")
{
return "国家不支持";
}
if (md.Name.Contains("美国") == true && ordermd.CountryCode != "US")
{
return "国家不支持";
}
if (md.Name == "EUB上海" && ordermd.CountryCode != "US")
{
return "国家不支持";
}
if (md.Name == "EUB慈溪" && ordermd.CountryCode != "US")
{
return "国家不支持";
}
if (md.Name == "俄EUB" && ordermd.CountryCode != "RU")
{
return "国家不支持";
}
if (md.Name.Contains("俄罗斯") == true && ordermd.CountryCode != "RU")
{
return "国家不支持";
}
if (md.Name == "加拿大EUB" && ordermd.CountryCode != "CA")
{
return "国家不支持";
}
if (md.Name.Contains("加拿大") == true && ordermd.CountryCode != "CA")
{
return "国家不支持";
}
if (md.Name == "英国EUB" && (ordermd.CountryCode != "UK" && ordermd.CountryCode != "GB"))
{
return "国家不支持";
}
if (md.Name.Contains("英国") == true && (ordermd.CountryCode != "UK" && ordermd.CountryCode != "GB"))
{
return "国家不支持";
}
if (md.Name == "线上EUB" && ordermd.CountryCode != "US")
{
return "国家不支持";
}
if (md.Name == "线上俄EUB" && ordermd.CountryCode != "RU")
{
return "国家不支持";
}
if (md.Name == "澳大利亚EUB" && ordermd.CountryCode != "AU")
{
return "国家不支持";
}
if (md.Name.Contains("澳大利亚") == true && ordermd.CountryCode != "AU")
{
return "国家不支持";
}
if (md.Name == "乌克兰EUB" && ordermd.CountryCode != "UA")
{
return "国家不支持";
}
if (md.Name.Contains("澳大利亚") == true && ordermd.CountryCode != "AU")
{
return "国家不支持";
}
if (md.Name == "法国EUB" && ordermd.CountryCode != "FR")
{
return "国家不支持";
}
if (md.Name.Contains("澳大利亚") == true && ordermd.CountryCode != "AU")
{
return "国家不支持";
}
if (md.Name == "以色列EUB" && ordermd.CountryCode != "IL")
{
return "国家不支持";
}
if (md.Name.Contains("以色列") == true && ordermd.CountryCode != "IL")
{
return "国家不支持";
}
if (md.Name == "沙特EUB" && ordermd.CountryCode != "SA")
{
return "国家不支持";
}
if (md.Name.Contains("沙特") == true && ordermd.CountryCode != "SA")
{
return "国家不支持";
}
EubApi eub = new EubApi();
Eub_Order model = new Eub_Order();
model.Orderid = ordermd.PlatOrderCode;
model.OrderCode = ordermd.OrderCode;
model.BuyID = ordermd.CustomID;
if (md.operationtype != null)
model.operationtype = md.operationtype.Value;
else
model.operationtype = 0;
//model.operationtype = 0;
model.customercode = md.customercode;
model.vipcode = md.vipcode;
if (md.clcttype != null)
model.clcttype = md.clcttype.Value;
else
model.clcttype = 1;
model.pod = false;
model.untread = "Returned";
if (goodslist != null && goodslist.Count > 0 && goodslist[0].Solid != null)
model.volweight = Convert.ToInt32(goodslist[0].Solid / 6000);
else
model.volweight = 0;
model.startdate = DateTime.Now;
model.enddate = DateTime.Now.AddDays(15);
model.sku1 = goodslist[0].GoodsSKU.Replace("&", " ");
model.printcode = "03";
model.barcode = ordermd.PlatOrderCode;
Eub_Person sendmd = new Eub_Person();
sendmd.company = companymd.CompanyEnglishName;
sendmd.email = companymd.Email;
sendmd.name = companymd.SendEnglishName;
sendmd.phone = companymd.Phone;
sendmd.province = companymd.province;
sendmd.city = companymd.city;
sendmd.country = "CN";
sendmd.county = companymd.county;
sendmd.street = companymd.EnglishAddress; //"Guangyuan Road 69 (Asia Tiger Park Building 4),Jiangbei District,Ningbo,China";
sendmd.postcode = companymd.PostCode;
model.sender = sendmd;
Eub_Person revmodel = new Eub_Person();
revmodel.name = ordermd.RevName;
revmodel.phone = ordermd.RevPhone;
if (ordermd.RevProvince != null && ordermd.RevProvince != "")
revmodel.province = ordermd.RevProvince;
else
{
if (md.Name != "EUB" && md.Name != "EUB上海" && md.Name != "EUB慈溪")
{
//ErrorInfo += ordercode + "收件省不能为空;";
if (ordermd.RevCity != null && ordermd.RevCity != "")
{
revmodel.province = ordermd.RevCity;
}
else
{
revmodel.province = " ";
}
}
}
string postcode = ordermd.RevPostCode;
if (ordermd.RevCountry == "United States" && postcode.Length > 5)
{
// postcode = Convert.ToInt32(ordermd.RevPostCode.Substring(0, 5).Trim()).ToString();
postcode = ordermd.RevPostCode.Substring(0, 5).Trim();
}
else if (ordermd.RevCountry == "Russian Federation" && postcode.Length > 6)
{
// postcode = Convert.ToInt32(ordermd.RevPostCode.Substring(0, 6).Trim()).ToString();
postcode = ordermd.RevPostCode.Substring(0, 6).Trim();
}
revmodel.county = ordermd.RevArea;
revmodel.city = ordermd.RevCity;
if (ordermd.CountryCode == "UK") ordermd.CountryCode = "GB";
revmodel.country = ordermd.CountryCode;
revmodel.street = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " "); ;
revmodel.postcode = postcode;
model.receiver = revmodel;
Eub_Person collmodel = new Eub_Person();
collmodel.company = companymd.CompanyName;
collmodel.email = companymd.Email;
collmodel.name = companymd.SendName;
collmodel.phone = companymd.Phone;
collmodel.province = companymd.province;
collmodel.country = "CN";
collmodel.city = companymd.city;
collmodel.county = companymd.county;
collmodel.street = companymd.Address;
collmodel.postcode = companymd.PostCode;
model.collect = collmodel;
List ListGoods = new List();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
var ListGoodsmd = new Eub_Goods();
ListGoodsmd.cnname = goodsmodel.GoodsName.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " ");
if (goodsmodel.GoodsEnglisgName == null || goodsmodel.GoodsEnglisgName == "")
ListGoodsmd.enname = goodsmodel.GoodsName;
else
ListGoodsmd.enname = goodsmodel.GoodsEnglisgName;
ListGoodsmd.count = goodsmodel.GoodsNum.Value;
ListGoodsmd.unit = "件";
// if (goodsmodel.GoodsPrice != null && goodsmodel.GoodsNum != null)
ListGoodsmd.delcarevalue = 10;
//if (goodsmodel.Weight != null)
// ListGoodsmd.weight = goodsmodel.Weight.Value / 1000;
//else
ListGoodsmd.weight = Convert.ToDecimal(0.20);
ListGoodsmd.origin = "CN";
ListGoodsmd.description = "";
ListGoods.Add(ListGoodsmd);
}
}
model.ListGoods = ListGoods;
if (md.Name == "线上EUB")
{
EbayApi ea = new EbayApi();
JC_PostAddress2 add = new JC_PostAddress2();
add.SendName = companymd.SendName;
add.CompanyName = companymd.CompanyName;
add.Email = companymd.Email;
add.Address = companymd.Address;
add.EnglishAddress = companymd.EnglishAddress;
add.CompanyEnglishName = companymd.CompanyEnglishName;
add.city = companymd.city;
add.citycode = companymd.citycode;
add.county = companymd.county;
add.countycode = companymd.countycode;
add.province = companymd.province;
add.provincecode = companymd.provincecode;
add.Phone = companymd.Phone;
add.PostCode = companymd.PostCode;
PostCode = ea.senderorder(model, add, md.CheckCode, "ebayshop2");
}
else
PostCode = eub.SendGoods(model, md.CheckCode, out ErrorInfo);
}
//if (PostCode == null || PostCode == "")
//{
// PostCode = obj1.GetInnerExpressCode(CompanyId, PostId);
//}
}
else if (md.Name == "E邮宝") //E邮宝
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
EubApi eub = new EubApi();
Eub_Order model = new Eub_Order();
model.Orderid = ordermd.PlatOrderCode;
if (md.operationtype != null)
model.operationtype = md.operationtype.Value;
else
model.operationtype = 0;
model.producttype = 0;
model.customercode = md.customercode;
model.vipcode = md.vipcode;
if (md.clcttype != null)
model.clcttype = md.clcttype.Value;
else
model.clcttype = 1;
model.pod = false;
model.untread = "Returned";
if (goodslist != null && goodslist.Count > 0 && goodslist[0].Solid != null)
model.volweight = Convert.ToInt32(goodslist[0].Solid / 6000);
else
model.volweight = 0;
model.startdate = DateTime.Now;
model.enddate = DateTime.Now.AddDays(15);
model.sku1 = goodslist[0].GoodsSKU.Replace("&", " ");
model.printcode = "03";
model.barcode = ordermd.PlatOrderCode;
Eub_Person sendmd = new Eub_Person();
sendmd.company = companymd.CompanyEnglishName;
sendmd.email = companymd.Email;
sendmd.name = companymd.SendEnglishName;
sendmd.phone = companymd.Phone;
sendmd.province = companymd.province;
sendmd.city = companymd.city;
sendmd.country = "CN";
sendmd.county = companymd.county;
sendmd.street = companymd.EnglishAddress; //"Guangyuan Road 69 (Asia Tiger Park Building 4),Jiangbei District,Ningbo,China";
sendmd.postcode = companymd.PostCode;
model.sender = sendmd;
Eub_Person revmodel = new Eub_Person();
revmodel.name = ordermd.RevName;
revmodel.phone = ordermd.RevPhone;
if (ordermd.RevMoblie != null && ordermd.RevMoblie != "")
revmodel.mobile = ordermd.RevMoblie.Replace("+", "").Replace("-", "").Replace("/", "");
if (ordermd.RevProvince != null && ordermd.RevProvince != "")
revmodel.province = ordermd.RevProvince;
if (revmodel.province == null && revmodel.province != "")
{
revmodel.province = ordermd.RevCity;
}
string postcode = ordermd.RevPostCode;
if (ordermd.RevCountry == "United States" && postcode.Length > 5)
{
// postcode = Convert.ToInt32(ordermd.RevPostCode.Substring(0, 5).Trim()).ToString();
postcode = ordermd.RevPostCode.Substring(0, 5).Trim();
}
else if (ordermd.RevCountry == "Russian Federation" && postcode.Length > 6)
{
// postcode = Convert.ToInt32(ordermd.RevPostCode.Substring(0, 6).Trim()).ToString();
postcode = ordermd.RevPostCode.Substring(0, 6).Trim();
}
revmodel.county = ordermd.RevArea;
revmodel.city = ordermd.RevCity;
if (ordermd.CountryCode == "UK") ordermd.CountryCode = "GB";
revmodel.country = ordermd.CountryCode;
revmodel.street = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " "); ;
revmodel.postcode = postcode;
model.receiver = revmodel;
Eub_Person collmodel = new Eub_Person();
collmodel.company = companymd.CompanyName;
collmodel.email = companymd.Email;
collmodel.name = companymd.SendName;
collmodel.phone = companymd.Phone;
collmodel.province = companymd.province;
collmodel.country = "CN";
collmodel.city = companymd.city;
collmodel.county = companymd.county;
collmodel.street = companymd.Address;
collmodel.postcode = companymd.PostCode;
model.collect = collmodel;
List ListGoods = new List();
if (goodslist != null)
{
decimal dw = Convert.ToDecimal(0.20);
if (goodslist.Count > 10)
dw = Convert.ToDecimal(0.10);
foreach (var goodsmodel in goodslist)
{
if (goodsmodel.GoodsName != null && goodsmodel.GoodsName.Length > 30)
goodsmodel.GoodsName = goodsmodel.GoodsName.Substring(0, 30);
var ListGoodsmd = new Eub_Goods();
ListGoodsmd.cnname = goodsmodel.GoodsName.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " ");
// if (goodsmodel.GoodsEnglisgName == null || goodsmodel.GoodsEnglisgName == "")
ListGoodsmd.enname = goodsmodel.GoodsCode + "-" + goodsmodel.TypeCode + goodsmodel.TypeDesc;
// else
// ListGoodsmd.enname = goodsmodel.GoodsEnglisgName;
ListGoodsmd.count = goodsmodel.GoodsNum.Value;
ListGoodsmd.unit = "件";
// if (goodsmodel.GoodsPrice != null && goodsmodel.GoodsNum != null)
ListGoodsmd.delcarevalue = 10;
//if (goodsmodel.Weight != null)
// ListGoodsmd.weight = goodsmodel.Weight.Value / 1000;
//else
ListGoodsmd.weight = dw;
ListGoodsmd.origin = "CN";
ListGoodsmd.description = "";
ListGoods.Add(ListGoodsmd);
}
}
model.ListGoods = ListGoods;
PostCode = eub.SendGoods(model, md.CheckCode, out ErrorInfo);
}
}
else if (md.Name == "BPost") //比利时邮政
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
//if (companymd == null)
//{
// ErrorInfo = "发货地址没选择;";
// return ErrorInfo;
//}
if (PostCode == null || PostCode == "")
{
PostCode = obj1.GetGZExpressCodeBP(CompanyId, PostId);
}
BelgiumApi baobj = new BelgiumApi();
baobj.authenticate = "basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(string.Format("{0}:{1}", md.UserCode, md.CheckCode)));
Belgium_Order bamodel = new Belgium_Order();
bamodel.ContractId = 1;
bamodel.OrderNumber = ordermd.PlatOrderCode;
bamodel.ProductBarcode = PostCode;
bamodel.RecipientName = ordermd.RevName;
bamodel.RecipientStreet = ordermd.RevAddr;
bamodel.RecipientHouseNumber = "";
bamodel.RecipientBusnumber = "";
bamodel.RecipientZipCode = ordermd.RevPostCode;
bamodel.RecipientCity = ordermd.RevCity;
bamodel.RecipientState = ordermd.RevProvince;
bamodel.RecipientCountry = ordermd.CountryCode;
bamodel.PhoneNumber = ordermd.RevPhone;
bamodel.Email = ordermd.RevMail;
bamodel.SenderName = companymd.SendEnglishName;
bamodel.SenderAddress = companymd.Address;
bamodel.SenderSequence = "1";
bamodel.IsSure = true;
List bglist = new List();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
Belgium_Goods bgmd = new Belgium_Goods();
bgmd.Sku = goodsmodel.GoodsSKU;
bgmd.ChineseContentDescription = goodsmodel.GoodsName;
bgmd.ItemContent = goodsmodel.GoodsEnglisgName;
if (goodsmodel.GoodsPrice != null && goodsmodel.GoodsPrice.Value > 10)
bgmd.Value = 9;
else
bgmd.Value = 7;
bgmd.ItemCount = goodsmodel.GoodsNum.Value;
bgmd.Currency = "USD";
bgmd.Weight = 200;
bgmd.SkuInInvoice = "";
bglist.Add(bgmd);
}
}
bamodel.Customs = bglist;
PostCode = baobj.SendGoods(bamodel, baobj.authenticate, out ErrorInfo);
if (ErrorInfo != "")
PostCode = "";
}
}
else if (md.LogisticsName == "SF Express") //顺丰
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
sfApi sfobj = new sfApi();
sf_Order model = new sf_Order();
if (md.Name == "顺丰E宝挂号" || md.Name == "顺丰E宝平邮")
{
if (md.operationtype != null)
model.express_type = md.operationtype.Value.ToString();
else
model.express_type = "9";
}
else if (md.Name == "顺丰美国")
{
model.express_type = "A9";
}
else if (md.Name == "顺丰欧洲")
{
model.express_type = "A2";
}
model.d_tel = ordermd.RevPhone;
model.d_company = ordermd.RevName;
model.d_contact = ordermd.RevName;
model.d_address = ordermd.RevAddr;
model.orderid = ordermd.PlatOrderCode;
model.d_county = ordermd.RevArea;
model.d_city = ordermd.RevCity;
model.d_post_code = ordermd.RevPostCode;
model.d_deliverycode = ordermd.CountryCode;
model.d_province = ordermd.RevProvince;
model.d_country = ordermd.RevCountry;
model.cargo_total_weight = 1; //Convert.ToDecimal(ordermd.TotalWeight) / 1000;
model.j_tel = companymd.Phone;
model.j_company = companymd.CompanyEnglishName;
model.j_province = companymd.province;// "zhejiang province";
model.j_city = companymd.city; //"Ningbo";
model.j_county = companymd.county;
model.j_contact = companymd.SendEnglishName;
model.j_address = companymd.EnglishAddress;
model.j_post_code = companymd.PostCode;
model.declared_value = ordermd.TotalPrice;
model.declared_value_currency = ordermd.MoneyCode;
model.parcel_quantity = 1;
model.pay_method = 1;
model.custid = md.customercode;//"7551878519";
model.cargo_length = 60;
model.cargo_width = 60;
model.cargo_height = 60;
List ListGoods = new List();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
var ListGoodsmd = new sf_Goods();
if (goodsmodel.GoodsEnglisgName != null && goodsmodel.GoodsEnglisgName != "")
{
ListGoodsmd.ename = goodsmodel.GoodsEnglisgName;
}
else
{
ListGoodsmd.ename = "dress";
}
ListGoodsmd.name = goodsmodel.GoodsName;
ListGoodsmd.count = goodsmodel.GoodsNum.Value;
ListGoodsmd.unit = "piece";
if (goodsmodel.Weight != null)
ListGoodsmd.weight = goodsmodel.Weight.Value;
else
ListGoodsmd.weight = 100;
//if (goodsmodel.GoodsPrice != null)
ListGoodsmd.amount = goodsmodel.GoodsPrice.GetValueOrDefault(10);
ListGoodsmd.currency = "USD";
ListGoodsmd.source_area = "China";
ListGoods.Add(ListGoodsmd);
}
}
model.ListGoods = ListGoods;
sfobj.UserCode = md.UserCode;
sfobj.CheckCode = md.CheckCode;
if (md.Name == "顺丰E宝挂号" || md.Name == "顺丰E宝平邮")
{
PostCode = sfobj.SendGoods(model, out ErrorInfo);
}
if (md.Name == "顺丰美国" || md.Name == "顺丰欧洲")
{
PostCode = sfobj.SendOU(model, out ErrorInfo);
}
}
}
else if (md.Name == "顺丰国际挂号(美国)" || md.Name == "顺丰国际挂号(澳大利亚)" || md.Name == "顺丰国际挂号(其它)") //顺丰
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
sfApi sfobj = new sfApi();
sf_Order2 model = new sf_Order2();
model.express_type = "E2";
model.d_tel = ordermd.RevPhone;
model.d_company = ordermd.RevName;
model.d_contact = ordermd.RevName;
model.d_address = ordermd.RevAddr;
model.orderid = ordermd.PlatOrderCode;
model.d_city = ordermd.RevCity;
model.d_post_code = ordermd.RevPostCode;
model.d_province = ordermd.RevProvince;
model.d_country = ordermd.RevCountry;
model.cargo_total_weight = 1; //Convert.ToDecimal(ordermd.TotalWeight) / 1000;
model.j_tel = companymd.Phone;
model.j_company = companymd.CompanyEnglishName;
model.j_province = "zhejiang";// "zhejiang province";
model.j_city = "ningbo"; //"Ningbo";
model.j_contact = companymd.SendEnglishName;
model.j_address = companymd.EnglishAddress;
model.j_post_code = companymd.PostCode;
model.parcel_quantity = 1;
List ListGoods = new List();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
var ListGoodsmd = new sf_Goods2();
if (goodsmodel.GoodsEnglisgName != null && goodsmodel.GoodsEnglisgName != "")
{
ListGoodsmd.ename = goodsmodel.GoodsEnglisgName;
}
else
{
ListGoodsmd.ename = "dress";
}
if (ListGoodsmd.ename.Length > 25)
ListGoodsmd.ename = ListGoodsmd.ename.Substring(0, 24);
ListGoodsmd.name = goodsmodel.GoodsName;
if (ListGoodsmd.name.Length > 25)
ListGoodsmd.name = ListGoodsmd.name.Substring(0, 24);
ListGoodsmd.count = goodsmodel.GoodsNum.Value;
//ListGoodsmd.unit = "piece";
//if (goodsmodel.Weight != null)
// ListGoodsmd.weight = goodsmodel.Weight.Value;
//else
// ListGoodsmd.weight = 100;
//if (goodsmodel.GoodsPrice != null)
//if (goodsmodel.GoodsPrice != null && goodsmodel.GoodsPrice < 10)
// ListGoodsmd.amount = goodsmodel.GoodsPrice.Value;
//else
ListGoodsmd.amount = 10;
//ListGoodsmd.currency = "USD";
// ListGoodsmd.source_area = "China";
ListGoods.Add(ListGoodsmd);
}
}
model.ListGoods = ListGoods;
sfobj.UserCode = md.UserCode;
sfobj.CheckCode = md.CheckCode;
PostCode = sfobj.SendGoods2(model, out ErrorInfo);
if (ErrorInfo != "")
PostCode = "";
}
}
else if (md.Name == "德邮小包" || md.Name == "DHL中英专线")
{
PostCode = obj1.GetGZExpressCodeDY(CompanyId, PostId);
}
else if (md.Name.Contains("DHL"))
{
if (md.client_id != null && md.client_id != "" && goodslist != null && goodslist.Count > 0)
{
DHLApi dhlobj = new DHLApi();
DHLOrder dhlmodel = new DHLOrder();
dhlobj.clientId = md.client_id; //"LTExMTgwNTI4MTY=";
dhlobj.GetTime = md.GetTime;
dhlobj.password = md.client_secret; //"APITest1";
dhlobj.AccessToken = md.UserCode;
dhlobj.token_type = md.CheckCode;
labelRequest labelRequest = new labelRequest();
hdr hdr = new hdr();
hdr.messageType = "LABEL";
hdr.messageDateTime = DateTime.Now.ToString("s");
hdr.accessToken = "";
hdr.messageVersion = "1.4";
hdr.messageLanguage = "en";
labelRequest.hdr = hdr;
DHL_Order bd = new DHL_Order();
bd.customerAccountId = null;
bd.pickupAccountId = md.refresh_token; //"5999999201";
bd.soldToAccountId = md.Code; //"5999999201";
bd.pickupDateTime = DateTime.Now.ToString("s");
pickupAddress pickupAddress = new pickupAddress();
pickupAddress.companyName = "DHL";
pickupAddress.name = "DHL";
pickupAddress.address1 = "china";
pickupAddress.address2 = null;
pickupAddress.address3 = null;
pickupAddress.city = "china";
pickupAddress.state = "china";
pickupAddress.district = "china";
pickupAddress.country = "CN";
pickupAddress.postCode = "6278";
pickupAddress.phone = "9999";
pickupAddress.email = "test@dhl.com";
bd.pickupAddress = pickupAddress;
List shipmentItemslist = new List();
shipmentItems shipmentItems = new shipmentItems();
consigneeAddress consigneeAddress = new consigneeAddress();
string Name = ordermd.RevName;
if (Name.Length > 30)
Name = Name.Substring(0, 30);
consigneeAddress.companyName = Name;
consigneeAddress.name = Name;
consigneeAddress.address2 = null;
consigneeAddress.address3 = null;
if (ordermd.RevAddr.Length <= 50)
consigneeAddress.address1 = ordermd.RevAddr;
else
consigneeAddress.address1 = ordermd.RevAddr.Substring(0, 50);
if (ordermd.RevAddr.Length > 50 && ordermd.RevAddr.Length <= 100)
consigneeAddress.address2 = ordermd.RevAddr.Substring(49, ordermd.RevAddr.Length - 50);
else if (ordermd.RevAddr.Length > 100 && ordermd.RevAddr.Length <= 150)
consigneeAddress.address3 = ordermd.RevAddr.Substring(99, ordermd.RevAddr.Length - 100);
consigneeAddress.city = ordermd.RevCity;
consigneeAddress.state = ordermd.RevProvince;
consigneeAddress.district = null;
consigneeAddress.country = ordermd.CountryCode;
consigneeAddress.postCode = ordermd.RevPostCode;
consigneeAddress.phone = ordermd.RevPhone;
consigneeAddress.email = null;
consigneeAddress.idNumber = "9999";
consigneeAddress.idType = "1";
shipmentItems.consigneeAddress = consigneeAddress;
returnAddress returnAddress = new returnAddress();
returnAddress.companyName = "MHSG";
returnAddress.name = companymd.SendEnglishName;
if (companymd.Address != null && companymd.Address.Length < 50)
returnAddress.address1 = companymd.Address;
else if (companymd.Address != null)
returnAddress.address1 = companymd.Address.Substring(0, 49);
returnAddress.address2 = null;
returnAddress.address3 = null;
returnAddress.city = "ningbo";
returnAddress.state = "zhejiang";
returnAddress.district = "zhenhai";
returnAddress.country = "CN";
returnAddress.postCode = "315000";
returnAddress.phone = companymd.Phone;
shipmentItems.returnAddress = returnAddress;
shipmentItems.shipmentID = "CNAEV543" + ordermd.OrderId.ToString();
shipmentItems.deliveryConfirmationNo = null;
shipmentItems.packageDesc = "Desc";
shipmentItems.totalWeightUOM = "G";
shipmentItems.dimensionUOM = "cm";
shipmentItems.height = Convert.ToDecimal(0.1);
shipmentItems.length = Convert.ToDecimal(0.1);
shipmentItems.width = Convert.ToDecimal(0.1);
shipmentItems.customerReference1 = null;
shipmentItems.customerReference2 = null;
shipmentItems.productCode = "PPS";
shipmentItems.incoterm = "DDU";
shipmentItems.contentIndicator = "01";
shipmentItems.codValue = null;
shipmentItems.insuranceValue = null;
shipmentItems.freightCharge = Convert.ToDecimal(0.1);
shipmentItems.currency = "USD";
List shipmentContentsList = new List();
int TNum = 0;
foreach (var gmd in goodslist)
{
TNum += gmd.GoodsNum.Value;
}
decimal tj = Convert.ToDecimal(5.5);
decimal dj = Convert.ToDecimal(5.5);
if (TNum > 1 && TNum <= 5)
{
tj = Convert.ToDecimal(2.1 * TNum);
dj = Convert.ToDecimal(2.1);
}
else
if (TNum > 5)
{
tj = Convert.ToDecimal(1.1 * TNum);
dj = Convert.ToDecimal(1.1);
}
foreach (var gmd in goodslist)
{
shipmentContents shipmentContents = new shipmentContents();
shipmentContents.skuNumber = gmd.GoodsSKU;
if (gmd.GoodsSKU == null && gmd.GoodsSKU.Length > 50)
shipmentContents.skuNumber = "DEC001";
if (gmd.GoodsEnglisgName != null && gmd.GoodsEnglisgName != "" && gmd.GoodsEnglisgName.Length < 50)
{
shipmentContents.description = gmd.GoodsEnglisgName;
shipmentContents.descriptionImport = gmd.GoodsEnglisgName;
}
else
{
shipmentContents.description = "cloth";
shipmentContents.descriptionImport = "cloth";
}
if (gmd.GoodsName.Length < 50)
shipmentContents.descriptionExport = gmd.GoodsName;
else
shipmentContents.descriptionExport = gmd.GoodsName.Substring(0, 49);
shipmentContents.itemValue = dj;
shipmentContents.itemQuantity = gmd.GoodsNum.Value;
shipmentContents.grossWeight = 100;
shipmentContents.netWeight = 100;
shipmentContents.weightUOM = "g";
shipmentContents.contentIndicator = "01";
shipmentContents.countryOfOrigin = "CN";
shipmentContents.hsCode = null;
shipmentContentsList.Add(shipmentContents);
shipmentItems.shipmentContents = shipmentContentsList;
shipmentItemslist.Add(shipmentItems);
}
shipmentItems.totalValue = tj;
shipmentItems.totalWeight = Convert.ToDecimal(100 * 1.00 * TNum);
bd.shipmentItems = shipmentItemslist;
label label = new label();
label.pageSize = "400x600";
label.format = "PDF";
label.layout = "4x1";
bd.label = label;
labelRequest.bd = bd;
dhlmodel.labelRequest = labelRequest;
PostCode = dhlobj.SendGoods(dhlmodel, out ErrorInfo);
}
}
else if (md.Name.Contains("Fedex"))
{
if (md.UserCode != null && md.UserCode != "" && goodslist != null && goodslist.Count > 0)
{
Fedex fedexobj = new Fedex();
Fedex.Key = md.UserCode;// "ENsVAGUr9UIGx7Uj";
Fedex.Password = md.CheckCode; //"o7j1X19OxhxWqwb9gMTDEGYfE";
Fedex.AccountNumber = md.client_id;// "510087160";
Fedex.MeterNumber = md.client_secret;//"118810402";
Fedex.PayAccountNumber = md.refresh_token;//"510087160";
FedexOrder fedexmd = new FedexOrder();
Shiper shipmd = new Shiper();
shipmd.City = companymd.city;// "Harrison";
shipmd.CompanyName = companymd.SendEnglishName;//"chu";
shipmd.PersonName = companymd.SendEnglishName;//"chu";
shipmd.PhoneNumber = companymd.Phone;//"0805522713";
shipmd.PostalCode = companymd.PostCode;// "72601";
shipmd.StateOrProvinceCode = companymd.provincecode;// "AR";
shipmd.StreetLines = companymd.EnglishAddress;// "1202 Chalet Ln";
shipmd.CountryCode = companymd.countycode;// "US";
fedexmd.Shiper = shipmd;
fedexmd.CustomerTransactionId = ordermd.PlatOrderCode;
Rever Revmd = new Rever();
Revmd.City = ordermd.RevCity;// "Harrison";
Revmd.CompanyName = ordermd.RevName; //"Jack";
Revmd.PersonName = ordermd.RevName;// "Jack";
Revmd.PhoneNumber = ordermd.RevPhone;// "9012637906";
Revmd.PostalCode = ordermd.RevPostCode;// "72601";
if (ordermd.RevProvince == null || ordermd.RevProvince == "")
Revmd.StateOrProvinceCode = ordermd.RevCity;// "AR";
else
Revmd.StateOrProvinceCode = ordermd.RevProvince;// "AR";
Revmd.StreetLines = ordermd.RevAddr; //"1806 Chalet Ln";
Revmd.CountryCode = ordermd.CountryCode; //"US";
fedexmd.Rever = Revmd;
List fedlist = new List();
foreach (var gmd in goodslist)
{
FedexGoods fedGd = new FedexGoods();
fedGd.Amount = 10.000M;
fedGd.Description = "ABC001-002 white shirt [NB2][1]";
fedGd.NumberOfPieces = "1";
fedGd.Weight = 0.2M;
fedGd.Quantity = 1;
fedlist.Add(fedGd);
}
fedexmd.GoodsList = fedlist;
Fedex.ormd = fedexmd;
PostCode = fedexobj.GetFedex(out ErrorInfo);
}
}
else if (md.Name.StartsWith("CNE"))
{
string postmessage = "{\"RequestName\":\"TimeStamp\"}";
string error = "";
CNE cneobj = new CNE();
string timeinfo = cneobj.SendGoods(postmessage, out error);
JavaScriptSerializer JsonConvert = new JavaScriptSerializer();
CNE_Result model = JsonConvert.Deserialize(timeinfo);
string code = NetLibrary.Safety.CryptoPublic.Md5For32(md.UserCode + model.ReturnValue + md.CheckCode);
var cnemd = new CNE_Order();
cnemd.RequestName = "PreInputSet";
cnemd.icID = md.UserCode;
cnemd.TimeStamp = model.ReturnValue;
cnemd.MD5 = code;
List RecList = new List();
var recmd = new CNE_Reve();
recmd.iID = "0";
recmd.nItemType = 1;
recmd.cRNo = ordermd.PlatOrderCode;
recmd.cDes = ordermd.CountryName;
recmd.cEmsKind = md.customercode;
recmd.fWeight = 0;
recmd.cReceiver = ordermd.RevName;
recmd.cREMail = "";
recmd.cRAddr = ordermd.RevAddr;
recmd.cRCity = ordermd.RevCity;
recmd.cRProvince = ordermd.RevProvince;
recmd.cRCountry = ordermd.RevCountry;
recmd.cRPhone = ordermd.RevPhone;
recmd.cRPostcode = ordermd.RevPostCode;
var glist = new List();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
if (goodsmodel.GoodsName != null && goodsmodel.GoodsName.Length > 30)
goodsmodel.GoodsName = goodsmodel.GoodsName.Substring(0, 30);
var gmd = new CNE_Goods();
gmd.cxGoods = goodsmodel.GoodsName;
if (goodsmodel.GoodsEnglisgName != null && goodsmodel.GoodsEnglisgName != "")
gmd.cxGoodsA = goodsmodel.GoodsEnglisgName;
else
gmd.cxGoodsA = "cloth";
if (gmd.cxGoodsA.Length > 20)
gmd.cxGoodsA = gmd.cxGoodsA.Substring(0, 20);
gmd.fxPrice = 10;
gmd.ixQuantity = goodsmodel.GoodsNum.Value;
gmd.cxGCodeA = goodsmodel.GoodsSKU;
glist.Add(gmd);
recmd.GoodsList = glist;
RecList.Add(recmd);
}
}
cnemd.RecList = RecList;
PostCode = cneobj.SendGoods2(cnemd, out ErrorInfo);
}
else if (md.Name.Contains("Wish"))
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
//WishYouApi wya = new WishYouApi();
//wya.api_key = md.UserCode;
//wya.bid = 0;
//wya.zx_type = 6;
//wya.guid = ordermd.OrderId.ToString();
//if (md.Name == "Wish挂号")
// wya.otype = "1";
//if (md.Name == "Wish平邮")
// wya.otype = "0";
//if (md.Name == "DLP平邮")
// wya.otype = "9-0";
//if (md.Name == "DLP挂号")
// wya.otype = "9-1";
//if (md.Name == "Wish-E邮宝")
// wya.otype = "11-0";
//companymd = obj1.GetSendAddress(CompanyId);
//wya.from = companymd.SendName;
//wya.sender_addres = companymd.SendEnglishName;
//wya.sender_city = companymd.city;
//wya.sender_province = companymd.province;
//wya.sender_phone = companymd.Phone;
//wya.CustomName = ordermd.RevName;
//wya.to_local = ordermd.RevName;
//wya.recipient_addres = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " "); ;
//wya.recipient_addres_local = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " "); ;
//wya.recipient_country_short = ordermd.CountryCode;
//wya.recipient_country_local = ordermd.RevCountry;
//wya.recipient_province = ordermd.RevProvince;
//wya.recipient_province_local = ordermd.RevProvince;
//wya.recipient_city = ordermd.RevCity;
//wya.recipient_city_local = ordermd.RevCity;
//wya.recipient_postcode = ordermd.RevPostCode;
//string phone = "";
//if (ordermd.RevMoblie != null)
//{
// if (ordermd.RevMoblie.Length > 5)
// {
// phone = ordermd.RevMoblie;
// }
//}
//if (phone == "") phone = ordermd.RevPhone;
//wya.recipient_phone = phone;
//string content = "";
//int totalnum = 0;
//decimal totalweight = 0;// ordermd.TotalWeight.Value;
//var totalprice = ordermd.TotalPrice.Value;
//if (goodslist != null)
//{
// foreach (var goodsmodel in goodslist)
// {
// totalweight += Convert.ToDecimal(goodsmodel.Weight.GetValueOrDefault(100) / 1000);
// if (goodsmodel.GoodsEnglisgName != "")
// {
// content += goodsmodel.GoodsEnglisgName + ";";
// }
// else
// {
// content += "dress;";
// }
// totalnum += goodsmodel.GoodsNum.Value;
// }
//}
//wya.content = content;
//wya.type_no = 1;
//wya.weight = totalweight.ToString();
//wya.num = totalnum;
//wya.price = totalprice.ToString();
//wya.from_country = "China";
//wya.user_desc = ordermd.PlatOrderCode;
//wya.trande_no = ordermd.PlatOrderCode;
//wya.trade_amount = totalprice.ToString();
//PostCode = wya.SendGood(wya);
WishYouApi2 wya = new WishYouApi2();
wya.ExpressId = md.ExpressID;
wya.client_id = md.client_id;
wya.client_secret = md.client_secret;
wya.redirect_uri = md.redirect_uri;
wya.refresh_token = md.refresh_token;
wya.code = md.Code;
wya.GetTime = md.GetTime;
wya.access_token = md.UserCode;
wya.bid = 0;
wya.mark = "";
wya.guid = ordermd.OrderId.ToString();
if (md.Name == "Wish挂号")
wya.otype = "1";
if (md.Name == "Wish平邮")
wya.otype = "0";
if (md.Name == "DLP平邮")
wya.otype = "9-0";
if (md.Name == "DLP挂号")
wya.otype = "9-1";
if (md.Name == "Wish-E邮宝")
wya.otype = "11-0";
if (md.customercode != null && md.customercode != "")
wya.otype = md.customercode;
// companymd = obj1.GetSendAddress(CompanyId);
wya.from = companymd.SendName; //"Stella Xu";
wya.sender_addres = companymd.SendEnglishName;// "ChangxingRoad689";
wya.sender_city = companymd.citycode; //"Ningbo";
wya.sender_province = companymd.provincecode;// "Zhejiang";
wya.sender_phone = companymd.Phone;// "13456152202";
wya.to = ordermd.RevName;
wya.to_local = ordermd.RevName;
wya.recipient_country = ordermd.RevCountry;
wya.recipient_addres = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " "); ;
wya.recipient_addres_local = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " "); ;
wya.recipient_country_short = ordermd.CountryCode;
wya.recipient_country_local = ordermd.RevCountry;
if (ordermd.RevProvince == null || ordermd.RevProvince == "")
{
wya.recipient_province = ordermd.RevCity;
wya.recipient_province_local = ordermd.RevCity;
}
else
{
wya.recipient_province = ordermd.RevProvince;
wya.recipient_province_local = ordermd.RevProvince;
}
wya.recipient_city = ordermd.RevCity;
wya.recipient_city_local = ordermd.RevCity;
wya.recipient_postcode = ordermd.RevPostCode;
string phone = "";
if (ordermd.RevMoblie != null)
{
if (ordermd.RevMoblie.Length > 5)
{
phone = ordermd.RevMoblie;
}
}
if (phone == "") phone = ordermd.RevPhone;
wya.recipient_phone = phone;
string content = "";
int totalnum = 0;
decimal totalweight = 0;// ordermd.TotalWeight.Value;
var totalprice = ordermd.TotalPrice.Value;
string contentdesc = "";
string contentname = "货物";
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
if (goodsmodel.GoodsName != null && goodsmodel.GoodsName != "")
contentname = goodsmodel.GoodsName;
totalweight += Convert.ToDecimal(goodsmodel.Weight.GetValueOrDefault(100) / 1000);
if (goodsmodel.GoodsEnglisgName != "")
{
content += goodsmodel.GoodsEnglisgName + ";";
}
else
{
content += "dress;";
}
totalnum += goodsmodel.GoodsNum.Value;
contentdesc += goodsmodel.GoodsCode + "-" + goodsmodel.TypeCode + goodsmodel.TypeDesc + "[" + goodsmodel.GoodsNum.ToString() + "];";
}
}
if (contentname.Length > 49)
contentname = contentname.Substring(0, 40);
wya.content_chinese = contentname;
wya.content = contentdesc;
wya.type_no = 1;
wya.weight = totalweight.ToString();
wya.num = totalnum;
wya.single_price = totalprice.ToString();
wya.warehouse_code = md.operationtype.ToString();//仓库 "13";
wya.doorpickup = "";
if (md.vipcode == "1") //上门揽货
wya.doorpickup = "1";
wya.has_battery = "";
if (md.clcttype == 1)
wya.has_battery = "1";//含电池
wya.from_country = "China";
wya.user_desc = contentdesc;// ordermd.PlatOrderCode;
wya.receive_from = companymd.ChargeName;// "ChangxingRoad689";
wya.receive_city = companymd.Shen; //"Ningbo";
wya.receive_province = companymd.Shi;// "Zhejiang";
wya.receive_phone = companymd.Phone;// "13456152202";
wya.receive_addres = companymd.Address;// "13456152202";
wya.trande_no = ordermd.PlatOrderCode;
wya.trade_amount = totalprice.ToString();
PostCode = wya.SendGood(wya);
}
}
//else if (md.Name.Contains("递四方"))
//{
// if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
// {
// try
// {
// pxserver.OrderOnlineServiceClient opx = new pxserver.OrderOnlineServiceClient();
// opx.Open();
// pxserver.createAndPreAlertOrderRequest[] rq = new pxserver.createAndPreAlertOrderRequest[1];
// pxserver.createAndPreAlertOrderRequest rq1 = new pxserver.createAndPreAlertOrderRequest();
// rq1.consigneeName = ordermd.RevName;// "jack";
// rq1.consigneePostCode = ordermd.RevPostCode;// "72601";
// rq1.consigneeTelephone = ordermd.RevPhone;// "0805522713";
// if (ordermd.RevPhone == null || ordermd.RevPhone == "")
// rq1.consigneeTelephone = ordermd.RevMoblie;
// rq1.city = ordermd.RevCity;// "Harrison";
// if (ordermd.RevCity == null || ordermd.RevCity == "")
// rq1.city = ordermd.RevProvince;
// rq1.stateOrProvince = ordermd.RevProvince;// "AR";
// if (ordermd.RevProvince == null || ordermd.RevProvince == "")
// rq1.stateOrProvince = ordermd.RevCity;
// rq1.street = ordermd.RevAddr;//"1202 Chalet Ln1";
// rq1.orderNo = ordermd.PlatOrderCode;// "5958d6a19ca1e531230ec8c5";
// if (rq1.orderNo.Length > 20)
// rq1.orderNo = rq1.orderNo.Substring(0, 20);
// rq1.shipperAddress = companymd.EnglishAddress;// "haishu";
// rq1.shipperCity = companymd.city;// "ningbo";
// rq1.shipperCompanyName = companymd.SendName;// "chu";
// rq1.shipperName = companymd.SendName;// "chu";
// rq1.shipperPostCode = "315000";
// rq1.initialCountryCode = "CN";
// rq1.destinationCountryCode = ordermd.CountryCode;// "US";
// rq1.productCode = md.customercode;//渠道 "B1";
// if (md.Name.Contains("电"))
// rq1.hasBattery = "Y";
// else
// rq1.hasBattery = "N";
// rq1.returnSign = "Y";
// pxserver.declareInvoice[] gmd = new pxserver.declareInvoice[goodslist.Count];
// int idx = 0;
// int gmx = 0;
// foreach (var ggmd in goodslist)
// {
// pxserver.declareInvoice md1 = new pxserver.declareInvoice();
// md1.cName = ggmd.GoodsName;
// md1.declareNote = ggmd.GoodsCode + "-" + ggmd.TypeCode + ggmd.TypeDesc;
// md1.declarePieces = ggmd.GoodsNum.Value.ToString();
// md1.unitPrice = "5";
// md1.name = "衣服";
// md1.eName = "cloth";
// gmd[idx] = md1;
// gmx += ggmd.GoodsNum.Value;
// idx++;
// }
// rq1.declareInvoice = gmd;
// rq1.pieces = gmx.ToString();
// rq[0] = rq1;
// pxserver.createAndPreAlertOrderResponse[] rp = new pxserver.createAndPreAlertOrderResponse[1];
// rp = opx.createAndPreAlertOrderService(md.CheckCode, rq);
// if (rp[0].ack == "Success")
// {
// PostCode = rp[0].trackingNumber;
// }
// else
// {
// ErrorInfo = "失败" + rp[0].errors[0].cnMessage + rp[0].errors[0].cnAction + rp[0].errors[0].defineMessage;
// }
// opx.Close();
// }
// catch (Exception ex)
// {
// ErrorInfo = "失败" + ex.Message;
// }
// }
//}
else if (md.Name.StartsWith("CNE"))
{
string postmessage = "{\"RequestName\":\"TimeStamp\"}";
string error = "";
CNE cneobj = new CNE();
string timeinfo = cneobj.SendGoods(postmessage, out error);
JavaScriptSerializer JsonConvert = new JavaScriptSerializer();
CNE_Result model = JsonConvert.Deserialize(timeinfo);
string code = NetLibrary.Safety.CryptoPublic.Md5For32(md.UserCode + model.ReturnValue + md.CheckCode);
var cnemd = new CNE_Order();
cnemd.RequestName = "PreInputSet";
cnemd.icID = md.UserCode;
cnemd.TimeStamp = model.ReturnValue;
cnemd.MD5 = code;
List RecList = new List();
var recmd = new CNE_Reve();
recmd.iID = "0";
recmd.nItemType = 1;
recmd.cRNo = ordermd.PlatOrderCode;
recmd.cDes = ordermd.CountryName;
recmd.cEmsKind = md.customercode;
recmd.fWeight = 0;
recmd.cReceiver = ordermd.RevName;
recmd.cREMail = "";
recmd.cRAddr = ordermd.RevAddr;
recmd.cRCity = ordermd.RevCity;
recmd.cRProvince = ordermd.RevProvince;
recmd.cRCountry = ordermd.RevCountry;
recmd.cRPhone = ordermd.RevPhone;
recmd.cRPostcode = ordermd.RevPostCode;
var glist = new List();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
if (goodsmodel.GoodsName != null && goodsmodel.GoodsName.Length > 30)
goodsmodel.GoodsName = goodsmodel.GoodsName.Substring(0, 30);
var gmd = new CNE_Goods();
gmd.cxGoods = goodsmodel.GoodsName;
if (goodsmodel.GoodsEnglisgName != null && goodsmodel.GoodsEnglisgName != "")
gmd.cxGoodsA = goodsmodel.GoodsEnglisgName;
else
gmd.cxGoodsA = "cloth";
if (gmd.cxGoodsA.Length > 20)
gmd.cxGoodsA = gmd.cxGoodsA.Substring(0, 20);
gmd.fxPrice = 10;
gmd.ixQuantity = goodsmodel.GoodsNum.Value;
gmd.cxGCodeA = goodsmodel.GoodsSKU;
glist.Add(gmd);
recmd.GoodsList = glist;
RecList.Add(recmd);
}
}
cnemd.RecList = RecList;
PostCode = cneobj.SendGoods2(cnemd, out ErrorInfo);
}
else if (md.Name.Contains("燕文") || md.Name == "燕邮宝平邮")
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
YanWenApi ywa = new YanWenApi();
ywa.CheckCode = md.CheckCode;
ywa.UserCode = md.UserCode;
YW_Order model = new YW_Order();
model.Channel = md.customercode;
if (md.Name == "燕文上海平邮" || md.Name == "燕文宁波平邮")
{
model.Channel = "中邮上海平邮小包";
}
if (md.Name == "燕文北京平邮")
{
model.Channel = "中邮北京平邮小包";
}
if (md.Name == "燕文上海小包" || md.Name == "燕文宁波小包")
{
model.Channel = "中邮上海挂号小包";
}
if (md.Name.Contains("燕文德邮"))
{
model.Channel = "德国邮政挂号小包(上海)";
}
if (md.Name.Contains("燕文荷兰挂号(电)"))
{
model.Channel = "荷兰邮政挂号小包(含电)";
}
if (md.Name.Contains("燕文上海E邮宝"))
{
model.Channel = "中邮上海E邮宝(线下)";
}
if (md.Name.Contains("燕文马来西亚邮政平邮小包"))
{
model.Channel = "马来西亚邮政平邮小包(新)";
}
model.orderid = ordermd.PlatOrderCode;
model.d_address = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " ");
model.d_City = ordermd.RevCity;
model.d_contact = ordermd.RevName;
model.d_country = ordermd.CountryName;
model.d_email = ordermd.RevMail;
model.d_mobile = ordermd.RevMoblie;
model.d_postcode = ordermd.RevPostCode;
model.d_State = ordermd.RevProvince;
model.d_tel = ordermd.RevPhone;
model.delcarevalue = 5;
string contentdesc = "";
string contentdesc2 = "";
int GoodsNum = 0;
int IsMore = 0;
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
IsMore++;
GoodsNum += goodsmodel.GoodsNum.Value;
contentdesc2 += goodsmodel.GoodsCode + "-" + goodsmodel.TypeCode + "" + goodsmodel.TypeDesc.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " ") + "[" + goodsmodel.GoodsNum.ToString() + "];";
contentdesc += goodsmodel.GoodsCode + "-" + goodsmodel.TypeCode + goodsmodel.TypeDesc + "[" + goodsmodel.GoodsNum.ToString() + "];";
}
}
model.GoodsNum = GoodsNum;
model.delcarevalue = 5;
if (IsMore > 1)
contentdesc2 = "[MORE]" + contentdesc2;
if (contentdesc2.Length > 195)
contentdesc2 = contentdesc2.Substring(0, 195);
if (IsMore > 1)
model.cnname = goodslist.First().GoodsName.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " ") + " 多个";
else
model.cnname = goodslist.First().GoodsName.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " ");
model.enname = contentdesc2;
// model.Memo = contentdesc;
// if (contentdesc.Length > 50)
// model.Memo = contentdesc2;
model.MoreGoodsName = contentdesc;
model.weight = 100;
PostCode = ywa.GetTrackCode(model);
}
}
else if (md.Name.Contains("淼信"))
{
if (md.Name == "淼信俄罗斯")
{
MiaoXinApi mxobj = new MiaoXinApi();
MiaoXin_Order model = new MiaoXin_Order();
model.buyerid = "";
model.consignee_address = ordermd.RevAddr;
model.consignee_city = ordermd.RevCity;
model.consignee_mobile = "";
model.consignee_name = ordermd.RevName;
model.consignee_postcode = ordermd.RevPostCode;
model.consignee_state = "Other";
model.consignee_telephone = ordermd.RevPhone;
model.country = "RU";
model.customer_id = md.UserCode;
model.customer_userid = md.CheckCode;
model.order_customerinvoicecode = ordermd.PlatOrderCode;
model.product_id = "3861";
model.trade_type = "ZYXT";
model.weight = "";
List GoodsList = new List();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
MiaoXin_Goods model2 = new MiaoXin_Goods();
model2.invoice_amount = "5";
model2.invoice_pcs = goodsmodel.GoodsNum.ToString();
model2.invoice_title = goodsmodel.GoodsEnglisgName;
model2.invoice_weight = "100";
model2.item_id = "";
model2.item_transactionid = "";
model2.sku = goodsmodel.GoodsName;
GoodsList.Add(model2);
}
}
model.orderInvoiceParam = GoodsList;
PostCode = mxobj.SendGoods(model, out ErrorInfo);
}
}
}
}
catch (Exception ex)
{
ErrorInfo += ex.Message;
}
}
if (PostCode != null && PostCode != "" && !PostCode.Contains("失败"))
{
DT_TrackCodeApply Model = new DT_TrackCodeApply();
if (PostCode.Contains(','))
{
string[] tracklist = PostCode.Split(',');
if (tracklist.Length > 1)
{
Model.TrackCode = tracklist[0].ToString();
Model.TrackCode2 = tracklist[1].ToString();
}
}
else
{
Model.TrackCode = PostCode;
}
//if (md.LogisticsId != null)
//{
// if (md.LogisticsId > 0)
// {
// if (CheckWuliu(md.LogisticsId.GetValueOrDefault(0), Model.TrackCode) == 1)
// {
// return "";
// }
// }
//}
Model.GetDate = DateTime.Now;
Model.InName = Session["Name"].ToString();
if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "")
Model.OrderCode = ordermd.JoinOrderCode;
else
Model.OrderCode = ordermd.PlatOrderCode;
Model.OrderId = ordermd.OrderId;
Model.PostId = PostId;
Model.State = 1;
Model.TrackType = 1;
Model.UpdateTime = DateTime.Now;
Model.IsSpare = 0;
Model.JoinOrderCode = ordermd.JoinOrderCode;
plist.Add(Model);
//obj.UpdateTrackCode(PostCode, PostId,OrderId, ErrorInfo);
//obj.SaveTrackCodeApply2(Model);
}
else //if (md.PostType != 4) //线上发货的除外
{
// ErrorFollow.TraceWrite("GetOrderPostCode", "物流id:" + PostId.ToString() + ";订单号:" + PlatCode + "获取跟踪码错误", ErrorInfo);
//ErrorInfo += "未获取到跟踪码";
var emd = new DT_TrackCodeApply();
emd.OrderId = ordermd.OrderId;
emd.PostError = "未获取到跟踪码";
plist.Add(emd);
ErrorInfo += ordermd.PlatOrderCode + "未获取到跟踪码";
// obj.UpdateTrackCodeError2(OrderId, PostId, "获取到跟踪码失败");
}
//if (PostCode != null && PostCode != "" && !PostCode.Contains("失败"))
//{
// TrackCode = PostCode;
// return "";
//}
//else
// return PlatCode + "的订单" + ErrorInfo + " " + PostCode;
}
if (plist != null && plist.Count > 0)
{
foreach (var pmd in plist)
{
try
{
if (pmd.TrackCode != null)
{
if (pmd.TrackCode != "")
obj.SaveTrackCodeApply3(LogisticsId, PostId, pmd);
}
}
catch
{
System.Threading.Thread.Sleep(1000);
}
}
}
if (ErrorInfo == "")
return "获取成功";
else
return ErrorInfo;
}
#endregion
#region 获取物流单号3
public string GetOrderPostCode3(int LogisticsId, int PostId, string OrderIds)
{
string ErrorInfo = "";
try
{
var obj = new DD_OrderData();
PagesNew.Login(this.Session);
if (OrderIds == "")
return "没有选择订单";
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var companymd = new JC_PostAddress();
var obj1 = new JC_ExpressService();
var obj11 = new BaseService();
companymd = obj11.GetAddressModel(CompanyId);
if (companymd == null)
{
ErrorInfo = "发货地址没选择;";
return ErrorInfo;
}
var md = obj1.GetExpressModel(CompanyId, PostId);
var plist = new List();
//var elist = new List();
var orderlist = obj.GetOrderModelList(OrderIds.Trim(','));
var orderGoodslist = obj.GetOrderGoodsList2(OrderIds.Trim(','));
if (orderlist == null || orderlist.Count == 0)
return "没有选择订单";
//string PostCode = "";
var obj2 = new BaseService();
if (md == null)
return "";
foreach (var ordermd in orderlist)
{
if (ordermd.JoinOrderCode != null)
{
if (plist.Where(o => o.JoinOrderCode == ordermd.JoinOrderCode).Count() > 0)
{
continue;
}
}
string PostCode = "";
if (md.CheckCode == null || md.CheckCode == "")
{
PostCode = obj1.GetInnerExpressCode(CompanyId, PostId);
}
else
{
try
{
List goodslist = new List();
//var ordermd = obj.GetOrderModel(OrderId);
if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "")//合并订单
{
goodslist = obj.GetOrderGoodsDetailListForJoin(ordermd.JoinOrderCode);
}
else
{
if (orderGoodslist != null && orderGoodslist.Count > 0)
{
goodslist = orderGoodslist.FindAll(n => n.OrderId == ordermd.OrderId);
}
}
string ordercode = ordermd.PlatOrderCode;
if (md != null && ordermd != null)
{
if (md.PostType == 1) //EUB
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
if (md.Name == "EUB" && ordermd.CountryCode != "US")
{
return "国家不支持";
}
if (md.Name.Contains("美国") == true && ordermd.CountryCode != "US")
{
return "国家不支持";
}
if (md.Name == "EUB上海" && ordermd.CountryCode != "US")
{
return "国家不支持";
}
if (md.Name == "EUB慈溪" && ordermd.CountryCode != "US")
{
return "国家不支持";
}
if (md.Name == "俄EUB" && ordermd.CountryCode != "RU")
{
return "国家不支持";
}
if (md.Name.Contains("俄罗斯") == true && ordermd.CountryCode != "RU")
{
return "国家不支持";
}
if (md.Name == "加拿大EUB" && ordermd.CountryCode != "CA")
{
return "国家不支持";
}
if (md.Name.Contains("加拿大") == true && ordermd.CountryCode != "CA")
{
return "国家不支持";
}
if (md.Name == "英国EUB" && (ordermd.CountryCode != "UK" && ordermd.CountryCode != "GB"))
{
return "国家不支持";
}
if (md.Name.Contains("英国") == true && (ordermd.CountryCode != "UK" && ordermd.CountryCode != "GB"))
{
return "国家不支持";
}
if (md.Name == "线上EUB" && ordermd.CountryCode != "US")
{
return "国家不支持";
}
if (md.Name == "线上俄EUB" && ordermd.CountryCode != "RU")
{
return "国家不支持";
}
if (md.Name == "澳大利亚EUB" && ordermd.CountryCode != "AU")
{
return "国家不支持";
}
if (md.Name.Contains("澳大利亚") == true && ordermd.CountryCode != "AU")
{
return "国家不支持";
}
if (md.Name == "乌克兰EUB" && ordermd.CountryCode != "UA")
{
return "国家不支持";
}
if (md.Name.Contains("澳大利亚") == true && ordermd.CountryCode != "AU")
{
return "国家不支持";
}
if (md.Name == "法国EUB" && ordermd.CountryCode != "FR")
{
return "国家不支持";
}
if (md.Name.Contains("澳大利亚") == true && ordermd.CountryCode != "AU")
{
return "国家不支持";
}
if (md.Name == "以色列EUB" && ordermd.CountryCode != "IL")
{
return "国家不支持";
}
if (md.Name.Contains("以色列") == true && ordermd.CountryCode != "IL")
{
return "国家不支持";
}
if (md.Name == "沙特EUB" && ordermd.CountryCode != "SA")
{
return "国家不支持";
}
if (md.Name.Contains("沙特") == true && ordermd.CountryCode != "SA")
{
return "国家不支持";
}
EubApi eub = new EubApi();
Eub_Order model = new Eub_Order();
model.Orderid = ordermd.PlatOrderCode;
model.OrderCode = ordermd.OrderCode;
model.BuyID = ordermd.CustomID;
if (md.operationtype != null)
model.operationtype = md.operationtype.Value;
else
model.operationtype = 0;
//model.operationtype = 0;
model.customercode = md.customercode;
model.vipcode = md.vipcode;
if (md.clcttype != null)
model.clcttype = md.clcttype.Value;
else
model.clcttype = 1;
model.pod = false;
model.untread = "Returned";
if (goodslist != null && goodslist.Count > 0 && goodslist[0].Solid != null)
model.volweight = Convert.ToInt32(goodslist[0].Solid / 6000);
else
model.volweight = 0;
model.startdate = DateTime.Now;
model.enddate = DateTime.Now.AddDays(15);
model.sku1 = goodslist[0].GoodsSKU.Replace("&", " ");
model.printcode = "03";
model.barcode = ordermd.PlatOrderCode;
Eub_Person sendmd = new Eub_Person();
sendmd.company = companymd.CompanyEnglishName;
sendmd.email = companymd.Email;
sendmd.name = companymd.SendEnglishName;
sendmd.phone = companymd.Phone;
sendmd.province = companymd.province;
sendmd.city = companymd.city;
sendmd.country = "CN";
sendmd.county = companymd.county;
sendmd.street = companymd.EnglishAddress; //"Guangyuan Road 69 (Asia Tiger Park Building 4),Jiangbei District,Ningbo,China";
sendmd.postcode = companymd.PostCode;
model.sender = sendmd;
Eub_Person revmodel = new Eub_Person();
revmodel.name = ordermd.RevName;
revmodel.phone = ordermd.RevPhone;
if (ordermd.RevProvince != null && ordermd.RevProvince != "")
revmodel.province = ordermd.RevProvince;
else
{
if (md.Name != "EUB" && md.Name != "EUB上海" && md.Name != "EUB慈溪")
{
//ErrorInfo += ordercode + "收件省不能为空;";
if (ordermd.RevCity != null && ordermd.RevCity != "")
{
revmodel.province = ordermd.RevCity;
}
else
{
revmodel.province = " ";
}
}
//return ErrorInfo;
}
string postcode = ordermd.RevPostCode;
if (ordermd.RevCountry == "United States" && postcode.Length > 5)
{
// postcode = Convert.ToInt32(ordermd.RevPostCode.Substring(0, 5).Trim()).ToString();
postcode = ordermd.RevPostCode.Substring(0, 5).Trim();
}
else if (ordermd.RevCountry == "Russian Federation" && postcode.Length > 6)
{
// postcode = Convert.ToInt32(ordermd.RevPostCode.Substring(0, 6).Trim()).ToString();
postcode = ordermd.RevPostCode.Substring(0, 6).Trim();
}
revmodel.county = ordermd.RevArea;
revmodel.city = ordermd.RevCity;
if (ordermd.CountryCode == "UK") ordermd.CountryCode = "GB";
revmodel.country = ordermd.CountryCode;
revmodel.street = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " "); ;
revmodel.postcode = postcode;
model.receiver = revmodel;
Eub_Person collmodel = new Eub_Person();
collmodel.company = companymd.CompanyName;
collmodel.email = companymd.Email;
collmodel.name = companymd.SendName;
collmodel.phone = companymd.Phone;
collmodel.province = companymd.province;
collmodel.country = "CN";
collmodel.city = companymd.city;
collmodel.county = companymd.county;
collmodel.street = companymd.Address;
collmodel.postcode = companymd.PostCode;
model.collect = collmodel;
List ListGoods = new List();
if (goodslist != null)
{
decimal dw = Convert.ToDecimal(0.20);
if (goodslist.Count > 10)
dw = Convert.ToDecimal(0.10);
foreach (var goodsmodel in goodslist)
{
var ListGoodsmd = new Eub_Goods();
ListGoodsmd.cnname = goodsmodel.GoodsName.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " ");
if (goodsmodel.GoodsEnglisgName == null || goodsmodel.GoodsEnglisgName == "")
ListGoodsmd.enname = goodsmodel.GoodsName;
else
ListGoodsmd.enname = goodsmodel.GoodsEnglisgName;
ListGoodsmd.count = goodsmodel.GoodsNum.Value;
ListGoodsmd.unit = "件";
// if (goodsmodel.GoodsPrice != null && goodsmodel.GoodsNum != null)
ListGoodsmd.delcarevalue = 10;
//if (goodsmodel.Weight != null)
// ListGoodsmd.weight = goodsmodel.Weight.Value / 1000;
//else
ListGoodsmd.weight = dw;
ListGoodsmd.origin = "CN";
ListGoodsmd.description = "";
ListGoods.Add(ListGoodsmd);
}
}
model.ListGoods = ListGoods;
if (md.Name == "线上EUB")
{
EbayApi ea = new EbayApi();
JC_PostAddress2 add = new JC_PostAddress2();
add.SendName = companymd.SendName;
add.CompanyName = companymd.CompanyName;
add.Email = companymd.Email;
add.Address = companymd.Address;
add.EnglishAddress = companymd.EnglishAddress;
add.CompanyEnglishName = companymd.CompanyEnglishName;
add.city = companymd.city;
add.citycode = companymd.citycode;
add.county = companymd.county;
add.countycode = companymd.countycode;
add.province = companymd.province;
add.provincecode = companymd.provincecode;
add.Phone = companymd.Phone;
add.PostCode = companymd.PostCode;
PostCode = ea.senderorder(model, add, md.CheckCode, "ebayshop2");
}
else
PostCode = eub.SendGoods(model, md.CheckCode, out ErrorInfo);
}
//if (PostCode == null || PostCode == "")
//{
// PostCode = obj1.GetInnerExpressCode(CompanyId, PostId);
//}
}
else if (md.Name == "E邮宝") //E邮宝
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
EubApi eub = new EubApi();
Eub_Order model = new Eub_Order();
model.Orderid = ordermd.PlatOrderCode;
if (md.operationtype != null)
model.operationtype = md.operationtype.Value;
else
model.operationtype = 0;
model.producttype = 0;
model.customercode = md.customercode;
model.vipcode = md.vipcode;
if (md.clcttype != null)
model.clcttype = md.clcttype.Value;
else
model.clcttype = 1;
model.pod = false;
model.untread = "Returned";
if (goodslist != null && goodslist.Count > 0 && goodslist[0].Solid != null)
model.volweight = Convert.ToInt32(goodslist[0].Solid / 6000);
else
model.volweight = 0;
model.startdate = DateTime.Now;
model.enddate = DateTime.Now.AddDays(15);
model.sku1 = goodslist[0].GoodsSKU.Replace("&", " ");
model.printcode = "03";
model.barcode = ordermd.PlatOrderCode;
Eub_Person sendmd = new Eub_Person();
sendmd.company = companymd.CompanyEnglishName;
sendmd.email = companymd.Email;
sendmd.name = companymd.SendEnglishName;
sendmd.phone = companymd.Phone;
sendmd.province = companymd.province;
sendmd.city = companymd.city;
sendmd.country = "CN";
sendmd.county = companymd.county;
sendmd.street = companymd.EnglishAddress; //"Guangyuan Road 69 (Asia Tiger Park Building 4),Jiangbei District,Ningbo,China";
sendmd.postcode = companymd.PostCode;
model.sender = sendmd;
Eub_Person revmodel = new Eub_Person();
revmodel.name = ordermd.RevName;
revmodel.phone = ordermd.RevPhone;
if (ordermd.RevMoblie != null && ordermd.RevMoblie != "")
revmodel.mobile = ordermd.RevMoblie.Replace("+", "").Replace("-", "").Replace("/", "");
if (ordermd.RevProvince != null && ordermd.RevProvince != "")
revmodel.province = ordermd.RevProvince;
if (revmodel.province == null && revmodel.province != "")
{
revmodel.province = ordermd.RevCity;
}
string postcode = ordermd.RevPostCode;
if (ordermd.RevCountry == "United States" && postcode.Length > 5)
{
// postcode = Convert.ToInt32(ordermd.RevPostCode.Substring(0, 5).Trim()).ToString();
postcode = ordermd.RevPostCode.Substring(0, 5).Trim();
}
else if (ordermd.RevCountry == "Russian Federation" && postcode.Length > 6)
{
// postcode = Convert.ToInt32(ordermd.RevPostCode.Substring(0, 6).Trim()).ToString();
postcode = ordermd.RevPostCode.Substring(0, 6).Trim();
}
revmodel.county = ordermd.RevArea;
revmodel.city = ordermd.RevCity;
if (ordermd.CountryCode == "UK") ordermd.CountryCode = "GB";
revmodel.country = ordermd.CountryCode;
revmodel.street = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " "); ;
revmodel.postcode = postcode;
model.receiver = revmodel;
Eub_Person collmodel = new Eub_Person();
collmodel.company = companymd.CompanyName;
collmodel.email = companymd.Email;
collmodel.name = companymd.SendName;
collmodel.phone = companymd.Phone;
collmodel.province = companymd.province;
collmodel.country = "CN";
collmodel.city = companymd.city;
collmodel.county = companymd.county;
collmodel.street = companymd.Address;
collmodel.postcode = companymd.PostCode;
model.collect = collmodel;
List ListGoods = new List();
if (goodslist != null)
{
decimal dw = Convert.ToDecimal(0.20);
if (goodslist.Count > 10)
dw = Convert.ToDecimal(0.10);
foreach (var goodsmodel in goodslist)
{
if (goodsmodel.GoodsName != null && goodsmodel.GoodsName.Length > 30)
goodsmodel.GoodsName = goodsmodel.GoodsName.Substring(0, 30);
var ListGoodsmd = new Eub_Goods();
ListGoodsmd.cnname = goodsmodel.GoodsName.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " ");
// if (goodsmodel.GoodsEnglisgName == null || goodsmodel.GoodsEnglisgName == "")
ListGoodsmd.enname = goodsmodel.GoodsCode + "-" + goodsmodel.TypeCode + goodsmodel.TypeDesc;
// else
// ListGoodsmd.enname = goodsmodel.GoodsEnglisgName;
ListGoodsmd.count = goodsmodel.GoodsNum.Value;
ListGoodsmd.unit = "件";
// if (goodsmodel.GoodsPrice != null && goodsmodel.GoodsNum != null)
ListGoodsmd.delcarevalue = 10;
//if (goodsmodel.Weight != null)
// ListGoodsmd.weight = goodsmodel.Weight.Value / 1000;
//else
ListGoodsmd.weight = dw;
ListGoodsmd.origin = "CN";
ListGoodsmd.description = "";
ListGoods.Add(ListGoodsmd);
}
}
model.ListGoods = ListGoods;
PostCode = eub.SendGoods(model, md.CheckCode, out ErrorInfo);
}
}
else if (md.Name == "BPost") //比利时邮政
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
//if (companymd == null)
//{
// ErrorInfo = "发货地址没选择;";
// return ErrorInfo;
//}
if (PostCode == null || PostCode == "")
{
PostCode = obj1.GetGZExpressCodeBP(CompanyId, PostId);
}
}
}
else if (md.LogisticsName == "SF Express") //顺丰
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
sfApi sfobj = new sfApi();
sf_Order model = new sf_Order();
if (md.Name == "顺丰E宝挂号" || md.Name == "顺丰E宝平邮")
{
if (md.operationtype != null)
model.express_type = md.operationtype.Value.ToString();
else
model.express_type = "9";
}
else if (md.Name == "顺丰美国")
{
model.express_type = "A9";
}
else if (md.Name == "顺丰欧洲")
{
model.express_type = "A2";
}
model.d_tel = ordermd.RevPhone;
model.d_company = ordermd.RevName;
model.d_contact = ordermd.RevName;
model.d_address = ordermd.RevAddr;
model.orderid = ordermd.PlatOrderCode;
model.d_county = ordermd.RevArea;
model.d_city = ordermd.RevCity;
model.d_post_code = ordermd.RevPostCode;
model.d_deliverycode = ordermd.CountryCode;
model.d_province = ordermd.RevProvince;
model.d_country = ordermd.RevCountry;
model.cargo_total_weight = 1; //Convert.ToDecimal(ordermd.TotalWeight) / 1000;
model.j_tel = companymd.Phone;
model.j_company = companymd.CompanyEnglishName;
model.j_province = companymd.province;// "zhejiang province";
model.j_city = companymd.city; //"Ningbo";
model.j_county = companymd.county;
model.j_contact = companymd.SendEnglishName;
model.j_address = companymd.EnglishAddress;
model.j_post_code = companymd.PostCode;
model.declared_value = ordermd.TotalPrice;
model.declared_value_currency = ordermd.MoneyCode;
model.parcel_quantity = 1;
model.pay_method = 1;
model.custid = md.customercode;//"7551878519";
model.cargo_length = 60;
model.cargo_width = 60;
model.cargo_height = 60;
List ListGoods = new List();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
var ListGoodsmd = new sf_Goods();
if (goodsmodel.GoodsEnglisgName != null && goodsmodel.GoodsEnglisgName != "")
{
ListGoodsmd.ename = goodsmodel.GoodsEnglisgName;
}
else
{
ListGoodsmd.ename = "dress";
}
ListGoodsmd.name = goodsmodel.GoodsName;
ListGoodsmd.count = goodsmodel.GoodsNum.Value;
ListGoodsmd.unit = "piece";
if (goodsmodel.Weight != null)
ListGoodsmd.weight = goodsmodel.Weight.Value;
else
ListGoodsmd.weight = 100;
//if (goodsmodel.GoodsPrice != null)
ListGoodsmd.amount = goodsmodel.GoodsPrice.GetValueOrDefault(10);
ListGoodsmd.currency = "USD";
ListGoodsmd.source_area = "China";
ListGoods.Add(ListGoodsmd);
}
}
model.ListGoods = ListGoods;
sfobj.UserCode = md.UserCode;
sfobj.CheckCode = md.CheckCode;
if (md.Name == "顺丰E宝挂号" || md.Name == "顺丰E宝平邮")
{
PostCode = sfobj.SendGoods(model, out ErrorInfo);
}
if (md.Name == "顺丰美国" || md.Name == "顺丰欧洲")
{
PostCode = sfobj.SendOU(model, out ErrorInfo);
}
}
}
else if (md.Name == "顺丰国际挂号(美国)" || md.Name == "顺丰国际挂号(澳大利亚)" || md.Name == "顺丰国际挂号(其它)") //顺丰
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
sfApi sfobj = new sfApi();
sf_Order2 model = new sf_Order2();
model.express_type = "E2";
model.d_tel = ordermd.RevPhone;
model.d_company = ordermd.RevName;
model.d_contact = ordermd.RevName;
model.d_address = ordermd.RevAddr;
model.orderid = ordermd.PlatOrderCode;
model.d_city = ordermd.RevCity;
model.d_post_code = ordermd.RevPostCode;
model.d_province = ordermd.RevProvince;
model.d_country = ordermd.RevCountry;
model.cargo_total_weight = 1; //Convert.ToDecimal(ordermd.TotalWeight) / 1000;
model.j_tel = companymd.Phone;
model.j_company = companymd.CompanyEnglishName;
model.j_province = "zhejiang";// "zhejiang province";
model.j_city = "ningbo"; //"Ningbo";
model.j_contact = companymd.SendEnglishName;
model.j_address = "ningbo";
model.j_post_code = companymd.PostCode;
model.parcel_quantity = 1;
List ListGoods = new List();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
var ListGoodsmd = new sf_Goods2();
if (goodsmodel.GoodsEnglisgName != null && goodsmodel.GoodsEnglisgName != "")
{
ListGoodsmd.ename = goodsmodel.GoodsEnglisgName;
}
else
{
ListGoodsmd.ename = "dress";
}
ListGoodsmd.name = goodsmodel.GoodsName;
ListGoodsmd.count = goodsmodel.GoodsNum.Value;
//ListGoodsmd.unit = "piece";
//if (goodsmodel.Weight != null)
// ListGoodsmd.weight = goodsmodel.Weight.Value;
//else
// ListGoodsmd.weight = 100;
//if (goodsmodel.GoodsPrice != null)
//if (goodsmodel.GoodsPrice != null && goodsmodel.GoodsPrice < 10)
// ListGoodsmd.amount = goodsmodel.GoodsPrice.Value;
//else
ListGoodsmd.amount = 10;
//ListGoodsmd.currency = "USD";
// ListGoodsmd.source_area = "China";
ListGoods.Add(ListGoodsmd);
}
}
model.ListGoods = ListGoods;
sfobj.UserCode = md.UserCode;
sfobj.CheckCode = md.CheckCode;
PostCode = sfobj.SendGoods2(model, out ErrorInfo);
if (ErrorInfo != "")
PostCode = "";
}
}
else if (md.Name == "德邮小包" || md.Name == "DHL中英专线")
{
PostCode = obj1.GetGZExpressCodeDY(CompanyId, PostId);
}
else if (md.Name.Contains("DHL"))
{
if (md.client_id != null && md.client_id != "" && goodslist != null && goodslist.Count > 0)
{
DHLApi dhlobj = new DHLApi();
DHLOrder dhlmodel = new DHLOrder();
dhlobj.clientId = md.client_id; //"LTExMTgwNTI4MTY=";
dhlobj.GetTime = md.GetTime;
dhlobj.password = md.client_secret; //"APITest1";
dhlobj.AccessToken = md.UserCode;
dhlobj.token_type = md.CheckCode;
labelRequest labelRequest = new labelRequest();
hdr hdr = new hdr();
hdr.messageType = "LABEL";
hdr.messageDateTime = DateTime.Now.ToString("s");
hdr.accessToken = "";
hdr.messageVersion = "1.4";
hdr.messageLanguage = "en";
labelRequest.hdr = hdr;
DHL_Order bd = new DHL_Order();
bd.customerAccountId = null;
bd.pickupAccountId = md.refresh_token; //"5999999201";
bd.soldToAccountId = md.Code; //"5999999201";
bd.pickupDateTime = DateTime.Now.ToString("s");
pickupAddress pickupAddress = new pickupAddress();
pickupAddress.companyName = "DHL";
pickupAddress.name = "DHL";
pickupAddress.address1 = "china";
pickupAddress.address2 = null;
pickupAddress.address3 = null;
pickupAddress.city = "china";
pickupAddress.state = "china";
pickupAddress.district = "china";
pickupAddress.country = "CN";
pickupAddress.postCode = "6278";
pickupAddress.phone = "9999";
pickupAddress.email = "test@dhl.com";
bd.pickupAddress = pickupAddress;
List shipmentItemslist = new List();
shipmentItems shipmentItems = new shipmentItems();
consigneeAddress consigneeAddress = new consigneeAddress();
string Name = ordermd.RevName;
if (Name.Length > 30)
Name = Name.Substring(0, 30);
consigneeAddress.companyName = Name;
consigneeAddress.name = Name;
consigneeAddress.address2 = null;
consigneeAddress.address3 = null;
if (ordermd.RevAddr.Length <= 50)
consigneeAddress.address1 = ordermd.RevAddr;
else
consigneeAddress.address1 = ordermd.RevAddr.Substring(0, 50);
if (ordermd.RevAddr.Length > 50 && ordermd.RevAddr.Length <= 100)
consigneeAddress.address2 = ordermd.RevAddr.Substring(49, ordermd.RevAddr.Length - 50);
else if (ordermd.RevAddr.Length > 100 && ordermd.RevAddr.Length <= 150)
consigneeAddress.address3 = ordermd.RevAddr.Substring(99, ordermd.RevAddr.Length - 100);
consigneeAddress.city = ordermd.RevCity;
consigneeAddress.state = ordermd.RevProvince;
consigneeAddress.district = null;
consigneeAddress.country = ordermd.CountryCode;
consigneeAddress.postCode = ordermd.RevPostCode;
consigneeAddress.phone = ordermd.RevPhone;
consigneeAddress.email = null;
consigneeAddress.idNumber = "9999";
consigneeAddress.idType = "1";
shipmentItems.consigneeAddress = consigneeAddress;
returnAddress returnAddress = new returnAddress();
returnAddress.companyName = "MHSG";
returnAddress.name = companymd.SendEnglishName;
if (companymd.Address != null && companymd.Address.Length < 50)
returnAddress.address1 = companymd.Address;
else if (companymd.Address != null)
returnAddress.address1 = companymd.Address.Substring(0, 49);
returnAddress.address2 = null;
returnAddress.address3 = null;
returnAddress.city = "ningbo";
returnAddress.state = "zhejiang";
returnAddress.district = "zhenhai";
returnAddress.country = "CN";
returnAddress.postCode = "315000";
returnAddress.phone = companymd.Phone;
shipmentItems.returnAddress = returnAddress;
shipmentItems.shipmentID = "CNAEV543" + ordermd.OrderId.ToString();
shipmentItems.deliveryConfirmationNo = null;
shipmentItems.packageDesc = "Desc";
shipmentItems.totalWeightUOM = "G";
shipmentItems.dimensionUOM = "cm";
shipmentItems.height = Convert.ToDecimal(0.1);
shipmentItems.length = Convert.ToDecimal(0.1);
shipmentItems.width = Convert.ToDecimal(0.1);
shipmentItems.customerReference1 = null;
shipmentItems.customerReference2 = null;
shipmentItems.productCode = "PPS";
shipmentItems.incoterm = "DDU";
shipmentItems.contentIndicator = "01";
shipmentItems.codValue = null;
shipmentItems.insuranceValue = null;
shipmentItems.freightCharge = Convert.ToDecimal(0.1);
shipmentItems.currency = "USD";
List shipmentContentsList = new List();
int TNum = 0;
foreach (var gmd in goodslist)
{
TNum += gmd.GoodsNum.Value;
}
decimal tj = Convert.ToDecimal(5.5);
decimal dj = Convert.ToDecimal(5.5);
if (TNum > 1 && TNum <= 5)
{
tj = Convert.ToDecimal(2.1 * TNum);
dj = Convert.ToDecimal(2.1);
}
else
if (TNum > 5)
{
tj = Convert.ToDecimal(1.1 * TNum);
dj = Convert.ToDecimal(1.1);
}
foreach (var gmd in goodslist)
{
shipmentContents shipmentContents = new shipmentContents();
shipmentContents.skuNumber = gmd.GoodsSKU;
if (gmd.GoodsSKU == null && gmd.GoodsSKU.Length > 50)
shipmentContents.skuNumber = "DEC001";
if (gmd.GoodsEnglisgName != null && gmd.GoodsEnglisgName != "" && gmd.GoodsEnglisgName.Length < 50)
{
shipmentContents.description = gmd.GoodsEnglisgName;
shipmentContents.descriptionImport = gmd.GoodsEnglisgName;
}
else
{
shipmentContents.description = "cloth";
shipmentContents.descriptionImport = "cloth";
}
if (gmd.GoodsName.Length < 50)
shipmentContents.descriptionExport = gmd.GoodsName;
else
shipmentContents.descriptionExport = gmd.GoodsName.Substring(0, 49);
shipmentContents.itemValue = dj;
shipmentContents.itemQuantity = gmd.GoodsNum.Value;
shipmentContents.grossWeight = 100;
shipmentContents.netWeight = 100;
shipmentContents.weightUOM = "g";
shipmentContents.contentIndicator = "01";
shipmentContents.countryOfOrigin = "CN";
shipmentContents.hsCode = null;
shipmentContentsList.Add(shipmentContents);
shipmentItems.shipmentContents = shipmentContentsList;
shipmentItemslist.Add(shipmentItems);
}
shipmentItems.totalValue = tj;
shipmentItems.totalWeight = Convert.ToDecimal(100 * 1.00 * TNum);
bd.shipmentItems = shipmentItemslist;
label label = new label();
label.pageSize = "400x600";
label.format = "PDF";
label.layout = "4x1";
bd.label = label;
labelRequest.bd = bd;
dhlmodel.labelRequest = labelRequest;
PostCode = dhlobj.SendGoods(dhlmodel, out ErrorInfo);
}
}
else if (md.Name.StartsWith("CNE"))
{
string postmessage = "{\"RequestName\":\"TimeStamp\"}";
string error = "";
CNE cneobj = new CNE();
string timeinfo = cneobj.SendGoods(postmessage, out error);
JavaScriptSerializer JsonConvert = new JavaScriptSerializer();
CNE_Result model = JsonConvert.Deserialize(timeinfo);
string code = NetLibrary.Safety.CryptoPublic.Md5For32(md.UserCode + model.ReturnValue + md.CheckCode);
var cnemd = new CNE_Order();
cnemd.RequestName = "PreInputSet";
cnemd.icID = md.UserCode;
cnemd.TimeStamp = model.ReturnValue;
cnemd.MD5 = code;
List RecList = new List();
var recmd = new CNE_Reve();
recmd.iID = "0";
recmd.nItemType = 1;
recmd.cRNo = ordermd.PlatOrderCode;
recmd.cDes = ordermd.CountryName;
recmd.cEmsKind = md.customercode;
recmd.fWeight = 0;
recmd.cReceiver = ordermd.RevName;
recmd.cREMail = "";
recmd.cRAddr = ordermd.RevAddr;
recmd.cRCity = ordermd.RevCity;
recmd.cRProvince = ordermd.RevProvince;
recmd.cRCountry = ordermd.RevCountry;
recmd.cRPhone = ordermd.RevPhone;
recmd.cRPostcode = ordermd.RevPostCode;
var glist = new List();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
if (goodsmodel.GoodsName != null && goodsmodel.GoodsName.Length > 30)
goodsmodel.GoodsName = goodsmodel.GoodsName.Substring(0, 30);
var gmd = new CNE_Goods();
gmd.cxGoods = goodsmodel.GoodsName;
if (goodsmodel.GoodsEnglisgName != null && goodsmodel.GoodsEnglisgName != "")
gmd.cxGoodsA = goodsmodel.GoodsEnglisgName;
else
gmd.cxGoodsA = "cloth";
if (gmd.cxGoodsA.Length > 20)
gmd.cxGoodsA = gmd.cxGoodsA.Substring(0, 20);
gmd.fxPrice = 10;
gmd.ixQuantity = goodsmodel.GoodsNum.Value;
gmd.cxGCodeA = goodsmodel.GoodsSKU;
glist.Add(gmd);
recmd.GoodsList = glist;
RecList.Add(recmd);
}
}
cnemd.RecList = RecList;
PostCode = cneobj.SendGoods2(cnemd, out ErrorInfo);
}
else if (md.Name.Contains("Wish"))
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
//WishYouApi wya = new WishYouApi();
//wya.api_key = md.UserCode;
//wya.bid = 0;
//wya.zx_type = 6;
//wya.guid = ordermd.OrderId.ToString();
//if (md.Name == "Wish挂号")
// wya.otype = "1";
//if (md.Name == "Wish平邮")
// wya.otype = "0";
//if (md.Name == "DLP平邮")
// wya.otype = "9-0";
//if (md.Name == "DLP挂号")
// wya.otype = "9-1";
//if (md.Name == "Wish-E邮宝")
// wya.otype = "11-0";
//companymd = obj1.GetSendAddress(CompanyId);
//wya.from = companymd.SendName;
//wya.sender_addres = companymd.SendEnglishName;
//wya.sender_city = companymd.city;
//wya.sender_province = companymd.province;
//wya.sender_phone = companymd.Phone;
//wya.CustomName = ordermd.RevName;
//wya.to_local = ordermd.RevName;
//wya.recipient_addres = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " "); ;
//wya.recipient_addres_local = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " "); ;
//wya.recipient_country_short = ordermd.CountryCode;
//wya.recipient_country_local = ordermd.RevCountry;
//wya.recipient_province = ordermd.RevProvince;
//wya.recipient_province_local = ordermd.RevProvince;
//wya.recipient_city = ordermd.RevCity;
//wya.recipient_city_local = ordermd.RevCity;
//wya.recipient_postcode = ordermd.RevPostCode;
//string phone = "";
//if (ordermd.RevMoblie != null)
//{
// if (ordermd.RevMoblie.Length > 5)
// {
// phone = ordermd.RevMoblie;
// }
//}
//if (phone == "") phone = ordermd.RevPhone;
//wya.recipient_phone = phone;
//string content = "";
//int totalnum = 0;
//decimal totalweight = 0;// ordermd.TotalWeight.Value;
//var totalprice = ordermd.TotalPrice.Value;
//if (goodslist != null)
//{
// foreach (var goodsmodel in goodslist)
// {
// totalweight += Convert.ToDecimal(goodsmodel.Weight.GetValueOrDefault(100) / 1000);
// if (goodsmodel.GoodsEnglisgName != "")
// {
// content += goodsmodel.GoodsEnglisgName + ";";
// }
// else
// {
// content += "dress;";
// }
// totalnum += goodsmodel.GoodsNum.Value;
// }
//}
//wya.content = content;
//wya.type_no = 1;
//wya.weight = totalweight.ToString();
//wya.num = totalnum;
//wya.price = totalprice.ToString();
//wya.from_country = "China";
//wya.user_desc = ordermd.PlatOrderCode;
//wya.trande_no = ordermd.PlatOrderCode;
//wya.trade_amount = totalprice.ToString();
//PostCode = wya.SendGood(wya);
WishYouApi2 wya = new WishYouApi2();
wya.ExpressId = md.ExpressID;
wya.client_id = md.client_id;
wya.client_secret = md.client_secret;
wya.redirect_uri = md.redirect_uri;
wya.refresh_token = md.refresh_token;
wya.code = md.Code;
wya.GetTime = md.GetTime;
wya.access_token = md.UserCode;
wya.bid = 0;
wya.mark = "";
wya.guid = ordermd.OrderId.ToString();
if (md.Name == "Wish挂号")
wya.otype = "1";
if (md.Name == "Wish平邮")
wya.otype = "0";
if (md.Name == "DLP平邮")
wya.otype = "9-0";
if (md.Name == "DLP挂号")
wya.otype = "9-1";
if (md.Name == "Wish-E邮宝")
wya.otype = "11-0";
if (md.customercode != null && md.customercode != "")
wya.otype = md.customercode;
// companymd = obj1.GetSendAddress(CompanyId);
wya.from = companymd.SendName; //"Stella Xu";
wya.sender_addres = companymd.SendEnglishName;// "ChangxingRoad689";
wya.sender_city = companymd.citycode; //"Ningbo";
wya.sender_province = companymd.provincecode;// "Zhejiang";
wya.sender_phone = companymd.Phone;// "13456152202";
wya.to = ordermd.RevName;
wya.to_local = ordermd.RevName;
wya.recipient_country = ordermd.RevCountry;
wya.recipient_addres = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " "); ;
wya.recipient_addres_local = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " "); ;
wya.recipient_country_short = ordermd.CountryCode;
wya.recipient_country_local = ordermd.RevCountry;
if (ordermd.RevProvince == null || ordermd.RevProvince == "")
{
wya.recipient_province = ordermd.RevCity;
wya.recipient_province_local = ordermd.RevCity;
}
else
{
wya.recipient_province = ordermd.RevProvince;
wya.recipient_province_local = ordermd.RevProvince;
}
wya.recipient_city = ordermd.RevCity;
wya.recipient_city_local = ordermd.RevCity;
wya.recipient_postcode = ordermd.RevPostCode;
string phone = "";
if (ordermd.RevMoblie != null)
{
if (ordermd.RevMoblie.Length > 5)
{
phone = ordermd.RevMoblie;
}
}
if (phone == "") phone = ordermd.RevPhone;
wya.recipient_phone = phone;
string content = "";
int totalnum = 0;
decimal totalweight = 0;// ordermd.TotalWeight.Value;
var totalprice = ordermd.TotalPrice.Value;
string contentdesc = "";
string contentname = "货物";
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
if (goodsmodel.GoodsName != null && goodsmodel.GoodsName != "")
contentname = goodsmodel.GoodsName;
totalweight += Convert.ToDecimal(goodsmodel.Weight.GetValueOrDefault(100) / 1000);
if (goodsmodel.GoodsEnglisgName != "")
{
content += goodsmodel.GoodsEnglisgName + ";";
}
else
{
content += "dress;";
}
totalnum += goodsmodel.GoodsNum.Value;
contentdesc += goodsmodel.GoodsCode + "-" + goodsmodel.TypeCode + goodsmodel.TypeDesc + "[" + goodsmodel.GoodsNum.ToString() + "];";
}
}
if (contentname.Length > 49)
contentname = contentname.Substring(0, 40);
wya.content_chinese = contentname;
wya.content = content;
wya.type_no = 1;
wya.weight = totalweight.ToString();
wya.num = totalnum;
wya.single_price = totalprice.ToString();
wya.warehouse_code = md.operationtype.ToString();//仓库 "13";
wya.doorpickup = "";
if (md.vipcode == "1") //上门揽货
wya.doorpickup = "1";
wya.has_battery = "";
if (md.clcttype == 1)
wya.has_battery = "1";//含电池
wya.from_country = "China";
wya.user_desc = contentdesc;// ordermd.PlatOrderCode;
wya.receive_from = companymd.ChargeName;// "ChangxingRoad689";
wya.receive_city = companymd.Shen; //"Ningbo";
wya.receive_province = companymd.Shi;// "Zhejiang";
wya.receive_phone = companymd.Phone;// "13456152202";
wya.receive_addres = companymd.Address;// "13456152202";
wya.trande_no = ordermd.PlatOrderCode;
wya.trade_amount = totalprice.ToString();
PostCode = wya.SendGood(wya);
}
}
//else if (md.Name.Contains("递四方"))
//{
// if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
// {
// try
// {
// pxserver.OrderOnlineServiceClient opx = new pxserver.OrderOnlineServiceClient();
// opx.Open();
// pxserver.createAndPreAlertOrderRequest[] rq = new pxserver.createAndPreAlertOrderRequest[1];
// pxserver.createAndPreAlertOrderRequest rq1 = new pxserver.createAndPreAlertOrderRequest();
// rq1.consigneeName = ordermd.RevName;// "jack";
// rq1.consigneePostCode = ordermd.RevPostCode;// "72601";
// rq1.consigneeTelephone = ordermd.RevPhone;// "0805522713";
// if (ordermd.RevPhone == null || ordermd.RevPhone == "")
// rq1.consigneeTelephone = ordermd.RevMoblie;
// rq1.city = ordermd.RevCity;// "Harrison";
// if (ordermd.RevCity == null || ordermd.RevCity == "")
// rq1.city = ordermd.RevProvince;
// rq1.stateOrProvince = ordermd.RevProvince;// "AR";
// if (ordermd.RevProvince == null || ordermd.RevProvince == "")
// rq1.stateOrProvince = ordermd.RevCity;
// rq1.street = ordermd.RevAddr;//"1202 Chalet Ln1";
// rq1.orderNo = ordermd.PlatOrderCode;// "5958d6a19ca1e531230ec8c5";
// if (rq1.orderNo.Length > 20)
// rq1.orderNo = rq1.orderNo.Substring(0, 20);
// rq1.shipperAddress = companymd.EnglishAddress;// "haishu";
// rq1.shipperCity = companymd.city;// "ningbo";
// rq1.shipperCompanyName = companymd.SendName;// "chu";
// rq1.shipperName = companymd.SendName;// "chu";
// rq1.shipperPostCode = "315000";
// rq1.initialCountryCode = "CN";
// rq1.destinationCountryCode = ordermd.CountryCode;// "US";
// rq1.productCode = md.customercode;//渠道 "B1";
// if (md.Name.Contains("电"))
// rq1.hasBattery = "Y";
// else
// rq1.hasBattery = "N";
// rq1.returnSign = "Y";
// pxserver.declareInvoice[] gmd = new pxserver.declareInvoice[goodslist.Count];
// int idx = 0;
// int gmx = 0;
// foreach (var ggmd in goodslist)
// {
// pxserver.declareInvoice md1 = new pxserver.declareInvoice();
// md1.cName = ggmd.GoodsName;
// md1.declareNote = ggmd.GoodsCode + "-" + ggmd.TypeCode + ggmd.TypeDesc;
// md1.declarePieces = ggmd.GoodsNum.Value.ToString();
// md1.unitPrice = "5";
// md1.name = "衣服";
// md1.eName = "cloth";
// gmd[idx] = md1;
// gmx += ggmd.GoodsNum.Value;
// idx++;
// }
// rq1.declareInvoice = gmd;
// rq1.pieces = gmx.ToString();
// rq[0] = rq1;
// pxserver.createAndPreAlertOrderResponse[] rp = new pxserver.createAndPreAlertOrderResponse[1];
// rp = opx.createAndPreAlertOrderService(md.CheckCode, rq);
// if (rp[0].ack == "Success")
// {
// PostCode = rp[0].trackingNumber;
// }
// else
// {
// ErrorInfo = "失败" + rp[0].errors[0].cnMessage + rp[0].errors[0].cnAction + rp[0].errors[0].defineMessage;
// }
// opx.Close();
// }
// catch (Exception ex)
// {
// ErrorInfo = "失败" + ex.Message;
// }
// }
//}
else if (md.Name.StartsWith("CNE"))
{
string postmessage = "{\"RequestName\":\"TimeStamp\"}";
string error = "";
CNE cneobj = new CNE();
string timeinfo = cneobj.SendGoods(postmessage, out error);
JavaScriptSerializer JsonConvert = new JavaScriptSerializer();
CNE_Result model = JsonConvert.Deserialize(timeinfo);
string code = NetLibrary.Safety.CryptoPublic.Md5For32(md.UserCode + model.ReturnValue + md.CheckCode);
var cnemd = new CNE_Order();
cnemd.RequestName = "PreInputSet";
cnemd.icID = md.UserCode;
cnemd.TimeStamp = model.ReturnValue;
cnemd.MD5 = code;
List RecList = new List();
var recmd = new CNE_Reve();
recmd.iID = "0";
recmd.nItemType = 1;
recmd.cRNo = ordermd.PlatOrderCode;
recmd.cDes = ordermd.CountryName;
recmd.cEmsKind = md.customercode;
recmd.fWeight = 0;
recmd.cReceiver = ordermd.RevName;
recmd.cREMail = "";
recmd.cRAddr = ordermd.RevAddr;
recmd.cRCity = ordermd.RevCity;
recmd.cRProvince = ordermd.RevProvince;
recmd.cRCountry = ordermd.RevCountry;
recmd.cRPhone = ordermd.RevPhone;
recmd.cRPostcode = ordermd.RevPostCode;
var glist = new List();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
var gmd = new CNE_Goods();
gmd.cxGoods = goodsmodel.GoodsName;
gmd.fxPrice = 10;
gmd.ixQuantity = goodsmodel.GoodsNum.Value;
gmd.cxGCodeA = goodsmodel.GoodsSKU;
glist.Add(gmd);
recmd.GoodsList = glist;
RecList.Add(recmd);
}
}
cnemd.RecList = RecList;
PostCode = cneobj.SendGoods2(cnemd, out ErrorInfo);
}
else if (md.Name.Contains("燕文") || md.Name == "燕邮宝平邮")
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
YanWenApi ywa = new YanWenApi();
ywa.CheckCode = md.CheckCode;
ywa.UserCode = md.UserCode;
YW_Order model = new YW_Order();
model.Channel = md.customercode;
if (md.Name == "燕文上海平邮" || md.Name == "燕文宁波平邮")
{
model.Channel = "中邮上海平邮小包";
}
if (md.Name == "燕文北京平邮")
{
model.Channel = "中邮北京平邮小包";
}
if (md.Name == "燕文上海小包" || md.Name == "燕文宁波小包")
{
model.Channel = "中邮上海挂号小包";
}
if (md.Name.Contains("燕文德邮"))
{
model.Channel = "德国邮政挂号小包(上海)";
}
if (md.Name.Contains("燕文荷兰挂号(电)"))
{
model.Channel = "荷兰邮政挂号小包(含电)";
}
if (md.Name.Contains("燕文上海E邮宝"))
{
model.Channel = "中邮上海E邮宝(线下)";
}
if (md.Name.Contains("燕文马来西亚邮政平邮小包"))
{
model.Channel = "马来西亚邮政平邮小包(新)";
}
model.orderid = ordermd.PlatOrderCode;
model.d_address = ordermd.RevAddr.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " "); ;
model.d_City = ordermd.RevCity;
model.d_contact = ordermd.RevName;
model.d_country = ordermd.CountryName;
model.d_email = ordermd.RevMail;
model.d_mobile = ordermd.RevMoblie;
model.d_postcode = ordermd.RevPostCode;
model.d_State = ordermd.RevProvince;
model.d_tel = ordermd.RevPhone;
model.delcarevalue = 5;
// model.enname = goodslist.First().GoodsEnglisgName;
string contentdesc = "";
string contentdesc2 = "";
int GoodsNum = 0;
int IsMore = 0;
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
IsMore++;
GoodsNum += goodsmodel.GoodsNum.Value;
contentdesc2 += goodsmodel.GoodsCode + "-" + goodsmodel.TypeCode + "" + goodsmodel.TypeDesc.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " ") + "[" + goodsmodel.GoodsNum.ToString() + "];";
contentdesc += goodsmodel.GoodsCode + "-" + goodsmodel.TypeCode + goodsmodel.TypeDesc + "[" + goodsmodel.GoodsNum.ToString() + "];";
}
}
model.GoodsNum = GoodsNum;
model.delcarevalue = 5;
if (IsMore > 1)
contentdesc2 = "[MORE]" + contentdesc2;
if (contentdesc2.Length > 195)
contentdesc2 = contentdesc2.Substring(0, 195);
if (IsMore > 1)
model.cnname = goodslist.First().GoodsName.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " ") + " 多个";
else
model.cnname = goodslist.First().GoodsName.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " ");
model.enname = contentdesc2;
// model.Memo = contentdesc;
// if (contentdesc.Length > 50)
// model.Memo = contentdesc2;
model.MoreGoodsName = contentdesc;
model.weight = 100;
PostCode = ywa.GetTrackCode(model);
}
}
else if (md.Name.Contains("淼信"))
{
if (md.Name == "淼信俄罗斯")
{
MiaoXinApi mxobj = new MiaoXinApi();
MiaoXin_Order model = new MiaoXin_Order();
model.buyerid = "";
model.consignee_address = ordermd.RevAddr;
model.consignee_city = ordermd.RevCity;
model.consignee_mobile = "";
model.consignee_name = ordermd.RevName;
model.consignee_postcode = ordermd.RevPostCode;
model.consignee_state = "Other";
model.consignee_telephone = ordermd.RevPhone;
model.country = "RU";
model.customer_id = md.UserCode;
model.customer_userid = md.CheckCode;
model.order_customerinvoicecode = ordermd.PlatOrderCode;
model.product_id = "3861";
model.trade_type = "ZYXT";
model.weight = "";
List GoodsList = new List();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
MiaoXin_Goods model2 = new MiaoXin_Goods();
model2.invoice_amount = "5";
model2.invoice_pcs = goodsmodel.GoodsNum.ToString();
model2.invoice_title = goodsmodel.GoodsEnglisgName;
model2.invoice_weight = "100";
model2.item_id = "";
model2.item_transactionid = "";
model2.sku = goodsmodel.GoodsName;
GoodsList.Add(model2);
}
}
model.orderInvoiceParam = GoodsList;
PostCode = mxobj.SendGoods(model, out ErrorInfo);
}
}
}
}
catch (Exception ex)
{
ErrorInfo += ex.Message;
}
}
if (PostCode != null && PostCode != "" && !PostCode.Contains("失败"))
{
DT_TrackCodeApply Model = new DT_TrackCodeApply();
if (PostCode.Contains(','))
{
string[] tracklist = PostCode.Split(',');
if (tracklist.Length > 1)
{
Model.TrackCode = tracklist[0].ToString();
Model.TrackCode2 = tracklist[1].ToString();
}
}
else
{
Model.TrackCode = PostCode;
}
//if (md.LogisticsId != null)
//{
// if (md.LogisticsId > 0)
// {
// if (CheckWuliu(md.LogisticsId.GetValueOrDefault(0), Model.TrackCode) == 1)
// {
// return "";
// }
// }
//}
Model.GetDate = DateTime.Now;
Model.InName = Session["Name"].ToString();
if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "")
Model.OrderCode = ordermd.JoinOrderCode;
else
Model.OrderCode = ordermd.PlatOrderCode;
Model.OrderId = ordermd.OrderId;
Model.PostId = PostId;
Model.State = 1;
Model.TrackType = 1;
Model.UpdateTime = DateTime.Now;
Model.IsSpare = 0;
Model.JoinOrderCode = ordermd.JoinOrderCode;
plist.Add(Model);
//obj.UpdateTrackCode(PostCode, PostId,OrderId, ErrorInfo);
//obj.SaveTrackCodeApply2(Model);
}
else //if (md.PostType != 4) //线上发货的除外
{
// ErrorFollow.TraceWrite("GetOrderPostCode", "物流id:" + PostId.ToString() + ";订单号:" + PlatCode + "获取跟踪码错误", ErrorInfo);
//ErrorInfo += "未获取到跟踪码";
var emd = new DT_TrackCodeApply();
emd.OrderId = ordermd.OrderId;
emd.PostError = "未获取到跟踪码";
emd.PostId = PostId;
plist.Add(emd);
ErrorInfo += ordermd.PlatOrderCode + "未获取到跟踪码";
// obj.UpdateTrackCodeError2(OrderId, PostId, "获取到跟踪码失败");
}
//if (PostCode != null && PostCode != "" && !PostCode.Contains("失败"))
//{
// TrackCode = PostCode;
// return "";
//}
//else
// return PlatCode + "的订单" + ErrorInfo + " " + PostCode;
}
if (plist != null && plist.Count > 0)
{
foreach (var pmd in plist)
{
if (pmd.TrackCode != null)
{
if (pmd.TrackCode != "")
obj.SaveTrackCodeApply4(pmd);
}
}
}
if (ErrorInfo == "")
return "";
else
return ErrorInfo;
}
catch (Exception ex)
{
return ErrorInfo + ex.Message;
}
}
#endregion
#region 导入新平台订单
[WebMethod(EnableSession = true)]
public string ImportNewOrderHWC(string FileName, int CompanyId, int ShopId, int StoreId)
{
PagesNew.Login(this.Session);
if (string.IsNullOrEmpty(FileName) == true) return "要导入的文件路径不能为空";
string ServerFileName = AppDomain.CurrentDomain.BaseDirectory + FileName;
if (System.IO.File.Exists(ServerFileName) == false) return "要导入的文件路径不存在";
//int CompanyId = Convert.ToInt32(Session["CompanyId"]);
try
{
MicrosoftExcel excel = new MicrosoftExcel();
DataTable tb = excel.ImportExcel(ServerFileName);
string error = "";
if (tb.Columns.Contains("订单日期") == false) { error = error + "导入模板的 订单日期 列不存在"; }
if (tb.Columns.Contains("订单号") == false) { error = error + "导入模板的 订单号 列不存在"; }
if (tb.Columns.Contains("收件人") == false) { error = error + "导入模板的 收件人 列不存在"; }
if (tb.Columns.Contains("地址1") == false) { error = error + "导入模板的 地址1 列不存在"; }
if (tb.Columns.Contains("sku") == false) { error = error + "导入模板的 sku 列不存在"; }
if (tb.Columns.Contains("订单金额$") == false) { error = error + "导入模板的 订单金额$ 列不存在"; }
if (string.IsNullOrEmpty(error) == false) return error + ";请导入格式不正确";
DD_OrderData obj = new DD_OrderData();
int UserId = Convert.ToInt32(Session["UserId"]);
List OrderList = new List();
int Num = 0;
int PlatId = 0;
var smd = JC_ShopService.GetModel(ShopId);
PlatId = smd.PlatType.Value;
for (int i = 0; i < tb.Rows.Count; i++)
{
DT_ExcelOrderInfo md = new DT_ExcelOrderInfo();
string PlatOrderCode = tb.Rows[i]["订单号"].ToString().Trim();
if (PlatOrderCode == "")
{
// error += "第" + (i + 2).ToString() + " 行的order number没填
";
continue;
}
md.PlatOrderCode = PlatOrderCode;
md.OrderCode = PlatOrderCode;
md.PlatId = PlatId;
md.ShopId = ShopId;
if (tb.Rows[i]["订单金额$"].ToString().Trim() == "")
{
md.TotalPrice = 0;
}
else
{
try
{
md.TotalPrice = Convert.ToDecimal(tb.Rows[i]["订单金额$"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的价格必须是数字
";
continue;
}
}
int PayState = 1;
int OrderState = 1;
md.OrderDate = DateTime.Now;
md.PayDate = DateTime.Now;
md.PayState = PayState;
md.OrderState = OrderState;
md.RevName = tb.Rows[i]["收件人"].ToString().Trim();
if (md.RevName == "")
{
error += "第" + (i + 2).ToString() + " 行的收件人没填
";
continue;
}
//md.OrderName = tb.Rows[i]["sales_order"].ToString().Trim();
md.RevAddr = tb.Rows[i]["地址1"].ToString().Trim() + " " + tb.Rows[i]["地址2"].ToString().Trim();
if (md.RevAddr == "")
{
error += "第" + (i + 2).ToString() + " 行的地址1没填
";
continue;
}
try
{
if (tb.Rows[i]["订单日期"].ToString().Trim() != "")
md.OrderDate = Convert.ToDateTime(tb.Rows[i]["订单日期"].ToString().Trim());
else
md.OrderDate = DateTime.Today;
}
catch (Exception ex)
{
md.OrderDate = DateTime.Today;
}
md.PayDate = DateTime.Today;
md.RevPostCode = tb.Rows[i]["邮编"].ToString().Trim().Replace("'", "");
if (md.RevPostCode == "")
md.RevPostCode = "12345";
md.RevProvince = tb.Rows[i]["省州"].ToString().Trim();
md.RevCity = tb.Rows[i]["城市"].ToString().Trim();
if (md.RevProvince == null || md.RevProvince == "")
md.RevProvince = md.RevCity;
md.RevPhone = tb.Rows[i]["电话"].ToString().Trim().Replace("'", "").Replace("+", "").Replace("+", "").Replace("(", "").Replace(")", "").Replace(" ", "");
md.CustomID = "";
md.RevMoblie = tb.Rows[i]["电话"].ToString().Trim().Replace("'", "").Replace("+", "").Replace("+", "").Replace("(", "").Replace(")", "").Replace(" ", "");
md.LeaveWord = "";
md.TrackCode = "";
md.RevCountry = "US";
md.MoneyCode = "USD";
md.CompanyId = CompanyId;
md.InUserId = UserId;
List Glist = new List();
var GoodsModel = new DT_OrderExcelGoods();
if (tb.Rows[i]["数量"].ToString().Trim() == "")
{
// error += "第" + (i + 2).ToString() + " 行的quantity没填
";
// continue;
GoodsModel.GoodsNum = 1;
}
else
{
try
{
GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["数量"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的数量必须是数字
";
continue;
}
}
GoodsModel.SKU = tb.Rows[i]["sku"].ToString().Trim();
if (GoodsModel.SKU == "")
{
error += "第" + (i + 2).ToString() + " 行的sku 信息没填
";
continue;
}
md.GoodsNum = GoodsModel.GoodsNum;
GoodsModel.GoodsName = GoodsModel.SKU;
GoodsModel.GoodsPrice = md.TotalPrice;
if (OrderList != null)
{
var omd = OrderList.Find(n => n.PlatOrderCode == PlatOrderCode);
if (omd != null)//相同订单号 sku合并
{
omd.GoodsList.Add(GoodsModel);
continue;
}
}
GoodsModel.CompanyId = CompanyId;
Glist.Add(GoodsModel);
md.OrderName = "";
md.PostFee = 0;
md.RevMail = "";
md.RevFax = "";
md.RevArea = "";
md.PostInfo = "";
md.GoodsList = Glist;
OrderList.Add(md);
}
if (error != "")
{
return error;
}
else if (OrderList.Count > 0)
{
string OrderIds = "";
foreach (var md in OrderList)
{
md.StoreId = StoreId;
int OrderId = obj.ExcelOrderAdd4(md);
OrderIds += OrderId.ToString() + ",";
}
obj.UpdateOrderGoodsNum();
if (OrderIds != "")
PartOrderGoodsLockForHWC(CompanyId, 0, 6, OrderIds.TrimEnd(','), "");
error = "数据导入成功【" + OrderList.Count.ToString() + "条】;" + error;
return error;
}
}
catch (Exception e)
{
return "文件导入失败!请确定模板格式是否正确,或者重新下载模板,填写数据,重新导入!!!" + e.Message;
}
return "导入成功";
}
#endregion
#region 全部订单锁定匹配货物海外仓
[WebMethod(EnableSession = true)]
public string AllOrderGoodsLockForHWC(int CompanyId, int IsError, int StoreId)
{
PagesNew.Login(this.Session);
var obj = new DD_OrderData();
int Num = 0;
if (CompanyId == 1)
return "";
int UserId = Convert.ToInt32(Session["UserId"]);
try
{
string Sort = "a.OrderLevel desc,a.OrderDate";
obj.SetStore();//仓库调整
var orderlist = DataNew.GetLockOrderListForHWC(CompanyId, IsError, StoreId, Sort);
var list = DataNew.GetLockOrderGoodsForHWC(CompanyId, StoreId, IsError);
var KClist = DataNew.GetNowKCGoodsHWC(CompanyId, IsError, StoreId);
var nfplist = obj.GetNoFPOrderList();
List mlist = new List();
if (orderlist != null && list != null && KClist != null && orderlist.Count > 0 && list.Count > 0 && KClist.Count > 0)
{
var hwlist2 = new List();
var OrderMatelist = new List();
List JoinOrderList = new List();
foreach (var ordermd in orderlist)
{
//if (ordermd.OrderId == 5329133)
//{
// string a = "";
//}
string JoinOrderCode = "";
if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "")
JoinOrderCode = ordermd.JoinOrderCode;
if (JoinOrderCode != "")
{
if (JoinOrderList != null && JoinOrderList.Count > 0)
{
var jmd = JoinOrderList.Find(n => n.JoinOrderCode == JoinOrderCode);
DT_OrderMateKCOrder nmd = null;
if (nfplist != null && nfplist.Count > 0)
nmd = nfplist.Find(n => n.JoinOrderCode == JoinOrderCode);
if (jmd != null || nmd != null)
continue;
else
{
var jmd1 = new DT_OrderMateKCGoods();
jmd1.JoinOrderCode = JoinOrderCode;
JoinOrderList.Add(jmd1);
}
}
else
{
var jmd1 = new DT_OrderMateKCGoods();
jmd1.JoinOrderCode = JoinOrderCode;
JoinOrderList.Add(jmd1);
}
}
List listGoods = new List();
List OutList = new List();
var Goodslist = new List();
if (JoinOrderCode == "")
Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId);
else //合并订单
Goodslist = list.FindAll(n => n.JoinOrderCode == JoinOrderCode);
if (Goodslist != null && Goodslist.Count > 0)
{
var hwlist1 = new List();
bool qbFlag = true;//全部货物满足
bool Flag = false;//全部货物满足
foreach (var goodsmd in Goodslist)
{
int DDNum = goodsmd.GoodsNum.Value;
int LeftNum = DDNum;
var kcmdlist = KClist.FindAll(n => n.DetailId == goodsmd.DetailId && n.KCNum - n.LockNum > 0);
if (kcmdlist == null || kcmdlist.Count == 0)
{
qbFlag = false;
Flag = false;
continue;
}
foreach (var kcmd in kcmdlist)
{
if (kcmd.KCNum - kcmd.LockNum >= LeftNum)
{
kcmd.LockNum += LeftNum;
var ckmd = new DT_OrderNowKCGoods();
ckmd.OrderNum = LeftNum;
ckmd.InId = kcmd.InId;
ckmd.OrderId = ordermd.OrderId;
ckmd.OrderGoodsId = goodsmd.Id;
ckmd.StoreId = kcmd.StoreId;
ckmd.PostionId = kcmd.PostionId;
ckmd.DetailId = kcmd.DetailId;
hwlist1.Add(ckmd);
LeftNum = 0;
break;
}
else
{
var ckmd = new DT_OrderNowKCGoods();
ckmd.OrderNum = kcmd.KCNum.Value - kcmd.LockNum.Value;
ckmd.InId = kcmd.InId;
ckmd.OrderId = ordermd.OrderId;
ckmd.OrderGoodsId = goodsmd.Id;
ckmd.StoreId = kcmd.StoreId;
ckmd.PostionId = kcmd.PostionId;
ckmd.DetailId = kcmd.DetailId;
hwlist1.Add(ckmd);
LeftNum = LeftNum - kcmd.KCNum.Value + kcmd.LockNum.Value;
kcmd.LockNum = kcmd.KCNum;
}
}
if (LeftNum <= 0)
{
Flag = true;
goodsmd.IsMate = 1;
}
else
{
qbFlag = false;
Flag = false;
goodsmd.IsMate = 0;
}
}
if (qbFlag == true && Flag == true)
{
mlist.Add(ordermd);
ordermd.IsMate = 1;
if (hwlist1 != null)
{
foreach (var hmd in hwlist1)
{
hwlist2.Add(hmd);
}
}
}
else
{
foreach (var hmd in hwlist1)
{
var opmd = new HW_OrderMate();
opmd.InId = hmd.InId;
opmd.Num = hmd.OrderNum;
opmd.DetailId = hmd.DetailId;
opmd.GoodsOrderId = hmd.OrderGoodsId;
opmd.StoreId = hmd.StoreId;
opmd.PostionId = hmd.PostionId;
OrderMatelist.Add(opmd);
}
hwlist1.Clear();
}
}
}
// var olist=orderlist.FindAll(n=>n.IsMate==1);
if (mlist != null)
{
Num = mlist.Count;
//string OrderIds = "";
// string JoinOrderCodes = "";
foreach (var omd in mlist)
{
int OrderId = 0;
string JoinOrderCode = "";
if (omd.JoinOrderCode != null && omd.JoinOrderCode != "")
JoinOrderCode = omd.JoinOrderCode;
else
OrderId = omd.OrderId.Value;
var cklist = hwlist2.FindAll(n => n.OrderId == omd.OrderId);
if (cklist != null && cklist.Count > 0)
DataNew.UpdateOrderGoodsLockForHWC(OrderId, JoinOrderCode, cklist);
}
//if (OrderIds != "" || JoinOrderCodes != "")
// obj.UpdateOrderGoodsLockForTM31(OrderIds.Trim(','), JoinOrderCodes.Trim(','));
}
//obj.DeleteOrderMate();
//if (OrderMatelist != null)
//{
// foreach (var mmd in OrderMatelist)
// {
// obj.SaveOrderMate(mmd);
// }
//}
}
}
catch (Exception ex)
{
return ex.Message;
}
return "匹配" + Num.ToString() + "条";
}
#endregion
#region 海外仓订单匹配货物
[WebMethod(EnableSession = true)]
public string PartOrderGoodsLockForHWC(int CompanyId, int IsError, int StoreId, string OrderIds, string JoinOrderCodes)
{
PagesNew.Login(this.Session);
var obj = new DD_OrderData();
int Num = 0;
if (CompanyId == 1)
return "";
int UserId = Convert.ToInt32(Session["UserId"]);
try
{
string Sort = "a.OrderLevel desc,a.OrderDate";
var orderlist = DataNew.GetLockPartOrderListForHWC(CompanyId, OrderIds.Trim(','), JoinOrderCodes.Trim(','), IsError, StoreId, Sort);
var list = DataNew.GetLockPartOrderGoodsForHWC(CompanyId, OrderIds.Trim(','), JoinOrderCodes.Trim(','), StoreId, IsError);
var nfplist = DataNew.GetNoFPOrderList2(CompanyId);
if (orderlist != null && list != null)
{
var hwlist = new List(); //货物占用
var hwlist2 = new List();
var hwnolist = new List(); //不够的货物
List JoinOrderList = new List();
foreach (var ordermd in orderlist)
{
string JoinOrderCode = "";
if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "")
JoinOrderCode = ordermd.JoinOrderCode;
List listGoods = new List();
List OutList = new List();
var Goodslist = new List();
if (JoinOrderCode == "")
Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId);
else //合并订单
Goodslist = list.FindAll(n => n.JoinOrderCode == JoinOrderCode);
if (JoinOrderCode != "")
{
if (JoinOrderList != null && JoinOrderList.Count > 0)
{
var jmd = JoinOrderList.Find(n => n.JoinOrderCode == JoinOrderCode);
DT_OrderMateKCOrder nmd = null;
if (nfplist != null && nfplist.Count > 0)
nmd = nfplist.Find(n => n.JoinOrderCode == JoinOrderCode);
if (jmd != null || nmd != null)
continue;
else
{
var jmd1 = new DT_OrderGoods();
jmd1.JoinOrderCode = JoinOrderCode;
JoinOrderList.Add(jmd1);
}
}
else
{
var jmd1 = new DT_OrderGoods();
jmd1.JoinOrderCode = JoinOrderCode;
JoinOrderList.Add(jmd1);
}
}
if (Goodslist != null)
{
bool Flag = false; //匹配标记
bool qbFlag = true;//全部货物满足
foreach (var goodsmd in Goodslist)
{
int ZYNum = 0;//占用数量
int DDNum = goodsmd.GoodsNum.Value;//订单数量
if (hwnolist != null)
{
var hwnodetail = hwnolist.Find(n => n.DetailId == goodsmd.DetailId);
if (hwnodetail != null)//已经在没有库存记录里
{
Flag = false;
qbFlag = false;
continue;
}
}
if (hwlist != null)
{
var hwdetail = hwlist.Find(n => n.DetailId == goodsmd.DetailId);
if (hwdetail != null)//已经在没有满足库存记录里
{
ZYNum = hwdetail.KCNum.Value;
}
}
var inlist = DataNew.GetMateOrderGoodsInForHWC(goodsmd.DetailId.Value, StoreId);
if (inlist == null || inlist.Count == 0)//没有库存
{
Flag = false;
qbFlag = false;
HW_GoodsOutDetail hwnomd = new HW_GoodsOutDetail();
hwnomd.DetailId = goodsmd.DetailId;
hwnolist.Add(hwnomd);
continue;
}
int LeftNum = DDNum;
foreach (var kcmd in inlist)
{
if (kcmd.KCNum.Value >= LeftNum + ZYNum)
{
HW_GoodsInDetail hwinmd = new HW_GoodsInDetail();
hwinmd.DetailId = goodsmd.DetailId;
hwinmd.InId = kcmd.InId;
hwinmd.Price = kcmd.Price;
hwinmd.PostPrice = kcmd.PostPrice;
hwinmd.OrderGoodsId = goodsmd.Id;
hwinmd.KCNum = LeftNum;
hwlist2.Add(hwinmd);
LeftNum = 0;
break;
}
else
if (kcmd.KCNum.Value < LeftNum + ZYNum)
{
HW_GoodsInDetail hwinmd = new HW_GoodsInDetail();
hwinmd.DetailId = goodsmd.DetailId;
hwinmd.InId = kcmd.InId;
hwinmd.Price = kcmd.Price;
hwinmd.PostPrice = kcmd.PostPrice;
hwinmd.OrderGoodsId = goodsmd.Id;
hwinmd.KCNum = kcmd.KCNum.Value;
hwlist2.Add(hwinmd);
LeftNum = LeftNum - kcmd.KCNum.Value;
}
}
if (LeftNum == 0) //够分配
{
Flag = true;
}
else //不够分配
{
Flag = false;
qbFlag = false;
var bgmd = hwlist.Find(n => n.DetailId == goodsmd.DetailId);
if (bgmd != null)
{
bgmd.KCNum += DDNum;
}
else
{
var bgmd1 = new HW_GoodsInDetail();
bgmd1.KCNum = DDNum;
hwlist.Add(bgmd1);
}
}
}
if (Flag == true && qbFlag == true)//已经分配
{
decimal GoodsFee = 0; //货物采购均价
decimal PostFee = 0;//货物快递成本
if (hwlist2 != null)
{
Num++;
//int Num = hwlist2.Count;
foreach (var md in hwlist2)
{
if (md.Price != null)
GoodsFee += md.Price.Value * md.KCNum.Value;
if (md.PostPrice != null)
PostFee += md.PostPrice.Value * md.KCNum.Value;
}
//if (Num > 0)
//{
// GoodsFee = GoodsFee / Num;
// PostFee = PostFee / Num;
//}
}
DataNew.UpdateOrderGoodsLockForHWC(ordermd.OrderId.Value, 2, GoodsFee, PostFee, JoinOrderCode, hwlist2);
hwlist2.Clear();
}
else //未分配
{
if (hwlist2 != null)
{
foreach (var md in hwlist2)
{
var bgmd = hwlist.Find(n => n.DetailId == md.DetailId);
if (bgmd != null)
{
bgmd.KCNum += md.KCNum.Value;
}
else
{
var bgmd1 = new HW_GoodsInDetail();
bgmd1.KCNum = md.KCNum.Value;
hwlist.Add(bgmd1);
}
}
hwlist2.Clear();
}
}
}
}
}
}
catch (Exception ex)
{
return ex.Message;
}
return "匹配" + Num.ToString() + "条";
}
#endregion
#region 查询订单
[WebMethod(EnableSession = true)]
public JsonModel> GetListOrderForHWC(int CompanyId,int StoreId, int PlatType, int ShopId, int DateType, DateTime? SDate, DateTime? EDate, int TjType, string Name, int PrintState, int MateState, int State, int PageIndex, int PageSize, string Sort)
{
PagesNew.Login(this.Session);
var obj = new DD_OrderData();
// int CompanyId = Convert.ToInt32(Session["CompanyId"]);
RefParameterCollection Param = new RefParameterCollection();
Param.Add("a.CompanyId", "=", CompanyId, DbType.Int32);
if (StoreId > 0)
{
Param.Add("a.StoreId", "=", StoreId, DbType.Int32);
}
if (PlatType > 0)
Param.Add("a.PlatId", "=", PlatType, DbType.Int32);
if (ShopId > 0)
Param.Add("a.ShopId", "=", ShopId, DbType.Int32);
if (DateType == 1)
{
if (SDate != null)
Param.Add("a.OrderDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.OrderDate", "<", EDate.Value.AddDays(1), DbType.DateTime);
}
else
if (DateType == 2)
{
if (SDate != null)
Param.Add("a.InDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.InDate", "<", EDate.Value.AddDays(1), DbType.DateTime);
}
else
if (DateType == 3)
{
if (SDate != null)
Param.Add("a.PrintDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PrintDate", "<", EDate.Value.AddDays(1), DbType.DateTime);
}
else
if (DateType == 4)
{
if (SDate != null)
Param.Add("a.PostDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate", "<", EDate.Value.AddDays(1), DbType.DateTime);
}
else
if (DateType == 5)
{
if (SDate != null)
Param.Add("a.OrderOutDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.OrderOutDate", "<", EDate.Value.AddDays(1), DbType.DateTime);
}
if (MateState > -1)
Param.Add("a.MateState", "=", MateState, DbType.Int32);
if (PrintState > -1)
Param.Add("a.PrintState", "=", PrintState, DbType.Int32);
if (State == 3)
Param.Add("a.State", "=", 2, DbType.Int32);
else if (State == 4)
Param.Add("a.State", "=", 3, DbType.Int32);
else if (State == 5)
{
Param.Add("a.State", "=", 1, DbType.Int32);
Param.Add("a.MoneyState", "=", 1, DbType.Int32);
}
else if (State == 1)
{
//Param.Add("a.State", "=", 2, DbType.Int32);
Param.Add("a.PostState", "=", 1, DbType.Int32);
}
else if (State == 2)
{
Param.Add("a.State", "<", 3, DbType.Int32);
Param.Add("a.PostState", "=", 2, DbType.Int32);
}
else if (State == 0)
{
//Param.Add("a.State", "=", 2, DbType.Int32);
Param.Add("a.State", "=", 1, DbType.Int32);
}
else
Param.Add("a.State", ">", 0, DbType.Int32);
string TCode = "";
if (Name != "")
{
Name = Name.Trim();
if (TjType == 1)
{
Param.Add("(a.PlatOrderCode", "like", Name, DbType.String);
Param.Add("OrderCode", "like", Name, "or", DbType.String);
Param.Add("a.JoinOrderCode", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 2)
{
Param.Add("a.RevName", "like", Name, DbType.String);
}
else if (TjType == 3)
{
Param.Add("a.RevPhone", "like", Name, DbType.String);
}
else if (TjType == 4)
{
Param.Add("(a.RevCountry", "=", Name, DbType.String);
Param.Add("a.CountryName", "=", Name, "or", DbType.String);
Param.Add("a.CountryCode", "=", Name, "or", ")", DbType.String);
}
else if (TjType == 5)
{
Param.Add("a.RevPostCode", "=", Name, DbType.String);
}
else if (TjType == 6)
{
Param.Add("(a.RevAddr", "like", Name, DbType.String);
Param.Add("a.RevProvince", "like", Name, "or", DbType.String);
Param.Add("a.RevCity", "like", Name, "or", DbType.String);
Param.Add("a.RevArea", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 9)
{
Param.Add("(a.ErrorInfo", "like", Name, DbType.String);
Param.Add("a.PostError", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 10)
{
//Param.Add("dbo.getOrderTrackCode(a.OrderId,0)", "like", Name, DbType.String);
TCode = Name;
}
else if (TjType == 11)
{
Param.Add("a.CustomID", "=", Name, DbType.String);
}
else if (TjType == 12)
{
Param.Add("a.RevMail", "=", Name, DbType.String);
}
}
JsonModel> resultModel = new JsonModel>();
int RowCount = 0;
//string Sort = "orderid desc";
string GoodsName = "";
string SKU = "";
if (TjType == 7 && Name != "")
{
GoodsName = Name;
}
else
if (TjType == 8 && Name != "")
{
SKU = Name;
}
// if (State == 0 || State == 2)
resultModel.DataSource = DataNew.GetListDT_OrderInfoForHWC(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, 0, Param, PageIndex, PageSize, Sort, out RowCount);
// else
// resultModel.DataSource = obj.GetListDT_OrderInfoForTM(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, 0, Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
string Ids = "";
if (resultModel.DataSource != null)
{
foreach (var md in resultModel.DataSource)
{
Ids += md.OrderId.ToString() + ",";
}
}
if (Ids != "")
{
var errorlist = obj.GetErrorList(Ids.Trim(','));
if (errorlist != null && errorlist.Count > 0)
{
foreach (var md in resultModel.DataSource)
{
var emd = errorlist.Find(n => n.OrderId == md.OrderId);
if (emd != null)
{
md.ErrorInfo = emd.ErrorInfo;
}
}
}
}
if (resultModel.DataSource != null)
{
if (Ids != "")
{
var list1 = DataNew.GetOrderGoodsListHWC(Ids.Trim(','));
var listTrack = obj.GetTrackCodeApplyList(Ids.Trim(','));
if (list1 != null)
{
foreach (var md in resultModel.DataSource)
{
var list2 = list1.FindAll(n => n.OrderId == md.OrderId);
if (list2 != null)
{
md.GoodsList = list2;
}
}
}
if (listTrack != null)
{
foreach (var md in resultModel.DataSource)
{
var list3 = new List();
if (md.JoinOrderCode != null && md.JoinOrderCode != "")
list3 = listTrack.FindAll(n => n.OrderCode == md.JoinOrderCode);
else
list3 = listTrack.FindAll(n => n.OrderId == md.OrderId);
if (list3 != null && list3.Count > 0)
{
string trackinfo = "";
string TrackCode = "";
foreach (var md1 in list3)
{
string blank = "";
if (md1.TrackType == 3)
blank = "[空包裹]";
if (md1.Weight != null)
{
string dd = "";
if (md1.ScanDate != null)
dd = "发货时间:" + md1.ScanDate.Value.ToString("yyyy-MM-dd HH:mm");
trackinfo += md1.TrackCode + blank + "重量" + md1.Weight.ToString() + "g" + dd + "
";
}
else
trackinfo += md1.TrackCode + blank + "
";
if (TrackCode == "")
TrackCode = md1.TrackCode;
}
md.TrackInfo = trackinfo;
md.TrackCode = TrackCode;
}
}
}
}
}
return resultModel;
}
#endregion
#region 查询物流订单
[WebMethod(EnableSession = true)]
public JsonModel> GetListOrderExpressHWC(int CompanyId, int Num, int PlatType, int TrackState, int MateState, int ShopId, int DateType, DateTime? SDate, DateTime? EDate, int OutDays, int TjType, string Name, int ExpressState, int IsSku, int IsError, int IsDetail, int HBOrder, int PostId, int LogisticsId, int Addr, int PageIndex, int PageSize, string Sort)
{
PagesNew.Login(this.Session);
var obj = new DD_OrderData();
RefParameterCollection Param = new RefParameterCollection();
if (Num == 1)
Param.Add("a.GoodsNum", "=", 1, DbType.Int32);
else if (Num == 2)
Param.Add("a.GoodsNum", ">", 1, DbType.Int32);
Param.Add("a.CompanyId", "=", CompanyId, DbType.Int32);
if (MateState > -1)
Param.Add("a.MateState", "=", MateState, DbType.Int32);
int IsTrack = TrackState;
//if (ExpressState>-1)
Param.Add("isnull(a.PrintState,0)", "=", 0, DbType.Int32);
if (PlatType > 0)
Param.Add("a.PlatId", "=", PlatType, DbType.Int32);
if (ShopId > 0)
Param.Add("a.ShopId", "=", ShopId, DbType.Int32);
if (DateType == 1)
{
if (SDate != null)
Param.Add("a.OrderDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.OrderDate", "<", EDate.Value.AddDays(1), DbType.DateTime);
}
else
if (DateType == 2)
{
if (SDate != null)
Param.Add("a.InDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.InDate", "<", EDate.Value.AddDays(1), DbType.DateTime);
}
else
if (DateType == 3)
{
if (SDate != null)
Param.Add("a.PrintDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PrintDate", "<", EDate.Value.AddDays(1), DbType.DateTime);
}
else
if (DateType == 4)
{
if (SDate != null)
Param.Add("a.PostDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate", "<", EDate.Value.AddDays(1), DbType.DateTime);
}
else
if (DateType == 5)
{
if (SDate != null)
Param.Add("a.OrderOutDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.OrderOutDate", "<", EDate.Value.AddDays(1), DbType.DateTime);
}
if (OutDays > 0)
{
Param.Add("a.OrderOutDate", "<=", DateTime.Now.AddHours(OutDays), DbType.DateTime);
Param.Add("a.OrderOutDate", ">=", DateTime.Now, DbType.DateTime);
}
if (LogisticsId > 0)
Param.Add("b.LogisticsId", "=", LogisticsId, DbType.String);
if (ExpressState == 0)
{
Param.Add("isnull(b.Post,0)", "=", 0, DbType.Int32);
}
else if (ExpressState == 2)
{
Param.Add("b.Post", ">", 0, DbType.Int32);
Param.Add("isnull(b.TrackState,0)", "=", 0, DbType.Int32);
}
else
if (ExpressState == 1)
{
Param.Add("b.Post", ">", 0, DbType.Int32);
Param.Add("b.TrackState", ">", 0, DbType.Int32);
}
if (PostId > 0)
Param.Add("b.Post", "=", PostId, DbType.Int32);
Param.Add("a.State", "=", 1, DbType.Int32);
if (HBOrder == 1)
Param.Add("a.IsJoin", "=", 1, DbType.Int32);
if (IsError == 1)
{
Param.Add("(b.SendAddr", ">", 0, DbType.Int32);
Param.Add("b.IsLeaveWord", "=", 1, "or", ")", DbType.Int32);
}
string TCode = "";
if (Name != "")
{
if (TjType == 1)
{
Param.Add("(a.PlatOrderCode", "=", Name, DbType.String);
Param.Add("a.JoinOrderCode", "=", Name, "or", ")", DbType.String);
}
else if (TjType == 2)
{
Param.Add("b.RevName", "like", Name, DbType.String);
}
else if (TjType == 3)
{
Param.Add("b.RevPhone", "like", Name, DbType.String);
}
else if (TjType == 4)
{
Param.Add("(b.RevCountry", "=", Name, DbType.String);
Param.Add("b.CountryName", "=", Name, "or", DbType.String);
Param.Add("b.CountryCode", "=", Name, "or", ")", DbType.String);
}
else if (TjType == 5)
{
Param.Add("b.RevPostCode", "=", Name, DbType.String);
}
else if (TjType == 6)
{
Param.Add("(b.RevAddr", "like", Name, DbType.String);
Param.Add("b.RevProvince", "like", Name, "or", DbType.String);
Param.Add("b.RevCity", "like", Name, "or", DbType.String);
Param.Add("b.RevArea", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 9)
{
Param.Add("(b.ErrorInfo", "like", Name, DbType.String);
Param.Add("b.PostError", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 10)
{
// Param.Add("dbo.getOrderTrackCode(a.OrderId,1)", "like", Name, DbType.String);
TCode = Name;
}
}
if (IsSku == 0)
Param.Add("a.FPDate", "is", null, DbType.String);
else if (IsSku == 1)
Param.Add("a.FPDate", "is not", null, DbType.String);
//if (Addr > -1)
//{
// Param.Add("b.SendAddr", "=", Addr, DbType.Int32);
//}
// Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel> resultModel = new JsonModel>();
int RowCount = 0;
//var pxlist = obj.GetLevelConfig(CompanyId, 0);
// string Sort = "JoinOrderCode,PlatOrderCode";
//if (pxlist != null)
//{
// Sort = "";
// foreach (var md in pxlist)
// {
// if (md.SortType == 1)
// Sort += "a.OrderLevel desc,";
// else if (md.SortType == 2)
// Sort += "a.OrderDate,";
// else if (md.SortType == 3)
// Sort += "c.LevelGrade desc,";
// else if (md.SortType == 4)
// Sort += "a.RMBPrice desc,";
// }
//}
//Sort = Sort.Trim(',');
string GoodsName = "";
string SKU = "";
if (TjType == 7 && Name != "")
{
GoodsName = Name;
}
else
if (TjType == 8 && Name != "")
{
SKU = Name;
}
resultModel.DataSource = DataNew.GetListDT_OrderInfoExpressHWC(IsTrack, TCode, GoodsName, SKU, IsSku, Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
string Ids = "";
if (resultModel.DataSource != null)
{
foreach (var md in resultModel.DataSource)
{
Ids += md.OrderId.ToString() + ",";
}
}
if (Ids != "")
{
JC_ExpressService obj3 = new JC_ExpressService();
var elist = obj3.GetExpressTypeList();
var plist = obj3.GetExpressList();
var errorlist = obj.GetErrorList(Ids.Trim(','));
if (errorlist != null || elist != null || plist != null)
{
foreach (var md in resultModel.DataSource)
{
if (errorlist != null && errorlist.Count > 0)
{
var emd = errorlist.Find(n => n.OrderId == md.OrderId);
if (emd != null)
{
md.ErrorInfo = emd.ErrorInfo;
}
}
//if (md.LogisticsId>0&&elist != null && elist.Count > 0)
//{
// var emd = elist.Find(n => n.LogisticsId == md.LogisticsId);
// if (emd != null)
// {
// md.PostInfo = emd.LogisticsName;
// }
//}
if (md.Post > 0 && plist != null && plist.Count > 0)
{
var emd = plist.Find(n => n.ExpressID == md.Post);
if (emd != null)
{
md.LocalPost = emd.Name;
}
}
}
}
}
if (resultModel.DataSource != null)
{
if (Ids != "")
{
if (IsDetail == 1)
{
var list1 = obj.GetOrderGoodsList(Ids.Trim(','));
if (list1 != null)
{
foreach (var md in resultModel.DataSource)
{
var list2 = list1.FindAll(n => n.OrderId == md.OrderId);
if (list2 != null)
{
md.GoodsList = list2;
}
}
}
}
var listTrack = obj.GetTrackCodeApplyList(Ids.Trim(','));
if (listTrack != null)
{
foreach (var md in resultModel.DataSource)
{
List list3 = new List();
if (md.JoinOrderCode != null && md.JoinOrderCode != "")
{
list3 = listTrack.FindAll(n => n.OrderCode == md.JoinOrderCode);
}
else
list3 = listTrack.FindAll(n => n.OrderId == md.OrderId);
if (list3 != null && list3.Count > 0)
{
string trackinfo = "";
string blank = "";
string trackinfo1 = "";
foreach (var md1 in list3)
{
if (md1.TrackType == 3)
blank = "[空包裹]";
if (md1.Weight != null)
trackinfo += md1.TrackCode + blank + "重量" + md1.Weight.ToString() + "g;
";
else
trackinfo += md1.TrackCode + blank + "
";
trackinfo1 = md1.TrackCode + blank + "
";
}
md.TrackInfo = trackinfo;
md.TrackCode = trackinfo1;
}
}
}
}
}
return resultModel;
}
#endregion
#region 获取物流单号
[WebMethod(EnableSession = true)]
public string GetOrderPostCodeList(string OrderIds, int PostId, int CompanyId)
{
PagesNew.Login(this.Session);
var obj = new DD_OrderData();
if (CompanyId == 0)
CompanyId = Convert.ToInt32(Session["CompanyId"]);
var companymd = new JC_PostAddress();
var obj1 = new JC_ExpressService();
var obj11 = new BaseService();
companymd = obj11.GetAddressModel2(PostId);
string ErrorInfo = "";
string PostCode = "";
var obj2 = new BaseService();
var md = DataNew.GetExpressModel(CompanyId, PostId);
var orderlist = obj.GetOrderModelList(OrderIds.Trim(','));
var orderGoodslist = DataNew.GetOrderGoodsList2(OrderIds.Trim(','));
if (orderlist == null || orderGoodslist == null || md == null)
return "";
foreach (var ordermd in orderlist)
{
if ((ordermd.RevPhone == null || ordermd.RevPhone == "") && (ordermd.RevPhone == null || ordermd.RevPhone == ""))
ErrorInfo += ordermd.PlatOrderCode + "收件人电话没填";
if (ordermd.RevPostCode == null || ordermd.RevPostCode == "")
ErrorInfo += ordermd.PlatOrderCode + "收件人邮编没填";
if (ordermd.RevProvince == null || ordermd.RevProvince == "")
ErrorInfo += ordermd.PlatOrderCode + "州没填";
var goodslist = orderGoodslist.FindAll(n => n.OrderId == ordermd.OrderId);
if (goodslist == null)
ErrorInfo += ordermd.PlatOrderCode + "货物没有分配";
else
{
foreach (var gmd in goodslist)
{
if (gmd.Weight == null && gmd.Weight2 == null)
{
ErrorInfo += ordermd.PlatOrderCode + " " + gmd.GoodsSKU + "货物重量没填";
}
if (gmd.Long == null && gmd.Long2 == null)
{
ErrorInfo += ordermd.PlatOrderCode + " " + gmd.GoodsSKU + "货物尺寸没填";
}
else if (gmd.Width == null && gmd.Width2 == null)
{
ErrorInfo += ordermd.PlatOrderCode + " " + gmd.GoodsSKU + "货物尺寸没填";
}
else if (gmd.Height == null && gmd.Height2 == null)
{
ErrorInfo += ordermd.PlatOrderCode + " " + gmd.GoodsSKU + "货物尺寸没填";
}
}
}
}
if (ErrorInfo != "")
{
return ErrorInfo;
}
var plist = new List();
foreach (var ordermd in orderlist)
{
var goodslist = orderGoodslist.FindAll(n => n.OrderId == ordermd.OrderId);
if (md.Name.Contains("Fedex") && md.customercode != null && md.customercode != "")
{
FedexSmartPostNew fedexobj = new FedexSmartPostNew();
FedexSmartPostNew.Key = md.UserCode;
FedexSmartPostNew.Password = md.CheckCode;
FedexSmartPostNew.AccountNumber = md.client_id;
FedexSmartPostNew.MeterNumber = md.client_secret;
FedexSmartPostNew.PayAccountNumber = md.refresh_token;
FedexSmartPostNew.HubId = md.Code;
FedexSmartPostNew.PostName = md.customercode;
FedexSmartPostNew.IsQM = 0;
FedexOrder fdorder = new FedexOrder();
string SendName = companymd.SendName;
string PersonName = companymd.SendEnglishName;
if (goodslist != null && goodslist[0].SendName != null && goodslist[0].SendName != "")
{
SendName = goodslist[0].SendName;
PersonName = goodslist[0].SendName;
}
Shiper shiper = new Shiper
{
City = companymd.city,
CompanyName = SendName,
PersonName = PersonName,
PhoneNumber = companymd.Phone,
PostalCode = companymd.PostCode,
StateOrProvinceCode = companymd.provincecode,
StreetLines = companymd.EnglishAddress,
CountryCode = companymd.countycode
};
fdorder.Shiper = shiper;
fdorder.CustomerTransactionId = ordermd.PlatOrderCode;
fdorder.PostId = new int?(PostId);
string Phone = ordermd.RevMoblie;
if (ordermd.RevPhone != null && ordermd.RevPhone != "")
Phone = ordermd.RevPhone;
Rever rever = new Rever
{
City = ordermd.RevCity,
CompanyName = ordermd.RevName,
PersonName = ordermd.RevName,
PhoneNumber = Phone,
PostalCode = ordermd.RevPostCode
};
if ((ordermd.RevProvince == null) || (ordermd.RevProvince == ""))
{
rever.StateOrProvinceCode = ordermd.RevCity;
}
else
{
rever.StateOrProvinceCode = ordermd.RevProvince;
}
rever.StreetLines = ordermd.RevAddr;
rever.CountryCode = ordermd.CountryCode;
fdorder.Rever = rever;
List fedlist = new List();
string gsku = "";
int gnum = 0;
decimal ww = 0;
decimal c = 0;
decimal k = 0;
decimal g = 0;
foreach (var gmd in goodslist)
{
if (gmd.GoodsSKU != null && gmd.GoodsSKU != "")
gsku += gmd.GoodsNum.Value + "x" + gmd.GoodsSKU;
gnum += gmd.GoodsNum.Value;
if (gmd.Weight2 != null)
ww += gmd.GoodsNum.Value * gmd.Weight2.Value * Convert.ToDecimal(0.0625);
else if (gmd.Weight != null)
ww += gmd.GoodsNum.Value * gmd.Weight.Value * Convert.ToDecimal(0.0022046);
if (gmd.Long2 != null)
c += gmd.Long2.Value;
else if (gmd.Long != null)
c += gmd.Long.Value * Convert.ToDecimal(0.3937008);
if (gmd.Width2 != null)
k += gmd.Width2.Value;
else if (gmd.Width != null)
k += gmd.Width.Value * Convert.ToDecimal(0.3937008);
if (gmd.Height2 != null)
g += gmd.Height2.Value;
else if (gmd.Height != null)
g += gmd.Height.Value * Convert.ToDecimal(0.3937008);
}
FedexGoods fgmd = new FedexGoods
{
Amount = 10.000M,
SKU = gsku,
Description = gsku,
NumberOfPieces = gnum.ToString(),
Weight = ww,
Height = Math.Ceiling(g).ToString(),
Lenght = Math.Ceiling(c).ToString(),
Width = Math.Ceiling(k).ToString(),
Quantity = gnum
};
fedlist.Add(fgmd);
fdorder.GoodsList = fedlist;
string error = "";
PostCode = fedexobj.GetFedex(fdorder, out error);
if (error != "")
ErrorInfo += error;
else if (PostCode != null && PostCode != "" && !PostCode.Contains("失败"))
{
DT_TrackCodeApplyNew Model = new DT_TrackCodeApplyNew();
if (PostCode.Contains(','))
{
string[] tracklist = PostCode.Split(',');
if (tracklist.Length > 1)
{
Model.TrackCode = tracklist[0].ToString();
Model.TrackCode2 = tracklist[1].ToString();
}
}
else
{
Model.TrackCode = PostCode;
}
Model.GetDate = DateTime.Now;
Model.InName = Session["Name"].ToString();
if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "")
Model.OrderCode = ordermd.JoinOrderCode;
else
Model.OrderCode = ordermd.PlatOrderCode;
Model.OrderCode2 = fdorder.CustomerTransactionId;
Model.SKU = gsku;
Model.Weight2 = ww.ToString("0.00");
Model.Long = Math.Ceiling(c).ToString();
Model.Height = Math.Ceiling(g).ToString();
Model.Width = Math.Ceiling(k).ToString();
Model.OrderId = ordermd.OrderId;
Model.PostId = PostId;
Model.State = 1;
Model.TrackType = 1;
Model.UpdateTime = DateTime.Now;
Model.IsSpare = 0;
Model.LabelUrl = PostCode + ".png";
Model.JoinOrderCode = ordermd.JoinOrderCode;
plist.Add(Model);
}
}
}
if (plist != null && plist.Count > 0)
{
foreach (var pmd in plist)
{
if (pmd.TrackCode != null)
{
if (pmd.TrackCode != "")
DataNew.SaveTrackCodeApply(pmd);
}
}
}
if (ErrorInfo == "")
return "";
else
return ErrorInfo + ";其他订单获取成功";
}
#endregion
#region 获取物流单号
[WebMethod(EnableSession = true)]
public string GetOrderPostCodeOne(string OrderIds, int PostId, int CompanyId, string SKU, int Num, int IsSpare, decimal? weight, decimal? cd, decimal? kd, decimal? gd, int IsQS)
{
PagesNew.Login(this.Session);
var obj = new DD_OrderData();
if (CompanyId == 0)
CompanyId = Convert.ToInt32(Session["CompanyId"]);
var companymd = new JC_PostAddress();
var obj1 = new JC_ExpressService();
var obj11 = new BaseService();
companymd = obj11.GetAddressModel2(PostId);
string ErrorInfo = "";
string PostCode = "";
var obj2 = new BaseService();
var md = DataNew.GetExpressModel(CompanyId, PostId);
//var orderlist = obj.GetOrderModelList(OrderIds.Trim(','));
var orderlist = DataNew.GetOrderModelList(OrderIds.Trim(','));
var orderGoodslist = DataNew.GetOrderGoodsList2(OrderIds.Trim(','));
if (orderlist == null || orderGoodslist == null || md == null)
return "";
foreach (var ordermd in orderlist)
{
if ((ordermd.RevPhone == null || ordermd.RevPhone == "") && (ordermd.RevPhone == null || ordermd.RevPhone == ""))
ErrorInfo += ordermd.PlatOrderCode + "收件人电话没填";
if (ordermd.RevPostCode == null || ordermd.RevPostCode == "")
ErrorInfo += ordermd.PlatOrderCode + "收件人邮编没填";
if (ordermd.RevProvince == null || ordermd.RevProvince == "")
ErrorInfo += ordermd.PlatOrderCode + "州没填";
}
if (ErrorInfo != "")
{
return ErrorInfo;
}
var plist = new List();
foreach (var ordermd in orderlist)
{
var goodslist = orderGoodslist.FindAll(n => n.OrderId == ordermd.OrderId);
if (md.Name.Contains("Fedex") && md.customercode != null && md.customercode != "")
{
FedexSmartPostNew2 fedexobj = new FedexSmartPostNew2();
FedexSmartPostNew2.Key = md.UserCode;
FedexSmartPostNew2.Password = md.CheckCode;
FedexSmartPostNew2.AccountNumber = md.client_id;
FedexSmartPostNew2.MeterNumber = md.client_secret;
FedexSmartPostNew2.PayAccountNumber = md.refresh_token;
FedexSmartPostNew2.HubId = md.Code;
FedexSmartPostNew2.PostName = md.customercode;
if (IsQS == 1)
FedexSmartPostNew2.IsQM = 1;
else
FedexSmartPostNew2.IsQM = 0;
FedexOrder fdorder = new FedexOrder();
string SendName = companymd.SendName;
string PersonName = companymd.SendEnglishName;
if (goodslist != null && goodslist[0].SendName != null && goodslist[0].SendName != "")
{
SendName = goodslist[0].SendName;
PersonName = goodslist[0].SendName;
}
Shiper shiper = new Shiper
{
City = companymd.city,
CompanyName = SendName,
PersonName = PersonName,
PhoneNumber = companymd.Phone,
PostalCode = companymd.PostCode,
StateOrProvinceCode = companymd.provincecode,
StreetLines = companymd.EnglishAddress,
CountryCode = companymd.countycode
};
fdorder.Shiper = shiper;
Random rd = new Random();
if (IsSpare == 1)
fdorder.CustomerTransactionId = ordermd.PlatOrderCode + rd.Next(100, 999);
else
fdorder.CustomerTransactionId = ordermd.PlatOrderCode;
fdorder.PostId = new int?(PostId);
string Phone = ordermd.RevMoblie;
if (ordermd.RevPhone != null && ordermd.RevPhone != "")
Phone = ordermd.RevPhone;
Rever rever = new Rever
{
City = ordermd.RevCity,
CompanyName = ordermd.RevName,
PersonName = ordermd.RevName,
PhoneNumber = Phone,
CountryCode = ordermd.CountryCode,
PostalCode = ordermd.RevPostCode
};
if ((ordermd.RevProvince == null) || (ordermd.RevProvince == ""))
{
rever.StateOrProvinceCode = ordermd.RevCity;
}
else
{
rever.StateOrProvinceCode = ordermd.RevProvince;
}
if (ordermd.PlatId == 22) //TikTok的申请快递面单的详细地址过长,需要减去国家,省,市等,否则面单显示不下
{
rever.StreetLines = string.IsNullOrEmpty(ordermd.RevAddr) ? "" : (ordermd.RevAddr.Split(',').Last());
}
else
rever.StreetLines = ordermd.RevAddr;
rever.CountryCode = ordermd.CountryCode;
fdorder.Rever = rever;
List fedlist = new List();
string gsku = "";
int gnum = 0;
decimal ww = 0;
decimal c = 0;
decimal k = 0;
decimal g = 0;
if (SKU != "")
{
gsku += SKU + " ";
ww = weight.Value * Convert.ToDecimal(0.0625);
c = cd.Value;
k = kd.Value;
g = gd.Value;
gnum = Num;
}
else
{
foreach (var gmd in goodslist)
{
if (gmd.GoodsSKU != null && gmd.GoodsSKU != "")
gsku += gmd.GoodsNum.Value + "x" + gmd.GoodsSKU + " ";
gnum += gmd.GoodsNum.Value;
if (gmd.Weight2 != null)
ww += gmd.GoodsNum.Value * gmd.Weight2.Value * Convert.ToDecimal(0.0625);
else if (gmd.Weight != null)
ww += gmd.GoodsNum.Value * gmd.Weight.Value * Convert.ToDecimal(0.0022046);
if (gmd.Long2 != null)
c += gmd.Long2.Value;
else if (gmd.Long != null)
c += gmd.Long.Value * Convert.ToDecimal(0.3937008);
if (gmd.Width2 != null)
k += gmd.Width2.Value;
else if (gmd.Width != null)
k += gmd.Width.Value * Convert.ToDecimal(0.3937008);
if (gmd.Height2 != null)
g += gmd.Height2.Value;
else if (gmd.Height != null)
g += gmd.Height.Value * Convert.ToDecimal(0.3937008);
}
}
FedexGoods fgmd = new FedexGoods
{
Amount = 10.000M,
SKU = gsku,
Description = gsku,
NumberOfPieces = gnum.ToString(),
Weight = ww,
Height = Math.Ceiling(g).ToString(),
Lenght = Math.Ceiling(c).ToString(),
Width = Math.Ceiling(k).ToString(),
Quantity = gnum
};
fedlist.Add(fgmd);
fdorder.GoodsList = fedlist;
string error = "";
var fmd = fedexobj.GetFedex(fdorder, out error);
if (fmd != null && fmd.CustomerTransactionId != null&&fdorder.CustomerTransactionId==fmd.CustomerTransactionId)
PostCode = fmd.PostCode;
else if (fmd != null && fmd.CustomerTransactionId != null)
{
PostCode = "";
error = "获取失败,重新获取";
}
if (error != "")
ErrorInfo += ordermd.PlatOrderCode + ":" + error;
else if (PostCode != null && PostCode != "" && !PostCode.Contains("失败"))
{
DT_TrackCodeApplyNew Model = new DT_TrackCodeApplyNew();
if (PostCode.Contains(','))
{
string[] tracklist = PostCode.Split(',');
if (tracklist.Length > 1)
{
Model.TrackCode = tracklist[0].ToString();
Model.TrackCode2 = tracklist[1].ToString();
}
}
else
{
Model.TrackCode = PostCode;
}
Model.GetDate = DateTime.Now;
Model.InName = Session["Name"].ToString();
if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "")
Model.OrderCode = ordermd.JoinOrderCode;
else
Model.OrderCode = ordermd.PlatOrderCode;
Model.OrderCode2 = fdorder.CustomerTransactionId;
Model.SKU = gsku;
Model.Weight2 = ww.ToString("0.00");
Model.Long = Math.Ceiling(c).ToString();
Model.Height = Math.Ceiling(g).ToString();
Model.Width = Math.Ceiling(k).ToString();
Model.OrderId = ordermd.OrderId;
Model.PostId = PostId;
Model.State = 1;
Model.TrackType = 1;
Model.UpdateTime = DateTime.Now;
Model.IsSpare = 0;
Model.LabelUrl = PostCode + ".png";
Model.JoinOrderCode = ordermd.JoinOrderCode;
plist.Add(Model);
}
}
else if (md.Name.Contains("UPS"))
{
UpsShip fedexobj = new UpsShip();
UpsShip.AccessLicenseNumber = md.client_id;
UpsShip.Username = md.UserCode;
UpsShip.Password = md.CheckCode;
UpsShip.ShipperNumber = md.Code;
UPSOrder fdorder = new UPSOrder();
fdorder.shipservicecode = md.customercode;
fdorder.packType = "02";
Shiper shiper = new Shiper
{
City = companymd.city,
CompanyName = companymd.SendName,
PersonName = companymd.SendEnglishName,
PhoneNumber = companymd.Phone,
PostalCode = companymd.PostCode,
StateOrProvinceCode = companymd.provincecode,
StreetLines = companymd.EnglishAddress,
CountryCode = companymd.countycode
};
fdorder.Shiper = shiper;
Random rd = new Random();
if (IsSpare == 1)
fdorder.CustomerTransactionId = ordermd.PlatOrderCode + rd.Next(100, 999);
else
fdorder.CustomerTransactionId = ordermd.PlatOrderCode;
fdorder.PostId = new int?(PostId);
string Phone = ordermd.RevMoblie;
if (ordermd.RevPhone != null && ordermd.RevPhone != "")
Phone = ordermd.RevPhone;
Rever rever = new Rever
{
City = ordermd.RevCity,
CompanyName = ordermd.RevName,
PersonName = ordermd.RevName,
PhoneNumber = Phone,
PostalCode = ordermd.RevPostCode
};
if ((ordermd.RevProvince == null) || (ordermd.RevProvince == ""))
{
rever.StateOrProvinceCode = ordermd.RevCity;
}
else
{
rever.StateOrProvinceCode = ordermd.RevProvince;
}
rever.StreetLines = ordermd.RevAddr;
rever.CountryCode = ordermd.CountryCode;
fdorder.Rever = rever;
List upslist = new List();
string gsku = "";
int gnum = 0;
decimal ww = 0;
decimal c = 0;
decimal k = 0;
decimal g = 0;
if (SKU != "")
{
gsku += SKU + " ";
ww = weight.Value * Convert.ToDecimal(0.0625);
c = cd.Value;
k = kd.Value;
g = gd.Value;
gnum = Num;
}
else
{
foreach (var gmd in goodslist)
{
if (gmd.GoodsSKU != null && gmd.GoodsSKU != "")
gsku += gmd.GoodsNum.Value + "x" + gmd.GoodsSKU + " ";
gnum += gmd.GoodsNum.Value;
if (gmd.Weight2 != null)
ww += gmd.GoodsNum.Value * gmd.Weight2.Value * Convert.ToDecimal(0.0625);
else if (gmd.Weight != null)
ww += gmd.GoodsNum.Value * gmd.Weight.Value * Convert.ToDecimal(0.0022046);
if (gmd.Long2 != null)
c += gmd.Long2.Value;
else if (gmd.Long != null)
c += gmd.Long.Value * Convert.ToDecimal(0.3937008);
if (gmd.Width2 != null)
k += gmd.Width2.Value;
else if (gmd.Width != null)
k += gmd.Width.Value * Convert.ToDecimal(0.3937008);
if (gmd.Height2 != null)
g += gmd.Height2.Value;
else if (gmd.Height != null)
g += gmd.Height.Value * Convert.ToDecimal(0.3937008);
}
}
UpsGoods fgmd = new UpsGoods
{
Amount = 10.000M,
SKU = gsku,
Description = gsku,
NumberOfPieces = gnum.ToString(),
Weight = ww,
Height = Math.Ceiling(g).ToString(),
Lenght = Math.Ceiling(c).ToString(),
Width = Math.Ceiling(k).ToString(),
Quantity = gnum
};
upslist.Add(fgmd);
fdorder.GoodsList = upslist;
string error = "";
UpsShip upsobj = new UpsShip();
string LabelUrl = "";
string tcode = upsobj.GetTrackCodeNew(fdorder, out error);
if (error != "")
{
ErrorInfo += ordermd.PlatOrderCode + ":" + error;
}
else if (tcode == "")
{
PostCode = "";
error = "获取失败,重新获取";
}
else
{
PostCode = tcode;
UpsLabel objlb = new UpsLabel();
UpsLabel.AccessLicenseNumber = md.client_id;
UpsLabel.Username = md.UserCode;
UpsLabel.Password = md.CheckCode;
UpsLabel.ShipperNumber = md.Code;
//string lberror = "";
//objlb.GetLabel(PostCode, out lberror);
//if (lberror == "")
//{
// LabelUrl = PostCode + ".png";
//}
LabelUrl = PostCode + ".png";
}
if (PostCode != null && PostCode != "" && !PostCode.Contains("失败"))
{
DT_TrackCodeApplyNew Model = new DT_TrackCodeApplyNew();
if (PostCode.Contains(','))
{
string[] tracklist = PostCode.Split(',');
if (tracklist.Length > 1)
{
Model.TrackCode = tracklist[0].ToString();
Model.TrackCode2 = tracklist[1].ToString();
}
}
else
{
Model.TrackCode = PostCode;
}
Model.GetDate = DateTime.Now;
Model.InName = Session["Name"].ToString();
if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "")
Model.OrderCode = ordermd.JoinOrderCode;
else
Model.OrderCode = ordermd.PlatOrderCode;
Model.OrderCode2 = fdorder.CustomerTransactionId;
Model.SKU = gsku;
Model.Weight2 = ww.ToString("0.00");
Model.Long = Math.Ceiling(c).ToString();
Model.Height = Math.Ceiling(g).ToString();
Model.Width = Math.Ceiling(k).ToString();
Model.OrderId = ordermd.OrderId;
Model.PostId = PostId;
Model.State = 1;
Model.TrackType = 1;
Model.UpdateTime = DateTime.Now;
Model.IsSpare = 0;
Model.LabelUrl = LabelUrl;// PostCode + ".png";
Model.JoinOrderCode = ordermd.JoinOrderCode;
plist.Add(Model);
}
}
}
if (plist != null && plist.Count > 0)
{
foreach (var pmd in plist)
{
if (pmd.TrackCode != null)
{
if (pmd.TrackCode != "")
DataNew.SaveTrackCodeApply(pmd);
}
}
}
if (ErrorInfo == "")
return "";
else
return ErrorInfo + ";";
}
#endregion
#region 返回订单Model
[WebMethod(EnableSession = true)]
public DT_OrderModel GetOrderModelNew(int OrderId)
{
PagesNew.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var md = obj.GetOrderModel(OrderId);
if (md == null)
return null;
if (md.IsSpare == 1)
{
string TrackCodes = "";
var splist = obj.GetOrderSpareList(OrderId);
if (splist != null)
{
for (int i = 0; i < splist.Count; i++)
{
TrackCodes += splist[i].TrackCode.ToString() + ",";
}
}
md.TrackCode = TrackCodes.Trim(',');
}
return md;
}
#endregion
#region 获取物流sku
[WebMethod(EnableSession = true)]
public DT_TrackCodeApplyNew GetOrderFedexSKU(string OrderIds)
{
PagesNew.Login(this.Session);
var obj = new DD_OrderData();
var orderGoodslist = DataNew.GetOrderGoodsList2(OrderIds.Trim(','));
if (orderGoodslist == null)
return null;
string gsku = "";
int gnum = 0;
decimal ww = 0;
decimal c = 0;
decimal k = 0;
decimal g = 0;
foreach (var gmd in orderGoodslist)
{
if (gmd.GoodsSKU != null && gmd.GoodsSKU != "")
gsku += gmd.GoodsNum.Value + "x" + gmd.GoodsSKU + " ";
gnum += gmd.GoodsNum.Value;
if (gmd.Weight2 != null)
ww += gmd.GoodsNum.Value * gmd.Weight2.Value;
else if (gmd.Weight != null)
ww += gmd.GoodsNum.Value * gmd.Weight.Value * Convert.ToDecimal(0.035274);
decimal c2 = 0;
decimal k2 = 0;
decimal g2 = 0;
if (gmd.Long2 != null)
c2 = gmd.Long2.Value;
// else if (gmd.Long != null)
// c2 = gmd.Long.Value * Convert.ToDecimal(0.3937008);
if (gmd.Width2 != null)
k2 = gmd.Width2.Value;
// else if (gmd.Width != null)
// k2 = gmd.Width.Value * Convert.ToDecimal(0.3937008);
if (gmd.Height2 != null)
g2 = gmd.Height2.Value;
// else if (gmd.Height != null)
// g2 = gmd.Height.Value * Convert.ToDecimal(0.3937008);
if (c2 > c)
c = c2;
if (k2 > k)
k = k2;
if (g2 > g)
g = g2;
}
DT_TrackCodeApplyNew Model = new DT_TrackCodeApplyNew();
Model.SKU = gsku;
if (ww > 0)
Model.Weight2 = ww.ToString("0.00");
if (c > 0)
Model.Long = Math.Ceiling(c).ToString();
if (g > 0)
Model.Height = Math.Ceiling(g).ToString();
if (k > 0)
Model.Width = Math.Ceiling(k).ToString();
return Model;
}
#endregion
#region 获取物流sku
[WebMethod(EnableSession = true)]
public List GetOrderFedexSKU2(int OrderId)
{
PagesNew.Login(this.Session);
var obj = new DD_OrderData();
var olist = DataNew.GetListSpareFee(OrderId);
if (olist != null && olist.Count > 0)
return olist;
var orderGoodslist = DataNew.GetOrderGoodsList3(OrderId);
if (orderGoodslist == null)
return null;
List list = new List();
foreach (var gmd in orderGoodslist)
{
if (gmd.GoodsNum > 0)
{
for (int i = 0; i < gmd.GoodsNum; i++)
{
DT_SpareFee Model = new DT_SpareFee();
Model.Sku = gmd.GoodsSKU;
decimal ww = 0;
decimal c = 0;
decimal k = 0;
decimal g = 0;
if (gmd.Weight2 != null)
ww = gmd.Weight2.Value;
else if (gmd.Weight != null)
ww = gmd.Weight.Value * Convert.ToDecimal(0.035274);
Model.Weight = ww.ToString("0.00");
if (gmd.Long2 != null)
c = gmd.Long2.Value;
// else if (gmd.Long != null)
// c = gmd.Long.Value * Convert.ToDecimal(0.3937008);
if (gmd.Width2 != null)
k = gmd.Width2.Value;
// else if (gmd.Width != null)
// k = gmd.Width.Value * Convert.ToDecimal(0.3937008);
if (gmd.Height2 != null)
g = gmd.Height2.Value;
// else if (gmd.Height != null)
// g = gmd.Height.Value * Convert.ToDecimal(0.3937008);
if (c > 0)
Model.Long = Math.Ceiling(c).ToString();
if (g > 0)
Model.Height = Math.Ceiling(g).ToString();
if (k > 0)
Model.Width = Math.Ceiling(k).ToString();
list.Add(Model);
}
}
}
return list;
}
#endregion
#region 获取物流sku
[WebMethod(EnableSession = true)]
public List GetOrderFedexSKU3(int OrderId)
{
PagesNew.Login(this.Session);
var obj = new DD_OrderData();
var olist = DataNew.GetListSpareFee(OrderId);
return olist;
}
#endregion
#region 查询订单跟踪码
[WebMethod(EnableSession = true)]
public List GetOrderTrackCodeList(int OrderId, string JoinOrderCode)
{
PagesNew.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var list = DataNew.GetOrderTrackCodeNew(OrderId, JoinOrderCode);
if (list != null)
{
foreach (var md in list)
{
md.SKUstr = md.SKU;
string sku = "";
sku += md.SKU;
if (md.Weight2 != null)
sku += md.Weight2 + "磅";
if (md.Long != null)
sku += "长:" + md.Long + "in";
if (md.Width != null)
sku += "宽:" + md.Width + "in";
if (md.Height != null)
sku += "高:" + md.Height + "in";
md.SKU = sku;
}
}
return list;
}
#endregion
#region 查询物流订单
[WebMethod(EnableSession = true)]
public JsonModel> GetListOrderExpressForTM(int SortId, int DeptId, int PlatType, int TrackState, int MateState, int ShopId, int DateType, DateTime? SDate, DateTime? EDate, int OutDays, int TjType, string Name, int ExpressState, int IsSku, int IsError, int IsDetail, int HBOrder, int PostId, int LogisticsId, int Addr, int PageIndex, int PageSize, string Sort, int GoodsNum)
{
PagesNew.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
RefParameterCollection Param = new RefParameterCollection();
if (DeptId > 0)
Param.Add("c.DeptId", "=", DeptId, DbType.Int32);
Param.Add("a.CompanyId", "=", CompanyId, DbType.Int32);
if (MateState > -1)
Param.Add("a.MateState", "=", MateState, DbType.Int32);
if (GoodsNum == 1)
Param.Add("a.GoodsNum", "=", 1, DbType.Int32);
int IsTrack = TrackState;
//if (ExpressState>-1)
Param.Add("isnull(a.PrintState,0)", "=", 0, DbType.Int32);
if (PlatType > 0)
Param.Add("a.PlatId", "=", PlatType, DbType.Int32);
if (ShopId > 0)
Param.Add("a.ShopId", "=", ShopId, DbType.Int32);
if (DateType == 1)
{
if (SDate != null)
Param.Add("a.OrderDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.OrderDate", "<", EDate.Value.AddDays(1), DbType.DateTime);
}
else
if (DateType == 2)
{
if (SDate != null)
Param.Add("a.InDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.InDate", "<", EDate.Value.AddDays(1), DbType.DateTime);
}
else
if (DateType == 3)
{
if (SDate != null)
Param.Add("a.PrintDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PrintDate", "<", EDate.Value.AddDays(1), DbType.DateTime);
}
else
if (DateType == 4)
{
if (SDate != null)
Param.Add("a.PostDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate", "<", EDate.Value.AddDays(1), DbType.DateTime);
}
else
if (DateType == 5)
{
if (SDate != null)
Param.Add("a.OrderOutDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.OrderOutDate", "<", EDate.Value.AddDays(1), DbType.DateTime);
}
if (OutDays > 0)
{
Param.Add("a.OrderOutDate", "<=", DateTime.Now.AddHours(OutDays), DbType.DateTime);
Param.Add("a.OrderOutDate", ">=", DateTime.Now, DbType.DateTime);
}
if (LogisticsId > 0)
Param.Add("b.LogisticsId", "=", LogisticsId, DbType.String);
if (ExpressState == 0)
{
Param.Add("isnull(b.Post,0)", "=", 0, DbType.Int32);
}
else if (ExpressState == 2)
{
Param.Add("b.Post", ">", 0, DbType.Int32);
Param.Add("isnull(b.TrackState,0)", "=", 0, DbType.Int32);
}
else
if (ExpressState == 1)
{
Param.Add("b.Post", ">", 0, DbType.Int32);
Param.Add("b.TrackState", ">", 0, DbType.Int32);
}
if (PostId > 0)
Param.Add("b.Post", "=", PostId, DbType.Int32);
Param.Add("a.State", "=", 1, DbType.Int32);
if (HBOrder == 1)
Param.Add("a.IsJoin", "=", 1, DbType.Int32);
if (IsError == 1)
{
Param.Add("(b.SendAddr", ">", 0, DbType.Int32);
Param.Add("b.IsLeaveWord", "=", 1, "or", ")", DbType.Int32);
}
string TCode = "";
if (Name != "")
{
if (TjType == 1)
{
Param.Add("(a.PlatOrderCode", "=", Name, DbType.String);
Param.Add("a.JoinOrderCode", "=", Name, "or", ")", DbType.String);
}
else if (TjType == 2)
{
Param.Add("b.RevName", "like", Name, DbType.String);
}
else if (TjType == 3)
{
Param.Add("b.RevPhone", "like", Name, DbType.String);
}
else if (TjType == 4)
{
Param.Add("(b.RevCountry", "=", Name, DbType.String);
Param.Add("b.CountryName", "=", Name, "or", DbType.String);
Param.Add("b.CountryCode", "=", Name, "or", ")", DbType.String);
}
else if (TjType == 5)
{
Param.Add("b.RevPostCode", "=", Name, DbType.String);
}
else if (TjType == 6)
{
Param.Add("(b.RevAddr", "like", Name, DbType.String);
Param.Add("b.RevProvince", "like", Name, "or", DbType.String);
Param.Add("b.RevCity", "like", Name, "or", DbType.String);
Param.Add("b.RevArea", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 9)
{
Param.Add("(b.ErrorInfo", "like", Name, DbType.String);
Param.Add("b.PostError", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 10)
{
// Param.Add("dbo.getOrderTrackCode(a.OrderId,1)", "like", Name, DbType.String);
TCode = Name;
}
}
if (IsSku == 0)
Param.Add("a.FPDate", "is", null, DbType.String);
else if (IsSku == 1)
Param.Add("a.FPDate", "is not", null, DbType.String);
//if (Addr > -1)
//{
// Param.Add("b.SendAddr", "=", Addr, DbType.Int32);
//}
// Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel> resultModel = new JsonModel>();
int RowCount = 0;
//var pxlist = obj.GetLevelConfig(CompanyId, 0);
// string Sort = "JoinOrderCode,PlatOrderCode";
//if (pxlist != null)
//{
// Sort = "";
// foreach (var md in pxlist)
// {
// if (md.SortType == 1)
// Sort += "a.OrderLevel desc,";
// else if (md.SortType == 2)
// Sort += "a.OrderDate,";
// else if (md.SortType == 3)
// Sort += "c.LevelGrade desc,";
// else if (md.SortType == 4)
// Sort += "a.RMBPrice desc,";
// }
//}
//Sort = Sort.Trim(',');
string GoodsName = "";
string SKU = "";
if (TjType == 7 && Name != "")
{
GoodsName = Name;
}
else
if (TjType == 8 && Name != "")
{
SKU = Name;
}
if (ExpressState == -1)
resultModel.DataSource = obj.GetListDT_OrderInfoExpressForTM(SortId, IsTrack, TCode, GoodsName, SKU, IsSku, Param, PageIndex, PageSize, Sort, out RowCount);
else
resultModel.DataSource = obj.GetListDT_OrderInfoExpressForTM2(SortId, IsTrack, TCode, GoodsName, SKU, IsSku, Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
string Ids = "";
if (resultModel.DataSource != null)
{
foreach (var md in resultModel.DataSource)
{
Ids += md.OrderId.ToString() + ",";
}
}
if (Ids != "")
{
JC_ExpressService obj3 = new JC_ExpressService();
var elist = obj3.GetExpressTypeList();
var plist = obj3.GetExpressList();
var errorlist = obj.GetErrorList(Ids.Trim(','));
if (errorlist != null || elist != null || plist != null)
{
foreach (var md in resultModel.DataSource)
{
if (errorlist != null && errorlist.Count > 0)
{
var emd = errorlist.Find(n => n.OrderId == md.OrderId);
if (emd != null)
{
md.ErrorInfo = emd.ErrorInfo;
}
}
//if (md.LogisticsId>0&&elist != null && elist.Count > 0)
//{
// var emd = elist.Find(n => n.LogisticsId == md.LogisticsId);
// if (emd != null)
// {
// md.PostInfo = emd.LogisticsName;
// }
//}
if (md.Post > 0 && plist != null && plist.Count > 0)
{
var emd = plist.Find(n => n.ExpressID == md.Post);
if (emd != null)
{
md.LocalPost = emd.Name;
}
}
}
}
}
if (resultModel.DataSource != null)
{
if (Ids != "")
{
if (IsDetail == 1)
{
var list1 = obj.GetOrderGoodsList(Ids.Trim(','));
if (list1 != null)
{
foreach (var md in resultModel.DataSource)
{
var list2 = list1.FindAll(n => n.OrderId == md.OrderId);
if (list2 != null)
{
md.GoodsList = list2;
}
}
}
}
var listTrack = obj.GetTrackCodeApplyList(Ids.Trim(','));
if (listTrack != null)
{
foreach (var md in resultModel.DataSource)
{
List list3 = new List();
if (md.JoinOrderCode != null && md.JoinOrderCode != "")
{
list3 = listTrack.FindAll(n => n.OrderCode == md.JoinOrderCode);
}
else
list3 = listTrack.FindAll(n => n.OrderId == md.OrderId);
if (list3 != null && list3.Count > 0)
{
string trackinfo = "";
string blank = "";
string trackinfo1 = "";
foreach (var md1 in list3)
{
if (md1.TrackType == 3)
blank = "[空包裹]";
if (md1.Weight != null)
trackinfo += md1.TrackCode + blank + "重量" + md1.Weight.ToString() + "g;
";
else
trackinfo += md1.TrackCode + blank + "
";
trackinfo1 = md1.TrackCode + blank + "
";
}
md.TrackInfo = trackinfo;
md.TrackCode = trackinfo1;
}
}
}
}
}
return resultModel;
}
#endregion
[WebMethod(EnableSession = true)]
public string GetFedexLabelNew2(string OrderIds, int PostId, int CompanyId)
{
PagesNew.Login(base.Session);
OrderPrintData data = new OrderPrintData();
List source = null;
var obj = new DD_OrderData();
if (source == null)
{
source = DataNew.GetOrderPrintListForFedex(OrderIds.TrimEnd(','), 0);
}
if (source == null || source.Count == 0)
{
return "";
}
BaseService obj2 = new BaseService();
var expressmd = DataNew.GetExpressModel2(PostId, CompanyId);
JC_ExpressService service = new JC_ExpressService();
DataTable table = new DataTable();
table.Columns.Add("SKU");
table.Columns.Add("OrderCode");
table.Columns.Add("SKU3");
table.Columns.Add("Photo3");
table.Columns.Add("SKU2");
table.Columns.Add("Photo2");
table.Columns.Add("SKU4");
table.Columns.Add("Photo4");
table.Columns.Add("SKU5");
table.Columns.Add("Photo5");
table.Columns.Add("Photo0");
string str2 = "";
string wordTemplatePath = "";
foreach (var order2 in source)
{
wordTemplatePath = expressmd.PrintTemplateName;
DataRow row = table.NewRow();
row["Photo0"] = AppDomain.CurrentDomain.BaseDirectory + "attached/fedex/" + order2.TrackCode.ToString() + ".png";
row["OrderCode"] = order2.OrderCode;
row["SKU"] = "";
if (order2.GoodsList != null && order2.GoodsList.Count > 0 && order2.GoodsList[0].GoodsUrl != null && order2.GoodsList[0].GoodsUrl != "")
{
row["Photo2"] = AppDomain.CurrentDomain.BaseDirectory + order2.GoodsList[0].GoodsUrl.Replace("../", "");
}
//if ((order2.GoodsList != null && order2.GoodsList.Count > 0))
//{
// row["SKU2"] = order2.GoodsList[0].SKU1 + " " + order2.GoodsList[0].GoodsName + order2.GoodsList[0].GoodsCode + " " + order2.GoodsList[0].TypeDesc + "[Number]:" + order2.GoodsList[0].GoodsNum + " [Storage Location]:" + order2.GoodsList[0].PostionDesc;
//}
string SKU2 = "";
if (order2.GoodsList != null)
{
foreach (var ggmd in order2.GoodsList)
{
SKU2 = ggmd.GoodsNum.ToString() + "x" + ggmd.SKU1 + " ";
}
}
row["SKU2"] = SKU2;
if (order2.GoodsList != null && order2.GoodsList.Count > 1 && order2.GoodsList[1].GoodsUrl != null && order2.GoodsList[1].GoodsUrl != "")
{
row["Photo3"] = AppDomain.CurrentDomain.BaseDirectory + order2.GoodsList[1].GoodsUrl.Replace("../", "");
}
if (order2.GoodsList != null && order2.GoodsList.Count > 1)
{
row["SKU3"] = order2.GoodsList[1].SKU1 + " " + order2.GoodsList[1].GoodsName + order2.GoodsList[1].GoodsCode + " " + order2.GoodsList[1].TypeDesc + "[Number]:" + order2.GoodsList[1].GoodsNum + " [Storage Location]:" + order2.GoodsList[1].PostionDesc;
}
if (order2.GoodsList != null && order2.GoodsList.Count > 2 && order2.GoodsList[2].GoodsUrl != null && order2.GoodsList[2].GoodsUrl != "")
{
row["Photo4"] = AppDomain.CurrentDomain.BaseDirectory + order2.GoodsList[2].GoodsUrl.Replace("../", "");
}
if ((order2.GoodsList != null && order2.GoodsList.Count > 2))
{
row["SKU4"] = order2.GoodsList[2].SKU1 + " " + order2.GoodsList[2].GoodsName + order2.GoodsList[2].GoodsCode + " " + order2.GoodsList[2].TypeDesc + "[Number]:" + order2.GoodsList[2].GoodsNum + " [Storage Location]:" + order2.GoodsList[2].PostionDesc;
}
if (order2.GoodsList != null && order2.GoodsList.Count > 3 && order2.GoodsList[3].GoodsUrl != null && order2.GoodsList[3].GoodsUrl != "")
{
row["Photo4"] = AppDomain.CurrentDomain.BaseDirectory + order2.GoodsList[3].GoodsUrl.Replace("../", "");
}
if ((order2.GoodsList != null && order2.GoodsList.Count > 3))
{
row["SKU4"] = order2.GoodsList[3].SKU1 + " " + order2.GoodsList[3].GoodsName + order2.GoodsList[3].GoodsCode + " " + order2.GoodsList[3].TypeDesc + "[Number]:" + order2.GoodsList[3].GoodsNum + " [Storage Location]:" + order2.GoodsList[3].PostionDesc;
}
if (order2.GoodsList.Count > 4)
{
for (int i = 4; i < order2.GoodsList.Count; i++)
{
row["SKU"] += order2.GoodsList[i].SKU1 + "[Number]:" + order2.GoodsList[i].GoodsNum + " [Storage Location]:" + order2.GoodsList[i].PostionDesc + ";";
}
}
table.Rows.Add(row);
}
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("SKU", "SKU", DbType.String, "");
listColumns.Add("OrderCode", "OrderCode", DbType.String, "");
listColumns.Add("Photo2", "Photo2", DbType.Object, "40*40");
listColumns.Add("SKU3", "SKU3", DbType.String, "");
listColumns.Add("Photo3", "Photo3", DbType.Object, "40*40");
listColumns.Add("SKU4", "SKU4", DbType.String, "");
listColumns.Add("Photo4", "Photo4", DbType.Object, "40*40");
listColumns.Add("SKU5", "SKU5", DbType.String, "");
listColumns.Add("Photo5", "Photo5", DbType.Object, "40*40");
listColumns.Add("Photo0", "Photo0", DbType.Object, "265*390");
listColumns.Add("SKU2", "SKU2", DbType.String, "");
MicrosoftWord word = new MicrosoftWord();
if (wordTemplatePath != null)
{
str2 = word.Export(wordTemplatePath, table, listColumns, ".pdf");
}
return str2;
}
[WebMethod(EnableSession = true)]
public string GetFedexLabelNew(string OrderIds, int PostId)
{
PagesNew.Login(base.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
OrderPrintData data = new OrderPrintData();
List source = null;
var obj = new DD_OrderData();
if (source == null)
{
source = DataNew.GetOrderPrintListForFedex(OrderIds.TrimEnd(','), 0);
}
if (source == null || source.Count == 0)
{
return "";
}
string[] oids = OrderIds.TrimEnd(',').Split(',');
List source2 = new List();
for (int i = 0; i < oids.Length; i++)
{
var omdlist = source.FindAll(n => n.OrderId == Convert.ToInt32(oids[i]));
if (omdlist != null)
{
foreach (var omd in omdlist)
{
source2.Add(omd);
}
}
}
BaseService obj2 = new BaseService();
var expressmd = DataNew.GetExpressModel2(PostId, CompanyId);
JC_ExpressService service = new JC_ExpressService();
DataTable table = new DataTable();
table.Columns.Add("SKU");
table.Columns.Add("OrderCode");
table.Columns.Add("SKU3");
table.Columns.Add("Photo3");
table.Columns.Add("SKU2");
table.Columns.Add("Photo2");
table.Columns.Add("SKU4");
table.Columns.Add("Photo4");
table.Columns.Add("SKU5");
table.Columns.Add("Photo5");
table.Columns.Add("Photo0");
string str2 = "";
string wordTemplatePath = "";
foreach (var order2 in source2)
{
wordTemplatePath = expressmd.PrintTemplateName;
DataRow row = table.NewRow();
row["Photo0"] = AppDomain.CurrentDomain.BaseDirectory + "attached/fedex/" + order2.TrackCode.ToString() + ".png";
row["OrderCode"] = order2.OrderCode;
row["SKU"] = "";
if (order2.GoodsList != null && order2.GoodsList.Count > 0 && order2.GoodsList[0].GoodsUrl != null && order2.GoodsList[0].GoodsUrl != "")
{
row["Photo2"] = AppDomain.CurrentDomain.BaseDirectory + order2.GoodsList[0].GoodsUrl.Replace("../", "");
}
//if ((order2.GoodsList != null && order2.GoodsList.Count > 0))
//{
// row["SKU2"] = order2.GoodsList[0].SKU1 + " " + order2.GoodsList[0].GoodsName + order2.GoodsList[0].GoodsCode + " " + order2.GoodsList[0].TypeDesc + "[Number]:" + order2.GoodsList[0].GoodsNum + " [Storage Location]:" + order2.GoodsList[0].PostionDesc;
//}
string SKU2 = "";
if (order2.GoodsList != null)
{
foreach (var ggmd in order2.GoodsList)
{
SKU2 = ggmd.GoodsNum.ToString() + "x" + ggmd.SKU1 + " ";
}
}
row["SKU2"] = SKU2;
if (order2.GoodsList != null && order2.GoodsList.Count > 1 && order2.GoodsList[1].GoodsUrl != null && order2.GoodsList[1].GoodsUrl != "")
{
row["Photo3"] = AppDomain.CurrentDomain.BaseDirectory + order2.GoodsList[1].GoodsUrl.Replace("../", "");
}
if (order2.GoodsList != null && order2.GoodsList.Count > 1)
{
row["SKU3"] = order2.GoodsList[1].SKU1 + " " + order2.GoodsList[1].GoodsName + order2.GoodsList[1].GoodsCode + " " + order2.GoodsList[1].TypeDesc + "[Number]:" + order2.GoodsList[1].GoodsNum + " [Storage Location]:" + order2.GoodsList[1].PostionDesc;
}
if (order2.GoodsList != null && order2.GoodsList.Count > 2 && order2.GoodsList[2].GoodsUrl != null && order2.GoodsList[2].GoodsUrl != "")
{
row["Photo4"] = AppDomain.CurrentDomain.BaseDirectory + order2.GoodsList[2].GoodsUrl.Replace("../", "");
}
if ((order2.GoodsList != null && order2.GoodsList.Count > 2))
{
row["SKU4"] = order2.GoodsList[2].SKU1 + " " + order2.GoodsList[2].GoodsName + order2.GoodsList[2].GoodsCode + " " + order2.GoodsList[2].TypeDesc + "[Number]:" + order2.GoodsList[2].GoodsNum + " [Storage Location]:" + order2.GoodsList[2].PostionDesc;
}
if (order2.GoodsList != null && order2.GoodsList.Count > 3 && order2.GoodsList[3].GoodsUrl != null && order2.GoodsList[3].GoodsUrl != "")
{
row["Photo4"] = AppDomain.CurrentDomain.BaseDirectory + order2.GoodsList[3].GoodsUrl.Replace("../", "");
}
if ((order2.GoodsList != null && order2.GoodsList.Count > 3))
{
row["SKU4"] = order2.GoodsList[3].SKU1 + " " + order2.GoodsList[3].GoodsName + order2.GoodsList[3].GoodsCode + " " + order2.GoodsList[3].TypeDesc + "[Number]:" + order2.GoodsList[3].GoodsNum + " [Storage Location]:" + order2.GoodsList[3].PostionDesc;
}
if (order2.GoodsList.Count > 4)
{
for (int i = 4; i < order2.GoodsList.Count; i++)
{
row["SKU"] += order2.GoodsList[i].SKU1 + "[Number]:" + order2.GoodsList[i].GoodsNum + " [Storage Location]:" + order2.GoodsList[i].PostionDesc + ";";
}
}
table.Rows.Add(row);
}
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("SKU", "SKU", DbType.String, "");
listColumns.Add("OrderCode", "OrderCode", DbType.String, "");
listColumns.Add("Photo2", "Photo2", DbType.Object, "40*40");
listColumns.Add("SKU3", "SKU3", DbType.String, "");
listColumns.Add("Photo3", "Photo3", DbType.Object, "40*40");
listColumns.Add("SKU4", "SKU4", DbType.String, "");
listColumns.Add("Photo4", "Photo4", DbType.Object, "40*40");
listColumns.Add("SKU5", "SKU5", DbType.String, "");
listColumns.Add("Photo5", "Photo5", DbType.Object, "40*40");
listColumns.Add("Photo0", "Photo0", DbType.Object, "265*390");
listColumns.Add("SKU2", "SKU2", DbType.String, "");
MicrosoftWord word = new MicrosoftWord();
if (wordTemplatePath != null)
{
str2 = word.Export(wordTemplatePath, table, listColumns, ".pdf");
}
return str2;
}
[WebMethod(EnableSession = true)]
public string GetFedexLabelNewUPS(string OrderIds, int PostId)
{
PagesNew.Login(base.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
OrderPrintData data = new OrderPrintData();
List source = null;
var obj = new DD_OrderData();
if (source == null)
{
source = DataNew.GetOrderPrintListForFedex(OrderIds.TrimEnd(','), 0);
}
if (source == null || source.Count == 0)
{
return "";
}
string[] oids = OrderIds.TrimEnd(',').Split(',');
List source2 = new List();
for (int i = 0; i < oids.Length; i++)
{
var omdlist = source.FindAll(n => n.OrderId == Convert.ToInt32(oids[i]));
if (omdlist != null)
{
foreach (var omd in omdlist)
{
source2.Add(omd);
}
}
}
BaseService obj2 = new BaseService();
var expressmd = DataNew.GetExpressModel2(PostId, CompanyId);
JC_ExpressService service = new JC_ExpressService();
DataTable table = new DataTable();
table.Columns.Add("SKU");
table.Columns.Add("OrderCode");
table.Columns.Add("SKU3");
table.Columns.Add("Photo3");
table.Columns.Add("SKU2");
table.Columns.Add("Photo2");
table.Columns.Add("SKU4");
table.Columns.Add("Photo4");
table.Columns.Add("SKU5");
table.Columns.Add("Photo5");
table.Columns.Add("Photo0");
string str2 = "";
string wordTemplatePath = "";
foreach (var order2 in source2)
{
wordTemplatePath = expressmd.PrintTemplateName;
DataRow row = table.NewRow();
row["Photo0"] = AppDomain.CurrentDomain.BaseDirectory + "attached/ups/" + order2.TrackCode.ToString() + ".png";
row["OrderCode"] = order2.OrderCode;
// if (order2.GoodsList != null && order2.GoodsList.Count > 0)
row["SKU2"] = order2.SKU;
//if (order2.GoodsList != null && order2.GoodsList.Count > 0 && order2.GoodsList[0].GoodsUrl != null && order2.GoodsList[0].GoodsUrl != "")
//{
// row["Photo2"] = AppDomain.CurrentDomain.BaseDirectory + order2.GoodsList[0].GoodsUrl.Replace("../", "");
//}
//if ((order2.GoodsList != null && order2.GoodsList.Count > 0))
//{
// row["SKU2"] = order2.GoodsList[0].SKU1 + " " + order2.GoodsList[0].GoodsName + order2.GoodsList[0].GoodsCode + " " + order2.GoodsList[0].TypeDesc + "[Number]:" + order2.GoodsList[0].GoodsNum + " [Storage Location]:" + order2.GoodsList[0].PostionDesc;
//}
//if (order2.GoodsList != null && order2.GoodsList.Count > 1 && order2.GoodsList[1].GoodsUrl != null && order2.GoodsList[1].GoodsUrl != "")
//{
// row["Photo3"] = AppDomain.CurrentDomain.BaseDirectory + order2.GoodsList[1].GoodsUrl.Replace("../", "");
//}
//if (order2.GoodsList != null && order2.GoodsList.Count > 1)
//{
// row["SKU3"] = order2.GoodsList[1].SKU1 + " " + order2.GoodsList[1].GoodsName + order2.GoodsList[1].GoodsCode + " " + order2.GoodsList[1].TypeDesc + "[Number]:" + order2.GoodsList[1].GoodsNum + " [Storage Location]:" + order2.GoodsList[1].PostionDesc;
//}
//if (order2.GoodsList != null && order2.GoodsList.Count > 2 && order2.GoodsList[2].GoodsUrl != null && order2.GoodsList[2].GoodsUrl != "")
//{
// row["Photo4"] = AppDomain.CurrentDomain.BaseDirectory + order2.GoodsList[2].GoodsUrl.Replace("../", "");
//}
//if ((order2.GoodsList != null && order2.GoodsList.Count > 2))
//{
// row["SKU4"] = order2.GoodsList[2].SKU1 + " " + order2.GoodsList[2].GoodsName + order2.GoodsList[2].GoodsCode + " " + order2.GoodsList[2].TypeDesc + "[Number]:" + order2.GoodsList[2].GoodsNum + " [Storage Location]:" + order2.GoodsList[2].PostionDesc;
//}
//if (order2.GoodsList != null && order2.GoodsList.Count > 3 && order2.GoodsList[3].GoodsUrl != null && order2.GoodsList[3].GoodsUrl != "")
//{
// row["Photo4"] = AppDomain.CurrentDomain.BaseDirectory + order2.GoodsList[3].GoodsUrl.Replace("../", "");
//}
//if ((order2.GoodsList != null && order2.GoodsList.Count > 3))
//{
// row["SKU4"] = order2.GoodsList[3].SKU1 + " " + order2.GoodsList[3].GoodsName + order2.GoodsList[3].GoodsCode + " " + order2.GoodsList[3].TypeDesc + "[Number]:" + order2.GoodsList[3].GoodsNum + " [Storage Location]:" + order2.GoodsList[3].PostionDesc;
//}
//if (order2.GoodsList.Count > 4)
//{
// for (int i = 4; i < order2.GoodsList.Count; i++)
// {
// row["SKU"] += order2.GoodsList[i].SKU1 + "[Number]:" + order2.GoodsList[i].GoodsNum + " [Storage Location]:" + order2.GoodsList[i].PostionDesc + ";";
// }
//}
table.Rows.Add(row);
}
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("SKU", "SKU", DbType.String, "");
listColumns.Add("OrderCode", "OrderCode", DbType.String, "");
listColumns.Add("SKU2", "SKU2", DbType.String, "");
listColumns.Add("Photo2", "Photo2", DbType.Object, "40*40");
listColumns.Add("SKU3", "SKU3", DbType.String, "");
listColumns.Add("Photo3", "Photo3", DbType.Object, "40*40");
listColumns.Add("SKU4", "SKU4", DbType.String, "");
listColumns.Add("Photo4", "Photo4", DbType.Object, "40*40");
listColumns.Add("SKU5", "SKU5", DbType.String, "");
listColumns.Add("Photo5", "Photo5", DbType.Object, "40*40");
listColumns.Add("Photo0", "Photo0", DbType.Object, "265*390");
MicrosoftWord word = new MicrosoftWord();
if (wordTemplatePath != null)
{
str2 = word.Export(wordTemplatePath, table, listColumns, ".pdf");
}
return str2;
}
[WebMethod(EnableSession = true)]
public string GetFedexFee22(DT_OrderFedexModel omd, decimal weight, decimal width, decimal slong, decimal height, int Uint, int PostId, string PostType)
{
PagesNew.Login(base.Session);
// int companyId = Convert.ToInt32(base.Session["CompanyId"]);
JC_ExpressService service = new JC_ExpressService();
JC_PostAddress address = new BaseService().GetAddressModel2(PostId);
JC_ExpressPost expressModel = service.GetExpressModel(1, PostId);
FedexRate rate = new FedexRate();
FedexRate.Key = expressModel.UserCode;
FedexRate.Password = expressModel.CheckCode;
FedexRate.AccountNumber = expressModel.client_id;
FedexRate.MeterNumber = expressModel.client_secret;
FedexRate.PayAccountNumber = expressModel.refresh_token;
FedexRate.HubId = expressModel.Code;
FedexFeeMd md = new FedexFeeMd
{
RevName = omd.RevName,
RevPhone = omd.RevPhone
};
if ((omd.RevPhone == null) || (omd.RevPhone == ""))
{
md.RevPhone = omd.RevMoblie;
}
md.OrderId = -1;
md.PostType = PostType;
md.SendAddr = address.EnglishAddress;
md.SendCountry = address.countycode;
md.SendCity = address.city;
md.SendProv = address.provincecode;
md.SendPostCode = address.PostCode;
if ((omd.RevAddr != null) && (omd.RevAddr != ""))
{
md.RevAddr = omd.RevAddr;
}
else
{
md.RevAddr = "street No 18";
}
md.RevCity = omd.RevCity;
if ((omd.RevCity == null) || (omd.RevCity == ""))
{
md.RevCity = omd.RevProvince;
}
if ((omd.RevProvinceCode != null) && (omd.RevProvinceCode != ""))
{
md.RevProv = omd.RevProvinceCode;
}
else if (((omd.RevProvince != null) && (omd.RevProvince != "")) && (omd.RevProvince.Length > 2))
{
md.RevProv = omd.RevProvince.Substring(omd.RevProvince.Length - 2, 2);
}
else
{
md.RevProv = omd.RevProvince;
}
md.RevPostCode = omd.RevPostCode;
md.RevCountry = omd.CountryCode;
md.Width = Math.Ceiling(width).ToString();
md.Height = Math.Ceiling(height).ToString();
md.Lenght = Math.Ceiling(slong).ToString();
md.Weight = new decimal?(weight);
if (Uint == 2)
{
md.Weight = new decimal?(weight * Convert.ToDecimal((double)2.2046226));
}
else if (Uint == 3)
{
md.Weight = new decimal?(weight * Convert.ToDecimal((double)0.0625));
}
string outError = "";
string fee = rate.GetFee(md, out outError);
if (outError != "")
{
return outError;
}
return fee;
}
[WebMethod(EnableSession = true)]
public string GetFedexFee22New(DT_OrderFedexModel omd, decimal weight, decimal width, decimal slong, decimal height, int Uint, int PostId, string PostType)
{
PagesNew.Login(base.Session);
// int companyId = Convert.ToInt32(base.Session["CompanyId"]);
JC_ExpressService service = new JC_ExpressService();
JC_PostAddress address = new BaseService().GetAddressModel2(PostId);
JC_ExpressPost expressModel = service.GetExpressModel(1, PostId);
FedexRate rate = new FedexRate();
FedexRate.Key = expressModel.UserCode;
FedexRate.Password = expressModel.CheckCode;
FedexRate.AccountNumber = expressModel.client_id;
FedexRate.MeterNumber = expressModel.client_secret;
FedexRate.PayAccountNumber = expressModel.refresh_token;
FedexRate.HubId = expressModel.Code;
FedexFeeMd md = new FedexFeeMd
{
RevName = omd.RevName,
RevPhone = omd.RevPhone
};
if ((omd.RevPhone == null) || (omd.RevPhone == ""))
{
md.RevPhone = omd.RevMoblie;
}
md.OrderId = -1;
md.PostType = PostType;
md.SendAddr = address.EnglishAddress;
md.SendCountry = address.countycode;
md.SendCity = address.city;
md.SendProv = address.provincecode;
md.SendPostCode = address.PostCode;
if ((omd.RevAddr != null) && (omd.RevAddr != ""))
{
md.RevAddr = omd.RevAddr;
}
else
{
md.RevAddr = "street No 18";
}
md.RevCity = omd.RevCity;
if ((omd.RevCity == null) || (omd.RevCity == ""))
{
md.RevCity = omd.RevProvince;
}
if ((omd.RevProvinceCode != null) && (omd.RevProvinceCode != ""))
{
md.RevProv = omd.RevProvinceCode;
}
else if (((omd.RevProvince != null) && (omd.RevProvince != "")) && (omd.RevProvince.Length > 2))
{
md.RevProv = omd.RevProvince.Substring(omd.RevProvince.Length - 2, 2);
}
else
{
md.RevProv = omd.RevProvince;
}
md.RevPostCode = omd.RevPostCode;
md.RevCountry = omd.CountryCode;
md.Width = Math.Ceiling(width).ToString();
md.Height = Math.Ceiling(height).ToString();
md.Lenght = Math.Ceiling(slong).ToString();
md.Weight = new decimal?(weight);
if (Uint == 2)
{
md.Weight = new decimal?(weight * Convert.ToDecimal((double)2.2046226));
}
else if (Uint == 3)
{
md.Weight = new decimal?(weight * Convert.ToDecimal((double)0.0625));
}
string outError = "";
string fee = rate.GetFee(md, out outError);
if (outError != "")
{
return outError;
}
return fee;
}
[WebMethod(EnableSession = true)]
public string GetFedexFeeHWC(DT_OrderFedexModel omd, decimal weight, decimal width, decimal slong, decimal height, int Uint, int Uint2, int PostId, string PostType)
{
PagesNew.Login(base.Session);
// int companyId = Convert.ToInt32(base.Session["CompanyId"]);
if (Session["CompanyId"].ToString()=="25")
{
string a = GetFedexFeeHWC2(omd, weight, width, slong, height, Uint, Uint2, PostId, PostType);
return a;
}
else
{
JC_ExpressService service = new JC_ExpressService();
JC_PostAddress address = new BaseService().GetAddressModel2(PostId);
JC_ExpressPost expressModel = service.GetExpressModel(0, PostId);
FedexRateNewHWC rate = new FedexRateNewHWC();
FedexRateNewHWC.Key = expressModel.UserCode;
FedexRateNewHWC.Password = expressModel.CheckCode;
FedexRateNewHWC.AccountNumber = expressModel.client_id;
FedexRateNewHWC.MeterNumber = expressModel.client_secret;
FedexRateNewHWC.PayAccountNumber = expressModel.refresh_token;
FedexRateNewHWC.HubId = expressModel.Code;
FedexRateNewHWC.AddFeeRate = 0.05M;
FedexFeeMdNew md = new FedexFeeMdNew
{
RevName = omd.RevName,
RevPhone = omd.RevPhone
};
if ((omd.RevPhone == null) || (omd.RevPhone == ""))
{
md.RevPhone = omd.RevMoblie;
}
md.OrderId = -1;
md.PostType = PostType;
md.SendAddr = address.EnglishAddress;
md.SendCountry = address.countycode;
md.SendCity = address.city;
md.SendProv = address.provincecode;
md.SendPostCode = address.PostCode;
if ((omd.RevAddr != null) && (omd.RevAddr != ""))
{
md.RevAddr = omd.RevAddr;
}
else
{
md.RevAddr = "street No 18";
}
md.RevCity = omd.RevCity;
if ((omd.RevCity == null) || (omd.RevCity == ""))
{
md.RevCity = omd.RevProvince;
}
if ((omd.RevProvinceCode != null) && (omd.RevProvinceCode != ""))
{
md.RevProv = omd.RevProvinceCode;
}
else if (((omd.RevProvince != null) && (omd.RevProvince != "")) && (omd.RevProvince.Length > 2))
{
md.RevProv = omd.RevProvince.Substring(omd.RevProvince.Length - 2, 2);
}
else
{
md.RevProv = omd.RevProvince;
}
md.RevPostCode = omd.RevPostCode;
md.RevCountry = omd.CountryCode;
md.Width = Math.Ceiling(width).ToString();
md.Height = Math.Ceiling(height).ToString();
md.Lenght = Math.Ceiling(slong).ToString();
if (Uint2 == 2)
{
md.Width = Math.Ceiling(width * 0.3937M).ToString();
md.Height = Math.Ceiling(height * 0.3937M).ToString();
md.Lenght = Math.Ceiling(slong * 0.3937M).ToString();
}
md.Weight = new decimal?(weight);
if (Uint == 2)
{
md.Weight = new decimal?(weight * Convert.ToDecimal((double)2.2046226));
}
else if (Uint == 3)
{
md.Weight = new decimal?(weight * Convert.ToDecimal((double)0.0625));
}
string outError = "";
string fee = rate.GetFee(md, out outError);
if (outError != "")
{
return outError;
}
return fee;
}
}
public string GetFedexFeeHWC2(DT_OrderFedexModel omd, decimal weight, decimal width, decimal slong, decimal height, int Uint, int Uint2, int PostId, string PostType)
{
JC_ExpressService service = new JC_ExpressService();
JC_PostAddress address = new BaseService().GetAddressModel2(PostId);
JC_ExpressPost expressModel = service.GetExpressModel(0, PostId);
FedexRateNewHWC2 rate = new FedexRateNewHWC2();
FedexRateNewHWC2.Key = expressModel.UserCode;
FedexRateNewHWC2.Password = expressModel.CheckCode;
FedexRateNewHWC2.AccountNumber = expressModel.client_id;
FedexRateNewHWC2.MeterNumber = expressModel.client_secret;
FedexRateNewHWC2.PayAccountNumber = expressModel.refresh_token;
FedexRateNewHWC2.HubId = expressModel.Code;
FedexRateNewHWC2.AddFeeRate = 0.05M;
FedexFeeMdNew md = new FedexFeeMdNew
{
RevName = omd.RevName,
RevPhone = omd.RevPhone
};
if ((omd.RevPhone == null) || (omd.RevPhone == ""))
{
md.RevPhone = omd.RevMoblie;
}
md.OrderId = -1;
md.PostType = PostType;
md.SendAddr = address.EnglishAddress;
md.SendCountry = address.countycode;
md.SendCity = address.city;
md.SendProv = address.provincecode;
md.SendPostCode = address.PostCode;
if ((omd.RevAddr != null) && (omd.RevAddr != ""))
{
md.RevAddr = omd.RevAddr;
}
else
{
md.RevAddr = "street No 18";
}
md.RevCity = omd.RevCity;
if ((omd.RevCity == null) || (omd.RevCity == ""))
{
md.RevCity = omd.RevProvince;
}
if ((omd.RevProvinceCode != null) && (omd.RevProvinceCode != ""))
{
md.RevProv = omd.RevProvinceCode;
}
else if (((omd.RevProvince != null) && (omd.RevProvince != "")) && (omd.RevProvince.Length > 2))
{
md.RevProv = omd.RevProvince.Substring(omd.RevProvince.Length - 2, 2);
}
else
{
md.RevProv = omd.RevProvince;
}
md.RevPostCode = omd.RevPostCode;
md.RevCountry = omd.CountryCode;
md.Width = Math.Ceiling(width).ToString();
md.Height = Math.Ceiling(height).ToString();
md.Lenght = Math.Ceiling(slong).ToString();
if (Uint2 == 2)
{
md.Width = Math.Ceiling(width * 0.3937M).ToString();
md.Height = Math.Ceiling(height * 0.3937M).ToString();
md.Lenght = Math.Ceiling(slong * 0.3937M).ToString();
}
md.Weight = new decimal?(weight);
if (Uint == 2)
{
md.Weight = new decimal?(weight * Convert.ToDecimal((double)2.2046226));
}
else if (Uint == 3)
{
md.Weight = new decimal?(weight * Convert.ToDecimal((double)0.0625));
}
string outError = "";
string fee = rate.GetFee(md, out outError);
if (outError != "")
{
return outError;
}
return fee;
}
[WebMethod(EnableSession = true)]
public List GetFedexFeeHWCNew(DT_OrderFedexModel omd, decimal weight, decimal width, decimal slong, decimal height, int Uint, int Uint2)
{
PagesNew.Login(base.Session);
var rmodel = new List();
var postTypes = new List() { "SMART_POST", "FEDEX_2_DAY", "FEDEX_GROUND", "GROUND_HOME_DELIVERY" };
var postIds = new List() { 228, 237 };//W仓,E仓
var hycj = 0m;//获取立方,用来计算东西仓库海运差价
if (Uint2 == 1)//单位IN英寸
{
hycj = (slong * 0.0254m * width * 0.0254m * height * 0.0254m) * 30;
}
else if (Uint2 == 2) //单位cm
{
hycj = (slong * 0.01m * width * 0.01m * height * 0.01m) * 30;
}
foreach (var postid in postIds)
{
JC_ExpressService service = new JC_ExpressService();
JC_PostAddress address = new BaseService().GetAddressModel2(postid);
JC_ExpressPost expressModel = service.GetExpressModel(1, postid);
TradeManageNew.FedexRateNew3 rate = new TradeManageNew.FedexRateNew3();
TradeManageNew.FedexRateNew3.Key = expressModel.UserCode;
TradeManageNew.FedexRateNew3.Password = expressModel.CheckCode;
TradeManageNew.FedexRateNew3.AccountNumber = expressModel.client_id;
TradeManageNew.FedexRateNew3.MeterNumber = expressModel.client_secret;
TradeManageNew.FedexRateNew3.PayAccountNumber = expressModel.refresh_token;
TradeManageNew.FedexRateNew3.HubId = expressModel.Code;
TradeManageNew.FedexRateNew3.PostId = postid;
TradeManageNew.FedexFeeMdNew md = new TradeManageNew.FedexFeeMdNew
{
RevName = omd.RevName,
RevPhone = omd.RevPhone
};
if ((omd.RevPhone == null) || (omd.RevPhone == ""))
{
md.RevPhone = omd.RevMoblie;
}
md.OrderId = -1;
md.SendAddr = address.EnglishAddress;
md.SendCountry = address.countycode;
md.SendCity = address.city;
md.SendProv = address.provincecode;
md.SendPostCode = address.PostCode;
if ((omd.RevAddr != null) && (omd.RevAddr != ""))
{
md.RevAddr = omd.RevAddr;
}
md.RevCity = omd.RevCity;
if ((omd.RevProvinceCode != null) && (omd.RevProvinceCode != ""))
{
md.RevProv = omd.RevProvinceCode;
}
md.RevPostCode = omd.RevPostCode;
md.RevCountry = omd.CountryCode;
md.Width = Math.Ceiling(width).ToString();
md.Height = Math.Ceiling(height).ToString();
md.Lenght = Math.Ceiling(slong).ToString();
if (Uint2 == 2)
{
md.Width = Math.Ceiling(width * 0.3937M).ToString();
md.Height = Math.Ceiling(height * 0.3937M).ToString();
md.Lenght = Math.Ceiling(slong * 0.3937M).ToString();
}
md.Weight = new decimal?(weight);
if (Uint == 2)
{
md.Weight = new decimal?(weight * Convert.ToDecimal((double)2.2046226));
}
else if (Uint == 3)
{
md.Weight = new decimal?(weight * Convert.ToDecimal((double)0.0625));
}
foreach (var postType in postTypes)
{
md.PostType = postType;
var feeObj = rate.GetFee(md);
var saveObj = new OrderPostFeeEstimate();
if (feeObj != null)
{
saveObj.OrderId = md.OrderId.Value;
//东部仓库比西部仓库海运运费更高,所以只有东部仓库需要加上海运差价
if (postid == 228)
{
saveObj.Warehouse = "W仓";
saveObj.HYCJ = 0;
}
else if (postid == 237)
{
saveObj.Warehouse = "E仓";
saveObj.HYCJ = hycj;
}
saveObj.ServiceType = postType;
saveObj.FenQu = feeObj.FenQu;
saveObj.TotalFee = string.IsNullOrEmpty(feeObj.TotalFee) ? 0 : Convert.ToDecimal(feeObj.TotalFee);
saveObj.BaseFee = string.IsNullOrEmpty(feeObj.BaseFee) ? 0 : Convert.ToDecimal(feeObj.BaseFee);
saveObj.AHS = string.IsNullOrEmpty(feeObj.AHS) ? 0 : Convert.ToDecimal(feeObj.AHS);
saveObj.OverSize = string.IsNullOrEmpty(feeObj.OverSize) ? 0 : Convert.ToDecimal(feeObj.OverSize);
saveObj.PYAreaFee = string.IsNullOrEmpty(feeObj.PYAreaFee) ? 0 : Convert.ToDecimal(feeObj.PYAreaFee);
saveObj.CPYAreaFee = string.IsNullOrEmpty(feeObj.CPYAreaFee) ? 0 : Convert.ToDecimal(feeObj.CPYAreaFee);
saveObj.CJPYAreaFee = string.IsNullOrEmpty(feeObj.CJPYAreaFee) ? 0 : Convert.ToDecimal(feeObj.CJPYAreaFee);
saveObj.FJDFee = string.IsNullOrEmpty(feeObj.FJDFee) ? 0 : Convert.ToDecimal(feeObj.FJDFee);
saveObj.WangJiFee = string.IsNullOrEmpty(feeObj.WangJiFee) ? 0 : Convert.ToDecimal(feeObj.WangJiFee);
saveObj.RanYouFee = string.IsNullOrEmpty(feeObj.RanYouFee) ? 0 : Convert.ToDecimal(feeObj.RanYouFee);
saveObj.QianShouFee = string.IsNullOrEmpty(feeObj.QianShouFee) ? 0 : Convert.ToDecimal(feeObj.QianShouFee);
saveObj.ZZFDZFee = string.IsNullOrEmpty(feeObj.ZZFDZFee) ? 0 : Convert.ToDecimal(feeObj.ZZFDZFee);
saveObj.ChaoBiaoFee = string.IsNullOrEmpty(feeObj.ChaoBiaoFee) ? 0 : Convert.ToDecimal(feeObj.ChaoBiaoFee);
if (!string.IsNullOrEmpty(feeObj.YuJiSongDa))
{
saveObj.YuJiSongDa = Convert.ToDateTime(feeObj.YuJiSongDa).Date;
}
else
saveObj.YuJiSongDa = null;
saveObj.TotalDiscountFee = string.IsNullOrEmpty(feeObj.TotalDiscountFee) ? 0 : Convert.ToDecimal(feeObj.TotalDiscountFee);
saveObj.TotalBillWeight = string.IsNullOrEmpty(feeObj.TotalBillWeight) ? "" : feeObj.TotalBillWeight;
saveObj.IsBest = 0;
//DataNew.SaveOrderPostFeeEstimate(saveObj);
}
else
{
saveObj.OrderId = md.OrderId.Value;
if (postid == 228)
{
saveObj.Warehouse = "W仓";
}
else if (postid == 237)
{
saveObj.Warehouse = "E仓";
}
saveObj.ServiceType = postType;
saveObj.FenQu = "";
saveObj.TotalFee = null;
saveObj.BaseFee = null;
saveObj.AHS = null;
saveObj.OverSize = null;
saveObj.PYAreaFee = null;
saveObj.CPYAreaFee = null;
saveObj.CJPYAreaFee = null;
saveObj.FJDFee = null;
saveObj.WangJiFee = null;
saveObj.RanYouFee = null;
saveObj.QianShouFee = null;
saveObj.ZZFDZFee = null;
saveObj.ChaoBiaoFee = null;
saveObj.YuJiSongDa = null;
saveObj.TotalDiscountFee = null;
saveObj.TotalBillWeight = null;
saveObj.IsBest = 0;
}
rmodel.Add(saveObj);
Thread.Sleep(500);
}
}
var rmodelNew = new List();
var rmodel1 = rmodel.Where(r => r.TotalFee != null && r.TotalFee.Value > 0).OrderBy(r => r.TotalFee + r.HYCJ);
if(rmodel1!=null && rmodel1.Count()>0)
rmodelNew.AddRange(rmodel1);
var rmodel2 = rmodel.Where(r => r.TotalFee == null || r.TotalFee.Value <= 0);
if(rmodel2!=null && rmodel2.Count()>0)
rmodelNew.AddRange(rmodel2);
return rmodelNew;
}
[WebMethod(EnableSession = true)]
public RateAndTransitTimesResp GetFedexFeeTest()
{
var ratesAndTransitTimesTests = new RatesAndTransitTimesTests();
return ratesAndTransitTimesTests.Should_RateAsync_IsReturn();
}
#region 修改允许发货
[WebMethod(EnableSession = true)]
public void UpdatePostState2(List list)
{
PagesNew.Login(this.Session);
if (list != null)
{
var obj = new DD_OrderData();
foreach (var md in list)
{
DataNew.UpdatePostState2(md.OrderId.Value);
}
}
}
#endregion
[WebMethod(EnableSession = true)]
public List GetOrderGoodsListForTM(int OrderId)
{
PagesNew.Login(base.Session);
DD_OrderData data = new DD_OrderData();
List orderGoodsListNew = DataNew.GetOrderGoodsListNew(OrderId);
DT_FeesTC TCModel = DataNew.GetModel_FeesTC();
decimal? tcfee = 0;
if (TCModel != null&&TCModel.tc_fee!=null)
tcfee = TCModel.tc_fee.Value;
decimal goodssolid = 0M;
if (orderGoodsListNew != null)
{
JC_Money money;
List.Enumerator enumerator;
decimal? hWCFee;
decimal num4;
decimal? nullable3;
decimal num = Convert.ToDecimal((double)6.5);
List list2 = new BaseService().GetMoneyList2();
List orderGoodsPostionCode = DataNew.GetOrderGoodsPostionCode(OrderId);
decimal num2 = 0M;
decimal num3 = 0M;
decimal hwsfee = 0M;
if ((orderGoodsPostionCode != null) && (orderGoodsPostionCode.Count > 0))
{
using (enumerator = orderGoodsListNew.GetEnumerator())
{
Predicate match = null;
Predicate predicate2 = null;
DT_OrderMateGoods md;
while (enumerator.MoveNext())
{
md = enumerator.Current;
md.RMBMoney = 0;
if (match == null)
{
match = delegate(JC_Money n)
{
int? nullable;
int? nullable2;
return (n.MCode == "USD") && (((nullable = n.PlatId).GetValueOrDefault() == (nullable2 = md.PlatId).GetValueOrDefault()) && (nullable.HasValue == nullable2.HasValue));
};
}
money = list2.Find(match);
if (money != null)
{
num = money.MRate.Value;
}
if (predicate2 == null)
{
predicate2 = n => n.Id == md.Id;
}
DT_OrderMateGoods goods = orderGoodsPostionCode.Find(predicate2);
if (goods != null)
{
md.PostionCode = goods.PostionCode;
md.Price = 0;
if (goods.Price > 0 && md.GoodsPrice > 0)
{
md.RMBMoney = (goods.Price.Value * goods.GoodsPrice.Value * md.GoodsNum.Value * Convert.ToDecimal(0.01)) / num;
}
if (goods.Price.HasValue && md.GoodsNum.HasValue)
{
num4 = (goods.Price.Value * md.GoodsNum.Value) / num;
md.Price = new decimal?(Convert.ToDecimal(num4.ToString("0.00")));
}
md.PostPrice = 0;
if (goods.PostPrice.HasValue && md.GoodsNum.HasValue)
{
num4 = (goods.PostPrice.Value * md.GoodsNum.Value) / num;
md.PostPrice = new decimal?(Convert.ToDecimal(num4.ToString("0.00")));
}
hWCFee = goods.HWCFee;
num4 = md.GoodsNum.Value;
md.HWCFee = hWCFee.HasValue ? new decimal?(hWCFee.GetValueOrDefault() * num4) : ((decimal?)(nullable3 = null));
num2 += ((goods.Price.Value * md.GoodsNum.Value) + (goods.PostPrice.Value * md.GoodsNum.Value)) / num;
num3 += md.HWCFee.Value;
hwsfee += md.RMBMoney.Value;
}
}
}
if (orderGoodsListNew.Count > 0)
{
orderGoodsListNew[0].GoodsCB = new decimal?(Convert.ToDecimal(num2.ToString("0.00")));
orderGoodsListNew[0].GoodsCB2 = new decimal?(Convert.ToDecimal(num3.ToString("0.00")));
orderGoodsListNew[0].RMBMoney = new decimal?(Convert.ToDecimal(hwsfee.ToString("0.00")));
}
// return orderGoodsListNew;
}
num2 = 0M;
num3 = 0M;
hwsfee = 0M;
decimal Ratefee = 0M;
using (enumerator = orderGoodsListNew.GetEnumerator())
{
Predicate predicate3 = null;
DT_OrderMateGoods md;
while (enumerator.MoveNext())
{
md = enumerator.Current;
if (md.Solid != null)
goodssolid += md.Solid.Value * md.GoodsNum.Value;
if (predicate3 == null)
{
predicate3 = delegate(JC_Money n)
{
int? nullable;
int? nullable2;
return (n.MCode == "USD") && (((nullable = n.PlatId).GetValueOrDefault() == (nullable2 = md.PlatId).GetValueOrDefault()) && (nullable.HasValue == nullable2.HasValue));
};
}
money = list2.Find(predicate3);
if (money != null)
{
num = money.MRate.Value;
}
num4 = (md.InPrice.Value * md.GoodsNum.Value) / num;
md.Price = new decimal?(Convert.ToDecimal(num4.ToString("0.00")));
md.PostPrice = 0;
md.HWCFee = 0;
if (md.Solid != null)
{
hWCFee = md.Solid * 170M * md.GoodsNum.Value;//预估头程
// num4 = md.GoodsNum.Value;
md.HWCFee = hWCFee;
}
if (md.GoodsPrice != null)
Ratefee += md.Price.Value * md.GoodsPrice.Value * 0.01M;//预估税费
num2 += md.Price.Value;
num3 += md.HWCFee.Value;
}
}
if (orderGoodsListNew.Count > 0)
{
orderGoodsListNew[0].OldTypeDesc = num2.ToString("0.00");//预估成本
orderGoodsListNew[0].OldTypeCode = Ratefee.ToString("0.00");//预估税费
orderGoodsListNew[0].MoneyCode = num3.ToString("0.00");//预估头程
if (orderGoodsListNew[0].GoodsCB == null || orderGoodsListNew[0].GoodsCB == 0)
orderGoodsListNew[0].GoodsCB = new decimal?(Convert.ToDecimal(num2.ToString("0.00")));
if (orderGoodsListNew[0].GoodsCB2 == null || orderGoodsListNew[0].GoodsCB2 == 0)
orderGoodsListNew[0].GoodsCB2 = new decimal?(Convert.ToDecimal(num3.ToString("0.00")));
// if (orderGoodsListNew[0].RMBMoney == null || orderGoodsListNew[0].RMBMoney == 0)
// orderGoodsListNew[0].RMBMoney = new decimal?(Convert.ToDecimal(Ratefee.ToString("0.00")));
// orderGoodsListNew[0].Length2 = goodssolid;//货物立方
}
}
return orderGoodsListNew;
}
[WebMethod(EnableSession = true)]
public List GetOrderGoodsListForTM4(int OrderId)
{
PagesNew.Login(base.Session);
DD_OrderData data = new DD_OrderData();
List orderGoodsListNew = DataNew.GetOrderGoodsListNew(OrderId);
if (orderGoodsListNew != null)
{
JC_Money money;
List.Enumerator enumerator;
decimal? hWCFee;
decimal num4;
decimal? nullable3;
decimal num = Convert.ToDecimal((double)6.5);
List list2 = new BaseService().GetMoneyList2();
List orderGoodsPostionCode = DataNew.GetOrderGoodsPostionCode(OrderId);
decimal num2 = 0M;
decimal num3 = 0M;
decimal hwsfee = 0M;
if ((orderGoodsPostionCode != null) && (orderGoodsPostionCode.Count > 0))
{
using (enumerator = orderGoodsListNew.GetEnumerator())
{
Predicate match = null;
Predicate predicate2 = null;
DT_OrderMateGoods md;
while (enumerator.MoveNext())
{
md = enumerator.Current;
md.RMBMoney = 0;
if (match == null)
{
match = delegate(JC_Money n)
{
int? nullable;
int? nullable2;
return (n.MCode == "USD") && (((nullable = n.PlatId).GetValueOrDefault() == (nullable2 = md.PlatId).GetValueOrDefault()) && (nullable.HasValue == nullable2.HasValue));
};
}
money = list2.Find(match);
if (money != null)
{
num = money.MRate.Value;
}
num = 1;//按人民币算
if (predicate2 == null)
{
predicate2 = n => n.Id == md.Id;
}
DT_OrderMateGoods goods = orderGoodsPostionCode.Find(predicate2);
if (goods != null)
{
md.PostionCode = goods.PostionCode;
md.Price = 0;
if (goods.Price > 0 && md.GoodsPrice > 0)
{
md.RMBMoney = (goods.Price.Value * goods.GoodsPrice.Value * md.GoodsNum.Value * Convert.ToDecimal(0.01)) / num;
}
if (goods.Price.HasValue && md.GoodsNum.HasValue)
{
num4 = (goods.Price.Value * md.GoodsNum.Value) / num;
md.Price = new decimal?(Convert.ToDecimal(num4.ToString("0.00")));
}
md.PostPrice = 0;
if (goods.PostPrice.HasValue && md.GoodsNum.HasValue)
{
num4 = (goods.PostPrice.Value * md.GoodsNum.Value) / num;
md.PostPrice = new decimal?(Convert.ToDecimal(num4.ToString("0.00")));
}
hWCFee = goods.HWCFee;
num4 = md.GoodsNum.Value;
md.HWCFee = hWCFee.HasValue ? new decimal?(hWCFee.GetValueOrDefault() * num4) : ((decimal?)(nullable3 = null));
num2 += ((goods.Price.Value * md.GoodsNum.Value) + (goods.PostPrice.Value * md.GoodsNum.Value)) / num;
num3 += md.HWCFee.Value;
hwsfee += md.RMBMoney.Value;
}
}
}
if (orderGoodsListNew.Count > 0)
{
orderGoodsListNew[0].GoodsCB = new decimal?(Convert.ToDecimal(num2.ToString("0.00")));
orderGoodsListNew[0].GoodsCB2 = new decimal?(Convert.ToDecimal(num3.ToString("0.00")));
orderGoodsListNew[0].RMBMoney = new decimal?(Convert.ToDecimal(hwsfee.ToString("0.00")));
}
// return orderGoodsListNew;
}
num2 = 0M;
num3 = 0M;
hwsfee = 0M;
decimal Ratefee = 0M;
using (enumerator = orderGoodsListNew.GetEnumerator())
{
Predicate predicate3 = null;
DT_OrderMateGoods md;
while (enumerator.MoveNext())
{
md = enumerator.Current;
if (predicate3 == null)
{
predicate3 = delegate(JC_Money n)
{
int? nullable;
int? nullable2;
return (n.MCode == "USD") && (((nullable = n.PlatId).GetValueOrDefault() == (nullable2 = md.PlatId).GetValueOrDefault()) && (nullable.HasValue == nullable2.HasValue));
};
}
money = list2.Find(predicate3);
if (money != null)
{
num = money.MRate.Value;
}
num = 1;//按人民币算
num4 = (md.InPrice.Value * md.GoodsNum.Value) / num;
md.Price = new decimal?(Convert.ToDecimal(num4.ToString("0.00")));
md.PostPrice = 0;
md.HWCFee = 0;
if (md.Solid != null)
{
hWCFee = md.Solid * 170M * md.GoodsNum.Value;//预估头程
// num4 = md.GoodsNum.Value;
md.HWCFee = hWCFee;
}
if (md.GoodsPrice != null)
Ratefee += md.Price.Value * md.GoodsPrice.Value * 0.01M;//预估税费
num2 += md.Price.Value;
num3 += md.HWCFee.Value;
}
}
if (orderGoodsListNew.Count > 0)
{
orderGoodsListNew[0].OldTypeDesc = num2.ToString("0.00");//预估成本
orderGoodsListNew[0].OldTypeCode = Ratefee.ToString("0.00");//预估税费
orderGoodsListNew[0].MoneyCode = num3.ToString("0.00");//预估头程
if (orderGoodsListNew[0].GoodsCB == null || orderGoodsListNew[0].GoodsCB == 0)
orderGoodsListNew[0].GoodsCB = new decimal?(Convert.ToDecimal(num2.ToString("0.00")));
if (orderGoodsListNew[0].GoodsCB2 == null || orderGoodsListNew[0].GoodsCB2 == 0)
orderGoodsListNew[0].GoodsCB2 = new decimal?(Convert.ToDecimal(num3.ToString("0.00")));
// if (orderGoodsListNew[0].RMBMoney == null || orderGoodsListNew[0].RMBMoney == 0)
// orderGoodsListNew[0].RMBMoney = new decimal?(Convert.ToDecimal(Ratefee.ToString("0.00")));
}
}
return orderGoodsListNew;
}
[WebMethod(EnableSession = true)]
public void GetGoodsFee()
{
PagesNew.Login(base.Session);
DataNew.GetGoodsFee();
DataNew.GetGoodsBack();
}
#region 扫描订单发货
[WebMethod(EnableSession = true)]
public DT_OrderModel ScanOrderPost2(int OrderId, int Post, string CountryCode, int PostState, int Weight, int BagUserId, string TrackCode, string OrderCode, string JoinOrderCode, int OrderState, int TrackId, int IsBlank, int IsCSM)
{
PagesNew.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
string Name = Convert.ToString(Session["Name"]);
DT_OrderModel md = new DT_OrderModel();
//if (Weight > 2000)
//{
// int isweight = JC_ExpressService.GetExpressWeight(Post);
// if (isweight >= 2000)
// {
// md.PostError = "超出重量限制";
// return md;
// }
//}
//int weightrate md.WeightRate.Value;
//if (Weight > GoodsWeight * (1 + Convert.ToDecimal(weightrate * 1.00) / 100))
//{
// md.PostError = "根据订单计算重量为" + GoodsWeight + "g,称重重量超过订单重量的" + weightrate.ToString() + "%;请确定货物是否正确再发货";
//}
//else
// if (Weight < GoodsWeight * (1 - Convert.ToDecimal(weightrate * 1.00) / 100))
// {
// md.PostError = "根据订单计算重量为" + GoodsWeight + "g,重量验证低于实际重量的" + weightrate.ToString() + "%;请确定货物是否正确再发货";
// }
//if (IsJe == 1 && GoodsPrice > 0 && postfee > GoodsPrice * Convert.ToDecimal(1.2))
//{
// md.PostError = "运费";
//}
//else
//{
DT_TrackCodeScan Model = new DT_TrackCodeScan();
Model.PostId = Post;
Model.OrderId = OrderId;
Model.InName = Name;
Model.InDate = DateTime.Now;
Model.IsSure = 0;
Model.PostFee = 0;
Model.OldPostFee = 0;
Model.Weight = Weight;
Model.BagUserId = BagUserId;
Model.TrackCode = TrackCode;
if (JoinOrderCode != null && JoinOrderCode != "")
Model.OrderCode = JoinOrderCode;
else
Model.OrderCode = OrderCode;
Model.TrackId = TrackId;
Model.Count = 1;
Model.JoinOrderCode = JoinOrderCode;
Model.IsCSM = IsCSM;
DataNew.SaveTrackCodeScan3(Model);
md.PostState = 1;
string log = Model.OrderCode;
if (IsBlank == 1)
log += "空包裹";
PagesNew.SaveLog(UserId, "订单发货", log + "发货扫描", OrderId);
//if (OrderState == 2) //空包裹
//{
// obj.UpdateBlankBagForTM(OrderId, Weight, postfee);
//}
//else
// obj.UpdateOrderGoodsForTM(OrderId, Weight, postfee, JoinOrderCode);
// }
md.PostFee = 0;
return md;
}
#endregion
[WebMethod(EnableSession = true)]
public JsonModel> GetListOrderForTM22(int IsYJ, string MName, string groupName, int StoreId, int DeptId, int PlatType, int ShopId, int DateType, DateTime? SDate, DateTime? EDate, int TjType, string Name, int PrintState, int MateState, int MoneyState, int OutDays, int State, int IsSku, int IsError, int IsE, int IsDetail, int HBOrder, int IsSD, int SaleState, int IsBuy, int WLId, int PostId, int IsDH, int SFLY, int yfcy, int storeyc, int PageIndex, int PageSize, string Sort)
{
PagesNew.Login(base.Session);
DD_OrderData data = new DD_OrderData();
int num = Convert.ToInt32(base.Session["CompanyId"]);
RefParameterCollection where = new RefParameterCollection();
if (storeyc == 1)//仓库异常
{
var olist = DataNew.GetListStoreYC(DateTime.Today);
string sids = "0,";
if (olist != null)
{
foreach (var smd in olist)
{
sids += smd.OrderId.ToString() + ",";
}
}
where.Add("a.OrderId", "in", sids.TrimEnd(','), DbType.String);
}
if (IsYJ == 1)
{
where.Add("a.PlatId", "=", 2, DbType.Int32);
where.Add("isnull(a.Fee6,0)", "=", 0, DbType.Int32);
where.Add("isnull(a.Fee7,0)", "=", 0, DbType.Int32);
where.Add("isnull(a.Fee8,0)", "=", 0, DbType.Int32);
}
if (StoreId > 0)
{
where.Add("a.StoreId", "=", StoreId, DbType.Int32);
}
if (IsBuy == 1)
{
where.Add("a.BuyDate", "is not", null, DbType.String);
}
else if (IsBuy == 0)
{
where.Add("a.BuyDate", "is", null, DbType.String);
}
where.Add("a.CompanyId", "=", num, DbType.Int32);
// where.Add("isnull(a.IsSDan,0)", "=", IsSD, DbType.Int32);
if (yfcy == 1)
where.Add("a.WLSS", "=", 1, DbType.Int32);
if (SaleState > 0)
{
where.Add("a.SaleState", "=", SaleState, DbType.Int32);
}
if (WLId > 0)
{
where.Add("a.LogisticsId", "=", WLId, DbType.Int32);
}
if (PostId > 0)
{
where.Add("a.Post", "=", PostId, DbType.Int32);
}
if (DeptId > 0)
{
where.Add("c.DeptId", "=", DeptId, DbType.Int32);
}
if (PlatType > 0)
{
where.Add("a.PlatId", "=", PlatType, DbType.Int32);
}
if (ShopId > 0)
{
where.Add("a.ShopId", "=", ShopId, DbType.Int32);
}
if (DateType == 1)
{
if (SDate.HasValue)
{
where.Add("a.OrderDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.OrderDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
else if (DateType == 2)
{
if (SDate.HasValue)
{
where.Add("a.InDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.InDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
else if (DateType == 3)
{
if (SDate.HasValue)
{
where.Add("a.PrintDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.PrintDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
else if (DateType == 4)
{
if (SDate.HasValue)
{
where.Add("a.PostDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.PostDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
else if (DateType == 5)
{
if (SDate.HasValue)
{
where.Add("a.OrderOutDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.OrderOutDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
if (OutDays > 0)
{
where.Add("a.OrderOutDate", "<=", DateTime.Now.AddDays((double)OutDays), DbType.DateTime);
where.Add("a.OrderOutDate", ">=", DateTime.Now, DbType.DateTime);
}
if (MateState > -1)
{
where.Add("a.MateState", "=", MateState, DbType.Int32);
}
if (MoneyState > -1)
{
where.Add("a.MoneyState", "=", MoneyState, DbType.Int32);
}
if (PrintState > -1)
{
where.Add("a.PrintState", "=", PrintState, DbType.Int32);
}
if (State == 3)
{
where.Add("a.State", "=", 2, DbType.Int32);
}
else if (State == 4)
{
where.Add("a.State", "=", 3, DbType.Int32);
}
else if (State == 5)
{
where.Add("a.State", "=", 1, DbType.Int32);
where.Add("a.MoneyState", "=", 1, DbType.Int32);
}
else if (State == 7)
{
where.Add("a.OrderState2", "=", 1, DbType.Int32);
}
else if (State == 1)
{
where.Add("a.PostState", "=", 1, DbType.Int32);
}
else if (State == 2)
{
where.Add("a.State", "<", 3, DbType.Int32);
where.Add("a.PostState", "=", 2, DbType.Int32);
}
else if (State == 0)
{
where.Add("a.State", "=", 1, DbType.Int32);
}
else if (State == 8)
{
where.Add("a.State", "<", 3, DbType.Int32);
where.Add("a.PostState", "=", 3, DbType.Int32);
}
else
{
where.Add("a.State", ">", 0, DbType.Int32);
}
if (HBOrder == 1)
{
where.Add("a.IsJoin", "=", 1, DbType.Int32);
}
if (IsError == 1)
{
where.Add("(a.SendAddr", ">", 0, DbType.Int32);
where.Add("a.IsLeaveWord", "=", 1, "or", ")", DbType.Int32);
}
if (IsE == 1)
{
where.Add("a.PostState", "=", 2, DbType.Int32);
}
if (IsE == 0)
{
where.Add("a.PostState", "<", 2, DbType.Int32);
}
string trackCode = "";
if (Name != "")
{
Name = Name.Trim();
if (TjType == 1)
{
where.Add("(a.PlatOrderCode", "like", Name, DbType.String);
where.Add("OrderCode", "like", Name, "or", DbType.String);
where.Add("a.JoinOrderCode", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 2)
{
where.Add("a.RevName", "like", Name, DbType.String);
}
else if (TjType == 3)
{
where.Add("a.RevPhone", "like", Name, DbType.String);
}
else if (TjType == 4)
{
where.Add("(a.RevCountry", "=", Name, DbType.String);
where.Add("a.CountryName", "=", Name, "or", DbType.String);
where.Add("a.CountryCode", "=", Name, "or", ")", DbType.String);
}
else if (TjType == 5)
{
where.Add("a.RevPostCode", "=", Name, DbType.String);
}
else if (TjType == 6)
{
where.Add("(a.RevAddr", "like", Name, DbType.String);
where.Add("a.RevProvince", "like", Name, "or", DbType.String);
where.Add("a.RevCity", "like", Name, "or", DbType.String);
where.Add("a.RevArea", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 9)
{
where.Add("(a.ErrorInfo", "like", Name, DbType.String);
where.Add("a.PostError", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 10)
{
trackCode = Name;
}
else if (TjType == 11)
{
where.Add("a.CustomID", "=", Name, DbType.String);
}
else if (TjType == 12)
{
where.Add("a.RevMail", "=", Name, DbType.String);
}
}
if (IsSku == 0)
{
where.Add("a.FPDate", "is", null, DbType.String);
}
else if (IsSku == 1)
{
where.Add("a.FPDate", "is not", null, DbType.String);
}
JsonModel> model = new JsonModel>();
int rowCount = 0;
string str2 = "";
string str3 = "";
if ((TjType == 7) && (Name != ""))
{
str2 = Name;
}
else if ((TjType == 8) && (Name != ""))
{
str3 = Name;
}
if (TjType == 13 && Name != "")//根据人员查询
{
model.DataSource = DataNew.GetListDT_OrderInfoForUser_New(num, SDate, str2.Trim(), Name, trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount);
}
else
{
//if (SFLY > 0)
//{
// if (SFLY == 1)
// {
// model.DataSource = data.GetListDT_OrderInfoForTM6(num, str2.Trim(), str3.Trim(), trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount);
// }
// if (SFLY == 2)
// {
// model.DataSource = data.GetListDT_OrderInfoForTM7(num, str2.Trim(), str3.Trim(), trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount);
// }
//}
//else
//{
model.DataSource = DataNew.GetListDT_OrderInfoForTM2_New(num, MName, str2.Trim(), str3.Trim(), trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount,groupName);
// }
}
model.RowCount = rowCount;
string ids = "";
List shopids = new List();
DateTime? maxDate = null, minDate = null;
JC_ExpressService wlobj = new JC_ExpressService();
var wlist = wlobj.GetExpressList();
List maplist = null;
if (model.DataSource != null)
{
foreach (DT_OrderListNew md in model.DataSource)
{
ids += md.OrderId.ToString() + ",";
if (md.Post != null && md.Post > 0)
{
var wlmd = wlist.Find(n => n.ExpressID == md.Post);
if (wlmd != null)
{
md.TrackInfo = wlmd.Name;
}
}
if (md.StoreId == 11)
md.RevFax = "E";
else
md.RevFax = "W";
if (md.ShopId.HasValue)
shopids.Add(md.ShopId.Value);
//if (maplist != null && md.RevProvince != null && md.RevProvince != "")
//{
// var mmd = maplist.Find(n => n.code == md.RevProvince.ToUpper() || n.ename == md.RevProvince);
// if (mmd != null)
// {
// if (mmd.IsEast == 1)
// {
// md.RevFax = "E";
// }
// else
// md.RevFax = "W";
// }
//}
}
maxDate = model.DataSource.OrderByDescending(r => r.OrderDate.Value).First().OrderDate.Value;
minDate = model.DataSource.OrderBy(r => r.OrderDate.Value).First().OrderDate.Value;
}
var linklist = new List();
if (ids != "")
{
maplist = DataNew.GetListUSMap4(ids.Trim(','));
List errorList = data.GetErrorList(ids.Trim(','));
linklist = DataNew.GetListMBLinkOrder(ids.Trim(','));
if ((errorList != null) && (errorList.Count > 0))
{
foreach (var md in model.DataSource)
{
DT_OrderError error = errorList.Find(n => n.OrderId == md.OrderId);
if (error != null)
{
md.ErrorInfo = error.ErrorInfo;
}
}
}
}
if (shopids != null && shopids.Count > 0)
shopids = shopids.Distinct().ToList();
List saleBackModelList = null;
List flist = null;
if ((IsDetail == 1) && (model.DataSource != null))
{
int? trackType;
if (ids != "")
{
List orderGoodsList = DataNew.GetOrderGoodsListNew2_New(ids.Trim(','));
List trackCodeApplyList = data.GetTrackCodeApplyList(ids.Trim(','));
//saleBackModelList = data.GetSaleBackModelList(ids.Trim(','));
flist = DataNew.GetOrderFees(ids.Trim(','));
//var pmlist = DataNew.GetOrderGoodsCodeData();
var pmlist = DataNew.GetGoodsRankModelList(string.Join(",", shopids), maxDate, minDate);
List JZLinklist = DataNew.GetListJZLinkOrder(ids.Trim(','));
List adSpendList = DataNew.GetAllGoodWeekAdSpend();
//List orderGoodsAdList = DataNew.GetOrderListGoodsAdFeeByOrderID(ids.Trim(','));
var last2DayadFees = DataNew.GetGoodsLast2DayAdFeeListByOrders(ids.TrimEnd(','));//商品前天的广告花费
if (orderGoodsList != null)
{
foreach (var md in model.DataSource)
{
bool kcW = true; bool kcE = true;//W仓,E仓库存是否足够发货,足够发货才能和UPS比较运费
List list5 = orderGoodsList.FindAll(n => n.OrderId == md.OrderId);
var totalAdfee = 0m;//订单广告总花费
var hyfcj = 0m;//海运费差价
if (list5 != null)
{
md.GoodsList = list5;
foreach (var mdg in md.GoodsList)
{
if (mdg.WestNum < mdg.GoodsNum)
kcW = false;
if (mdg.EastNum < mdg.GoodsNum)
kcE = false;
if (mdg.GoodsId.HasValue && md.ShopId.HasValue)
{
if (adSpendList != null)
{
var adspend = adSpendList.Where(r => r.shopid == md.ShopId.Value && r.goodsid == mdg.GoodsId.Value).FirstOrDefault();
mdg.goodWeekAdFee = adspend == null ? 0 : (adspend.spend.HasValue ? adspend.spend.Value : 0);
}
if (last2DayadFees != null)
{
var last2DayFee = last2DayadFees.Where(r => r.shopid == md.ShopId.Value && r.goodsid == mdg.GoodsId.Value).FirstOrDefault();
mdg.last2DayAdFee = last2DayFee == null ? 0 : (last2DayFee.spend.HasValue ? last2DayFee.spend.Value : 0);
}
//if (orderGoodsAdList != null)
//{
// var adFee = orderGoodsAdList.Where(r => r.OrderDate == md.OrderDate.Value.ToString("yyyy-MM-dd") && r.ShopId == md.ShopId && r.GoodsId == mdg.GoodsId.Value).FirstOrDefault();
// mdg.goodWeekAdFee = adFee == null ? 0 : (adFee.AvgAdfee.HasValue ? adFee.AvgAdfee.Value : 0);
//}
}
else
{
mdg.goodWeekAdFee = 0;
mdg.last2DayAdFee = 0;
}
totalAdfee = totalAdfee + (mdg.adfee.HasValue ? mdg.adfee.Value : 0);
hyfcj += (mdg.GoodsNum.HasValue && mdg.Solid2.HasValue) ? (mdg.GoodsNum.Value * mdg.Solid2.Value) : 0;
}
if (pmlist != null)
{
foreach (var mmd in list5)
{
var pmmd = pmlist.Find(n => n.asin == mmd.productImgUrl2 && n.ShopId == md.ShopId && n.OrderDate.Date == md.OrderDate.Value.Date);
if (pmmd != null)
{
string imgurl = "";
if (pmmd.Int10 != null && pmmd.Int10 == 1)
{
imgurl = "
";
}
if (pmmd.Int10 != null && pmmd.Int10 == 2)
{
imgurl = "
";
}
if (pmmd.Int10 != null && pmmd.Int10 == 3)
{
imgurl = "
";
}
if (pmmd.Int3 < 100)
mmd.OldTypeDesc = "排名:" + pmmd.Int3.ToString();
else
mmd.OldTypeDesc = "排名:" + pmmd.Int3.ToString();
if (pmmd.Int2 != null)
mmd.OldTypeDesc += "/" + pmmd.Int2.ToString();
mmd.OldTypeDesc += "" + imgurl;
}
else
mmd.OldTypeDesc = "";
}
}
}
md.TotalAdFee = totalAdfee;
//ups和fedex比较运费,再东西部都有库存的情况下,UPS需要和Fedex的W仓和E仓两个二比较,
//如果收货地址是Residential住宅区,则UPS和Fedex的Smart_Post、GROUND_HOME_DELIVERY比较;
//如果收货地址是Commercial或者Office,ups就和Fedex的Smart_Post、Fedex_Ground比较;Fedex的E仓比较时需要加上海运费差价
if (md.UpsFeeR.HasValue)
{
if (md.AddressType == "Commercial" || md.AddressType == "Office")
{
if (kcW)
{
md.UPSFee = (md.UpsFeeR < md.Fee6 && md.UpsFeeR < md.Fee7) ? md.UpsFeeR : 0;
}
if (kcE)
{
if (!kcW || (md.UPSFee.HasValue && md.UPSFee.Value > 0)) //如果西部没有库存 或者 此时md.UPSFee有值并且大于0,说明UPS快递费小于Fedex的西部费用,接下来和Fedex的东部费用比较
{
md.UPSFee = (md.UpsFeeR < (md.Fee11 + hyfcj * 30) && md.UpsFeeR < (md.Fee12 + hyfcj * 30)) ? md.UpsFeeR : 0;
}
else
md.UPSFee = 0;
}
}
else
{
if (kcW)
{
md.UPSFee = (md.UpsFeeR < md.Fee6 && md.UpsFeeR < md.Fee8) ? md.UpsFeeR : 0;
}
if (kcE)
{
if (!kcW || (md.UPSFee.HasValue && md.UPSFee.Value > 0)) //如果西部没有库存 或者 此时md.UPSFee有值并且大于0,说明UPS快递费小于Fedex的西部费用,接下来和Fedex的东部费用比较
{
md.UPSFee = (md.UpsFeeR < (md.Fee11 + hyfcj * 30) && md.UpsFeeR < (md.Fee13 + hyfcj * 30)) ? md.UpsFeeR : 0;
}
else
md.UPSFee = 0;
}
}
}
else
md.UPSFee = 0;
//if (md.UpsFeeR.HasValue && md.UpsFeeE.HasValue)
//{
// md.UPSFee = md.UpsFeeR > md.UpsFeeE ? md.UpsFeeE : md.UpsFeeR;
//}
//else if (!md.UpsFeeR.HasValue && !md.UpsFeeE.HasValue)
//{
// md.UPSFee = 0;
//}
//else
//{
// md.UPSFee = md.UpsFeeR.HasValue ? md.UpsFeeR.Value : md.UpsFeeE.Value;
//}
//if (md.UPSFee > md.Fee8 || md.UPSFee > (md.Fee13 + hyfcj * 30))
//{
// md.UPSFee = 0;
//}
}
}
if (trackCodeApplyList != null)
{
foreach (var md in model.DataSource)
{
List list6 = new List();
if ((md.JoinOrderCode != null) && (md.JoinOrderCode != ""))
{
list6 = trackCodeApplyList.FindAll(n => n.OrderCode == md.JoinOrderCode);
}
else
{
list6 = trackCodeApplyList.FindAll(n => n.OrderId == md.OrderId);
}
if ((list6 != null) && (list6.Count > 0))
{
string str5 = "";
string str6 = "";
foreach (DT_TrackCodeApply apply in list6)
{
string str7 = "";
trackType = apply.TrackType;
if (trackType != null && trackType == 3)
{
str7 = "[空包裹]";
}
if (apply.Weight.HasValue)
{
string str8 = "";
if (apply.ScanDate.HasValue)
{
str8 = "扫描时间:" + apply.ScanDate.Value.ToString("yyyy-MM-dd HH:mm") + "
";
}
string str9 = str5;
str5 = str9 + apply.TrackCode + str7 + "
重量" + apply.Weight.ToString() + "g" + str8 + "
";
}
else
{
str5 = str5 + apply.TrackCode + str7 + "
";
}
if (str6 == "")
{
str6 = apply.TrackCode;
}
}
md.TrackInfo += str5;
md.TrackCode = str6;
}
}
}
decimal moneyrate = Convert.ToDecimal((double)6.5);
List list7 = new BaseService().GetMoneyList2();
//decimal ckfee = 0;
//decimal mdfee = 0;
//decimal adfee = 0;
//decimal DR_BackFee = 0;
//decimal DR_SSFee = 0;
//decimal DR_PostFee = 0;
foreach (var md in model.DataSource)
{
var fmd = flist.Find(n => n.orderid == md.OrderId);
if (fmd == null)
fmd = new DT_Fees();
md.OrderName = (fmd != null && fmd.SubsidyFee.HasValue && fmd.SubsidyFee.Value > 0) ? fmd.SubsidyFee.Value.ToString("0.00") : "";
#region 注释竞品信息改为显示补贴金额2024-05-17
//string jplink = "";
//if (linklist != null)
//{
// var lmdlist = linklist.FindAll(n => n.OrderId == md.OrderId && n.ShopId == md.ShopId);
// if (lmdlist != null)
// {
// foreach (var lmd in lmdlist)
// {
// int pm2 = 0;
// var pmmd = pmlist != null ? pmlist.Find(n => n.GoodsId == lmd.GoodsId && n.ShopId == md.ShopId) : null;
// if (pmmd != null && pmmd.Int3 != null)
// {
// pm2 = pmmd.Int3.Value;
// }
// if (lmdlist.Count > 1)
// jplink += "" + lmd.SKU1 + ":【S】" + lmd.GoodsHJNum2 + "";
// else
// jplink += "【S】" + lmd.GoodsHJNum2 + "";
// if (lmd.Num != null)
// {
// if (lmd.GoodsHJNum2 >= lmd.Num)
// jplink += "【TS】" + lmd.Num + "";
// else
// jplink += "【TS】" + lmd.Num + "";
// }
// jplink += "
";
// if (pm2 > 0)
// jplink += "【R】" + pm2 + "";
// else
// jplink += "【R】无";
// if (lmd.PM != null)
// {
// if (pm2 > 0 && lmd.PM >= pm2)
// jplink += "【TR】" + lmd.PM + "";
// else
// jplink += "【TR】" + lmd.PM + "";
// }
// jplink += "
";
// }
// }
// md.OrderName = jplink;
//}
//if (JZLinklist != null)
//{
// var jzmd = JZLinklist.FindAll(n => n.OrderId == md.OrderId && n.ShopId == md.ShopId);
// if (jzmd != null)
// {
// int i = 1;
// foreach (var jzmmd in jzmd)
// {
// if (jzmmd.Price != null)
// jplink += "竟品" + i.ToString() + "价格:" + jzmmd.Price.Value + "$
";
// else
// jplink += "竟品" + i.ToString() + "
";
// i++;
// }
// }
// md.OrderName = jplink;
//}
#endregion
if (fmd.moneyrate != null)
moneyrate = fmd.moneyrate.Value;
else
{
JC_Money money = list7.Find(n => n.MCode == "USD" && n.PlatId == md.PlatId);
if (money != null)
{
moneyrate = money.MRate.Value;
}
else
{
money = list7.Find(n => n.MCode == "USD");
moneyrate = money.MRate.Value;
}
}
decimal TotalPrice = 0M;
if (md.TotalPrice != null)
{
TotalPrice = md.TotalPrice.Value;
}
decimal YJPrice = 0M;
decimal sjyf = 0;
if (fmd.sjyf != null)
sjyf = fmd.sjyf.Value;
decimal ygyf = 0;
if (fmd.yf != null)
ygyf = fmd.yf.Value;
md.PostFee = sjyf;
md.BoxFee = ygyf;
if (fmd.yj != null)
YJPrice = fmd.yj.Value;
decimal GoodsFee = 0;
if (fmd.sjcb != null)
GoodsFee = fmd.sjcb.Value;
if (fmd.sjhwsf != null)
GoodsFee += fmd.sjhwsf.Value;
if (moneyrate == 0)
moneyrate = 6.5M;
GoodsFee = GoodsFee / moneyrate;
decimal YJGoodsFee = 0;
if (fmd.cb != null)
YJGoodsFee = fmd.cb.Value;
if (fmd.hwsf != null)
YJGoodsFee += fmd.hwsf.Value;
md.Fee8 = 0;
md.Fee8 = fmd.ck;
decimal sjtc = 0;
if (fmd.sjtc == null || fmd.sjtc == 0)
sjtc = fmd.tc.Value;
else
sjtc = fmd.sjtc.Value;
YJGoodsFee = YJGoodsFee / moneyrate;
if (md.PlatId != 2)
md.TotalAdFee = fmd.Ad_Fee;
decimal LR = TotalPrice - YJPrice - fmd.escrowFee.Value - GoodsFee - sjyf - sjtc - fmd.DR_BackFee.Value - fmd.DR_PostFee.Value - fmd.Other_Fee.Value + fmd.DR_SSFee.Value - fmd.md.Value + fmd.SubsidyFee.Value - (md.TotalAdFee.HasValue ? md.TotalAdFee.Value : 0);
decimal YGLR = TotalPrice - YJPrice - fmd.escrowFee.Value - YJGoodsFee - ygyf - fmd.tc.Value - fmd.DR_PostFee.Value - fmd.Other_Fee.Value + fmd.DR_SSFee.Value - fmd.md.Value + fmd.SubsidyFee.Value - (md.TotalAdFee.HasValue ? md.TotalAdFee.Value : 0);
md.LR = new decimal?(Convert.ToDecimal(LR.ToString("0.00")));
md.YGLR = new decimal?(Convert.ToDecimal(YGLR.ToString("0.00")));
}
}
}
return model;
}
#region 为新系统单个人订单查询
[WebMethod(EnableSession = true)]
public JsonModel> GetListOrderForTM22ForPerson(int IsYJ, string MName, string groupName, int StoreId, int DeptId, int PlatType, int ShopId, int DateType, DateTime? SDate, DateTime? EDate, int TjType, string Name, int PrintState, int MateState, int MoneyState, int OutDays, int State, int IsSku, int IsError, int IsE, int IsDetail, int HBOrder, int IsSD, int SaleState, int IsBuy, int WLId, int PostId, int IsDH, int SFLY, int yfcy, int storeyc, int PageIndex, int PageSize, string Sort)
{
PagesNew.Login(base.Session);
DD_OrderData data = new DD_OrderData();
int num = Convert.ToInt32(base.Session["CompanyId"]);
RefParameterCollection where = new RefParameterCollection();
if (storeyc == 1)//仓库异常
{
var olist = DataNew.GetListStoreYC(DateTime.Today);
string sids = "0,";
if (olist != null)
{
foreach (var smd in olist)
{
sids += smd.OrderId.ToString() + ",";
}
}
where.Add("a.OrderId", "in", sids.TrimEnd(','), DbType.String);
}
if (IsYJ == 1)
{
where.Add("a.PlatId", "=", 2, DbType.Int32);
where.Add("isnull(a.Fee6,0)", "=", 0, DbType.Int32);
where.Add("isnull(a.Fee7,0)", "=", 0, DbType.Int32);
where.Add("isnull(a.Fee8,0)", "=", 0, DbType.Int32);
}
if (StoreId > 0)
{
where.Add("a.StoreId", "=", StoreId, DbType.Int32);
}
if (IsBuy == 1)
{
where.Add("a.BuyDate", "is not", null, DbType.String);
}
else if (IsBuy == 0)
{
where.Add("a.BuyDate", "is", null, DbType.String);
}
where.Add("a.CompanyId", "=", num, DbType.Int32);
// where.Add("isnull(a.IsSDan,0)", "=", IsSD, DbType.Int32);
if (yfcy == 1)
where.Add("a.WLSS", "=", 1, DbType.Int32);
if (SaleState > 0)
{
where.Add("a.SaleState", "=", SaleState, DbType.Int32);
}
if (WLId > 0)
{
where.Add("a.LogisticsId", "=", WLId, DbType.Int32);
}
if (PostId > 0)
{
where.Add("a.Post", "=", PostId, DbType.Int32);
}
if (DeptId > 0)
{
where.Add("c.DeptId", "=", DeptId, DbType.Int32);
}
if (PlatType > 0)
{
where.Add("a.PlatId", "=", PlatType, DbType.Int32);
}
if (ShopId > 0)
{
where.Add("a.ShopId", "=", ShopId, DbType.Int32);
}
if (DateType == 1)
{
if (SDate.HasValue)
{
where.Add("a.OrderDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.OrderDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
else if (DateType == 2)
{
if (SDate.HasValue)
{
where.Add("a.InDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.InDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
else if (DateType == 3)
{
if (SDate.HasValue)
{
where.Add("a.PrintDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.PrintDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
else if (DateType == 4)
{
if (SDate.HasValue)
{
where.Add("a.PostDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.PostDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
else if (DateType == 5)
{
if (SDate.HasValue)
{
where.Add("a.OrderOutDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.OrderOutDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
if (OutDays > 0)
{
where.Add("a.OrderOutDate", "<=", DateTime.Now.AddDays((double)OutDays), DbType.DateTime);
where.Add("a.OrderOutDate", ">=", DateTime.Now, DbType.DateTime);
}
if (MateState > -1)
{
where.Add("a.MateState", "=", MateState, DbType.Int32);
}
if (MoneyState > -1)
{
where.Add("a.MoneyState", "=", MoneyState, DbType.Int32);
}
if (PrintState > -1)
{
where.Add("a.PrintState", "=", PrintState, DbType.Int32);
}
if (State == 3)
{
where.Add("a.State", "=", 2, DbType.Int32);
}
else if (State == 4)
{
where.Add("a.State", "=", 3, DbType.Int32);
}
else if (State == 5)
{
where.Add("a.State", "=", 1, DbType.Int32);
where.Add("a.MoneyState", "=", 1, DbType.Int32);
}
else if (State == 7)
{
where.Add("a.OrderState2", "=", 1, DbType.Int32);
}
else if (State == 1)
{
where.Add("a.PostState", "=", 1, DbType.Int32);
}
else if (State == 2)
{
where.Add("a.State", "<", 3, DbType.Int32);
where.Add("a.PostState", "=", 2, DbType.Int32);
}
else if (State == 0)
{
where.Add("a.State", "=", 1, DbType.Int32);
}
else if (State == 8)
{
where.Add("a.State", "<", 3, DbType.Int32);
where.Add("a.PostState", "=", 3, DbType.Int32);
}
else
{
where.Add("a.State", ">", 0, DbType.Int32);
}
if (HBOrder == 1)
{
where.Add("a.IsJoin", "=", 1, DbType.Int32);
}
if (IsError == 1)
{
where.Add("(a.SendAddr", ">", 0, DbType.Int32);
where.Add("a.IsLeaveWord", "=", 1, "or", ")", DbType.Int32);
}
if (IsE == 1)
{
where.Add("a.PostState", "=", 2, DbType.Int32);
}
if (IsE == 0)
{
where.Add("a.PostState", "<", 2, DbType.Int32);
}
string trackCode = "";
if (Name != "")
{
Name = Name.Trim();
if (TjType == 1)
{
where.Add("(a.PlatOrderCode", "like", Name, DbType.String);
where.Add("OrderCode", "like", Name, "or", DbType.String);
where.Add("a.JoinOrderCode", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 2)
{
where.Add("a.RevName", "like", Name, DbType.String);
}
else if (TjType == 3)
{
where.Add("a.RevPhone", "like", Name, DbType.String);
}
else if (TjType == 4)
{
where.Add("(a.RevCountry", "=", Name, DbType.String);
where.Add("a.CountryName", "=", Name, "or", DbType.String);
where.Add("a.CountryCode", "=", Name, "or", ")", DbType.String);
}
else if (TjType == 5)
{
where.Add("a.RevPostCode", "=", Name, DbType.String);
}
else if (TjType == 6)
{
where.Add("(a.RevAddr", "like", Name, DbType.String);
where.Add("a.RevProvince", "like", Name, "or", DbType.String);
where.Add("a.RevCity", "like", Name, "or", DbType.String);
where.Add("a.RevArea", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 9)
{
where.Add("(a.ErrorInfo", "like", Name, DbType.String);
where.Add("a.PostError", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 10)
{
trackCode = Name;
}
else if (TjType == 11)
{
where.Add("a.CustomID", "=", Name, DbType.String);
}
else if (TjType == 12)
{
where.Add("a.RevMail", "=", Name, DbType.String);
}
}
if (IsSku == 0)
{
where.Add("a.FPDate", "is", null, DbType.String);
}
else if (IsSku == 1)
{
where.Add("a.FPDate", "is not", null, DbType.String);
}
JsonModel> model = new JsonModel>();
int rowCount = 0;
string str2 = "";
string str3 = "";
if ((TjType == 7) && (Name != ""))
{
str2 = Name;
}
else if ((TjType == 8) && (Name != ""))
{
str3 = Name;
}
if (TjType == 13 && Name != "")//根据人员查询
{
model.DataSource = DataNew.GetListDT_OrderInfoForUser_New(num, SDate, str2.Trim(), Name, trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount);
}
else
{
//if (SFLY > 0)
//{
// if (SFLY == 1)
// {
// model.DataSource = data.GetListDT_OrderInfoForTM6(num, str2.Trim(), str3.Trim(), trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount);
// }
// if (SFLY == 2)
// {
// model.DataSource = data.GetListDT_OrderInfoForTM7(num, str2.Trim(), str3.Trim(), trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount);
// }
//}
//else
//{
model.DataSource = DataNew.GetListDT_OrderInfoForTM2_New(num, MName, str2.Trim(), str3.Trim(), trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount, groupName);
// }
}
model.RowCount = rowCount;
string ids = "";
List shopids = new List();
DateTime? maxDate = null, minDate = null;
JC_ExpressService wlobj = new JC_ExpressService();
var wlist = wlobj.GetExpressList();
List maplist = null;
if (model.DataSource != null)
{
foreach (DT_OrderListNew md in model.DataSource)
{
ids += md.OrderId.ToString() + ",";
if (md.Post != null && md.Post > 0)
{
var wlmd = wlist.Find(n => n.ExpressID == md.Post);
if (wlmd != null)
{
md.TrackInfo = wlmd.Name;
}
}
if (md.StoreId == 11)
md.RevFax = "E";
else
md.RevFax = "W";
if (md.ShopId.HasValue)
shopids.Add(md.ShopId.Value);
//if (maplist != null && md.RevProvince != null && md.RevProvince != "")
//{
// var mmd = maplist.Find(n => n.code == md.RevProvince.ToUpper() || n.ename == md.RevProvince);
// if (mmd != null)
// {
// if (mmd.IsEast == 1)
// {
// md.RevFax = "E";
// }
// else
// md.RevFax = "W";
// }
//}
}
maxDate = model.DataSource.OrderByDescending(r => r.OrderDate.Value).First().OrderDate.Value;
minDate = model.DataSource.OrderBy(r => r.OrderDate.Value).First().OrderDate.Value;
}
var linklist = new List();
if (ids != "")
{
maplist = DataNew.GetListUSMap4(ids.Trim(','));
List errorList = data.GetErrorList(ids.Trim(','));
linklist = DataNew.GetListMBLinkOrder(ids.Trim(','));
if ((errorList != null) && (errorList.Count > 0))
{
foreach (var md in model.DataSource)
{
DT_OrderError error = errorList.Find(n => n.OrderId == md.OrderId);
if (error != null)
{
md.ErrorInfo = error.ErrorInfo;
}
}
}
}
if (shopids != null && shopids.Count > 0)
shopids = shopids.Distinct().ToList();
List saleBackModelList = null;
List flist = null;
if ((IsDetail == 1) && (model.DataSource != null))
{
int? trackType;
if (ids != "")
{
List orderGoodsList = DataNew.GetOrderGoodsListNew2_New(ids.Trim(','));
List trackCodeApplyList = data.GetTrackCodeApplyList(ids.Trim(','));
//saleBackModelList = data.GetSaleBackModelList(ids.Trim(','));
flist = DataNew.GetOrderFees(ids.Trim(','));
//var pmlist = DataNew.GetOrderGoodsCodeData();
var pmlist = DataNew.GetGoodsRankModelList(string.Join(",", shopids), maxDate, minDate);
List JZLinklist = DataNew.GetListJZLinkOrder(ids.Trim(','));
List adSpendList = DataNew.GetAllGoodWeekAdSpend();
//List orderGoodsAdList = DataNew.GetOrderListGoodsAdFeeByOrderID(ids.Trim(','));
var last2DayadFees = DataNew.GetGoodsLast2DayAdFeeListByOrders(ids.TrimEnd(','));//商品前天的广告花费
if (orderGoodsList != null)
{
foreach (var md in model.DataSource)
{
bool kcW = true; bool kcE = true;//W仓,E仓库存是否足够发货,足够发货才能和UPS比较运费
List list5 = orderGoodsList.FindAll(n => n.OrderId == md.OrderId);
var totalAdfee = 0m;//订单广告总花费
var hyfcj = 0m;//海运费差价
if (list5 != null)
{
md.GoodsList = list5;
foreach (var mdg in md.GoodsList)
{
if (mdg.WestNum < mdg.GoodsNum)
kcW = false;
if (mdg.EastNum < mdg.GoodsNum)
kcE = false;
if (mdg.GoodsId.HasValue && md.ShopId.HasValue)
{
if (adSpendList != null)
{
var adspend = adSpendList.Where(r => r.shopid == md.ShopId.Value && r.goodsid == mdg.GoodsId.Value).FirstOrDefault();
mdg.goodWeekAdFee = adspend == null ? 0 : (adspend.spend.HasValue ? adspend.spend.Value : 0);
}
if (last2DayadFees != null)
{
var last2DayFee = last2DayadFees.Where(r => r.shopid == md.ShopId.Value && r.goodsid == mdg.GoodsId.Value).FirstOrDefault();
mdg.last2DayAdFee = last2DayFee == null ? 0 : (last2DayFee.spend.HasValue ? last2DayFee.spend.Value : 0);
}
//if (orderGoodsAdList != null)
//{
// var adFee = orderGoodsAdList.Where(r => r.OrderDate == md.OrderDate.Value.ToString("yyyy-MM-dd") && r.ShopId == md.ShopId && r.GoodsId == mdg.GoodsId.Value).FirstOrDefault();
// mdg.goodWeekAdFee = adFee == null ? 0 : (adFee.AvgAdfee.HasValue ? adFee.AvgAdfee.Value : 0);
//}
}
else
{
mdg.goodWeekAdFee = 0;
mdg.last2DayAdFee = 0;
}
totalAdfee = totalAdfee + (mdg.adfee.HasValue ? mdg.adfee.Value : 0);
hyfcj += (mdg.GoodsNum.HasValue && mdg.Solid2.HasValue) ? (mdg.GoodsNum.Value * mdg.Solid2.Value) : 0;
}
if (pmlist != null)
{
foreach (var mmd in list5)
{
var pmmd = pmlist.Find(n => n.asin == mmd.productImgUrl2 && n.ShopId == md.ShopId && n.OrderDate.Date == md.OrderDate.Value.Date);
if (pmmd != null)
{
string imgurl = "";
if (pmmd.Int10 != null && pmmd.Int10 == 1)
{
imgurl = "
";
}
if (pmmd.Int10 != null && pmmd.Int10 == 2)
{
imgurl = "
";
}
if (pmmd.Int10 != null && pmmd.Int10 == 3)
{
imgurl = "
";
}
if (pmmd.Int3 < 100)
mmd.OldTypeDesc = "排名:" + pmmd.Int3.ToString();
else
mmd.OldTypeDesc = "排名:" + pmmd.Int3.ToString();
if (pmmd.Int2 != null)
mmd.OldTypeDesc += "/" + pmmd.Int2.ToString();
mmd.OldTypeDesc += "" + imgurl;
}
else
mmd.OldTypeDesc = "";
}
}
}
md.TotalAdFee = totalAdfee;
//ups和fedex比较运费,再东西部都有库存的情况下,UPS需要和Fedex的W仓和E仓两个二比较,
//如果收货地址是Residential住宅区,则UPS和Fedex的Smart_Post、GROUND_HOME_DELIVERY比较;
//如果收货地址是Commercial或者Office,ups就和Fedex的Smart_Post、Fedex_Ground比较;Fedex的E仓比较时需要加上海运费差价
if (md.UpsFeeR.HasValue)
{
if (md.AddressType == "Commercial" || md.AddressType == "Office")
{
if (kcW)
{
md.UPSFee = (md.UpsFeeR < md.Fee6 && md.UpsFeeR < md.Fee7) ? md.UpsFeeR : 0;
}
if (kcE)
{
if (!kcW || (md.UPSFee.HasValue && md.UPSFee.Value > 0)) //如果西部没有库存 或者 此时md.UPSFee有值并且大于0,说明UPS快递费小于Fedex的西部费用,接下来和Fedex的东部费用比较
{
md.UPSFee = (md.UpsFeeR < (md.Fee11 + hyfcj * 30) && md.UpsFeeR < (md.Fee12 + hyfcj * 30)) ? md.UpsFeeR : 0;
}
else
md.UPSFee = 0;
}
}
else
{
if (kcW)
{
md.UPSFee = (md.UpsFeeR < md.Fee6 && md.UpsFeeR < md.Fee8) ? md.UpsFeeR : 0;
}
if (kcE)
{
if (!kcW || (md.UPSFee.HasValue && md.UPSFee.Value > 0)) //如果西部没有库存 或者 此时md.UPSFee有值并且大于0,说明UPS快递费小于Fedex的西部费用,接下来和Fedex的东部费用比较
{
md.UPSFee = (md.UpsFeeR < (md.Fee11 + hyfcj * 30) && md.UpsFeeR < (md.Fee13 + hyfcj * 30)) ? md.UpsFeeR : 0;
}
else
md.UPSFee = 0;
}
}
}
else
md.UPSFee = 0;
//if (md.UpsFeeR.HasValue && md.UpsFeeE.HasValue)
//{
// md.UPSFee = md.UpsFeeR > md.UpsFeeE ? md.UpsFeeE : md.UpsFeeR;
//}
//else if (!md.UpsFeeR.HasValue && !md.UpsFeeE.HasValue)
//{
// md.UPSFee = 0;
//}
//else
//{
// md.UPSFee = md.UpsFeeR.HasValue ? md.UpsFeeR.Value : md.UpsFeeE.Value;
//}
//if (md.UPSFee > md.Fee8 || md.UPSFee > (md.Fee13 + hyfcj * 30))
//{
// md.UPSFee = 0;
//}
}
}
if (trackCodeApplyList != null)
{
foreach (var md in model.DataSource)
{
List list6 = new List();
if ((md.JoinOrderCode != null) && (md.JoinOrderCode != ""))
{
list6 = trackCodeApplyList.FindAll(n => n.OrderCode == md.JoinOrderCode);
}
else
{
list6 = trackCodeApplyList.FindAll(n => n.OrderId == md.OrderId);
}
if ((list6 != null) && (list6.Count > 0))
{
string str5 = "";
string str6 = "";
foreach (DT_TrackCodeApply apply in list6)
{
string str7 = "";
trackType = apply.TrackType;
if (trackType != null && trackType == 3)
{
str7 = "[空包裹]";
}
if (apply.Weight.HasValue)
{
string str8 = "";
if (apply.ScanDate.HasValue)
{
str8 = "扫描时间:" + apply.ScanDate.Value.ToString("yyyy-MM-dd HH:mm") + "
";
}
string str9 = str5;
str5 = str9 + apply.TrackCode + str7 + "
重量" + apply.Weight.ToString() + "g" + str8 + "
";
}
else
{
str5 = str5 + apply.TrackCode + str7 + "
";
}
if (str6 == "")
{
str6 = apply.TrackCode;
}
}
md.TrackInfo += str5;
md.TrackCode = str6;
}
}
}
decimal moneyrate = Convert.ToDecimal((double)6.5);
List list7 = new BaseService().GetMoneyList2();
//decimal ckfee = 0;
//decimal mdfee = 0;
//decimal adfee = 0;
//decimal DR_BackFee = 0;
//decimal DR_SSFee = 0;
//decimal DR_PostFee = 0;
foreach (var md in model.DataSource)
{
var fmd = flist.Find(n => n.orderid == md.OrderId);
if (fmd == null)
fmd = new DT_Fees();
md.OrderName = (fmd != null && fmd.SubsidyFee.HasValue && fmd.SubsidyFee.Value > 0) ? fmd.SubsidyFee.Value.ToString("0.00") : "";
#region 注释竞品信息改为显示补贴金额2024-05-17
//string jplink = "";
//if (linklist != null)
//{
// var lmdlist = linklist.FindAll(n => n.OrderId == md.OrderId && n.ShopId == md.ShopId);
// if (lmdlist != null)
// {
// foreach (var lmd in lmdlist)
// {
// int pm2 = 0;
// var pmmd = pmlist != null ? pmlist.Find(n => n.GoodsId == lmd.GoodsId && n.ShopId == md.ShopId) : null;
// if (pmmd != null && pmmd.Int3 != null)
// {
// pm2 = pmmd.Int3.Value;
// }
// if (lmdlist.Count > 1)
// jplink += "" + lmd.SKU1 + ":【S】" + lmd.GoodsHJNum2 + "";
// else
// jplink += "【S】" + lmd.GoodsHJNum2 + "";
// if (lmd.Num != null)
// {
// if (lmd.GoodsHJNum2 >= lmd.Num)
// jplink += "【TS】" + lmd.Num + "";
// else
// jplink += "【TS】" + lmd.Num + "";
// }
// jplink += "
";
// if (pm2 > 0)
// jplink += "【R】" + pm2 + "";
// else
// jplink += "【R】无";
// if (lmd.PM != null)
// {
// if (pm2 > 0 && lmd.PM >= pm2)
// jplink += "【TR】" + lmd.PM + "";
// else
// jplink += "【TR】" + lmd.PM + "";
// }
// jplink += "
";
// }
// }
// md.OrderName = jplink;
//}
//if (JZLinklist != null)
//{
// var jzmd = JZLinklist.FindAll(n => n.OrderId == md.OrderId && n.ShopId == md.ShopId);
// if (jzmd != null)
// {
// int i = 1;
// foreach (var jzmmd in jzmd)
// {
// if (jzmmd.Price != null)
// jplink += "竟品" + i.ToString() + "价格:" + jzmmd.Price.Value + "$
";
// else
// jplink += "竟品" + i.ToString() + "
";
// i++;
// }
// }
// md.OrderName = jplink;
//}
#endregion
if (fmd.moneyrate != null)
moneyrate = fmd.moneyrate.Value;
else
{
JC_Money money = list7.Find(n => n.MCode == "USD" && n.PlatId == md.PlatId);
if (money != null)
{
moneyrate = money.MRate.Value;
}
else
{
money = list7.Find(n => n.MCode == "USD");
moneyrate = money.MRate.Value;
}
}
decimal TotalPrice = 0M;
if (md.TotalPrice != null)
{
TotalPrice = md.TotalPrice.Value;
}
decimal YJPrice = 0M;
decimal sjyf = 0;
if (fmd.sjyf != null)
sjyf = fmd.sjyf.Value;
decimal ygyf = 0;
if (fmd.yf != null)
ygyf = fmd.yf.Value;
md.PostFee = sjyf;
md.BoxFee = ygyf;
if (fmd.yj != null)
YJPrice = fmd.yj.Value;
decimal GoodsFee = 0;
if (fmd.sjcb != null)
GoodsFee = fmd.sjcb.Value;
if (fmd.sjhwsf != null)
GoodsFee += fmd.sjhwsf.Value;
if (moneyrate == 0)
moneyrate = 6.5M;
GoodsFee = GoodsFee / moneyrate;
decimal YJGoodsFee = 0;
if (fmd.cb != null)
YJGoodsFee = fmd.cb.Value;
if (fmd.hwsf != null)
YJGoodsFee += fmd.hwsf.Value;
md.Fee8 = 0;
md.Fee8 = fmd.ck;
decimal sjtc = 0;
if (fmd.sjtc == null || fmd.sjtc == 0)
sjtc = fmd.tc.Value;
else
sjtc = fmd.sjtc.Value;
YJGoodsFee = YJGoodsFee / moneyrate;
if (md.PlatId != 2)
md.TotalAdFee = fmd.Ad_Fee;
decimal LR = TotalPrice - YJPrice - fmd.escrowFee.Value - GoodsFee - sjyf - sjtc - fmd.DR_BackFee.Value - fmd.DR_PostFee.Value - fmd.Other_Fee.Value + fmd.DR_SSFee.Value - fmd.md.Value + fmd.SubsidyFee.Value - (md.TotalAdFee.HasValue ? md.TotalAdFee.Value : 0);
decimal YGLR = TotalPrice - YJPrice - fmd.escrowFee.Value - YJGoodsFee - ygyf - fmd.tc.Value - fmd.DR_PostFee.Value - fmd.Other_Fee.Value + fmd.DR_SSFee.Value - fmd.md.Value + fmd.SubsidyFee.Value - (md.TotalAdFee.HasValue ? md.TotalAdFee.Value : 0);
md.LR = new decimal?(Convert.ToDecimal(LR.ToString("0.00")));
md.YGLR = new decimal?(Convert.ToDecimal(YGLR.ToString("0.00")));
}
}
}
return model;
}
#endregion
[WebMethod(EnableSession = true)]
public JsonModel> GetListOrderForTM22_old(int IsYJ,string MName, int StoreId, int DeptId, int PlatType, int ShopId, int DateType, DateTime? SDate, DateTime? EDate, int TjType, string Name, int PrintState, int MateState, int MoneyState, int OutDays, int State, int IsSku, int IsError, int IsE, int IsDetail, int HBOrder, int IsSD, int SaleState, int IsBuy, int WLId, int IsDH, int SFLY, int yfcy,int storeyc, int PageIndex, int PageSize, string Sort)
{
PagesNew.Login(base.Session);
DD_OrderData data = new DD_OrderData();
int num = Convert.ToInt32(base.Session["CompanyId"]);
RefParameterCollection where = new RefParameterCollection();
if (storeyc == 1)//仓库异常
{
var olist = DataNew.GetListStoreYC(DateTime.Today);
string sids = "0,";
if (olist !=null)
{
foreach (var smd in olist)
{
sids += smd.OrderId.ToString() + ",";
}
}
where.Add("a.OrderId", "in", sids.TrimEnd(','), DbType.String);
}
if (IsYJ == 1)
{
where.Add("a.PlatId", "=", 2, DbType.Int32);
where.Add("isnull(a.Fee6,0)", "=", 0, DbType.Int32);
where.Add("isnull(a.Fee7,0)", "=", 0, DbType.Int32);
where.Add("isnull(a.Fee8,0)", "=", 0, DbType.Int32);
}
if (StoreId > 0)
{
where.Add("a.StoreId", "=", StoreId, DbType.Int32);
}
if (IsBuy == 1)
{
where.Add("a.BuyDate", "is not", null, DbType.String);
}
else if (IsBuy == 0)
{
where.Add("a.BuyDate", "is", null, DbType.String);
}
where.Add("a.CompanyId", "=", num, DbType.Int32);
// where.Add("isnull(a.IsSDan,0)", "=", IsSD, DbType.Int32);
if (yfcy == 1)
where.Add("a.WLSS", "=", 1, DbType.Int32);
if (SaleState > 0)
{
where.Add("a.SaleState", "=", SaleState, DbType.Int32);
}
if (WLId > 0)
{
where.Add("a.LogisticsId", "=", WLId, DbType.Int32);
}
if (DeptId > 0)
{
where.Add("c.DeptId", "=", DeptId, DbType.Int32);
}
if (PlatType > 0)
{
where.Add("a.PlatId", "=", PlatType, DbType.Int32);
}
if (ShopId > 0)
{
where.Add("a.ShopId", "=", ShopId, DbType.Int32);
}
if (DateType == 1)
{
if (SDate.HasValue)
{
where.Add("a.OrderDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.OrderDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
else if (DateType == 2)
{
if (SDate.HasValue)
{
where.Add("a.InDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.InDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
else if (DateType == 3)
{
if (SDate.HasValue)
{
where.Add("a.PrintDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.PrintDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
else if (DateType == 4)
{
if (SDate.HasValue)
{
where.Add("a.PostDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.PostDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
else if (DateType == 5)
{
if (SDate.HasValue)
{
where.Add("a.OrderOutDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.OrderOutDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
if (OutDays > 0)
{
where.Add("a.OrderOutDate", "<=", DateTime.Now.AddDays((double)OutDays), DbType.DateTime);
where.Add("a.OrderOutDate", ">=", DateTime.Now, DbType.DateTime);
}
if (MateState > -1)
{
where.Add("a.MateState", "=", MateState, DbType.Int32);
}
if (MoneyState > -1)
{
where.Add("a.MoneyState", "=", MoneyState, DbType.Int32);
}
if (PrintState > -1)
{
where.Add("a.PrintState", "=", PrintState, DbType.Int32);
}
if (State == 3)
{
where.Add("a.State", "=", 2, DbType.Int32);
}
else if (State == 4)
{
where.Add("a.State", "=", 3, DbType.Int32);
}
else if (State == 5)
{
where.Add("a.State", "=", 1, DbType.Int32);
where.Add("a.MoneyState", "=", 1, DbType.Int32);
}
else if (State == 7)
{
where.Add("a.OrderState2", "=", 1, DbType.Int32);
}
else if (State == 1)
{
where.Add("a.PostState", "=", 1, DbType.Int32);
}
else if (State == 2)
{
where.Add("a.State", "<", 3, DbType.Int32);
where.Add("a.PostState", "=", 2, DbType.Int32);
}
else if (State == 0)
{
where.Add("a.State", "=", 1, DbType.Int32);
}
else
{
where.Add("a.State", ">", 0, DbType.Int32);
}
if (HBOrder == 1)
{
where.Add("a.IsJoin", "=", 1, DbType.Int32);
}
if (IsError == 1)
{
where.Add("(a.SendAddr", ">", 0, DbType.Int32);
where.Add("a.IsLeaveWord", "=", 1, "or", ")", DbType.Int32);
}
if (IsE == 1)
{
where.Add("a.PostState", "=", 2, DbType.Int32);
}
if (IsE == 0)
{
where.Add("a.PostState", "<", 2, DbType.Int32);
}
string trackCode = "";
if (Name != "")
{
Name = Name.Trim();
if (TjType == 1)
{
where.Add("(a.PlatOrderCode", "like", Name, DbType.String);
where.Add("OrderCode", "like", Name, "or", DbType.String);
where.Add("a.JoinOrderCode", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 2)
{
where.Add("a.RevName", "like", Name, DbType.String);
}
else if (TjType == 3)
{
where.Add("a.RevPhone", "like", Name, DbType.String);
}
else if (TjType == 4)
{
where.Add("(a.RevCountry", "=", Name, DbType.String);
where.Add("a.CountryName", "=", Name, "or", DbType.String);
where.Add("a.CountryCode", "=", Name, "or", ")", DbType.String);
}
else if (TjType == 5)
{
where.Add("a.RevPostCode", "=", Name, DbType.String);
}
else if (TjType == 6)
{
where.Add("(a.RevAddr", "like", Name, DbType.String);
where.Add("a.RevProvince", "like", Name, "or", DbType.String);
where.Add("a.RevCity", "like", Name, "or", DbType.String);
where.Add("a.RevArea", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 9)
{
where.Add("(a.ErrorInfo", "like", Name, DbType.String);
where.Add("a.PostError", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 10)
{
trackCode = Name;
}
else if (TjType == 11)
{
where.Add("a.CustomID", "=", Name, DbType.String);
}
else if (TjType == 12)
{
where.Add("a.RevMail", "=", Name, DbType.String);
}
}
if (IsSku == 0)
{
where.Add("a.FPDate", "is", null, DbType.String);
}
else if (IsSku == 1)
{
where.Add("a.FPDate", "is not", null, DbType.String);
}
JsonModel> model = new JsonModel>();
int rowCount = 0;
string str2 = "";
string str3 = "";
if ((TjType == 7) && (Name != ""))
{
str2 = Name;
}
else if ((TjType == 8) && (Name != ""))
{
str3 = Name;
}
if (TjType == 13 && Name != "")//根据人员查询
{
model.DataSource = DataNew.GetListDT_OrderInfoForUser(num, SDate, str2.Trim(), Name, trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount);
}
else
{
//if (SFLY > 0)
//{
// if (SFLY == 1)
// {
// model.DataSource = data.GetListDT_OrderInfoForTM6(num, str2.Trim(), str3.Trim(), trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount);
// }
// if (SFLY == 2)
// {
// model.DataSource = data.GetListDT_OrderInfoForTM7(num, str2.Trim(), str3.Trim(), trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount);
// }
//}
//else
//{
model.DataSource = DataNew.GetListDT_OrderInfoForTM2(num, MName,str2.Trim(), str3.Trim(), trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount);
// }
}
model.RowCount = rowCount;
string ids = "";
JC_ExpressService wlobj = new JC_ExpressService();
var wlist = wlobj.GetExpressList();
List maplist = null;
if (model.DataSource != null)
{
foreach (DT_Order md in model.DataSource)
{
ids += md.OrderId.ToString() + ",";
if (md.Post != null && md.Post > 0)
{
var wlmd = wlist.Find(n => n.ExpressID == md.Post);
if (wlmd != null)
{
md.TrackInfo = wlmd.Name;
}
}
if(md.StoreId==11)
md.RevFax = "E";
else
md.RevFax = "W";
//if (maplist != null && md.RevProvince != null && md.RevProvince != "")
//{
// var mmd = maplist.Find(n => n.code == md.RevProvince.ToUpper() || n.ename == md.RevProvince);
// if (mmd != null)
// {
// if (mmd.IsEast == 1)
// {
// md.RevFax = "E";
// }
// else
// md.RevFax = "W";
// }
//}
}
}
var linklist = new List();
if (ids != "")
{
maplist = DataNew.GetListUSMap4(ids.Trim(','));
List errorList = data.GetErrorList(ids.Trim(','));
linklist = DataNew.GetListMBLinkOrder(ids.Trim(','));
if ((errorList != null) && (errorList.Count > 0))
{
foreach (var md in model.DataSource)
{
DT_OrderError error = errorList.Find(n => n.OrderId == md.OrderId);
if (error != null)
{
md.ErrorInfo = error.ErrorInfo;
}
}
}
}
List saleBackModelList = null;
List flist = null;
if ((IsDetail == 1) && (model.DataSource != null))
{
int? trackType;
if (ids != "")
{
List orderGoodsList = DataNew.GetOrderGoodsListNew2(ids.Trim(','));
List trackCodeApplyList = data.GetTrackCodeApplyList(ids.Trim(','));
//saleBackModelList = data.GetSaleBackModelList(ids.Trim(','));
flist = DataNew.GetOrderFees(ids.Trim(','));
var pmlist = DataNew.GetOrderGoodsCodeData();
List JZLinklist = DataNew.GetListJZLinkOrder(ids.Trim(','));
if (orderGoodsList != null)
{
foreach (var md in model.DataSource)
{
List list5 = orderGoodsList.FindAll(n => n.OrderId == md.OrderId);
if (list5 != null)
{
md.GoodsList = list5;
if (pmlist != null)
{
foreach (var mmd in list5)
{
var pmmd = pmlist.Find(n => n.asin == mmd.productImgUrl2 && n.ShopId == md.ShopId);
if (pmmd != null)
{
string imgurl = "";
if (pmmd.Int10 != null && pmmd.Int10 == 1)
{
imgurl = "
";
}
if (pmmd.Int10 != null && pmmd.Int10 == 2)
{
imgurl = "
";
}
if (pmmd.Int10 != null && pmmd.Int10 == 3)
{
imgurl = "
";
}
if (pmmd.Int3 < 100)
mmd.OldTypeDesc = "排名:" + pmmd.Int3.ToString();
else
mmd.OldTypeDesc = "排名:" + pmmd.Int3.ToString();
if (pmmd.Int2 != null)
mmd.OldTypeDesc += "/" + pmmd.Int2.ToString();
mmd.OldTypeDesc += "" + imgurl;
}
else
mmd.OldTypeDesc = "";
}
}
}
}
}
if (trackCodeApplyList != null)
{
foreach (var md in model.DataSource)
{
List list6 = new List();
if ((md.JoinOrderCode != null) && (md.JoinOrderCode != ""))
{
list6 = trackCodeApplyList.FindAll(n => n.OrderCode == md.JoinOrderCode);
}
else
{
list6 = trackCodeApplyList.FindAll(n => n.OrderId == md.OrderId);
}
if ((list6 != null) && (list6.Count > 0))
{
string str5 = "";
string str6 = "";
foreach (DT_TrackCodeApply apply in list6)
{
string str7 = "";
trackType = apply.TrackType;
if (trackType != null && trackType == 3)
{
str7 = "[空包裹]";
}
if (apply.Weight.HasValue)
{
string str8 = "";
if (apply.ScanDate.HasValue)
{
str8 = "扫描时间:" + apply.ScanDate.Value.ToString("yyyy-MM-dd HH:mm") + "
";
}
string str9 = str5;
str5 = str9 + apply.TrackCode + str7 + "
重量" + apply.Weight.ToString() + "g" + str8 + "
";
}
else
{
str5 = str5 + apply.TrackCode + str7 + "
";
}
if (str6 == "")
{
str6 = apply.TrackCode;
}
}
md.TrackInfo += str5;
md.TrackCode = str6;
}
}
}
decimal moneyrate = Convert.ToDecimal((double)6.5);
List list7 = new BaseService().GetMoneyList2();
//decimal ckfee = 0;
//decimal mdfee = 0;
//decimal adfee = 0;
//decimal DR_BackFee = 0;
//decimal DR_SSFee = 0;
//decimal DR_PostFee = 0;
foreach (var md in model.DataSource)
{
var fmd = flist.Find(n => n.orderid == md.OrderId);
if (fmd == null)
fmd = new DT_Fees();
md.OrderName = "";
string jplink = "";
if (linklist != null)
{
var lmdlist = linklist.FindAll(n => n.OrderId == md.OrderId && n.ShopId == md.ShopId);
if (lmdlist != null)
{
foreach (var lmd in lmdlist)
{
int pm2 = 0;
var pmmd = pmlist.Find(n => n.GoodsId == lmd.GoodsId && n.ShopId == md.ShopId);
if (pmmd != null&&pmmd.Int3!=null)
{
pm2 = pmmd.Int3.Value;
}
if (lmdlist.Count > 1)
jplink += "" + lmd.SKU1 + ":【S】" + lmd.GoodsHJNum2 + "";
else
jplink += "【S】" + lmd.GoodsHJNum2 + "";
if (lmd.Num != null)
{
if(lmd.GoodsHJNum2>=lmd.Num)
jplink += "【TS】" + lmd.Num + "";
else
jplink += "【TS】" + lmd.Num + "";
}
jplink += "
";
if(pm2>0)
jplink += "【R】" + pm2 + "";
else
jplink += "【R】无";
if (lmd.PM != null)
{
if(pm2>0&& lmd.PM>=pm2)
jplink += "【TR】" + lmd.PM + "";
else
jplink += "【TR】" + lmd.PM + "";
}
jplink += "
";
}
}
md.OrderName = jplink;
}
if (JZLinklist != null)
{
var jzmd = JZLinklist.FindAll(n => n.OrderId == md.OrderId && n.ShopId == md.ShopId);
if (jzmd != null)
{
int i = 1;
foreach (var jzmmd in jzmd)
{
if (jzmmd.Price != null)
jplink += "竟品" + i.ToString() + "价格:" + jzmmd.Price.Value + "$
";
else
jplink += "竟品" + i.ToString() + "
";
i++;
}
}
md.OrderName = jplink;
}
if (fmd.moneyrate != null)
moneyrate = fmd.moneyrate.Value;
else
{
JC_Money money = list7.Find(n => n.MCode == "USD" && n.PlatId == md.PlatId);
if (money != null)
{
moneyrate = money.MRate.Value;
}
else
{
money = list7.Find(n => n.MCode == "USD");
moneyrate = money.MRate.Value;
}
}
decimal TotalPrice = 0M;
if (md.TotalPrice != null)
{
TotalPrice = md.TotalPrice.Value;
}
decimal YJPrice = 0M;
decimal sjyf = 0;
if (fmd.sjyf != null)
sjyf = fmd.sjyf.Value;
decimal ygyf = 0;
if (fmd.yf != null)
ygyf = fmd.yf.Value;
md.PostFee = sjyf;
md.BoxFee = ygyf;
if (fmd.yj != null)
YJPrice = fmd.yj.Value;
decimal GoodsFee = 0;
if (fmd.sjcb != null)
GoodsFee = fmd.sjcb.Value;
if (fmd.sjhwsf != null)
GoodsFee += fmd.sjhwsf.Value;
if (moneyrate == 0)
moneyrate = 6.5M;
GoodsFee = GoodsFee / moneyrate;
decimal YJGoodsFee = 0;
if (fmd.cb != null)
YJGoodsFee = fmd.cb.Value;
if (fmd.hwsf != null)
YJGoodsFee += fmd.hwsf.Value;
md.Fee8 = 0;
md.Fee8 = fmd.ck;
decimal sjtc = 0;
if (fmd.sjtc == null || fmd.sjtc == 0)
sjtc = fmd.tc.Value;
else
sjtc = fmd.sjtc.Value;
YJGoodsFee = YJGoodsFee / moneyrate;
decimal LR = TotalPrice - YJPrice - fmd.escrowFee.Value - GoodsFee - sjyf - sjtc - fmd.DR_BackFee.Value - fmd.DR_PostFee.Value - fmd.Other_Fee.Value - fmd.Ad_Fee.Value + fmd.DR_SSFee.Value - fmd.md.Value;
decimal YGLR = TotalPrice - YJPrice - fmd.escrowFee.Value - YJGoodsFee - ygyf - fmd.tc.Value - fmd.DR_PostFee.Value - fmd.Other_Fee.Value - fmd.Ad_Fee.Value + fmd.DR_SSFee.Value - fmd.md.Value;
md.LR = new decimal?(Convert.ToDecimal(LR.ToString("0.00")));
md.YGLR = new decimal?(Convert.ToDecimal(YGLR.ToString("0.00")));
}
}
}
return model;
}
[WebMethod(EnableSession = true)]
public JsonModel> GetListOrderForTM22222222(int IsYJ, int StoreId, int DeptId, int PlatType, int ShopId, int DateType, DateTime? SDate, DateTime? EDate, int TjType, string Name, int PrintState, int MateState, int MoneyState, int OutDays, int State, int IsSku, int IsError, int IsE, int IsDetail, int HBOrder, int IsSD, int SaleState, int IsBuy, int WLId, int IsDH, int SFLY,int yfcy, int PageIndex, int PageSize, string Sort)
{
PagesNew.Login(base.Session);
DD_OrderData data = new DD_OrderData();
int num = Convert.ToInt32(base.Session["CompanyId"]);
RefParameterCollection where = new RefParameterCollection();
if (IsYJ == 1)
{
where.Add("a.PlatId", "=", 2, DbType.Int32);
where.Add("isnull(a.Fee6,0)", "=", 0, DbType.Int32);
where.Add("isnull(a.Fee7,0)", "=", 0, DbType.Int32);
where.Add("isnull(a.Fee8,0)", "=", 0, DbType.Int32);
}
if (StoreId > 0)
{
where.Add("a.StoreId", "=", StoreId, DbType.Int32);
}
if (IsBuy == 1)
{
where.Add("a.BuyDate", "is not", null, DbType.String);
}
else if (IsBuy == 0)
{
where.Add("a.BuyDate", "is", null, DbType.String);
}
where.Add("a.CompanyId", "=", num, DbType.Int32);
// where.Add("isnull(a.IsSDan,0)", "=", IsSD, DbType.Int32);
if(yfcy==1)
where.Add("a.WLSS", "=", 1, DbType.Int32);
if (SaleState > 0)
{
where.Add("a.SaleState", "=", SaleState, DbType.Int32);
}
if (WLId > 0)
{
where.Add("a.LogisticsId", "=", WLId, DbType.Int32);
}
if (DeptId > 0)
{
where.Add("c.DeptId", "=", DeptId, DbType.Int32);
}
if (PlatType > 0)
{
where.Add("a.PlatId", "=", PlatType, DbType.Int32);
}
if (ShopId > 0)
{
where.Add("a.ShopId", "=", ShopId, DbType.Int32);
}
if (DateType == 1)
{
if (SDate.HasValue)
{
where.Add("a.OrderDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.OrderDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
else if (DateType == 2)
{
if (SDate.HasValue)
{
where.Add("a.InDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.InDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
else if (DateType == 3)
{
if (SDate.HasValue)
{
where.Add("a.PrintDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.PrintDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
else if (DateType == 4)
{
if (SDate.HasValue)
{
where.Add("a.PostDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.PostDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
else if (DateType == 5)
{
if (SDate.HasValue)
{
where.Add("a.OrderOutDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.OrderOutDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
if (OutDays > 0)
{
where.Add("a.OrderOutDate", "<=", DateTime.Now.AddDays((double)OutDays), DbType.DateTime);
where.Add("a.OrderOutDate", ">=", DateTime.Now, DbType.DateTime);
}
if (MateState > -1)
{
where.Add("a.MateState", "=", MateState, DbType.Int32);
}
if (MoneyState > -1)
{
where.Add("a.MoneyState", "=", MoneyState, DbType.Int32);
}
if (PrintState > -1)
{
where.Add("a.PrintState", "=", PrintState, DbType.Int32);
}
if (State == 3)
{
where.Add("a.State", "=", 2, DbType.Int32);
}
else if (State == 4)
{
where.Add("a.State", "=", 3, DbType.Int32);
}
else if (State == 5)
{
where.Add("a.State", "=", 1, DbType.Int32);
where.Add("a.MoneyState", "=", 1, DbType.Int32);
}
else if (State == 7)
{
where.Add("a.OrderState2", "=", 1, DbType.Int32);
}
else if (State == 1)
{
where.Add("a.PostState", "=", 1, DbType.Int32);
}
else if (State == 2)
{
where.Add("a.State", "<", 3, DbType.Int32);
where.Add("a.PostState", "=", 2, DbType.Int32);
}
else if (State == 0)
{
where.Add("a.State", "=", 1, DbType.Int32);
}
else
{
where.Add("a.State", ">", 0, DbType.Int32);
}
if (HBOrder == 1)
{
where.Add("a.IsJoin", "=", 1, DbType.Int32);
}
if (IsError == 1)
{
where.Add("(a.SendAddr", ">", 0, DbType.Int32);
where.Add("a.IsLeaveWord", "=", 1, "or", ")", DbType.Int32);
}
if (IsE == 1)
{
where.Add("a.PostState", "=", 2, DbType.Int32);
}
if (IsE == 0)
{
where.Add("a.PostState", "<", 2, DbType.Int32);
}
string trackCode = "";
if (Name != "")
{
Name = Name.Trim();
if (TjType == 1)
{
where.Add("(a.PlatOrderCode", "like", Name, DbType.String);
where.Add("OrderCode", "like", Name, "or", DbType.String);
where.Add("a.JoinOrderCode", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 2)
{
where.Add("a.RevName", "like", Name, DbType.String);
}
else if (TjType == 3)
{
where.Add("a.RevPhone", "like", Name, DbType.String);
}
else if (TjType == 4)
{
where.Add("(a.RevCountry", "=", Name, DbType.String);
where.Add("a.CountryName", "=", Name, "or", DbType.String);
where.Add("a.CountryCode", "=", Name, "or", ")", DbType.String);
}
else if (TjType == 5)
{
where.Add("a.RevPostCode", "=", Name, DbType.String);
}
else if (TjType == 6)
{
where.Add("(a.RevAddr", "like", Name, DbType.String);
where.Add("a.RevProvince", "like", Name, "or", DbType.String);
where.Add("a.RevCity", "like", Name, "or", DbType.String);
where.Add("a.RevArea", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 9)
{
where.Add("(a.ErrorInfo", "like", Name, DbType.String);
where.Add("a.PostError", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 10)
{
trackCode = Name;
}
else if (TjType == 11)
{
where.Add("a.CustomID", "=", Name, DbType.String);
}
else if (TjType == 12)
{
where.Add("a.RevMail", "=", Name, DbType.String);
}
}
if (IsSku == 0)
{
where.Add("a.FPDate", "is", null, DbType.String);
}
else if (IsSku == 1)
{
where.Add("a.FPDate", "is not", null, DbType.String);
}
JsonModel> model = new JsonModel>();
int rowCount = 0;
string str2 = "";
string str3 = "";
if ((TjType == 7) && (Name != ""))
{
str2 = Name;
}
else if ((TjType == 8) && (Name != ""))
{
str3 = Name;
}
if (TjType == 13 && Name != "")//根据人员查询
{
model.DataSource = DataNew.GetListDT_OrderInfoForUser(num, SDate, str2.Trim(), Name, trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount);
}
else
{
if (SFLY > 0)
{
if (SFLY == 1)
{
model.DataSource = data.GetListDT_OrderInfoForTM6(num, str2.Trim(), str3.Trim(), trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount);
}
if (SFLY == 2)
{
model.DataSource = data.GetListDT_OrderInfoForTM7(num, str2.Trim(), str3.Trim(), trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount);
}
}
else
{
model.DataSource = DataNew.GetListDT_OrderInfoForTM2(num, "",str2.Trim(), str3.Trim(), trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount);
}
}
model.RowCount = rowCount;
string ids = "";
JC_ExpressService wlobj = new JC_ExpressService();
var wlist = wlobj.GetExpressList();
List maplist = null;
if (model.DataSource != null)
{
foreach (DT_Order md in model.DataSource)
{
ids += md.OrderId.ToString() + ",";
if (md.Post != null && md.Post > 0)
{
var wlmd = wlist.Find(n => n.ExpressID == md.Post);
if (wlmd != null)
{
md.TrackInfo = wlmd.Name;
}
}
md.RevFax = "";
//if (maplist != null && md.RevProvince != null && md.RevProvince != "")
//{
// var mmd = maplist.Find(n => n.code == md.RevProvince.ToUpper() || n.ename == md.RevProvince);
// if (mmd != null)
// {
// if (mmd.IsEast == 1)
// {
// md.RevFax = "E";
// }
// else
// md.RevFax = "W";
// }
//}
}
}
if (ids != "")
{
maplist = DataNew.GetListUSMap4(ids.Trim(','));
List errorList = data.GetErrorList(ids.Trim(','));
if ((errorList != null) && (errorList.Count > 0))
{
foreach (var md in model.DataSource)
{
DT_OrderError error = errorList.Find(n => n.OrderId == md.OrderId);
if (error != null)
{
md.ErrorInfo = error.ErrorInfo;
}
}
}
}
List saleBackModelList = null;
if ((IsDetail == 1) && (model.DataSource != null))
{
int? trackType;
if (ids != "")
{
List orderGoodsList = DataNew.GetOrderGoodsListNew2(ids.Trim(','));
List trackCodeApplyList = data.GetTrackCodeApplyList(ids.Trim(','));
saleBackModelList = data.GetSaleBackModelList(ids.Trim(','));
var pmlist = DataNew.GetOrderGoodsCodeData();
List JZLinklist = DataNew.GetListJZLinkOrder(ids.Trim(','));
if (orderGoodsList != null)
{
foreach (var md in model.DataSource)
{
List list5 = orderGoodsList.FindAll(n => n.OrderId == md.OrderId);
if (list5 != null)
{
md.GoodsList = list5;
if (pmlist != null)
{
foreach (var mmd in list5)
{
var pmmd = pmlist.Find(n => n.GoodsId == mmd.GoodsId && n.ShopId == md.ShopId);
if (pmmd != null)
{
string imgurl = "";
if (pmmd.Int10!=null&&pmmd.Int10 == 1)
{
imgurl = "
";
}
if (pmmd.Int10 != null && pmmd.Int10 == 2)
{
imgurl = "
";
}
if (pmmd.Int10 != null && pmmd.Int10 == 3)
{
imgurl = "
";
}
if (pmmd.Int3 < 100)
mmd.OldTypeDesc = "排名:" + pmmd.Int3.ToString();
else
mmd.OldTypeDesc = "排名:" + pmmd.Int3.ToString();
if (pmmd.Int2 != null)
mmd.OldTypeDesc += "/" + pmmd.Int2.ToString();
mmd.OldTypeDesc += "" + imgurl;
}
else
mmd.OldTypeDesc = "";
}
}
}
}
}
if (trackCodeApplyList != null)
{
foreach (var md in model.DataSource)
{
List list6 = new List();
if ((md.JoinOrderCode != null) && (md.JoinOrderCode != ""))
{
list6 = trackCodeApplyList.FindAll(n => n.OrderCode == md.JoinOrderCode);
}
else
{
list6 = trackCodeApplyList.FindAll(n => n.OrderId == md.OrderId);
}
if ((list6 != null) && (list6.Count > 0))
{
string str5 = "";
string str6 = "";
foreach (DT_TrackCodeApply apply in list6)
{
string str7 = "";
trackType = apply.TrackType;
if (trackType != null && trackType == 3)
{
str7 = "[空包裹]";
}
if (apply.Weight.HasValue)
{
string str8 = "";
if (apply.ScanDate.HasValue)
{
str8 = "扫描时间:" + apply.ScanDate.Value.ToString("yyyy-MM-dd HH:mm") + "
";
}
string str9 = str5;
str5 = str9 + apply.TrackCode + str7 + "
重量" + apply.Weight.ToString() + "g" + str8 + "
";
}
else
{
str5 = str5 + apply.TrackCode + str7 + "
";
}
if (str6 == "")
{
str6 = apply.TrackCode;
}
}
md.TrackInfo += str5;
md.TrackCode = str6;
}
}
}
decimal moneyrate = Convert.ToDecimal((double)6.5);
List list7 = new BaseService().GetMoneyList2();
decimal ckfee = 0;
decimal mdfee = 0;
decimal adfee = 0;
decimal DR_BackFee=0;
decimal DR_SSFee=0;
decimal DR_PostFee=0;
foreach (var md in model.DataSource)
{
md.OrderName = "";
string jplink = "";
if (JZLinklist != null)
{
var jzmd = JZLinklist.FindAll(n => n.OrderId == md.OrderId && n.ShopId == md.ShopId);
if (jzmd != null)
{
int i = 1;
foreach (var jzmmd in jzmd)
{
if (jzmmd.Price != null)
jplink += "竟品" + i.ToString() + "价格:" + jzmmd.Price.Value + "$
";
else
jplink += "竟品" + i.ToString() + "
";
i++;
}
}
md.OrderName = jplink;
}
JC_Money money = list7.Find(n => n.MCode == "USD" && n.PlatId == md.PlatId);
if (money != null)
{
moneyrate = money.MRate.Value;
}
else
{
money = list7.Find(n => n.MCode == "USD");
moneyrate = money.MRate.Value;
}
decimal TotalPrice = 0M;
if (md.TotalPrice != null)
{
TotalPrice = md.TotalPrice.Value;
}
decimal YJPrice = 0M;
YJPrice = TotalPrice * Convert.ToDecimal((double)0.15);
int PlatId = md.PlatId.Value;
if (PlatId == 1)
{
YJPrice = TotalPrice * Convert.ToDecimal((double)0.05);
}
else if (PlatId == 4)
{
YJPrice = 0;
}
else if (PlatId == 5)
{
YJPrice = TotalPrice * Convert.ToDecimal((double)0.1);
}
else if (PlatId == 15)
{
YJPrice = TotalPrice * Convert.ToDecimal((double)0.029)+0.3M;
}
else if (PlatId == 18)
{
YJPrice = TotalPrice * Convert.ToDecimal((double)0.06);
}
//var admd = DataNew.GetModel_OrderFee(md.OrderId.Value);///仓储 面单 广告费
//if (admd != null)
//{
// ckfee = admd.ckfee.Value;
// mdfee = admd.mdfee.Value;
// adfee = admd.adfee.Value;
// DR_BackFee = admd.DR_BackFee.Value;
// DR_PostFee = admd.DR_PostFee.Value;
// DR_SSFee = admd.DR_SSFee.Value;
//}
decimal GoodsFee = 0M;
decimal YJGoodsFee = 0M;
decimal TCFee = 0M;
decimal YJTCFee = 0M;
decimal TSolid = 0M;
decimal YGFeeRate = 0M;
string AddrType = "";
decimal twight = 0;
if (md.GoodsList != null && md.GoodsList.Count > 0)
{
AddrType = md.GoodsList[0].JoinOrderCode;
if (md.GoodsList[0].Weight != null)
twight = md.GoodsList[0].Weight.Value;
foreach (DT_OrderGoods goods in md.GoodsList)
{
if (goods.GoodsFee.HasValue && (goods.GoodsFee.Value > 0M))
{
GoodsFee += goods.GoodsFee.Value;
}
if (goods.GoodsPrice.HasValue)
{
if (GoodsFee == 0)
GoodsFee += goods.GoodsPrice.Value * goods.GoodsNum.Value;
YJGoodsFee += goods.GoodsPrice.Value * goods.GoodsNum.Value;
if (goods.BGPrice != null)
YGFeeRate += goods.GoodsPrice.Value * goods.GoodsNum.Value * goods.BGPrice.Value * Convert.ToDecimal(0.01);
}
if (goods.TCFee != null && goods.TCFee > 0)
{
TCFee += goods.TCFee.Value;
}
if (goods.Solid2.HasValue)
{
TSolid += goods.Solid2.Value * goods.GoodsNum.Value;
}
}
}
if (GoodsFee > 0M)
{
GoodsFee = GoodsFee / moneyrate;
YJGoodsFee = YJGoodsFee / moneyrate;//预估货物成本
YGFeeRate = YGFeeRate / moneyrate;//预估税费
}
decimal escrowFee = 0M;
if ((TCFee == 0M) && (TSolid > 0M))
{
TCFee = Convert.ToDecimal(170) * TSolid;
}
if (TSolid > 0M)
{
YJTCFee = Convert.ToDecimal(170) * TSolid;//预估头程
}
if (md.escrowFee.HasValue)
{
escrowFee = md.escrowFee.Value;//页面上手填的税费
}
decimal PostFee = 0M;
if (md.PostFee.HasValue)
{
PostFee = md.PostFee.Value;
}
decimal BackFactPrice = 0M;
decimal BackPostFee = 0M;
int BackState = -1;
if (md.OrderState2 != null)
BackState = md.OrderState2.Value;
if (BackState == 1 && (saleBackModelList != null))
{
DT_OrderBackMoneyApply backmd = saleBackModelList.Find(n => n.OrderId == md.OrderId);
if (backmd != null)
{
if (backmd.OrderState == 0)
{
YJPrice = TotalPrice * Convert.ToDecimal((double)0.2);
TotalPrice = 0M;
}
if (backmd.OrderState == 1 || backmd.OrderState == 2)
{
GoodsFee = 0M;
YJGoodsFee = 0M;
}
if (backmd.FactPrice.HasValue)
{
BackFactPrice = backmd.FactPrice.Value;
}
if (backmd.PostFee.HasValue)
{
BackPostFee = backmd.PostFee.Value;
}
}
}
decimal PostFeeYJ = 0M;
//if (md.Post == 222 || md.Post == 226 || md.Post == 227)
//{
// PostFeeYJ = PostFee * Convert.ToDecimal((double)0.1);
//}
decimal ygyf = 0M;
decimal ygyf2 = 0M;
int storeid = 6;
md.RevFax = "W";
if (maplist != null)
{
var mmd = maplist.Find(n => n.OrderId == md.OrderId);
if (mmd != null && mmd.StoreId != null)
{
if (mmd.StoreId == 11)
{
storeid = 11;
md.RevFax = "E";
}
if (mmd.Fee11 != null && mmd.Fee11 > 0)
{
ygyf = mmd.Fee11.Value;
}
if (ygyf == 0 && mmd.Fee12 != null && mmd.Fee12 > 0)
ygyf = mmd.Fee12.Value;
if (mmd.Fee12 != null && mmd.Fee12 > 0 && mmd.Fee12 < ygyf)
{
ygyf = mmd.Fee12.Value;
}
if (ygyf == 0 && mmd.Fee13 != null && mmd.Fee13 > 0)
ygyf = mmd.Fee13.Value;
if (mmd.Fee13 != null && mmd.Fee13 > 0 && mmd.Fee13 < ygyf)
{
ygyf = mmd.Fee13.Value;
}
if (ygyf == 0 && mmd.Fee14 != null && mmd.Fee14 > 0)
ygyf = mmd.Fee14.Value;
if (mmd.Fee14 != null && mmd.Fee14 > 0 && mmd.Fee14 < ygyf)
{
ygyf = mmd.Fee14.Value;
}
if (AddrType == "Residential" || AddrType == "RESIDENTIAL")
{
if (mmd.Fee11 > 0 && mmd.Fee11 < mmd.Fee13)
{
ygyf = mmd.Fee11.Value;
}
else if (mmd.Fee11 > 0 && mmd.Fee11 > mmd.Fee13)
{
ygyf = mmd.Fee13.Value;
}
}
if (AddrType == "Commercial" || AddrType == "OFFICE")
{
if (mmd.Fee11 > 0 && mmd.Fee11 < mmd.Fee12)
{
ygyf = mmd.Fee11.Value;
}
else if (mmd.Fee12 > 0 && mmd.Fee11 > mmd.Fee12)
{
ygyf = mmd.Fee12.Value;
}
}
if (twight >= 1120 && mmd.Fee12 > 0)
ygyf = mmd.Fee12.Value;
// if (ygyf > 0)
// ygyf = ygyf * 1.1M;
}
}
if (md.Fee6 != null && md.Fee6 > 0)
{
ygyf2 = md.Fee6.Value;
}
if (ygyf2 == 0 && md.Fee7 != null && md.Fee7 > 0)
ygyf2 = md.Fee7.Value;
if (md.Fee7 != null && md.Fee7 > 0 && md.Fee7 < ygyf2)
{
ygyf2 = md.Fee7.Value;
}
if (ygyf2 == 0 && md.Fee8 != null && md.Fee8 > 0)
ygyf2 = md.Fee8.Value;
if (md.Fee8 != null && md.Fee8 > 0 && md.Fee8 < ygyf2)
{
ygyf2 = md.Fee8.Value;
}
if (AddrType == "Residential" || AddrType == "RESIDENTIAL")
{
if (md.Fee6 > 0 && md.Fee6 < md.Fee8)
{
ygyf2 = md.Fee6.Value;
}
else if (md.Fee8 > 0 && md.Fee6 > md.Fee8)
{
ygyf2 = md.Fee8.Value;
}
}
if (AddrType == "Commercial" || AddrType == "OFFICE")
{
if (md.Fee6 > 0 && md.Fee6 < md.Fee7)
{
ygyf2 = md.Fee6.Value;
}
else if (md.Fee7 > 0 && md.Fee6 > md.Fee7)
{
ygyf2 = md.Fee7.Value;
}
}
if (twight >= 1120 && md.Fee7 > 0)
ygyf2 = md.Fee7.Value;
md.PostFee = new decimal?(PostFee);
decimal ygyf0 = ygyf;
if (ygyf == 0)
ygyf0 = ygyf2;
if (ygyf > 0 && ygyf <= ygyf2)
ygyf0 = ygyf;
else if (ygyf2 > 0 && ygyf2 < ygyf)
ygyf0 = ygyf2;
if (PlatId == 18)
{
ygyf0 = 0;
PostFee = 0;
}
md.BoxFee = new decimal?(ygyf0);
decimal LR = 0M;
decimal YGLR = 0M;
LR = TotalPrice - YJPrice - escrowFee - GoodsFee - PostFee - PostFeeYJ - TCFee - BackFactPrice - BackPostFee - ckfee - mdfee - adfee - DR_BackFee - DR_PostFee + DR_SSFee;
YGLR = TotalPrice - YJPrice - escrowFee - YJGoodsFee - YGFeeRate - ygyf0 - YJTCFee - BackFactPrice - BackPostFee - ckfee - mdfee - adfee - DR_BackFee - DR_PostFee + DR_SSFee; ;
md.LR = new decimal?(Convert.ToDecimal(LR.ToString("0.00")));
md.YGLR = new decimal?(Convert.ToDecimal(YGLR.ToString("0.00")));
}
}
}
return model;
}
[WebMethod(EnableSession = true)]
public JsonModel> GetListOrderForTM44(int IsYJ, int StoreId, int DeptId, int PlatType, int ShopId, int DateType, DateTime? SDate, DateTime? EDate, int TjType, string Name, int PrintState, int MateState, int MoneyState, int OutDays, int State, int IsSku, int IsError, int IsE, int IsDetail, int HBOrder, int IsSD, int SaleState, int IsBuy, int WLId, int IsDH, int SFLY, int yfcy, int PageIndex, int PageSize, string Sort)
{
PagesNew.Login(base.Session);
DD_OrderData data = new DD_OrderData();
int num = Convert.ToInt32(base.Session["CompanyId"]);
RefParameterCollection where = new RefParameterCollection();
if (IsYJ == 1)
{
where.Add("a.PlatId", "=", 2, DbType.Int32);
where.Add("isnull(a.Fee6,0)", "=", 0, DbType.Int32);
where.Add("isnull(a.Fee7,0)", "=", 0, DbType.Int32);
where.Add("isnull(a.Fee8,0)", "=", 0, DbType.Int32);
}
if (StoreId > 0)
{
where.Add("a.StoreId", "=", StoreId, DbType.Int32);
}
if (IsBuy == 1)
{
where.Add("a.BuyDate", "is not", null, DbType.String);
}
else if (IsBuy == 0)
{
where.Add("a.BuyDate", "is", null, DbType.String);
}
where.Add("a.CompanyId", "=", num, DbType.Int32);
// where.Add("isnull(a.IsSDan,0)", "=", IsSD, DbType.Int32);
if (yfcy == 1)
where.Add("a.WLSS", "=", 1, DbType.Int32);
if (SaleState > 0)
{
where.Add("a.SaleState", "=", SaleState, DbType.Int32);
}
if (WLId > 0)
{
where.Add("a.LogisticsId", "=", WLId, DbType.Int32);
}
if (DeptId > 0)
{
where.Add("c.DeptId", "=", DeptId, DbType.Int32);
}
if (PlatType > 0)
{
where.Add("a.PlatId", "=", PlatType, DbType.Int32);
}
if (ShopId > 0)
{
where.Add("a.ShopId", "=", ShopId, DbType.Int32);
}
if (DateType == 1)
{
if (SDate.HasValue)
{
where.Add("a.OrderDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.OrderDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
else if (DateType == 2)
{
if (SDate.HasValue)
{
where.Add("a.InDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.InDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
else if (DateType == 3)
{
if (SDate.HasValue)
{
where.Add("a.PrintDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.PrintDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
else if (DateType == 4)
{
if (SDate.HasValue)
{
where.Add("a.PostDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.PostDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
else if (DateType == 5)
{
if (SDate.HasValue)
{
where.Add("a.OrderOutDate", ">=", SDate, DbType.DateTime);
}
if (EDate.HasValue)
{
where.Add("a.OrderOutDate", "<", EDate.Value.AddDays(1.0), DbType.DateTime);
}
}
if (OutDays > 0)
{
where.Add("a.OrderOutDate", "<=", DateTime.Now.AddDays((double)OutDays), DbType.DateTime);
where.Add("a.OrderOutDate", ">=", DateTime.Now, DbType.DateTime);
}
if (MateState > -1)
{
where.Add("a.MateState", "=", MateState, DbType.Int32);
}
if (MoneyState > -1)
{
where.Add("a.MoneyState", "=", MoneyState, DbType.Int32);
}
if (PrintState > -1)
{
where.Add("a.PrintState", "=", PrintState, DbType.Int32);
}
if (State == 3)
{
where.Add("a.State", "=", 2, DbType.Int32);
}
else if (State == 4)
{
where.Add("a.State", "=", 3, DbType.Int32);
}
else if (State == 5)
{
where.Add("a.State", "=", 1, DbType.Int32);
where.Add("a.MoneyState", "=", 1, DbType.Int32);
}
else if (State == 7)
{
where.Add("a.OrderState2", "=", 1, DbType.Int32);
}
else if (State == 1)
{
where.Add("a.PostState", "=", 1, DbType.Int32);
}
else if (State == 2)
{
where.Add("a.State", "<", 3, DbType.Int32);
where.Add("a.PostState", "=", 2, DbType.Int32);
}
else if (State == 0)
{
where.Add("a.State", "=", 1, DbType.Int32);
}
else
{
where.Add("a.State", ">", 0, DbType.Int32);
}
if (HBOrder == 1)
{
where.Add("a.IsJoin", "=", 1, DbType.Int32);
}
if (IsError == 1)
{
where.Add("(a.SendAddr", ">", 0, DbType.Int32);
where.Add("a.IsLeaveWord", "=", 1, "or", ")", DbType.Int32);
}
if (IsE == 1)
{
where.Add("a.PostState", "=", 2, DbType.Int32);
}
if (IsE == 0)
{
where.Add("a.PostState", "<", 2, DbType.Int32);
}
string trackCode = "";
if (Name != "")
{
Name = Name.Trim();
if (TjType == 1)
{
where.Add("(a.PlatOrderCode", "like", Name, DbType.String);
where.Add("OrderCode", "like", Name, "or", DbType.String);
where.Add("a.JoinOrderCode", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 2)
{
where.Add("a.RevName", "like", Name, DbType.String);
}
else if (TjType == 3)
{
where.Add("a.RevPhone", "like", Name, DbType.String);
}
else if (TjType == 4)
{
where.Add("(a.RevCountry", "=", Name, DbType.String);
where.Add("a.CountryName", "=", Name, "or", DbType.String);
where.Add("a.CountryCode", "=", Name, "or", ")", DbType.String);
}
else if (TjType == 5)
{
where.Add("a.RevPostCode", "=", Name, DbType.String);
}
else if (TjType == 6)
{
where.Add("(a.RevAddr", "like", Name, DbType.String);
where.Add("a.RevProvince", "like", Name, "or", DbType.String);
where.Add("a.RevCity", "like", Name, "or", DbType.String);
where.Add("a.RevArea", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 9)
{
where.Add("(a.ErrorInfo", "like", Name, DbType.String);
where.Add("a.PostError", "like", Name, "or", ")", DbType.String);
}
else if (TjType == 10)
{
trackCode = Name;
}
else if (TjType == 11)
{
where.Add("a.CustomID", "=", Name, DbType.String);
}
else if (TjType == 12)
{
where.Add("a.RevMail", "=", Name, DbType.String);
}
}
if (IsSku == 0)
{
where.Add("a.FPDate", "is", null, DbType.String);
}
else if (IsSku == 1)
{
where.Add("a.FPDate", "is not", null, DbType.String);
}
JsonModel> model = new JsonModel>();
int rowCount = 0;
string str2 = "";
string str3 = "";
if ((TjType == 7) && (Name != ""))
{
str2 = Name;
}
else if ((TjType == 8) && (Name != ""))
{
str3 = Name;
}
if (TjType == 13 && Name != "")//根据人员查询
{
model.DataSource = DataNew.GetListDT_OrderInfoForUser(num, SDate, str2.Trim(), Name, trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount);
}
else
{
if (SFLY > 0)
{
if (SFLY == 1)
{
model.DataSource = data.GetListDT_OrderInfoForTM6(num, str2.Trim(), str3.Trim(), trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount);
}
if (SFLY == 2)
{
model.DataSource = data.GetListDT_OrderInfoForTM7(num, str2.Trim(), str3.Trim(), trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount);
}
}
else
{
model.DataSource = DataNew.GetListDT_OrderInfoForTM2(num, "",str2.Trim(), str3.Trim(), trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount);
}
}
model.RowCount = rowCount;
string ids = "";
JC_ExpressService wlobj = new JC_ExpressService();
var wlist = wlobj.GetExpressList();
List maplist = null;
if (model.DataSource != null)
{
foreach (DT_Order md in model.DataSource)
{
ids += md.OrderId.ToString() + ",";
if (md.Post != null && md.Post > 0)
{
var wlmd = wlist.Find(n => n.ExpressID == md.Post);
if (wlmd != null)
{
md.TrackInfo = wlmd.Name;
}
}
md.RevFax = "";
//if (maplist != null && md.RevProvince != null && md.RevProvince != "")
//{
// var mmd = maplist.Find(n => n.code == md.RevProvince.ToUpper() || n.ename == md.RevProvince);
// if (mmd != null)
// {
// if (mmd.IsEast == 1)
// {
// md.RevFax = "E";
// }
// else
// md.RevFax = "W";
// }
//}
}
}
if (ids != "")
{
maplist = DataNew.GetListUSMap4(ids.Trim(','));
List errorList = data.GetErrorList(ids.Trim(','));
if ((errorList != null) && (errorList.Count > 0))
{
foreach (var md in model.DataSource)
{
DT_OrderError error = errorList.Find(n => n.OrderId == md.OrderId);
if (error != null)
{
md.ErrorInfo = error.ErrorInfo;
}
}
}
}
decimal zje = 0;
decimal zyf = 0;
decimal zcb = 0;
decimal zyj = 0;
decimal zlr = 0;
if ((IsDetail == 1) && (model.DataSource != null))
{
int? trackType;
if (ids != "")
{
List orderGoodsList = DataNew.GetOrderGoodsListNew2(ids.Trim(','));
List trackCodeApplyList = data.GetTrackCodeApplyList(ids.Trim(','));
// saleBackModelList = data.GetSaleBackModelList(ids.Trim(','));
// var pmlist = DataNew.GetOrderGoodsCodeData();
// List JZLinklist = DataNew.GetListJZLinkOrder(ids.Trim(','));
if (orderGoodsList != null)
{
foreach (var md in model.DataSource)
{
List