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

28739 lines
1.2 MiB
C#

2 months ago
using NetLibrary.Data;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using TradeData;
using NetLibrary;
using TradeModel;
using NetLibrary.Express;
using System.Web.Script.Serialization;
using NetLibrary.ReportPrint;
using NetLibrary.OnlineTrade;
using System.Text;
using System.Text.RegularExpressions;
namespace TradeManage.DingDan
{
/// <summary>
/// DD_OrderService 的摘要说明
/// </summary>
[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_OrderService : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
#region 查询物流跟踪信息
[WebMethod(EnableSession = true)]
public JsonModel<List<WL_PostInfo>> GetOrderPostInfo(int DeptId, int PlatType, int ShopId,int DateType, DateTime? SDate, DateTime? EDate, string Country, string OrderCode, string TrackCode, int OutDays, int IsDetail,int LogisticsId, int PostId, int State,int Days,int TJ, int PageIndex, int PageSize, string Sort)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
RefParameterCollection Param = new RefParameterCollection();
if (Days > 0)
{
if (TJ == 1)
{
Param.Add("a.State", "<>", 2, DbType.Int32);
Param.Add("a.ScanDate", "<=", DateTime.Now.AddDays(Days*-1), DbType.DateTime);
}
else if (TJ ==2)
{
Param.Add("a.PostDate1", "is", null, DbType.DateTime);
Param.Add("a.ScanDate", "<=", DateTime.Now.AddDays(Days * -1), DbType.DateTime);
}
else if (TJ == 3)
{
Param.Add("a.PostDate2", "is", null, DbType.DateTime);
Param.Add("a.ScanDate", "<=", DateTime.Now.AddDays(Days * -1), DbType.DateTime);
}
else if (TJ == 4)
{
Param.Add("a.PostDate3", "is", null, DbType.DateTime);
Param.Add("a.ScanDate", "<=", DateTime.Now.AddDays(Days * -1), DbType.DateTime);
}
}
if (State > -1 && State != 7 && State != 6)
Param.Add("a.State", "=", State, DbType.Int32);
if (State == 7)
{
Param.Add("a.State", "<>", 2, DbType.Int32);
Param.Add("DATEDIFF(day,a.ScanDate,getdate())-isnull(c.DoneDays,0)", ">=", 0, DbType.Int32);
}
else
if (State == 6)
{
Param.Add("a.State", "<>", 2, DbType.Int32);
Param.Add("DATEDIFF(day,a.ScanDate,getdate())-isnull(c.DoneDays,0)-10", ">=", 0, DbType.Int32);
}
if (LogisticsId>0)
Param.Add("c.LogisticsId", "=", LogisticsId, DbType.Int32);
if (PostId>0)
Param.Add("a.PostId", "=", PostId, DbType.Int32);
if (DateType == 1)
{
if (SDate!=null)
Param.Add("a.ScanDate", ">=", SDate, DbType.DateTime);
if (EDate!= null)
Param.Add("a.ScanDate", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 2)
{
if (SDate != null)
Param.Add("a.DoneDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.DoneDate", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 3)
{
if (SDate != null)
Param.Add("a.PostDate1", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate1", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 4)
{
if (SDate != null)
Param.Add("a.PostDate2", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate2", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 5)
{
if (SDate != null)
Param.Add("a.PostDate2", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate2", "<=", EDate, DbType.DateTime);
}
if (DeptId > 0)
Param.Add("b.DeptId", "=", DeptId, DbType.Int32);
if (PlatType > 0)
Param.Add("b.PlatType", "=", PlatType, DbType.Int32);
if (ShopId > 0)
Param.Add("a.ShopId", "=", ShopId, DbType.Int32);
if (OrderCode.Trim() != "")
{
Param.Add("(a.OrderCode", "like", OrderCode.Trim(), DbType.String);
Param.Add("a.JoinOrderCode", "like", OrderCode.Trim(), "or", ")", DbType.String);
}
if (TrackCode.Trim() != "")
{
Param.Add("a.TrackCode", "like", TrackCode.Trim(), DbType.String);
}
if (Country.Trim() != "")
{
Param.Add("a.CountryName", "like", Country.Trim(), DbType.String);
}
JsonModel<List<WL_PostInfo>> resultModel = new JsonModel<List<WL_PostInfo>>();
int RowCount = 0;
//string Sort = "orderid desc";
resultModel.DataSource = obj.GetListDT_PostInfo("", Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
if (resultModel.DataSource != null)
{
string Ids = "";
if (resultModel.DataSource != null)
{
foreach (var md in resultModel.DataSource)
{
Ids += md.Id.ToString() + ",";
}
}
if (Ids != "")
{
var PostInfolist = obj.GetPostInfoList(Ids.Trim(','));
if (PostInfolist != null && PostInfolist.Count > 0)
{
foreach (var md in resultModel.DataSource)
{
var emd = PostInfolist.Find(n => n.Id == md.Id);
if (emd != null)
{
if (emd.PostInfo != null)
{
md.PostInfo = emd.PostInfo.Replace("\n", "<br/>");
md.PostInfo00 = emd.PostInfo.Replace("<br/>", "\n");
}
else
{
md.PostInfo ="";
md.PostInfo00 = "";
}
if (emd.PostInfo1 != null)
{
md.PostInfo1 = emd.PostInfo1.Replace("\n", "<br/>");
md.PostInfo11 = emd.PostInfo1.Replace("<br/>", "\n");
}
else
{
md.PostInfo1 = "";
md.PostInfo11 = "";
}
if (emd.PostInfo2 != null)
{
md.PostInfo2 = emd.PostInfo2.Replace("\n", "<br/>");
md.PostInfo22 = emd.PostInfo2.Replace("<br/>", "\n");
}
else
{
md.PostInfo2 = "";
md.PostInfo22 = "";
}
}
}
}
}
}
return resultModel;
}
#endregion
#region 查询订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrder(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 IsDetail, int HBOrder, int PageIndex, int PageSize)
{
Pages.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 (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.Today.AddDays(OutDays), DbType.DateTime);
}
if (MateState > -1)
Param.Add("a.MateState", "=", MateState, DbType.Int32);
if (MoneyState > -1)
Param.Add("a.MoneyState", "=", MoneyState, 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 > -1)
{
Param.Add("a.State", ">",0, DbType.Int32);
Param.Add("a.PostState", "=", State, DbType.Int32);
}
else
Param.Add("a.State", ">", 0, 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 (Name != "")
{
Name = Name.Trim();
if (TjType == 1)
{
Param.Add("(a.PlatOrderCode", "=", Name, DbType.String);
Param.Add("OrderCode", "=", Name,"or", DbType.String);
Param.Add("a.PlatOrderCode", "=", "C"+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);
}
}
// Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
int RowCount = 0;
string Sort = "orderid desc";
string GoodsName = "";
string SKU = "";
if (TjType == 7 && Name != "")
{
GoodsName = Name;
}
else
if (TjType == 8 && Name != "")
{
SKU = Name;
}
resultModel.DataSource = obj.GetListDT_OrderInfo(CompanyId, GoodsName.Trim(), SKU.Trim(), IsSku, Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
if (IsDetail == 1 && resultModel.DataSource != null)
{
string Ids = "";
foreach (var md in resultModel.DataSource)
{
Ids += md.OrderId.ToString() + ",";
}
if (Ids != "")
{
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;
}
}
}
}
}
return resultModel;
}
#endregion
#region 查询订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderForTM(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 PageIndex, int PageSize, string Sort)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
RefParameterCollection Param = new RefParameterCollection();
if (IsBuy == 1)
Param.Add("a.BuyDate", "is not", null, DbType.String);
else if (IsBuy == 0)
Param.Add("a.BuyDate", "is", null, DbType.String);
Param.Add("a.CompanyId", "=", CompanyId, DbType.Int32);
Param.Add("isnull(a.IsSDan,0)", "=", IsSD, DbType.Int32);
if (SaleState > 0)
Param.Add("a.SaleState", "=", SaleState, DbType.Int32);
if (WLId > 0)
Param.Add("a.LogisticsId", "=", WLId, DbType.Int32);
if (DeptId > 0)
Param.Add("c.DeptId", "=", DeptId, 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.AddDays(OutDays), DbType.DateTime);
Param.Add("a.OrderOutDate", ">=", DateTime.Now, DbType.DateTime);
}
if (MateState > -1)
Param.Add("a.MateState", "=", MateState, DbType.Int32);
if (MoneyState > -1)
Param.Add("a.MoneyState", "=", MoneyState, 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);
if (HBOrder == 1)
Param.Add("a.IsJoin", "=", 1, DbType.Int32);
if (IsError == 1)
{
Param.Add("(a.SendAddr", ">", 0, DbType.Int32);
Param.Add("a.IsLeaveWord", "=", 1, "or", ")", DbType.Int32);
}
if (IsE == 1)
{
Param.Add("a.PostState", "=", 2, DbType.Int32);
}
if (IsE == 0)
{
Param.Add("a.PostState", "<", 2, 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);
}
}
if (IsSku == 0)
Param.Add("a.FPDate", "is", null, DbType.String);
else if (IsSku == 1)
Param.Add("a.FPDate", "is not", null, DbType.String);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
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 (SFLY > 0)
{
if (SFLY == 1)
{
resultModel.DataSource = obj.GetListDT_OrderInfoForTM6(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, IsDH, Param, PageIndex, PageSize, Sort, out RowCount);
}
if (SFLY == 2)
{
resultModel.DataSource = obj.GetListDT_OrderInfoForTM7(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, IsDH, Param, PageIndex, PageSize, Sort, out RowCount);
}
}
else
{
if (State == 0 || State == 2)
resultModel.DataSource = obj.GetListDT_OrderInfoForTM1(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, IsDH, Param, PageIndex, PageSize, Sort, out RowCount);
else
resultModel.DataSource = obj.GetListDT_OrderInfoForTM(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, IsDH, 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 (IsDetail == 1 && resultModel.DataSource != null)
{
if (Ids != "")
{
var list1 = obj.GetOrderGoodsList(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<DT_TrackCodeApply>();
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 + "<br/>";
}
else
trackinfo += md1.TrackCode + blank + "<br/>";
if (TrackCode == "")
TrackCode = md1.TrackCode;
}
md.TrackInfo = trackinfo;
md.TrackCode = TrackCode;
}
}
}
}
}
return resultModel;
}
#endregion
#region 查询订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderForTM3(int DeptId,int StoreId, 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 PageIndex, int PageSize, string Sort)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
RefParameterCollection Param = new RefParameterCollection();
if (StoreId > 0)
Param.Add("a.StoreId", "=", StoreId, DbType.Int32);
if (IsBuy == 1)
Param.Add("a.BuyDate", "is not", null, DbType.String);
else if (IsBuy == 0)
Param.Add("a.BuyDate", "is", null, DbType.String);
Param.Add("a.CompanyId", "=", CompanyId, DbType.Int32);
Param.Add("isnull(a.IsSDan,0)", "=", IsSD, DbType.Int32);
if (SaleState > 0)
Param.Add("a.SaleState", "=", SaleState, DbType.Int32);
if (WLId > 0)
Param.Add("a.LogisticsId", "=", WLId, DbType.Int32);
if (DeptId > 0)
Param.Add("c.DeptId", "=", DeptId, 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.AddDays(OutDays), DbType.DateTime);
Param.Add("a.OrderOutDate", ">=", DateTime.Now, DbType.DateTime);
}
if (MateState > -1)
Param.Add("a.MateState", "=", MateState, DbType.Int32);
if (MoneyState > -1)
Param.Add("a.MoneyState", "=", MoneyState, 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);
if (HBOrder == 1)
Param.Add("a.IsJoin", "=", 1, DbType.Int32);
if (IsError == 1)
{
Param.Add("(a.SendAddr", ">", 0, DbType.Int32);
Param.Add("a.IsLeaveWord", "=", 1, "or", ")", DbType.Int32);
}
if (IsE == 1)
{
Param.Add("a.PostState", "=", 2, DbType.Int32);
}
if (IsE == 0)
{
Param.Add("a.PostState", "<", 2, 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);
}
}
if (IsSku == 0)
Param.Add("a.FPDate", "is", null, DbType.String);
else if (IsSku == 1)
Param.Add("a.FPDate", "is not", null, DbType.String);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
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 (SFLY > 0)
{
if (SFLY == 1)
{
resultModel.DataSource = obj.GetListDT_OrderInfoForTM6(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, IsDH, Param, PageIndex, PageSize, Sort, out RowCount);
}
if (SFLY == 2)
{
resultModel.DataSource = obj.GetListDT_OrderInfoForTM7(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, IsDH, Param, PageIndex, PageSize, Sort, out RowCount);
}
}
else
{
if (State == 0 || State == 2)
resultModel.DataSource = obj.GetListDT_OrderInfoForTM1(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, IsDH, Param, PageIndex, PageSize, Sort, out RowCount);
else
resultModel.DataSource = obj.GetListDT_OrderInfoForTM(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, IsDH, 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 (IsDetail == 1 && resultModel.DataSource != null)
{
if (Ids != "")
{
var list1 = obj.GetOrderGoodsList(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<DT_TrackCodeApply>();
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 + "<br/>";
}
else
trackinfo += md1.TrackCode + blank + "<br/>";
if (TrackCode == "")
TrackCode = md1.TrackCode;
}
md.TrackInfo = trackinfo;
md.TrackCode = TrackCode;
}
}
}
}
}
return resultModel;
}
#endregion
#region 查询订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderForTM2(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 PageIndex, int PageSize, string Sort)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
RefParameterCollection Param = new RefParameterCollection();
if(StoreId>0)
Param.Add("a.StoreId", "=", StoreId, DbType.Int32);
if (IsBuy == 1)
Param.Add("a.BuyDate", "is not", null, DbType.String);
else if (IsBuy == 0)
Param.Add("a.BuyDate", "is", null, DbType.String);
Param.Add("a.CompanyId", "=", CompanyId, DbType.Int32);
Param.Add("isnull(a.IsSDan,0)", "=", IsSD, DbType.Int32);
if (SaleState > 0)
Param.Add("a.SaleState", "=", SaleState, DbType.Int32);
if (WLId > 0)
Param.Add("a.LogisticsId", "=", WLId, DbType.Int32);
if (DeptId > 0)
Param.Add("c.DeptId", "=", DeptId, 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.AddDays(OutDays), DbType.DateTime);
Param.Add("a.OrderOutDate", ">=", DateTime.Now, DbType.DateTime);
}
if (MateState > -1)
Param.Add("a.MateState", "=", MateState, DbType.Int32);
if (MoneyState > -1)
Param.Add("a.MoneyState", "=", MoneyState, 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);
if (HBOrder == 1)
Param.Add("a.IsJoin", "=", 1, DbType.Int32);
if (IsError == 1)
{
Param.Add("(a.SendAddr", ">", 0, DbType.Int32);
Param.Add("a.IsLeaveWord", "=", 1, "or", ")", DbType.Int32);
}
if (IsE == 1)
{
Param.Add("a.PostState", "=", 2, DbType.Int32);
}
if (IsE == 0)
{
Param.Add("a.PostState", "<", 2, 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);
}
}
if (IsSku == 0)
Param.Add("a.FPDate", "is", null, DbType.String);
else if (IsSku == 1)
Param.Add("a.FPDate", "is not", null, DbType.String);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
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 (SFLY > 0)
{
if (SFLY == 1)
{
resultModel.DataSource = obj.GetListDT_OrderInfoForTM6(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, IsDH, Param, PageIndex, PageSize, Sort, out RowCount);
}
if (SFLY == 2)
{
resultModel.DataSource = obj.GetListDT_OrderInfoForTM7(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, IsDH, Param, PageIndex, PageSize, Sort, out RowCount);
}
}
else
{
if (State == 0 || State == 2)
resultModel.DataSource = obj.GetListDT_OrderInfoForTM1(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, IsDH, Param, PageIndex, PageSize, Sort, out RowCount);
else
resultModel.DataSource = obj.GetListDT_OrderInfoForTM(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, IsDH, 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 (IsDetail == 1 && resultModel.DataSource != null)
{
if (Ids != "")
{
var list1 = obj.GetOrderGoodsList(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<DT_TrackCodeApply>();
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 + "<br/>";
}
else
trackinfo += md1.TrackCode + blank + "<br/>";
if (TrackCode == "")
TrackCode = md1.TrackCode;
}
md.TrackInfo = trackinfo;
md.TrackCode = TrackCode;
}
}
}
}
}
return resultModel;
}
#endregion
#region 查询订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderForHWC(int CompanyId,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)
{
Pages.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 (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<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
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 = obj.GetListDT_OrderInfoForTM1(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 = obj.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<DT_TrackCodeApply>();
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 + "<br/>";
}
else
trackinfo += md1.TrackCode + blank + "<br/>";
if (TrackCode == "")
TrackCode = md1.TrackCode;
}
md.TrackInfo = trackinfo;
md.TrackCode = TrackCode;
}
}
}
}
}
return resultModel;
}
#endregion
#region 查询订单
[WebMethod(EnableSession = true)]
public string GetListOrderForExcel(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 PageIndex, int PageSize, string Sort)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
RefParameterCollection Param = new RefParameterCollection();
if (StoreId > 0)
Param.Add("a.StoreId", "=", StoreId, DbType.Int32);
if (IsBuy == 1)
Param.Add("a.BuyDate", "is not", null, DbType.String);
else if (IsBuy == 0)
Param.Add("a.BuyDate", "is", null, DbType.String);
Param.Add("a.CompanyId", "=", CompanyId, DbType.Int32);
Param.Add("isnull(a.IsSDan,0)", "=", IsSD, DbType.Int32);
if (SaleState > 0)
Param.Add("a.SaleState", "=", SaleState, DbType.Int32);
if (WLId > 0)
Param.Add("a.LogisticsId", "=", WLId, DbType.Int32);
if (DeptId > 0)
Param.Add("c.DeptId", "=", DeptId, 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.AddDays(OutDays), DbType.DateTime);
Param.Add("a.OrderOutDate", ">=", DateTime.Now, DbType.DateTime);
}
if (MateState > -1)
Param.Add("a.MateState", "=", MateState, DbType.Int32);
if (MoneyState > -1)
Param.Add("a.MoneyState", "=", MoneyState, 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);
if (HBOrder == 1)
Param.Add("a.IsJoin", "=", 1, DbType.Int32);
if (IsError == 1)
{
Param.Add("(a.SendAddr", ">", 0, DbType.Int32);
Param.Add("a.IsLeaveWord", "=", 1, "or", ")", DbType.Int32);
}
if (IsE == 1)
{
Param.Add("a.PostState", "=", 2, DbType.Int32);
}
if (IsE == 0)
{
Param.Add("a.PostState", "<", 2, 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);
}
}
if (IsSku == 0)
Param.Add("a.FPDate", "is", null, DbType.String);
else if (IsSku == 1)
Param.Add("a.FPDate", "is not", null, DbType.String);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
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 (SFLY > 0)
{
if (SFLY == 1)
{
resultModel.DataSource = obj.GetListDT_OrderInfoForTM6(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, IsDH, Param, PageIndex, PageSize, Sort, out RowCount);
}
if (SFLY == 2)
{
resultModel.DataSource = obj.GetListDT_OrderInfoForTM7(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, IsDH, Param, PageIndex, PageSize, Sort, out RowCount);
}
}
else
{
if (State == 0 || State == 2)
resultModel.DataSource = obj.GetListDT_OrderInfoForTM1(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, IsDH, Param, PageIndex, PageSize, Sort, out RowCount);
else
resultModel.DataSource = obj.GetListDT_OrderInfoForTM(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, IsDH, 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 (IsDetail == 1 && resultModel.DataSource != null)
{
if (Ids != "")
{
var list1 = obj.GetOrderGoodsList(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<DT_TrackCodeApply>();
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 + "<br/>";
}
else
trackinfo += md1.TrackCode + blank + "<br/>";
if (TrackCode == "")
TrackCode = md1.TrackCode;
}
md.TrackInfo = trackinfo;
md.TrackCode = TrackCode;
}
}
}
}
}
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("PlatOrderCode", "订单号", DbType.String, "");
listColumns.Add("JoinOrderCode", "合并订单号", DbType.String, "");
listColumns.Add("ShopName", "店铺", DbType.String, "");
listColumns.Add("InDate", "导入日期", DbType.String, "yyyy-MM-dd HH:mm");
listColumns.Add("CountryName", "国家", DbType.String, "");
listColumns.Add("TotalPrice", "金额", DbType.String, "");
listColumns.Add("MoneyCode", "货币单位", DbType.String, "");
listColumns.Add("GoodsNum", "货物数量", DbType.String, "");
listColumns.Add("StateName", "订单状态", DbType.String, "");
listColumns.Add("PostDate", "发货时间", DbType.String, "yyyy-MM-dd HH:mm");
listColumns.Add("TrackCode", "跟踪码", DbType.String, "");
listColumns.Add("TrackInfo", "发货信息", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(resultModel.DataSource, listColumns);
}
#endregion
#region 查询订单
[WebMethod(EnableSession = true)]
public string GetListOrderForExcel2(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 PageIndex, int PageSize, string Sort)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
RefParameterCollection Param = new RefParameterCollection();
if (StoreId > 0)
Param.Add("a.StoreId", "=", StoreId, DbType.Int32);
if (IsBuy == 1)
Param.Add("a.BuyDate", "is not", null, DbType.String);
else if (IsBuy == 0)
Param.Add("a.BuyDate", "is", null, DbType.String);
Param.Add("a.CompanyId", "=", CompanyId, DbType.Int32);
Param.Add("isnull(a.IsSDan,0)", "=", IsSD, DbType.Int32);
if (SaleState > 0)
Param.Add("a.SaleState", "=", SaleState, DbType.Int32);
if (WLId > 0)
Param.Add("a.LogisticsId", "=", WLId, DbType.Int32);
if (DeptId > 0)
Param.Add("c.DeptId", "=", DeptId, 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.AddDays(OutDays), DbType.DateTime);
Param.Add("a.OrderOutDate", ">=", DateTime.Now, DbType.DateTime);
}
if (MateState > -1)
Param.Add("a.MateState", "=", MateState, DbType.Int32);
if (MoneyState > -1)
Param.Add("a.MoneyState", "=", MoneyState, 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);
if (HBOrder == 1)
Param.Add("a.IsJoin", "=", 1, DbType.Int32);
if (IsError == 1)
{
Param.Add("(a.SendAddr", ">", 0, DbType.Int32);
Param.Add("a.IsLeaveWord", "=", 1, "or", ")", DbType.Int32);
}
if (IsE == 1)
{
Param.Add("a.PostState", "=", 2, DbType.Int32);
}
if (IsE == 0)
{
Param.Add("a.PostState", "<", 2, 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);
}
}
if (IsSku == 0)
Param.Add("a.FPDate", "is", null, DbType.String);
else if (IsSku == 1)
Param.Add("a.FPDate", "is not", null, DbType.String);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
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 (SFLY > 0)
{
if (SFLY == 1)
{
resultModel.DataSource = obj.GetListDT_OrderInfoForTM6(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, IsDH, Param, PageIndex, PageSize, Sort, out RowCount);
}
if (SFLY == 2)
{
resultModel.DataSource = obj.GetListDT_OrderInfoForTM7(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, IsDH, Param, PageIndex, PageSize, Sort, out RowCount);
}
}
else
{
if (State == 0 || State == 2)
resultModel.DataSource = obj.GetListDT_OrderInfoForTM1(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, IsDH, Param, PageIndex, PageSize, Sort, out RowCount);
else
resultModel.DataSource = obj.GetListDT_OrderInfoForTM(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, -1, IsDH, 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 (IsDetail == 1 && resultModel.DataSource != null)
{
if (Ids != "")
{
var list1 = obj.GetOrderGoodsList22(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 && list2.Count>0)
{
md.SKU = list2[0].GoodsCode;
if(list2[0].Weight!=null)
md.GWeight = list2[0].Weight.Value.ToString("0");
if (list2[0].Height2 != null)
md.GHeight = list2[0].Height2.Value.ToString("0.0");
if (list2[0].Width2 != null)
md.GWidth = list2[0].Width2.Value.ToString("0.0");
if (list2[0].Long2 != null)
md.GLong = list2[0].Long2.Value.ToString("0.0");
}
}
}
if (listTrack != null)
{
foreach (var md in resultModel.DataSource)
{
var list3 = new List<DT_TrackCodeApply>();
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)
{
trackinfo += md1.TrackCode+",";
if (TrackCode == "")
TrackCode = md1.TrackCode;
}
md.TrackCode = TrackCode;
}
}
}
}
}
// 订单号 收货人国家 收货人姓名 地址1+地址2 收货人城市 收货人州/省 邮编 收货人手机 收货人电话 SKU 产品数量 报关重量(oz) 长inchinch
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("PlatOrderCode", "订单号", DbType.String, "");
listColumns.Add("RevCountry", "收货人国家", DbType.String, "");
listColumns.Add("RevName", "收货人姓名", DbType.String, "");
listColumns.Add("RevAddr", "地址1+地址2", DbType.String, "yyyy-MM-dd HH:mm");
listColumns.Add("RevCity", "收货人城市", DbType.String, "");
listColumns.Add("RevProvince", "收货人州/省", DbType.String, "");
listColumns.Add("RevPostCode", "邮编", DbType.String, "");
listColumns.Add("RevMoblie", "收货人手机", DbType.String, "");
listColumns.Add("RevPhone", "收货人电话", DbType.String, "");
listColumns.Add("SKU", "SKU", DbType.String, "yyyy-MM-dd HH:mm");
listColumns.Add("GoodsNum", "产品数量", DbType.String, "");
listColumns.Add("GWeight", "报关重量(oz)", DbType.String, "");
listColumns.Add("GLong", "长inch", DbType.String, "");
listColumns.Add("GWidth", "宽inch", DbType.String, "");
listColumns.Add("GHeight", "高inch", DbType.String, "");
listColumns.Add("TrackCode", "跟踪码", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(resultModel.DataSource, listColumns);
}
#endregion
#region 查询空包裹订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_OrderBlank>> GetListOrderBlank(int PlatType, int ShopId, int DateType, DateTime? SDate, DateTime? EDate, int TjType, string Name, int PrintState, int PostState, int PostId, int PageIndex, int PageSize)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
RefParameterCollection Param = new RefParameterCollection();
Param.Add("b.CompanyId", "=", CompanyId, DbType.Int32);
if (PostId > 0)
Param.Add("a.Post", "=", PostId, DbType.Int32);
if (PlatType > 0)
Param.Add("b.PlatId", "=", PlatType, DbType.Int32);
if (ShopId > 0)
Param.Add("b.ShopId", "=", ShopId, DbType.Int32);
if (DateType == 1)
{
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 == 2)
{
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 == 3)
{
if (SDate != null)
Param.Add("a.PostDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate", "<", EDate.Value.AddDays(1), DbType.DateTime);
}
if (PrintState == 1)
Param.Add("a.State", "=", 2, DbType.Int32);
else if (PrintState == 0)
Param.Add("a.State", "=", 1, DbType.Int32);
if (PostState == 0)
Param.Add("a.State", "=", 1, DbType.Int32);
else if (PostState == 1)
Param.Add("a.State", "=", 3, DbType.Int32);
if (Name != "")
{
Name = Name.Trim();
if (TjType == 1)
{
Param.Add("b.PlatOrderCode", "like", Name, 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 == 10)
{
Param.Add("a.TrackCode", "like", Name, DbType.String);
}
}
// Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel<List<DT_OrderBlank>> resultModel = new JsonModel<List<DT_OrderBlank>>();
int RowCount = 0;
string Sort = "id desc";
resultModel.DataSource = obj.GetListDT_OrderBlank(Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
return resultModel;
}
#endregion
#region 查询订单导出
public DataTable GetListOrderExcel(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 IsDetail, int HBOrder)
{
Pages.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 (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.Today.AddDays(OutDays), DbType.DateTime);
}
if (MateState > -1)
Param.Add("a.MateState", "=", MateState, DbType.Int32);
if (MoneyState > -1)
Param.Add("a.MoneyState", "=", MoneyState, 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 > -1)
{
Param.Add("a.State", ">", 0, DbType.Int32);
Param.Add("a.PostState", "=", State, DbType.Int32);
}
else
Param.Add("a.State", ">", 0, 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 (Name != "")
{
Name = Name.Trim();
if (TjType == 1)
{
Param.Add("(a.PlatOrderCode", "=", Name, DbType.String);
Param.Add("a.PlatOrderCode", "=", "C" + 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);
}
}
// Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
//int RowCount = 0;
string Sort = "orderid desc";
string GoodsName = "";
string SKU = "";
if (TjType == 7 && Name != "")
{
GoodsName = Name;
}
else
if (TjType == 8 && Name != "")
{
SKU = Name;
}
DataTable tb = obj.GetExcelDT_OrderInfo(CompanyId, GoodsName.Trim(), SKU.Trim(), IsSku, Param, Sort);
if (tb != null)
{
BaseService obj2 = new BaseService();
var postlist = obj2.GetExpressPostList(CompanyId, 0);
for (int i = 0; i < tb.Rows.Count; i++)
{
if (tb.Rows[i]["Post"] != null && Convert.ToInt32(tb.Rows[i]["Post"]) > 0 && postlist != null)
{
var pmd = postlist.Find(n => n.ExpressID == Convert.ToInt32(tb.Rows[i]["Post"]));
if (pmd != null)
{
tb.Rows[i]["PostInfo"] = pmd.Name;
}
else
tb.Rows[i]["PostInfo"] = "";
}
else
tb.Rows[i]["PostInfo"] = "";
}
}
return tb;
}
#endregion
#region 查询修改状态订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListStateOrder(int PlatType, int ShopId, int DateType, DateTime? SDate, DateTime? EDate, int TjType, string Name, int State, int IsDetail,int DYState, int PageIndex, int PageSize)
{
Pages.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 (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 (State == 1)
{
Param.Add("a.PostState", "=", 1, DbType.Int32);
Param.Add("a.State", "=", 2, DbType.Int32);
}
else if (State == 2)
{
Param.Add("a.PrintState", "=", 1, DbType.Int32);
Param.Add("a.State", "=", 1, DbType.Int32);
}
else if (State == 3)
{
Param.Add("a.State", "=", 1, DbType.Int32);
Param.Add("a.MateState", "=", 2, DbType.Int32);
}
if (State == 3 && DYState>-1&& DYState < 2)
Param.Add("a.PostState", "=", DYState, DbType.Int32);
if (State == 3 && DYState==2)
Param.Add("a.MoneyState", "=", 0, DbType.Int32);
string TCode = "";
if (Name != "")
{
Name = Name.Trim();
if (TjType == 1)
{
Param.Add("(a.PlatOrderCode", "like", Name, DbType.String);
Param.Add("a.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("b.TrackCode", "like", Name, DbType.String);
TCode = Name;
}
}
// Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
int RowCount = 0;
string Sort = "orderid desc";
string GoodsName = "";
string SKU = "";
if (TjType == 7 && Name != "")
{
GoodsName = Name;
}
else
if (TjType == 8 && Name != "")
{
SKU = Name;
}
resultModel.DataSource = obj.GetListDT_OrderInfoForTM(CompanyId, GoodsName.Trim(), SKU.Trim(), TCode, 0, -1, Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
if (IsDetail == 1 && resultModel.DataSource != null)
{
string Ids = "";
foreach (var md in resultModel.DataSource)
{
Ids += md.OrderId.ToString() + ",";
}
if (Ids != "")
{
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;
}
}
}
}
}
return resultModel;
}
#endregion
#region 查询订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetErrorListOrder(int PlatType, int ShopId, int DateType, DateTime? SDate, DateTime? EDate, int TjType, string Name, int PrintState, int MateState, int OutDays, int State, int IsError, int IsDetail, int HBOrder, int PageIndex, int PageSize)
{
Pages.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 (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.Today.AddDays(OutDays), DbType.DateTime);
}
Param.Add("a.State", "=", 1, DbType.Int32);
int IsSku = 0;
if (IsError == 1)
{
IsSku = 1;
}
else
if (IsError == 2)
{
Param.Add("b.IsLeaveWord", "=", 1, DbType.Int32);
Param.Add("a.PostState", "=", 2, DbType.Int32);
}
else if (IsError == 3)
{
Param.Add("b.SendAddr", ">", 0, DbType.Int32);
Param.Add("a.PostState", "=", 2, DbType.Int32);
}
else if (IsError == 5)
{
Param.Add("a.MoneyState", "=", 0, DbType.Int32);
Param.Add("a.PostState", "=", 2, DbType.Int32);
}
else if (IsError == 6)
{
Param.Add("a.MoneyState", "=", 0, DbType.Int32);
Param.Add("a.PostState", "=", 2, DbType.Int32);
}
//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 > -1)
//{
// Param.Add("a.State", "=", 1, DbType.Int32);
// Param.Add("a.PostState", "=", State, DbType.Int32);
//}
//else
// Param.Add("a.State", ">", 0, DbType.Int32);
if (HBOrder == 1)
Param.Add("a.IsJoin", "=", 1, DbType.Int32);
//if (IsError == 1)
//{
// Param.Add("b.OrderState", "=", 2, DbType.Int32);
//}
if (Name != "")
{
Name = Name.Trim();
if (TjType == 1)
Param.Add("a.PlatOrderCode", "=", Name, 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);
}
}
// Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
int RowCount = 0;
string Sort = "orderid desc";
string GoodsName = "";
string SKU = "";
if (TjType == 7 && Name != "")
{
GoodsName = Name;
}
else
if (TjType == 8 && Name != "")
{
SKU = Name;
}
resultModel.DataSource = obj.GetListDT_OrderErrorInfo(CompanyId, GoodsName.Trim(), SKU.Trim(), IsSku, Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
if (IsDetail == 1 && resultModel.DataSource != null)
{
string Ids = "";
foreach (var md in resultModel.DataSource)
{
Ids += md.OrderId.ToString() + ",";
}
if (Ids != "")
{
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;
}
}
}
}
}
return resultModel;
}
#endregion
#region 查询订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetErrorListOrderForTM(int DeptId, int PlatType, int ShopId, int DateType, DateTime? SDate, DateTime? EDate, int TjType, string Name, int OutDays, int IsError, int IsDetail, int HBOrder, int SFLY, int PageIndex, int PageSize)
{
Pages.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 (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.InDate", "<=", DateTime.Now.AddDays(OutDays * -1), DbType.DateTime);
//Param.Add("a.OrderOutDate", ">=", DateTime.Now, DbType.DateTime);
}
if (IsError != 8 || SFLY < 0)
Param.Add("a.State", "=", 1, DbType.Int32);
int IsSku = 0;
int IsNoGoods = 0;
if (IsError == 1)
{
Param.Add("a.FPDate", "is", null, DbType.String);
}
else
if (IsError == 2)
{
Param.Add("b.IsLeaveWord", "=", 1, DbType.Int32);
Param.Add("a.FPDate", "is", null, DbType.Int32);
}
else if (IsError == 3)
{
Param.Add("b.SendAddr", ">", 0, DbType.Int32);
Param.Add("a.PostState", "=", 2, DbType.Int32);
}
else if (IsError == 5)
{
Param.Add("a.MoneyState", "=", 0, DbType.Int32);
//Param.Add("a.PostState", "=", 2, DbType.Int32);
}
else if (IsError == 6)
{
IsNoGoods = 1;
Param.Add("a.MateState", "=", 0, DbType.String);
}
else if (IsError == 9)
{
IsNoGoods = 2;
Param.Add("a.MateState", "=", 0, DbType.String);
}
else if (IsError == 7)
{
Param.Add("a.PostState", "=", 2, DbType.Int32);
}
if (HBOrder == 1)
Param.Add("a.IsJoin", "=", 1, DbType.Int32);
if (Name != "")
{
Name = Name.Trim();
if (TjType == 1)
Param.Add("a.PlatOrderCode", "=", Name, 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);
}
else if (TjType == 11)
{
Param.Add("b.RevMail", "=", Name, DbType.String);
}
}
// Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
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 (SFLY > 0)
{
if (SFLY == 1)
{
resultModel.DataSource = obj.GetListDT_OrderErrorInfoForTM4(CompanyId, IsNoGoods, GoodsName.Trim(), SKU.Trim(), IsSku, Param, PageIndex, PageSize, Sort, out RowCount);
}
if (SFLY == 2)
{
resultModel.DataSource = obj.GetListDT_OrderErrorInfoForTM5(CompanyId, IsNoGoods, GoodsName.Trim(), SKU.Trim(), IsSku, Param, PageIndex, PageSize, Sort, out RowCount);
}
}
else
{
if (IsError == 8)
{
resultModel.DataSource = obj.GetListDT_OrderErrorInfoForTM3(CompanyId, IsNoGoods, GoodsName.Trim(), SKU.Trim(), IsSku, Param, PageIndex, PageSize, Sort, out RowCount);
}
else
{
resultModel.DataSource = obj.GetListDT_OrderErrorInfoForTM2(CompanyId, IsNoGoods, GoodsName.Trim(), SKU.Trim(), 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 != "")
{
var errorlist = obj.GetErrorList(Ids.Trim(','));
if (errorlist != null)
{
foreach (var md in resultModel.DataSource)
{
var emd = errorlist.Find(n => n.OrderId == md.OrderId);
if (emd != null)
{
md.ErrorInfo = emd.ErrorInfo;
}
}
}
}
if (IsDetail == 1 && resultModel.DataSource != null)
{
if (Ids != "")
{
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;
}
}
}
}
}
return resultModel;
}
#endregion
#region 查询订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderPrint(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 PageIndex, int PageSize)
{
Pages.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);
Param.Add("a.MateState", "=", 2, 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.Today.AddDays(OutDays), DbType.DateTime);
}
if (PrintState > -1)
Param.Add("a.PrintState", "=", PrintState, DbType.Int32);
Param.Add("a.PostState", "<", 2, 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);
}
Param.Add("b.Post", ">", 0, DbType.Int32);
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);
}
if (Name != "")
{
Name = Name.Trim();
if (TjType == 1)
Param.Add("a.PlatOrderCode", "=", Name, 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);
}
}
if (IsWeight == 2)
{
Param.Add("a.IsSpare", "=", 1, DbType.Int32);
IsWeight = 0;
}
//Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
int RowCount = 0;
string Sort = "orderid desc";
if(PrintState==0)
Sort = "orderid";
string GoodsName = "";
string SKU = "";
if (TjType == 7 && Name != "")
{
GoodsName = Name;
}
else
if (TjType == 8 && Name != "")
{
SKU = Name;
}
resultModel.DataSource = obj.GetListDT_PrintOrderInfo(CompanyId, GoodsName.Trim(), IsWeight, SKU, IsSku, Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
if (resultModel.DataSource != null)
{
BaseService obj2 = new BaseService();
var postlist = obj2.GetExpressPostList(CompanyId,0);
foreach (var md in resultModel.DataSource)
{
if (md.IsSpare == 1)
{
string TrackCodes = "拆分发包:<br/>";
var splist = obj.GetOrderSpareList(md.OrderId.Value);
if (splist != null)
{
for (int i = 0; i < splist.Count; i++)
{
if (i % 2 == 1 && splist[i].TrackCode != null)
TrackCodes += splist[i].TrackCode.ToString() + "<br/>";
else if (splist[i].TrackCode != null)
TrackCodes += splist[i].TrackCode.ToString() + ",";
}
}
md.TrackCode = TrackCodes.Trim(',');
}
if (md.Post > 0 && postlist != null)
{
var pmd = postlist.Find(n => n.ExpressID == md.Post);
if (pmd != null)
{
md.PostInfo = pmd.Name;
md.PrintTemplateName = pmd.PrintTemplateName;
}
else
md.PostInfo = "";
}
else
md.PostInfo = "";
}
}
if (IsDetail == 1 && resultModel.DataSource != null)
{
string Ids = "";
foreach (var md in resultModel.DataSource)
{
Ids += md.OrderId.ToString() + ",";
}
if (Ids != "")
{
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;
}
}
}
}
}
return resultModel;
}
#endregion
#region 查询订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderPrintForTM(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)
{
Pages.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 (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<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
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<DT_Order> orderlist = new List<DT_Order>();
List<DT_Order> ordertemp = new List<DT_Order>();
if(PrintState>-1)
orderlist = obj.GetListDT_PrintOrderInfoForTM2(CompanyId, TCode, GoodsName, 0, Code, KWCode, IsSku, GM, PrintState, Param, PageIndex, PageSize, Sort, out RowCount);
else
orderlist = obj.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() + ",";
if (IsError > 0)
{
if (IsError == 3)
{
int check = CheckNum(md.RevPostCode);
if (check == 0)
{
ordertemp.Add(md);
}
}
else if(IsError==2)
{
int check = CheckNum(md.RevPostCode);
if (check == 1&&md.ErrorInfo=="")
{
ordertemp.Add(md);
}
}
else
{
ordertemp.Add(md);
}
}
else
{
ordertemp.Add(md);
}
}
}
orderlist = new List<DT_Order>();
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 || 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<DT_TrackCodeApply>();
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 + "<br/>";
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 = obj.GetOrderGoodsPostionList(Ids.Trim(','));
if (list1 != null)
{
foreach (var md in ordertemp)
{
var list2 = list1.FindAll(n => n.OrderId == md.OrderId);
if (list2 != null)
{
md.GoodsList = list2;
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<DT_TrackCodeApply>();
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 + "<br/>";
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;
}
resultModel.DataSource = ordertemp.Take(PageSize).Skip(PageSize*(PageIndex-1)).ToList();
int count = 0;
if (ordertemp != null) count = ordertemp.Count();
resultModel.RowCount = count;
return resultModel;
}
#endregion
#region 查询订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderPrintForTM2(int MateState,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)
{
Pages.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);
if (MateState == 2)
Param.Add("a.MateState", "=", 2, DbType.Int32);
else if (MateState == 0)
Param.Add("a.MateState", "=", 0, 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<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
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<DT_Order> orderlist = new List<DT_Order>();
List<DT_Order> ordertemp = new List<DT_Order>();
if (PrintState > -1)
orderlist = obj.GetListDT_PrintOrderInfoForTM2(CompanyId, TCode, GoodsName, 0, Code, KWCode, IsSku, GM, PrintState, Param, PageIndex, PageSize, Sort, out RowCount);
else
orderlist = obj.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() + ",";
if (IsError > 0)
{
if (IsError == 3)
{
int check = CheckNum(md.RevPostCode);
if (check == 0)
{
ordertemp.Add(md);
}
}
else if (IsError == 2)
{
int check = CheckNum(md.RevPostCode);
if (check == 1 && md.ErrorInfo == "")
{
ordertemp.Add(md);
}
}
else
{
ordertemp.Add(md);
}
}
else
{
ordertemp.Add(md);
}
}
}
orderlist = new List<DT_Order>();
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 || 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<DT_TrackCodeApply>();
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 + "<br/>";
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 list11 = obj.GetOrderGoodsNoPostionList(Ids.Trim(','));
var list1 = obj.GetOrderGoodsPostionList(Ids.Trim(','));
if (list1 != null)
{
foreach (var md in ordertemp)
{
var list2 = list1.FindAll(n => n.OrderId == md.OrderId);
if (list2 != null)
{
md.GoodsList = list2;
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);
}
}
}
}
}
if (list11 != null)
{
foreach (var md in ordertemp)
{
if (md.GoodsList == null || md.GoodsList.Count==0)
{
var list12 = list11.FindAll(n => n.OrderId == md.OrderId);
if (list12 != null)
{
md.GoodsList = list12;
}
}
}
}
if (listTrack != null)
{
foreach (var md in ordertemp)
{
var list3 = new List<DT_TrackCodeApply>();
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 + "<br/>";
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;
}
resultModel.DataSource = ordertemp.Take(PageSize).Skip(PageSize * (PageIndex - 1)).ToList();
int count = 0;
if (ordertemp != null) count = ordertemp.Count();
resultModel.RowCount = count;
return resultModel;
}
#endregion
#region 查询订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderPrintForTM3(int MateState,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)
{
Pages.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);
if (MateState==2)
Param.Add("a.MateState", "=", 2, DbType.Int32);
else if (MateState == 0)
Param.Add("a.MateState", "=", 0, 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<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
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<DT_Order> orderlist = new List<DT_Order>();
List<DT_Order> ordertemp = new List<DT_Order>();
if (PrintState > -1)
orderlist = obj.GetListDT_PrintOrderInfoForTM2(CompanyId, TCode, GoodsName, 0, Code, KWCode, IsSku, GM, PrintState, Param, PageIndex, PageSize, Sort, out RowCount);
else
orderlist = obj.GetListDT_PrintOrderInfoForTM(CompanyId, TCode, GoodsName, 0, Code, KWCode, IsSku, Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.DataSource = orderlist;
resultModel.RowCount = RowCount;
string Ids = "";
if (orderlist != null)
{
foreach (var md in orderlist)
{
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 || plist != null)
{
foreach (var md in orderlist)
{
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 && orderlist != null)
{
if (Ids != "")
{
var listTrack = obj.GetTrackCodeApplyList2(Ids.Trim(','));
if (listTrack != null)
{
foreach (var md in orderlist)
{
var list3 = new List<DT_TrackCodeApply>();
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 + "<br/>";
tcount++;
}
}
md.TrackCode = trackinfo;
}
}
}
}
}
else
if (IsDetail == 1 && orderlist != null)
{
if (Ids != "")
{
var listTrack = obj.GetTrackCodeApplyList2(Ids.Trim(','));
var list1 = obj.GetOrderGoodsPostionList(Ids.Trim(','));
var list11 = obj.GetOrderGoodsNoPostionList(Ids.Trim(','));
if (list1 != null)
{
foreach (var md in orderlist)
{
var list2 = list1.FindAll(n => n.OrderId == md.OrderId);
if (list2 != null)
{
md.GoodsList = list2;
}
}
}
if (list11 != null)
{
foreach (var md in orderlist)
{
if (md.GoodsList == null)
{
var list12 = list11.FindAll(n => n.OrderId == md.OrderId);
if (list12 != null)
{
md.GoodsList = list12;
}
}
}
}
foreach (var md in orderlist)
{
var list3 = new List<DT_TrackCodeApply>();
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 + "<br/>";
tcount++;
}
}
md.TrackCode = trackinfo;
}
}
}
}
return resultModel;
}
#endregion
#region 导出订单
[WebMethod(EnableSession = true)]
public string GetListOrderPrintForExcel(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)
{
Pages.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 (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<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
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<DT_Order> orderlist = new List<DT_Order>();
List<DT_Order> ordertemp = new List<DT_Order>();
if (PrintState > -1)
orderlist = obj.GetListDT_PrintOrderInfoForTM2(CompanyId, TCode, GoodsName, 0, Code, KWCode, IsSku, GM, PrintState, Param, PageIndex, PageSize, Sort, out RowCount);
else
orderlist = obj.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() + ",";
if (IsError > 0)
{
if (IsError == 3)
{
int check = CheckNum(md.RevPostCode);
if (check == 0)
{
ordertemp.Add(md);
}
}
else if (IsError == 2)
{
int check = CheckNum(md.RevPostCode);
if (check == 1 && md.ErrorInfo == "")
{
ordertemp.Add(md);
}
}
else
{
ordertemp.Add(md);
}
}
else
{
ordertemp.Add(md);
}
}
}
orderlist = new List<DT_Order>();
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<DT_TrackCodeApply>();
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 = obj.GetOrderGoodsPostionList(Ids.Trim(','));
if (list1 != null)
{
foreach (var md in ordertemp)
{
var list2 = list1.FindAll(n => n.OrderId == md.OrderId);
if (list2 != null)
{
md.GoodsList = list2;
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<DT_TrackCodeApply>();
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;
}
resultModel.DataSource = ordertemp.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("shopname", Type.GetType("System.String"));
tb.Columns.Add("indate", Type.GetType("System.String"));
tb.Columns.Add("country", Type.GetType("System.String"));
tb.Columns.Add("post", Type.GetType("System.String"));
tb.Columns.Add("trackcode", Type.GetType("System.String"));
if (resultModel.DataSource != null)
{
foreach (var md in resultModel.DataSource)
{
DataRow row = tb.NewRow();
row["ordercode"] = md.PlatOrderCode;
row["hbordercode"] = md.JoinOrderCode;
row["shopname"] = md.ShopName;
if (md.OrderDate!=null)
row["indate"] = md.OrderDate.Value.ToString("yyyy-MM-dd HH:mm");
row["country"] = md.CountryName;
row["post"] = md.PostInfo;
row["trackcode"] = md.TrackCode.TrimEnd(',');
tb.Rows.Add(row);
if (md.GoodsList != null)
{
foreach (var gmd in md.GoodsList)
{
DataRow row1 = tb.NewRow();
row1["ordercode"] = "";
row1["hbordercode"] = "";
row1["shopname"] ="";
string oldtypedec = "";
if (gmd.OldTypeDesc != null && gmd.OldTypeDesc != "")
oldtypedec = "改" + gmd.OldTypeDesc + "发";
row1["indate"] ="";
row1["country"] = "";
row1["post"] = "";
row1["trackcode"] = "商品:[" + gmd.GoodsCode + "]" + gmd.GoodsName + " " + gmd.TypeDesc + gmd.TypeCode + oldtypedec + "数量:" + gmd.GoodsNum+"库位:【" + gmd.PostionCode + "】";
tb.Rows.Add(row1);
}
}
}
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("ordercode", "订单号", DbType.String, "");
listColumns.Add("hbordercode", "合并单号", DbType.String, "");
listColumns.Add("shopname", "店铺", DbType.String, "");
listColumns.Add("indate", "订单日期", DbType.String, "");
listColumns.Add("country", "国家", DbType.String, "");
listColumns.Add("post", "物流", DbType.String, "");
listColumns.Add("trackcode", "跟踪码", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(tb, listColumns);
}
return "";
}
#endregion
#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)
{
Pages.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 (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<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
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<DT_Order> orderlist = new List<DT_Order>();
List<DT_Order> ordertemp = new List<DT_Order>();
if (PrintState > -1)
orderlist = obj.GetListDT_PrintOrderInfoForTM2(CompanyId, TCode, GoodsName, 0, Code, KWCode, IsSku, GM, PrintState, Param, PageIndex, PageSize, Sort, out RowCount);
else
orderlist = obj.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() + ",";
if (IsError > 0)
{
if (IsError == 3)
{
int check = CheckNum(md.RevPostCode);
if (check == 0)
{
ordertemp.Add(md);
}
}
else if (IsError == 2)
{
int check = CheckNum(md.RevPostCode);
if (check == 1 && md.ErrorInfo == "")
{
ordertemp.Add(md);
}
}
else
{
ordertemp.Add(md);
}
}
else
{
ordertemp.Add(md);
}
}
}
orderlist = new List<DT_Order>();
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<DT_TrackCodeApply>();
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 = obj.GetOrderGoodsPostionList(Ids.Trim(','));
if (list1 != null)
{
foreach (var md in ordertemp)
{
var list2 = list1.FindAll(n => n.OrderId == md.OrderId);
if (list2 != null)
{
md.GoodsList = list2;
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<DT_TrackCodeApply>();
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;
}
resultModel.DataSource = ordertemp.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("indate", Type.GetType("System.String"));
tb.Columns.Add("num", Type.GetType("System.String"));
tb.Columns.Add("kwcode", Type.GetType("System.String"));
// tb.Columns.Add("trackcode", Type.GetType("System.String"));
if (resultModel.DataSource != null)
{
foreach (var md in resultModel.DataSource)
{
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;
//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 + " " + gmd.TypeDesc + " " + gmd.GoodsName;
else
row["goodscode"] = gmd.GoodsCode + "-" + gmd.TypeCode + " " + gmd.TypeDesc + " " + gmd.GoodsName;
row["num"] = gmd.GoodsNum.ToString();
row["kwcode"] = gmd.PostionCode.ToString();
tb.Rows.Add(row);
}
else
{
DataRow row1 = tb.NewRow();
row1["ordercode"] = "";
if (gmd.OldTypeDesc != null && gmd.OldTypeDesc != "")
row1["goodscode"] = gmd.OldTypeDesc + " " + gmd.TypeDesc + " " + gmd.GoodsName;
else
row1["goodscode"] = gmd.GoodsCode + "-" + gmd.TypeCode + " " + gmd.TypeDesc + " " + gmd.GoodsName;
row1["num"] = gmd.GoodsNum.ToString();
row1["kwcode"] = gmd.PostionCode.ToString();
tb.Rows.Add(row1);
}
}
}
}
if (Ids != null)
{
DataRow row2 = tb.NewRow();
row2["ordercode"] = "";
row2["goodscode"] = "";
row2["num"] = "";
row2["kwcode"] = "";
tb.Rows.Add(row2);
row2 = tb.NewRow();
row2["ordercode"] = "";
row2["goodscode"] = "";
row2["num"] = "";
row2["kwcode"] = "";
tb.Rows.Add(row2);
row2 = tb.NewRow();
row2["ordercode"] = "合计sum";
row2["goodscode"] = "";
row2["num"] = "";
row2["kwcode"] = "";
tb.Rows.Add(row2);
List<DT_OrderGoods> list8 = obj.GetOrderGoodsPostionList22(Ids.Trim(','));
if (list8 != null)
{
foreach (DT_OrderGoods goods2 in list8)
{
row2 = tb.NewRow();
row2["ordercode"] = "";
if (goods2.OldTypeDesc != null && goods2.OldTypeDesc != "")
row2["goodscode"] = goods2.OldTypeDesc + " " + goods2.TypeDesc + " " + goods2.GoodsName;
else
row2["goodscode"] = goods2.GoodsCode + " " + goods2.TypeDesc + " " + goods2.GoodsName;
row2["num"] = goods2.GoodsNum;
row2["kwcode"] = goods2.PostionCode;
tb.Rows.Add(row2);
}
}
}
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("ordercode", "订单号", DbType.String, "");
listColumns.Add("goodscode", "货号", DbType.String, "");
listColumns.Add("num", "数量", DbType.String, "");
listColumns.Add("kwcode", "库位", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(tb, listColumns);
}
return "";
}
#endregion
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderForTM222(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 PageIndex, int PageSize, string Sort)
{
List<DT_Order>.Enumerator enumerator;
Pages.Login(base.Session);
DD_OrderData data = new DD_OrderData();
int num = Convert.ToInt32(base.Session["CompanyId"]);
RefParameterCollection where = new RefParameterCollection();
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 (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 == 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<List<DT_Order>> model = new JsonModel<List<DT_Order>>();
int rowCount = 0;
string str2 = "";
string str3 = "";
if ((TjType == 7) && (Name != ""))
{
str2 = Name;
}
else if ((TjType == 8) && (Name != ""))
{
str3 = Name;
}
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 = data.GetListDT_OrderInfoForTM(num, str2.Trim(), str3.Trim(), trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount);
}
model.RowCount = rowCount;
string str4 = "";
if (model.DataSource != null)
{
foreach (DT_Order order in model.DataSource)
{
str4 = str4 + order.OrderId.ToString() + ",";
}
}
if (str4 != "")
{
List<DT_OrderError> errorList = data.GetErrorList(str4.Trim(new char[] { ',' }));
if ((errorList != null) && (errorList.Count > 0))
{
using (enumerator = model.DataSource.GetEnumerator())
{
Predicate<DT_OrderError> match = null;
DT_Order md;
while (enumerator.MoveNext())
{
md = enumerator.Current;
if (match == null)
{
match = n => n.OrderId == md.OrderId;
}
DT_OrderError error = errorList.Find(match);
if (error != null)
{
md.ErrorInfo = error.ErrorInfo;
}
}
}
}
}
List<DT_OrderBackMoneyApply> saleBackModelList = null;
if ((IsDetail == 1) && (model.DataSource != null))
{
int? trackType;
if (str4 != "")
{
List<DT_OrderGoods> orderGoodsList = data.GetOrderGoodsList(str4.Trim(new char[] { ',' }));
List<DT_TrackCodeApply> trackCodeApplyList = data.GetTrackCodeApplyList(str4.Trim(new char[] { ',' }));
saleBackModelList = data.GetSaleBackModelList(str4.Trim(new char[] { ',' }));
if (orderGoodsList != null)
{
using (enumerator = model.DataSource.GetEnumerator())
{
Predicate<DT_OrderGoods> predicate2 = null;
DT_Order md;
while (enumerator.MoveNext())
{
md = enumerator.Current;
if (predicate2 == null)
{
predicate2 = n => n.OrderId == md.OrderId;
}
List<DT_OrderGoods> list5 = orderGoodsList.FindAll(predicate2);
if (list5 != null)
{
md.GoodsList = list5;
}
}
}
}
if (trackCodeApplyList != null)
{
using (enumerator = model.DataSource.GetEnumerator())
{
Predicate<DT_TrackCodeApply> predicate3 = null;
Predicate<DT_TrackCodeApply> predicate4 = null;
DT_Order md;
while (enumerator.MoveNext())
{
md = enumerator.Current;
List<DT_TrackCodeApply> list6 = new List<DT_TrackCodeApply>();
if ((md.JoinOrderCode != null) && (md.JoinOrderCode != ""))
{
if (predicate3 == null)
{
predicate3 = n => n.OrderCode == md.JoinOrderCode;
}
list6 = trackCodeApplyList.FindAll(predicate3);
}
else
{
if (predicate4 == null)
{
predicate4 = n => n.OrderId == md.OrderId;
}
list6 = trackCodeApplyList.FindAll(predicate4);
}
if ((list6 != null) && (list6.Count > 0))
{
string str5 = "";
string str6 = "";
foreach (DT_TrackCodeApply apply in list6)
{
string str7 = "";
trackType = apply.TrackType;
if ((trackType.GetValueOrDefault() == 3) && trackType.HasValue)
{
str7 = "[空包裹]";
}
if (apply.Weight.HasValue)
{
string str8 = "";
if (apply.ScanDate.HasValue)
{
str8 = "扫描时间:" + apply.ScanDate.Value.ToString("yyyy-MM-dd HH:mm") + "<br/>";
}
string str9 = str5;
str5 = str9 + apply.TrackCode + str7 + "<br/>重量" + apply.Weight.ToString() + "g" + str8 + "<br/>";
}
else
{
str5 = str5 + apply.TrackCode + str7 + "<br/>";
}
if (str6 == "")
{
str6 = apply.TrackCode;
}
}
md.TrackInfo = str5;
md.TrackCode = str6;
}
}
}
}
}
decimal num3 = Convert.ToDecimal((double)6.5);
List<JC_Money> list7 = new BaseService().GetMoneyList2();
using (enumerator = model.DataSource.GetEnumerator())
{
Predicate<JC_Money> predicate5 = null;
Predicate<DT_OrderBackMoneyApply> predicate6 = null;
DT_Order md;
while (enumerator.MoveNext())
{
decimal? nullable3;
md = enumerator.Current;
if (predicate5 == null)
{
predicate5 = delegate(JC_Money n)
{
int? nullable;
int? nullable2;
return (n.MCode == "USD") && (((nullable = n.PlatId).GetValueOrDefault() == (nullable2 = md.PlatId).GetValueOrDefault()) && (nullable.HasValue == nullable2.HasValue));
};
}
JC_Money money = list7.Find(predicate5);
if (money != null)
{
num3 = money.MRate.Value;
}
decimal num4 = 0M;
if (md.TotalPrice.HasValue)
{
num4 = md.TotalPrice.Value;
}
decimal num5 = 0M;
num5 = num4 * Convert.ToDecimal((double)0.15);
trackType = md.PlatId;
if ((trackType.GetValueOrDefault() == 1) && trackType.HasValue)
{
num5 = num4 * Convert.ToDecimal((double)0.05);
}
else
{
trackType = md.PlatId;
if ((trackType.GetValueOrDefault() == 4) && trackType.HasValue)
{
num5 = num4 * Convert.ToDecimal(0);
}
else
{
trackType = md.PlatId;
if ((trackType.GetValueOrDefault() == 5) && trackType.HasValue)
{
num5 = num4 * Convert.ToDecimal(0);
}
}
}
decimal num6 = 0M;
decimal num7 = 0M;
decimal num8 = 0M;
if (md.GoodsList != null)
{
foreach (DT_OrderGoods goods in md.GoodsList)
{
if (goods.GoodsFee.HasValue && (goods.GoodsFee.Value > 0M))
{
num6 += goods.GoodsFee.Value;
}
else if (goods.GoodsPrice.HasValue)
{
num6 += goods.GoodsPrice.Value * goods.GoodsNum.Value;
}
if (goods.TCFee.HasValue && (((nullable3 = goods.TCFee).GetValueOrDefault() > 0M) && nullable3.HasValue))
{
num7 += goods.TCFee.Value;
}
if (goods.Solid2.HasValue)
{
num8 += goods.Solid2.Value * goods.GoodsNum.Value;
}
}
}
if (num6 > 0M)
{
num6 /= num3;
}
decimal num9 = 0M;
if ((num7 == 0M) && (num8 > 0M))
{
num7 = Convert.ToDecimal(0x41) * num8;
}
if (md.escrowFee.HasValue)
{
num9 = md.escrowFee.Value;
}
decimal num10 = 0M;
if (md.PostFee.HasValue)
{
num10 = md.PostFee.Value;
}
decimal num11 = 0M;
decimal num12 = 0M;
trackType = md.OrderState2;
if (((trackType.GetValueOrDefault() == 1) && trackType.HasValue) && (saleBackModelList != null))
{
if (predicate6 == null)
{
predicate6 = n => n.OrderId == md.OrderId;
}
DT_OrderBackMoneyApply apply2 = saleBackModelList.Find(predicate6);
if (apply2 != null)
{
trackType = apply2.OrderState;
if ((trackType.GetValueOrDefault() == 0) && trackType.HasValue)
{
num5 *= Convert.ToDecimal((double)0.2);
num4 = 0M;
}
trackType = apply2.BackState;
if (((trackType.GetValueOrDefault() == 1) && trackType.HasValue) || (((trackType = apply2.BackState).GetValueOrDefault() == 2) && trackType.HasValue))
{
num6 = 0M;
}
if (apply2.FactPrice.HasValue)
{
num11 = apply2.FactPrice.Value;
}
if (apply2.PostFee.HasValue)
{
num12 = apply2.PostFee.Value;
}
}
}
decimal num13 = 0M;
if (md.Post == 0x41)
{
num13 = num10 * Convert.ToDecimal((double)0.1);
}
decimal num14 = 0M;
if (md.Fee6.HasValue && (((nullable3 = md.Fee6).GetValueOrDefault() > 0M) && nullable3.HasValue))
{
num14 = md.Fee6.Value;
}
else if (md.Fee7.HasValue && (((nullable3 = md.Fee7).GetValueOrDefault() > 0M) && nullable3.HasValue))
{
num14 = md.Fee7.Value;
}
else if (md.Fee8.HasValue && (((nullable3 = md.Fee8).GetValueOrDefault() > 0M) && nullable3.HasValue))
{
num14 = md.Fee8.Value;
}
if (md.Fee7.HasValue)
{
nullable3 = md.Fee7;
}
if (md.Fee7!=null&&md.Fee7.Value < num14)
{
num14 = md.Fee7.Value;
}
if (md.Fee8.HasValue)
{
nullable3 = md.Fee8;
}
if (md.Fee8!=null&&md.Fee8.Value < num14)
{
num14 = md.Fee8.Value;
}
md.PostFee = new decimal?(num10);
md.BoxFee = new decimal?(num14);
decimal num15 = 0M;
decimal num16 = 0M;
num15 = (((((((num4 - num5) - num6) - num9) - num10) - num13) - num7) - num11) - num12;
num16 = ((((((num4 - num5) - num6) - num9) - num14) - num7) - num11) - num12;
md.LR = new decimal?(Convert.ToDecimal(num15.ToString("0.00")));
md.YGLR = new decimal?(Convert.ToDecimal(num16.ToString("0.00")));
}
}
}
return model;
}
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderForTM22(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 PageIndex, int PageSize, string Sort)
{
Pages.Login(base.Session);
DD_OrderData data = new DD_OrderData();
int num = Convert.ToInt32(base.Session["CompanyId"]);
RefParameterCollection where = new RefParameterCollection();
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 (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 == 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<List<DT_Order>> model = new JsonModel<List<DT_Order>>();
int rowCount = 0;
string str2 = "";
string str3 = "";
if ((TjType == 7) && (Name != ""))
{
str2 = Name;
}
else if ((TjType == 8) && (Name != ""))
{
str3 = Name;
}
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 = data.GetListDT_OrderInfoForTM(num, str2.Trim(), str3.Trim(), trackCode, -1, IsDH, where, PageIndex, PageSize, Sort, out rowCount);
}
model.RowCount = rowCount;
string str4 = "";
if (model.DataSource != null)
{
foreach (DT_Order order in model.DataSource)
{
str4 = str4 + order.OrderId.ToString() + ",";
}
}
if (str4 != "")
{
List<DT_OrderError> errorList = data.GetErrorList(str4.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<DT_OrderBackMoneyApply> saleBackModelList = null;
if ((IsDetail == 1) && (model.DataSource != null))
{
int? trackType;
if (str4 != "")
{
List<DT_OrderGoods> orderGoodsList = data.GetOrderGoodsList(str4.Trim(','));
List<DT_TrackCodeApply> trackCodeApplyList = data.GetTrackCodeApplyList(str4.Trim(','));
saleBackModelList = data.GetSaleBackModelList(str4.Trim(','));
if (orderGoodsList != null)
{
foreach (var md in model.DataSource)
{
List<DT_OrderGoods> list5 = orderGoodsList.FindAll(n => n.OrderId == md.OrderId);
if (list5 != null)
{
md.GoodsList = list5;
}
}
}
if (trackCodeApplyList != null)
{
foreach (var md in model.DataSource)
{
List<DT_TrackCodeApply> list6 = new List<DT_TrackCodeApply>();
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") + "<br/>";
}
string str9 = str5;
str5 = str9 + apply.TrackCode + str7 + "<br/>重量" + apply.Weight.ToString() + "g" + str8 + "<br/>";
}
else
{
str5 = str5 + apply.TrackCode + str7 + "<br/>";
}
if (str6 == "")
{
str6 = apply.TrackCode;
}
}
md.TrackInfo = str5;
md.TrackCode = str6;
}
}
}
decimal num3 = Convert.ToDecimal((double)6.5);
List<JC_Money> list7 = new BaseService().GetMoneyList2();
foreach (var md in model.DataSource)
{
JC_Money money = list7.Find(n => n.MCode == "USD" && n.PlatId == md.PlatId);
if (money != null)
{
num3 = money.MRate.Value;
}
else
{
money = list7.Find(n => n.MCode == "USD");
num3 = money.MRate.Value;
}
decimal num4 = 0M;
if (md.TotalPrice.HasValue)
{
num4 = md.TotalPrice.Value;
}
decimal num5 = 0M;
num5 = num4 * Convert.ToDecimal((double)0.15);
trackType = md.PlatId;
if ((trackType.GetValueOrDefault() == 1) && trackType.HasValue)
{
num5 = num4 * Convert.ToDecimal((double)0.05);
}
else
{
trackType = md.PlatId;
if ((trackType.GetValueOrDefault() == 4) && trackType.HasValue)
{
num5 = num4 * Convert.ToDecimal(0);
}
else
{
trackType = md.PlatId;
if ((trackType.GetValueOrDefault() == 5) && trackType.HasValue)
{
num5 = num4 * Convert.ToDecimal(0);
}
}
}
decimal num6 = 0M;
decimal num7 = 0M;
decimal num8 = 0M;
if (md.GoodsList != null)
{
foreach (DT_OrderGoods goods in md.GoodsList)
{
if (goods.GoodsFee.HasValue && (goods.GoodsFee.Value > 0M))
{
num6 += goods.GoodsFee.Value;
}
else if (goods.GoodsPrice.HasValue)
{
num6 += goods.GoodsPrice.Value * goods.GoodsNum.Value;
}
if (goods.TCFee != null && goods.TCFee > 0)
{
num7 += goods.TCFee.Value;
}
if (goods.Solid2.HasValue)
{
num8 += goods.Solid2.Value * goods.GoodsNum.Value;
}
}
}
if (num6 > 0M)
{
num6 /= num3;
}
decimal num9 = 0M;
if ((num7 == 0M) && (num8 > 0M))
{
num7 = Convert.ToDecimal(0x41) * num8;
}
if (md.escrowFee.HasValue)
{
num9 = md.escrowFee.Value;
}
decimal num10 = 0M;
if (md.PostFee.HasValue)
{
num10 = md.PostFee.Value;
}
decimal num11 = 0M;
decimal num12 = 0M;
trackType = md.OrderState2;
if (((trackType.GetValueOrDefault() == 1) && trackType.HasValue) && (saleBackModelList != null))
{
DT_OrderBackMoneyApply apply2 = saleBackModelList.Find(n => n.OrderId == md.OrderId);
if (apply2 != null)
{
trackType = apply2.OrderState;
if ((trackType.GetValueOrDefault() == 0) && trackType.HasValue)
{
num5 *= Convert.ToDecimal((double)0.2);
num4 = 0M;
}
trackType = apply2.BackState;
if (((trackType.GetValueOrDefault() == 1) && trackType.HasValue) || (((trackType = apply2.BackState).GetValueOrDefault() == 2) && trackType.HasValue))
{
num6 = 0M;
}
if (apply2.FactPrice.HasValue)
{
num11 = apply2.FactPrice.Value;
}
if (apply2.PostFee.HasValue)
{
num12 = apply2.PostFee.Value;
}
}
}
decimal num13 = 0M;
if (md.Post == 0x41)
{
num13 = num10 * Convert.ToDecimal((double)0.1);
}
decimal num14 = 0M;
if (md.Fee6 != null && md.Fee6 > 0)
{
num14 = md.Fee6.Value;
}
else if (md.Fee7 != null && md.Fee7 > 0 && md.Fee7 < num14)
{
num14 = md.Fee7.Value;
}
else if (md.Fee8 != null && md.Fee8 > 0 && md.Fee8 < num14)
{
num14 = md.Fee8.Value;
}
md.PostFee = new decimal?(num10);
md.BoxFee = new decimal?(num14);
decimal num15 = 0M;
decimal num16 = 0M;
num15 = (((((((num4 - num5) - num6) - num9) - num10) - num13) - num7) - num11) - num12;
num16 = ((((((num4 - num5) - num6) - num9) - num14) - num7) - num11) - num12;
md.LR = new decimal?(Convert.ToDecimal(num15.ToString("0.00")));
md.YGLR = new decimal?(Convert.ToDecimal(num16.ToString("0.00")));
}
}
}
return model;
}
#region 查询返回跟踪码订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderBackCode(int BackState,int PostState,int PlatType, int ShopId, int DateType, DateTime? SDate, DateTime? EDate, int OutDays, int TjType, string Name, int PostId, int PageIndex, int PageSize)
{
Pages.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 (PlatType > 0)
Param.Add("a.PlatId", "=", PlatType, DbType.Int32);
if (ShopId > 0)
Param.Add("a.ShopId", "=", ShopId, DbType.Int32);
if (BackState>-1)
Param.Add("b.TrackState", "=", BackState, 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.Today.AddDays(OutDays), DbType.DateTime);
}
Param.Add("a.PostState", "=", PostState, DbType.Int32);
Param.Add("a.State", ">", 0, DbType.Int32);
Param.Add("b.Post", ">", 0, DbType.Int32);
if (PostId>0)
Param.Add("b.Post", "=", PostId, DbType.Int32);
if (Name != "")
{
if (TjType == 1)
Param.Add("a.PlatOrderCode", "=", Name, 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);
}
}
//Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
int RowCount = 0;
string Sort = "orderid desc";
string GoodsName = "";
string SKU = "";
if (TjType == 7 && Name != "")
{
GoodsName = Name;
}
else
if (TjType == 8 && Name != "")
{
SKU = Name;
}
resultModel.DataSource = obj.GetListDT_OrderTrackInfo(CompanyId, GoodsName, SKU, 0, Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
if (resultModel.DataSource != null)
{
BaseService obj2 = new BaseService();
var postlist = obj2.GetExpressPostList(CompanyId,0);
foreach (var md in resultModel.DataSource)
{
if (md.Post > 0 && postlist != null)
{
var pmd = postlist.Find(n => n.ExpressID == md.Post);
if (pmd != null)
{
md.PostInfo = pmd.Name;
}
else
md.PostInfo = "";
}
else
md.PostInfo = "";
}
}
return resultModel;
}
#endregion
#region 查询返回跟踪码订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderBackCodeForTM(int BackState, int PostState, int PlatType, int ShopId, int DateType, DateTime? SDate, DateTime? EDate, DateTime? SDate1, DateTime? EDate1, int OutDays, int TjType, string Name, int PostId, int PageIndex, int PageSize)
{
Pages.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 (PlatType > 0)
Param.Add("a.PlatId", "=", PlatType, DbType.Int32);
if (ShopId > 0)
Param.Add("a.ShopId", "=", ShopId, DbType.Int32);
if (BackState==1)
Param.Add("b.TrackDate", "is not", null, DbType.String);
else
if (BackState == 0)
{
Param.Add("b.TrackDate", "is", null, DbType.String);
}
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);
}
if (SDate1 != null)
Param.Add("a.OrderOutDate", ">=", SDate1, DbType.DateTime);
if (EDate1 != null)
Param.Add("a.OrderOutDate", "<=", EDate1, DbType.DateTime);
if(SDate1==null&&EDate1==null)
{
if (OutDays > 0)
{
Param.Add("a.OrderOutDate", "<=", DateTime.Now.AddHours(OutDays), DbType.DateTime);
Param.Add("a.OrderOutDate", ">=", DateTime.Now, DbType.DateTime);
}
}
if(PostState>-1)
Param.Add("a.PostState", "=", PostState, DbType.Int32);
Param.Add("a.State", ">", 0, DbType.Int32);
Param.Add("a.State", "<", 3, DbType.Int32);
Param.Add("b.Post", ">", 0, DbType.Int32);
if (PostId > 0)
Param.Add("b.Post", "=", PostId, DbType.Int32);
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);
}
}
//Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
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(PostState==0)
resultModel.DataSource = obj.GetListDT_OrderTrackInfoForTM2(CompanyId, GoodsName, SKU, 0, Param, PageIndex, PageSize, Sort, out RowCount);
else
resultModel.DataSource = obj.GetListDT_OrderTrackInfoForTM(CompanyId, GoodsName, SKU, 0, Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
if (resultModel.DataSource != null)
{
string OrderIds = "";
string hborders = "";
foreach (var md in resultModel.DataSource)
{
if(md.JoinOrderCode!=null&&md.JoinOrderCode!="")
hborders += "'" + md.JoinOrderCode + "',";
OrderIds += md.OrderId.ToString() + ",";
}
if (OrderIds != "")
{
var tlist = obj.Get_OrderTrackList2(OrderIds.Trim(','));
var tlist2 =new List<DT_TrackCodeApply>();
if(hborders!="")
tlist2 = obj.Get_OrderTrackList3(hborders.Trim(','));
if (tlist != null || tlist2 != null)
{
foreach (var md in resultModel.DataSource)
{
var plist =new List<DT_TrackCodeApply>();
if (tlist != null)
{
if (md.JoinOrderCode != null && md.JoinOrderCode != "")
plist = tlist.FindAll(n => n.OrderCode == md.JoinOrderCode && n.OrderCode != null);
else
plist = tlist.FindAll(n => n.OrderId == md.OrderId);
}
if (tlist2 != null)
{
if (plist == null || plist.Count == 0)
{
if (md.JoinOrderCode != null && md.JoinOrderCode != "")
plist = tlist2.FindAll(n => n.OrderCode == md.JoinOrderCode && n.OrderCode != null);
}
}
string trackcode = "";
if (plist != null)
{
foreach (var pmd in plist)
{
trackcode += pmd.TrackCode + ",";
}
}
md.TrackCode = trackcode;
}
}
}
}
return resultModel;
}
#endregion
#region 查询返回修改发货订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderSendGoods(int PlatType,int MateState, int IsDetail,int ShopId, int DateType, DateTime? SDate, DateTime? EDate, int OutDays, int TjType, string Name, int PostId, int PageIndex, int PageSize)
{
Pages.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 (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.Today.AddDays(OutDays), DbType.DateTime);
}
Param.Add("a.MateState", "=", MateState, DbType.Int32);
Param.Add("a.PostState", "in", "0,3", DbType.String);
Param.Add("a.State", "=", 1, DbType.Int32);
if (PostId > 0)
Param.Add("b.Post", "=", PostId, DbType.Int32);
if (Name != "")
{
if (TjType == 1)
Param.Add("a.PlatOrderCode", "=", Name, 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);
}
}
//Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
int RowCount = 0;
string Sort = "orderid desc";
string GoodsName = "";
string SKU = "";
if (TjType == 7 && Name != "")
{
GoodsName = Name;
}
else
if (TjType == 8 && Name != "")
{
SKU = Name;
}
resultModel.DataSource = obj.GetListDT_OrderSendInfo(CompanyId, GoodsName, SKU, 0, Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
if (resultModel.DataSource != null)
{
BaseService obj2 = new BaseService();
var postlist = obj2.GetExpressPostList(CompanyId, 0);
foreach (var md in resultModel.DataSource)
{
if (md.Post > 0 && postlist != null)
{
var pmd = postlist.Find(n => n.ExpressID == md.Post);
if (pmd != null)
{
md.PostInfo = pmd.Name;
}
else
md.PostInfo = "";
}
else
md.PostInfo = "";
}
}
if (IsDetail == 1 && resultModel.DataSource != null)
{
string Ids = "";
foreach (var md in resultModel.DataSource)
{
Ids += md.OrderId.ToString() + ",";
}
if (Ids != "")
{
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;
}
}
}
}
}
return resultModel;
}
#endregion
#region 查询返回导入运费订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderWeightGoods(int PlatType, int State,int MateState, int IsDetail, int ShopId, int DateType, DateTime? SDate, DateTime? EDate, int OutDays, int TjType, string Name, int PostId, int PageIndex, int PageSize)
{
Pages.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 (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.Today.AddDays(OutDays), DbType.DateTime);
}
Param.Add("a.MateState", "=", MateState, DbType.Int32);
Param.Add("a.State", "=", State, DbType.Int32);
if (PostId > 0)
Param.Add("b.Post", "=", PostId, DbType.Int32);
if (Name != "")
{
if (TjType == 1)
Param.Add("a.PlatOrderCode", "=", Name, 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);
}
}
//Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
int RowCount = 0;
string Sort = "orderid desc";
string GoodsName = "";
string SKU = "";
if (TjType == 7 && Name != "")
{
GoodsName = Name;
}
else
if (TjType == 8 && Name != "")
{
SKU = Name;
}
resultModel.DataSource = obj.GetListDT_OrderSendInfo(CompanyId, GoodsName, SKU, 0, Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
if (resultModel.DataSource != null)
{
BaseService obj2 = new BaseService();
var postlist = obj2.GetExpressPostList(CompanyId, 0);
foreach (var md in resultModel.DataSource)
{
if (md.Post > 0 && postlist != null)
{
var pmd = postlist.Find(n => n.ExpressID == md.Post);
if (pmd != null)
{
md.PostInfo = pmd.Name;
}
else
md.PostInfo = "";
}
else
md.PostInfo = "";
}
}
if (IsDetail == 1 && resultModel.DataSource != null)
{
string Ids = "";
foreach (var md in resultModel.DataSource)
{
Ids += md.OrderId.ToString() + ",";
}
if (Ids != "")
{
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;
}
}
}
}
}
return resultModel;
}
#endregion
#region 导出导入运费订单
[WebMethod(EnableSession = true)]
public string GetListExcelOrderWeightGoods(int PlatType, int State, int MateState, int IsDetail, int ShopId, int DateType, DateTime? SDate, DateTime? EDate, int OutDays, int TjType, string Name, int PostId)
{
Pages.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 (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.Today.AddDays(OutDays), DbType.DateTime);
}
Param.Add("a.MateState", "=", MateState, DbType.Int32);
Param.Add("a.State", "=", State, DbType.Int32);
if (PostId > 0)
Param.Add("b.Post", "=", PostId, DbType.Int32);
if (Name != "")
{
if (TjType == 1)
Param.Add("a.PlatOrderCode", "=", Name, 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);
}
}
//Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
string Sort = "orderid desc";
string GoodsName = "";
string SKU = "";
if (TjType == 7 && Name != "")
{
GoodsName = Name;
}
else
if (TjType == 8 && Name != "")
{
SKU = Name;
}
DataTable tb= obj.GetExcelDT_OrderInfo(CompanyId, GoodsName, SKU, 0, Param, Sort);
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("PlatOrderCode", "订单号", DbType.String, "");
listColumns.Add("ShopName", "店铺", DbType.String, "");
listColumns.Add("OrderDate", "订单日期", DbType.String, "");
listColumns.Add("PostInfo", "物流渠道", DbType.String, "");
listColumns.Add("TrackCode", "跟踪码", DbType.String, "");
listColumns.Add("PostFee", "运费", DbType.String, "f2");
listColumns.Add("TotalWeight", "重量(克)", DbType.String, "f2");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(tb, listColumns);
}
#endregion
#region 查询没匹配完的订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderMate(int PlatType, int ShopId, int DateType, DateTime? SDate, DateTime? EDate, int TjType, string Name, int MateState, int IsSku, int IsError,int PostId, int IsDetail, int HBOrder, int OutDays, int PageIndex, int PageSize)
{
Pages.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 (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.Today.AddDays(OutDays), DbType.DateTime);
}
//if (MateState>-1)
//{
Param.Add("a.PostState", "in", "0,3", DbType.String);
//}
if (PostId > 0)
Param.Add("b.Post", "=", PostId, DbType.Int32);
//else if(IsPost==1)
// Param.Add("a.PostState", "=", 0, DbType.Int32);
if (MateState > -1)
Param.Add("a.MateState", "=", MateState, 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);
}
if (Name != "")
{
if (TjType == 1)
Param.Add("a.PlatOrderCode", "=", Name, 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);
}
}
//Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
int RowCount = 0;
var pxlist = obj.GetLevelConfig(CompanyId,0);
string Sort = "orderid desc";
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 = obj.GetListDT_OrderInfoMate(GoodsName, SKU, IsSku, Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
if (resultModel.DataSource != null)
{
BaseService obj2 = new BaseService();
var postlist = obj2.GetExpressPostList(CompanyId, 0);
foreach (var md in resultModel.DataSource)
{
if (md.Post > 0 && postlist != null)
{
var pmd = postlist.Find(n => n.ExpressID == md.Post);
if (pmd != null)
{
md.LocalPost = pmd.Name;
}
else
md.LocalPost = "";
}
else
md.LocalPost = "";
}
}
if (IsDetail == 1 && resultModel.DataSource != null)
{
string Ids = "";
foreach (var md in resultModel.DataSource)
{
Ids += md.OrderId.ToString() + ",";
}
if (Ids != "")
{
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;
}
}
}
}
}
return resultModel;
}
#endregion
#region 查询没匹配完的订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderMateForTM(int PlatType, int ShopId, int DateType, DateTime? SDate, DateTime? EDate, int TjType, string Name, int MateState, int IsSku, int IsError, int PostId, int IsDetail, int HBOrder,int IsFBA,int IsPost, int OutDays, int PageIndex, int PageSize)
{
Pages.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 (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.Today.AddDays(OutDays), DbType.DateTime);
}
//if (MateState>-1)
//{
if (IsPost==1)
Param.Add("a.PostState", "in", "0,3", DbType.String);
else
Param.Add("a.PostState", "<>",1, DbType.Int32);
if(IsFBA==1)
Param.Add("a.IsFBA", "=", "1", DbType.Int32);
else
Param.Add("isnull(a.IsFBA,0)", "=", "0", DbType.Int32);
//}
if (PostId > 0)
Param.Add("b.Post", "=", PostId, DbType.Int32);
//else if(IsPost==1)
// Param.Add("a.PostState", "=", 0, DbType.Int32);
Param.Add("a.MoneyState", "=", 1, DbType.Int32);
if (MateState > -1)
Param.Add("a.MateState", "=", MateState, DbType.Int32);
Param.Add("a.State", "=", 1, DbType.Int32);
Param.Add("a.FPDate", "is not", null, DbType.String);
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 (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);
//}
}
//Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
int RowCount = 0;
string Sort = "a.OrderLevel desc,a.OrderDate";
Sort = Sort.Trim(',');
string GoodsName = "";
string SKU = "";
if (TjType == 7 && Name != "")
{
GoodsName = Name;
}
else
if (TjType == 8 && Name != "")
{
SKU = Name;
}
resultModel.DataSource = obj.GetListDT_OrderInfoMate2(GoodsName, SKU, 1, 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)
{
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)
{
BaseService obj2 = new BaseService();
var postlist = obj2.GetExpressPostList(CompanyId, 0);
var errorlist = new List<DT_OrderError>();
if (Ids != "")
{
errorlist = obj.GetErrorList(Ids.Trim(','));
}
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.Post > 0 && postlist != null)
{
var pmd = postlist.Find(n => n.ExpressID == md.Post);
if (pmd != null)
{
md.LocalPost = pmd.Name;
}
else
md.LocalPost = "";
}
else
md.LocalPost = "";
}
}
if (IsDetail == 1 && resultModel.DataSource != null)
{
if (Ids != "")
{
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;
}
}
}
}
}
return resultModel;
}
#endregion
#region 查询没匹配完的订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderMateForTM2(int PlatType, int ShopId, int DateType, DateTime? SDate, DateTime? EDate, int TjType, string Name, int MateState, int IsSku, int IsError, int PostId, int IsDetail, int HBOrder, int StoreId, int IsPost, int OutDays, int PageIndex, int PageSize)
{
Pages.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 (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.Today.AddDays(OutDays), DbType.DateTime);
}
//if (MateState>-1)
//{
if (IsPost == 1)
Param.Add("a.PostState", "in", "0,3", DbType.String);
else
Param.Add("a.PostState", "<>", 1, DbType.Int32);
if (StoreId >0)
Param.Add("b.StoreId", "=", StoreId, DbType.Int32);
else
Param.Add("isnull(a.IsFBA,0)", "=", "0", DbType.Int32);
//}
if (PostId > 0)
Param.Add("b.Post", "=", PostId, DbType.Int32);
//else if(IsPost==1)
// Param.Add("a.PostState", "=", 0, DbType.Int32);
Param.Add("a.MoneyState", "=", 1, DbType.Int32);
if (MateState > -1)
Param.Add("a.MateState", "=", MateState, DbType.Int32);
Param.Add("a.State", "=", 1, DbType.Int32);
Param.Add("a.FPDate", "is not", null, DbType.String);
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 (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);
//}
}
//Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
int RowCount = 0;
string Sort = "a.OrderLevel desc,a.OrderDate";
Sort = Sort.Trim(',');
string GoodsName = "";
string SKU = "";
if (TjType == 7 && Name != "")
{
GoodsName = Name;
}
else
if (TjType == 8 && Name != "")
{
SKU = Name;
}
resultModel.DataSource = obj.GetListDT_OrderInfoMate2(GoodsName, SKU, 1, 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)
{
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)
{
BaseService obj2 = new BaseService();
var postlist = obj2.GetExpressPostList(CompanyId, 0);
var errorlist = new List<DT_OrderError>();
if (Ids != "")
{
errorlist = obj.GetErrorList(Ids.Trim(','));
}
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.Post > 0 && postlist != null)
{
var pmd = postlist.Find(n => n.ExpressID == md.Post);
if (pmd != null)
{
md.LocalPost = pmd.Name;
}
else
md.LocalPost = "";
}
else
md.LocalPost = "";
}
}
if (IsDetail == 1 && resultModel.DataSource != null)
{
if (Ids != "")
{
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;
}
}
}
}
}
return resultModel;
}
#endregion
#region 查询物流订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderExpress(int SortId, 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, string PostInfo, int Addr, int PageIndex, int PageSize)
{
Pages.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 (MateState>-1)
Param.Add("a.MateState", "=", MateState, DbType.Int32);
int IsTrack = TrackState;
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.Today.AddDays(OutDays), DbType.DateTime);
}
if (ExpressState==0)
{
Param.Add("b.Post", "=", 0, DbType.Int32);
if(PostInfo!="-全部-")
Param.Add("b.PostInfo", "=", PostInfo, DbType.String);
}
if (ExpressState == 1)
{
Param.Add("b.Post", ">", 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);
}
if (Name != "")
{
if (TjType == 1)
Param.Add("a.PlatOrderCode", "=", Name, 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);
}
}
if (Addr > -1)
{
Param.Add("b.SendAddr", "=", Addr, DbType.Int32);
}
// Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
int RowCount = 0;
var pxlist = obj.GetLevelConfig(CompanyId, 0);
string Sort = "orderid desc";
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 = obj.GetListDT_OrderInfoExpress(SortId,IsTrack, GoodsName, SKU, IsSku, Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
if (resultModel.DataSource != null)
{
BaseService obj2 = new BaseService();
var postlist=obj2.GetExpressPostList(CompanyId,0);
foreach (var md in resultModel.DataSource)
{
if (md.IsSpare == 1)
{
string TrackCodes = "拆分发包:<br/>";
var splist = obj.GetOrderSpareList(md.OrderId.Value);
if (splist != null)
{
for (int i = 0; i < splist.Count;i++)
{
if (i % 2 == 1 && splist[i].TrackCode!=null)
TrackCodes += splist[i].TrackCode.ToString() + "<br/>";
else if (splist[i].TrackCode != null)
TrackCodes += splist[i].TrackCode.ToString() + ",";
}
}
md.TrackCode = TrackCodes.Trim(',');
}
if (md.Post > 0 && postlist!=null)
{
var pmd = postlist.Find(n => n.ExpressID == md.Post);
if (pmd!=null)
{
md.LocalPost = pmd.Name;
}
else
md.LocalPost = "";
}
else
md.LocalPost = "";
}
}
if (IsDetail == 1 && resultModel.DataSource != null)
{
string Ids = "";
foreach (var md in resultModel.DataSource)
{
Ids += md.OrderId.ToString() + ",";
}
if (Ids != "")
{
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;
}
}
}
}
}
return resultModel;
}
#endregion
#region 查询物流订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> 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)
{
Pages.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);
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<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
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<DT_TrackCodeApply> list3 = new List<DT_TrackCodeApply>();
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;<br/>";
else
trackinfo += md1.TrackCode+blank + "<br/>";
trackinfo1 = md1.TrackCode + blank + "<br/>";
}
md.TrackInfo = trackinfo;
md.TrackCode = trackinfo1;
}
}
}
}
}
return resultModel;
}
#endregion
#region 查询线上物流订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderOnlineExpress(int SortId, 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, string PostId, int Addr, int PageIndex, int PageSize)
{
Pages.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 (MateState > -1)
Param.Add("a.MateState", "=", MateState, DbType.Int32);
int IsTrack = TrackState;
Param.Add("a.PlatId", "=", 1, 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.Today.AddDays(OutDays), DbType.DateTime);
}
if (ExpressState == 0)
{
Param.Add("b.Post", "=", 0, DbType.Int32);
}
if (ExpressState == 1)
{
Param.Add("b.Post", "=", 9, DbType.Int32);
}
if (PostId!="0")
Param.Add("b.OnlinePostId", "=", PostId, DbType.String);
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);
}
if (Name != "")
{
if (TjType == 1)
Param.Add("a.PlatOrderCode", "=", Name, 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);
}
}
if (Addr > -1)
{
Param.Add("b.SendAddr", "=", Addr, DbType.Int32);
}
// Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
int RowCount = 0;
var pxlist = obj.GetLevelConfig(CompanyId, 0);
string Sort = "shopId,orderid desc";
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 = obj.GetOnlineDT_OrderInfoExpress(SortId, IsTrack, GoodsName, SKU, IsSku, Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
if (resultModel.DataSource != null)
{
BaseService obj2 = new BaseService();
var postlist = obj2.GetOnlineLogisticsList();
foreach (var md in resultModel.DataSource)
{
if (md.OnlinePostId != null && md.OnlinePostId!="" && postlist != null)
{
var pmd = postlist.Find(n => n.logisticsServiceId == md.OnlinePostId);
if (pmd != null)
{
md.LocalPost = pmd.logisticsServiceName;
}
else
md.LocalPost = "";
}
else
md.LocalPost = "";
}
}
if (IsDetail == 1 && resultModel.DataSource != null)
{
string Ids = "";
foreach (var md in resultModel.DataSource)
{
Ids += md.OrderId.ToString() + ",";
}
if (Ids != "")
{
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;
}
}
}
}
}
return resultModel;
}
#endregion
#region 查询线上物流订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderOnlineExpressForTM(int SortId, 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, string PostId, int Addr, int PageIndex, int PageSize)
{
Pages.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 (MateState > -1)
Param.Add("a.MateState", "=", MateState, DbType.Int32);
int IsTrack = TrackState;
Param.Add("a.PlatId", "=", 1, 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.Today.AddDays(OutDays), DbType.DateTime);
}
if (ExpressState == 0)
{
Param.Add("isnull(b.LogisticsId,0)", "=", 0, DbType.Int32);
}
if (ExpressState == 1)
{
Param.Add("b.LogisticsId", "=", 9, DbType.Int32);
}
if (PostId != "0")
Param.Add("b.OnlinePostId", "=", PostId, DbType.String);
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);
}
if (Name != "")
{
if (TjType == 1)
Param.Add("a.PlatOrderCode", "=", Name, 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);
}
}
if (Addr > -1)
{
Param.Add("b.SendAddr", "=", Addr, DbType.Int32);
}
// Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
int RowCount = 0;
var pxlist = obj.GetLevelConfig(CompanyId, 0);
string Sort = "shopId,orderid desc";
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 = obj.GetOnlineDT_OrderInfoExpress(SortId, IsTrack, GoodsName, SKU, IsSku, Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
if (resultModel.DataSource != null)
{
BaseService obj2 = new BaseService();
var postlist = obj2.GetOnlineLogisticsList();
foreach (var md in resultModel.DataSource)
{
if (md.OnlinePostId != null && md.OnlinePostId != "" && postlist != null)
{
var pmd = postlist.Find(n => n.logisticsServiceId == md.OnlinePostId);
if (pmd != null)
{
md.LocalPost = pmd.logisticsServiceName;
}
else
md.LocalPost = "";
}
else
md.LocalPost = "";
}
}
if (IsDetail == 1 && resultModel.DataSource != null)
{
string Ids = "";
foreach (var md in resultModel.DataSource)
{
Ids += md.OrderId.ToString() + ",";
}
if (Ids != "")
{
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;
}
}
}
}
}
return resultModel;
}
#endregion
#region 匹配订单货物
[WebMethod(EnableSession = true)]
public void MateOrderGoods(List<DT_Order> list)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var obj = new DD_OrderData();
if (list != null)
{
foreach (var md in list)
{
obj.MateGoods(CompanyId,md.OrderId.Value, md.MateState.Value);
}
}
}
#endregion
#region 全部匹配订单货物
[WebMethod(EnableSession = true)]
public void AllMateOrderGoods(int PlatType, int ShopId, DateTime? SDate, DateTime? EDate, DateTime? SDate1, DateTime? EDate1, int TjType, string Name, int MateState, int IsSku, int IsError,int HBOrder)
{
Pages.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 (PlatType > 0)
Param.Add("a.PlatId", "=", PlatType, DbType.Int32);
if (ShopId > 0)
Param.Add("a.ShopId", "=", ShopId, DbType.Int32);
if (SDate != null)
Param.Add("a.OrderDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.OrderDate", "<", EDate.Value.AddDays(1), DbType.DateTime);
if (SDate1 != null)
Param.Add("a.InDate", ">=", SDate1, DbType.DateTime);
if (EDate1 != null)
Param.Add("a.InDate", "<", EDate1.Value.AddDays(1), DbType.DateTime);
if (MateState > -1 && MateState<2)
Param.Add("a.MateState", "=", MateState, DbType.Int32);
else if (MateState == -1)
{
Param.Add("a.MateState", ">=", 0, DbType.Int32);
Param.Add("a.MateState", "<", 2, DbType.Int32);
}
else
if (MateState == 2)
{
return;
}
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);
}
if (Name != "")
{
if (TjType == 1)
Param.Add("a.PlatOrderCode", "like", Name, DbType.String);
else if (TjType == 2)
Param.Add("b.RevName", "like", Name, DbType.String);
}
Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
List<DT_Order> resultModel = new List<DT_Order>();
string Sort = "orderid desc";
var pxlist = obj.GetLevelConfig(CompanyId, 0);
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 == 3 && Name != "")
{
GoodsName = Name;
}
else
if (TjType == 4 && Name != "")
{
SKU = Name;
}
resultModel = obj.GetAllListDT_OrderInfo(CompanyId, GoodsName, SKU, IsSku, Param, Sort);
if (resultModel != null)
{
foreach (var md in resultModel)
{
obj.MateGoods(CompanyId,md.OrderId.Value, md.MateState.Value);
}
}
}
#endregion
#region 全部订单锁定匹配货物
[WebMethod(EnableSession = true)]
public string AllOrderGoodsLock(int IsError)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
bool bk = BaseService.SyncLock(CompanyId, 2, UserId, DateTime.Now);
if (bk == false)
return "当前有其他人正在操作库存分配,为保证库存数据准确您暂时无法尝试此操作";
try
{
string Sort = "orderid desc";
var pxlist = obj.GetLevelConfig(CompanyId, 0);
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 += "d.LevelGrade desc,";
else if (md.SortType == 4)
Sort += "a.RMBPrice desc,";
}
Sort += "a.Orderid";
}
Sort = Sort.Trim(',');
var orderlist = obj.GetLockOrderList(CompanyId, IsError, Sort);
var list = obj.GetLockOrderGoods(CompanyId, IsError);
//var list1 = obj.GetAllOrderGoodsInList(CompanyId, IsError);
if (orderlist != null)
{
foreach (var ordermd in orderlist)
{
bool flag = false; //匹配状态
int IsFba = 0;
if (ordermd.IsFba != null)
IsFba = ordermd.IsFba.Value;
string ShopId = "," + ordermd.ShopId.ToString() + ",";
string CountryCode = "";
if (ordermd.RevCountry != null)
CountryCode = "," + ordermd.RevCountry.ToLower() + ",";
List<DT_OrderGoods> listGoods = new List<DT_OrderGoods>();
List<DT_OrderGoodsOutList> OutList = new List<DT_OrderGoodsOutList>();
var Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId);
if (Goodslist != null)
{
foreach (var goodsmd in Goodslist)
{
flag = false;
List<DT_OrderGoodsOutList> OutList1 = new List<DT_OrderGoodsOutList>();
DT_OrderGoods mdOrderGoods = new DT_OrderGoods();
mdOrderGoods.Id = goodsmd.Id;
var inlist = obj.GetMateOrderGoodsInList(ordermd.OrderId.Value, goodsmd.DetailId.Value); //list1.FindAll(n => n.DetailId == goodsmd.DetailId);
int StoreId = 0;
int LockNum = 0;
int GoodsNum = goodsmd.GoodsNum.Value;
int LeftLockNum = goodsmd.GoodsNum.Value;
if (inlist == null) //没有匹配货物
{
flag = false;
break;
}
else
{
foreach (var inmd in inlist)
{
if (StoreId > 0 && StoreId != inmd.StoreId.Value) //不同仓库
{
LockNum = 0;
LeftLockNum = GoodsNum;
OutList1.Clear();
}
StoreId = inmd.StoreId.Value;
if (IsFba == 1 && inmd.StoreType != 2) //不是海外仓
{
continue;
}
else if (IsFba == 0 && inmd.StoreType == 2) //海外仓不支持
{
string useshops = "," + inmd.UseShop + ",";
string usecountrys = "," + inmd.UseCountry.ToLower() + ",";
if (!useshops.Contains(ShopId) || !usecountrys.Contains(CountryCode))
continue;
}
DT_OrderGoodsOutList mdOut = new DT_OrderGoodsOutList();
mdOut.OrderGoodsId = goodsmd.Id;
mdOut.OrderId = ordermd.OrderId.Value;
if (LeftLockNum > inmd.GoodsNum.Value)
mdOut.LockNum = inmd.GoodsNum.Value;
else
mdOut.LockNum = LeftLockNum;
mdOut.Price = inmd.Price;
mdOut.PostPrice = inmd.PostPrice;
mdOut.InId = inmd.InId;
OutList1.Add(mdOut);
if (LeftLockNum > inmd.GoodsNum.Value)
{
LockNum += inmd.GoodsNum.Value;
LeftLockNum -= inmd.GoodsNum.Value;
}
else
{
LockNum += LeftLockNum;
LeftLockNum = 0;
}
if (LockNum >= GoodsNum) //循环时候就满足数量
{
flag = true;
break;
}
}
if (LockNum < GoodsNum) //循环完还是不满足数量
{
flag = false;
OutList1.Clear();
listGoods.Clear();
break; //库存不满足,不匹配
}
else
{
flag = true;
if (OutList1 != null)
{
foreach (var md in OutList1)
{
OutList.Add(md);
}
}
listGoods.Add(mdOrderGoods);
}
}
}
if (flag == true)
{
decimal GoodsFee = 0; //货物采购均价
decimal PostFee = 0;//货物快递成本
if (OutList != null)
{
int Num = 0;
foreach (var md in OutList)
{
Num += md.LockNum.Value;
if (md.Price != null)
GoodsFee += md.Price.Value * md.LockNum.Value;
if (md.PostPrice != null)
PostFee += md.PostPrice.Value * md.LockNum.Value;
}
GoodsFee = GoodsFee / Num;
PostFee = PostFee / Num;
}
obj.UpdateOrderGoodsLock(ordermd.OrderId.Value, GoodsFee, PostFee, listGoods, OutList);
}
}
}
}
}
catch(Exception ex)
{
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return ex.Message;
}
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return "分配完成";
}
#endregion
#region 选择订单锁定匹配货物
[WebMethod(EnableSession = true)]
public string PartOrderGoodsLock(int IsError,string OrderIds)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
bool bk = BaseService.SyncLock(CompanyId, 2, UserId, DateTime.Now);
if (bk == false)
return "当前有其他人正在操作库存分配,为保证库存数据准确您暂时无法尝试此操作";
try
{
string Sort = "orderid desc";
var pxlist = obj.GetLevelConfig(CompanyId, 0);
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 += "d.LevelGrade desc,";
else if (md.SortType == 4)
Sort += "a.RMBPrice desc,";
}
Sort += "a.Orderid";
}
Sort = Sort.Trim(',');
var orderlist = obj.GetLockPartOrderList(CompanyId,OrderIds.Trim(','), IsError, Sort);
var list = obj.GetLockPartOrderGoods(CompanyId, OrderIds.Trim(','), IsError);
//var list1 = obj.GetAllOrderGoodsInList(CompanyId, IsError);
if (orderlist != null)
{
bool allflag = true; //完全匹配状态
foreach (var ordermd in orderlist)
{
bool flag = false; //匹配状态
int IsFba = 0;
if (ordermd.IsFba != null)
IsFba = ordermd.IsFba.Value;
string ShopId = "," + ordermd.ShopId.ToString() + ",";
string CountryCode = "";
if (ordermd.RevCountry != null)
CountryCode = "," + ordermd.RevCountry.ToLower() + ",";
List<DT_OrderGoods> listGoods = new List<DT_OrderGoods>();
List<DT_OrderGoodsOutList> OutList = new List<DT_OrderGoodsOutList>();
var Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId);
if (Goodslist != null)
{
foreach (var goodsmd in Goodslist)
{
flag = false;
List<DT_OrderGoodsOutList> OutList1 = new List<DT_OrderGoodsOutList>();
DT_OrderGoods mdOrderGoods = new DT_OrderGoods();
mdOrderGoods.Id = goodsmd.Id;
var inlist = obj.GetMateOrderGoodsInList(ordermd.OrderId.Value, goodsmd.DetailId.Value); //list1.FindAll(n => n.DetailId == goodsmd.DetailId);
int StoreId = 0;
int LockNum = 0;
if (goodsmd.LockNum != null)
LockNum = goodsmd.LockNum.Value;
int OutNum = 0;
if (goodsmd.OutNum != null)
OutNum = goodsmd.OutNum.Value;
int GoodsNum = goodsmd.GoodsNum.Value - LockNum;
int LeftLockNum = GoodsNum;
if (inlist == null) //没有匹配货物
{
flag = false;
allflag = false;
continue;
}
else
{
foreach (var inmd in inlist)
{
if (StoreId > 0 && StoreId != inmd.StoreId.Value) //不同仓库
{
LockNum = 0;
if (goodsmd.LockNum != null)
LockNum = goodsmd.LockNum.Value;
LeftLockNum = GoodsNum;
OutList1.Clear();
}
StoreId = inmd.StoreId.Value;
if (IsFba == 1 && inmd.StoreType != 2) //不是海外仓
{
continue;
}
else if (IsFba == 0 && inmd.StoreType == 2) //海外仓不支持
{
string useshops = "," + inmd.UseShop + ",";
string usecountrys = "," + inmd.UseCountry.ToLower() + ",";
if (!useshops.Contains(ShopId) || !usecountrys.Contains(CountryCode))
continue;
}
DT_OrderGoodsOutList mdOut = new DT_OrderGoodsOutList();
mdOut.OrderGoodsId = goodsmd.Id;
mdOut.OrderId = ordermd.OrderId.Value;
if (LeftLockNum > inmd.GoodsNum.Value)
mdOut.LockNum = inmd.GoodsNum.Value;
else
mdOut.LockNum = LeftLockNum;
mdOut.Price = inmd.Price;
mdOut.PostPrice = inmd.PostPrice;
mdOut.InId = inmd.InId;
OutList1.Add(mdOut);
if (LeftLockNum > inmd.GoodsNum.Value)
{
LockNum += inmd.GoodsNum.Value;
LeftLockNum -= inmd.GoodsNum.Value;
}
else
{
LockNum += LeftLockNum;
LeftLockNum = 0;
}
if (LockNum >= GoodsNum) //循环时候就满足数量
{
flag = true;
break;
}
}
if (LockNum < GoodsNum) //循环完还是不满足数量
{
flag = false;
//OutList1.Clear();
//listGoods.Clear();
allflag = false;
//break; //库存不满足,不匹配
}
else
{
flag = true;
}
if (OutList1 != null)
{
foreach (var md in OutList1)
{
OutList.Add(md);
}
}
mdOrderGoods.LockNum =GoodsNum-LeftLockNum;
listGoods.Add(mdOrderGoods);
}
}
decimal GoodsFee = 0; //货物采购均价
decimal PostFee = 0;//货物快递成本
if (OutList != null)
{
int Num = 0;
foreach (var md in OutList)
{
Num += md.LockNum.Value;
if (md.Price != null)
GoodsFee += md.Price.Value * md.LockNum.Value;
if (md.PostPrice != null)
PostFee += md.PostPrice.Value * md.LockNum.Value;
}
if (Num > 0)
{
GoodsFee = GoodsFee / Num;
PostFee = PostFee / Num;
}
}
if (allflag == true&&flag == true)
{
obj.UpdateOrderGoodsLockNew(ordermd.OrderId.Value,2, GoodsFee, PostFee, listGoods, OutList);
}
else if (listGoods.Count>0)
obj.UpdateOrderGoodsLockNew(ordermd.OrderId.Value, 1, GoodsFee, PostFee, listGoods, OutList);
}
}
}
}
catch (Exception ex)
{
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return ex.Message;
}
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return "分配完成";
}
#endregion
#region 全部订单锁定匹配货物
[WebMethod(EnableSession = true)]
public string AllOrderGoodsLockNew(int IsError)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
bool bk = BaseService.SyncLock(CompanyId, 2, UserId, DateTime.Now);
if (bk == false)
return "当前有其他人正在操作库存分配,为保证库存数据准确您暂时无法尝试此操作";
try
{
string Sort = "orderid desc";
var pxlist = obj.GetLevelConfig(CompanyId, 0);
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 += "d.LevelGrade desc,";
else if (md.SortType == 4)
Sort += "a.RMBPrice desc,";
}
Sort += "a.Orderid";
}
Sort = Sort.Trim(',');
var orderlist = obj.GetLockOrderList(CompanyId, IsError, Sort);
var list = obj.GetLockOrderGoods(CompanyId, IsError);
//var list1 = obj.GetAllOrderGoodsInList(CompanyId, IsError);
if (orderlist != null)
{
foreach (var ordermd in orderlist)
{
bool flag = false; //匹配状态
int IsFba = 0;
if (ordermd.IsFba != null)
IsFba = ordermd.IsFba.Value;
string ShopId = "," + ordermd.ShopId.ToString() + ",";
string CountryCode = "";
if (ordermd.RevCountry != null)
CountryCode = "," + ordermd.RevCountry.ToLower() + ",";
List<DT_OrderGoods> listGoods = new List<DT_OrderGoods>();
List<DT_OrderGoodsOutList> OutList = new List<DT_OrderGoodsOutList>();
var Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId);
if (Goodslist != null)
{
foreach (var goodsmd in Goodslist)
{
flag = false;
List<DT_OrderGoodsOutList> OutList1 = new List<DT_OrderGoodsOutList>();
DT_OrderGoods mdOrderGoods = new DT_OrderGoods();
mdOrderGoods.Id = goodsmd.Id;
var inlist = obj.GetMateOrderGoodsInList(ordermd.OrderId.Value, goodsmd.DetailId.Value); //list1.FindAll(n => n.DetailId == goodsmd.DetailId);
int StoreId = 0;
int LockNum = 0;
if (goodsmd.LockNum != null)
LockNum = goodsmd.LockNum.Value;
int OutNum = 0;
if(goodsmd.OutNum!=null)
OutNum=goodsmd.OutNum.Value;
int GoodsNum = goodsmd.GoodsNum.Value - LockNum;
int LeftLockNum = GoodsNum;
if (LeftLockNum == 0)
continue;
if (inlist == null) //没有匹配货物
{
flag = false;
break;
}
else
{
foreach (var inmd in inlist)
{
if (StoreId > 0 && StoreId != inmd.StoreId.Value) //不同仓库
{
LockNum = 0;
if (goodsmd.LockNum != null)
LockNum = goodsmd.LockNum.Value;
LeftLockNum = GoodsNum;
OutList1.Clear();
}
StoreId = inmd.StoreId.Value;
if (IsFba == 1 && inmd.StoreType != 2) //不是海外仓
{
continue;
}
else if (IsFba == 0 && inmd.StoreType == 2) //海外仓不支持
{
string useshops = "," + inmd.UseShop + ",";
string usecountrys = "," + inmd.UseCountry.ToLower() + ",";
if (!useshops.Contains(ShopId) || !usecountrys.Contains(CountryCode))
continue;
}
DT_OrderGoodsOutList mdOut = new DT_OrderGoodsOutList();
mdOut.OrderGoodsId = goodsmd.Id;
mdOut.OrderId = ordermd.OrderId.Value;
if (LeftLockNum > inmd.GoodsNum.Value)
mdOut.LockNum = inmd.GoodsNum.Value;
else
mdOut.LockNum = LeftLockNum;
mdOut.Price = inmd.Price;
mdOut.PostPrice = inmd.PostPrice;
mdOut.InId = inmd.InId;
OutList1.Add(mdOut);
if (LeftLockNum > inmd.GoodsNum.Value)
{
LockNum += inmd.GoodsNum.Value;
LeftLockNum -= inmd.GoodsNum.Value;
}
else
{
LockNum += LeftLockNum;
LeftLockNum = 0;
}
if (LockNum >= GoodsNum) //循环时候就满足数量
{
flag = true;
break;
}
}
if (LockNum < GoodsNum) //循环完还是不满足数量
{
flag = false;
OutList1.Clear();
listGoods.Clear();
break; //库存不满足,不匹配
}
else
{
flag = true;
if (OutList1 != null)
{
foreach (var md in OutList1)
{
OutList.Add(md);
}
}
mdOrderGoods.LockNum = GoodsNum;
listGoods.Add(mdOrderGoods);
}
}
}
if (flag == true)
{
decimal GoodsFee = 0; //货物采购均价
decimal PostFee = 0;//货物快递成本
if (OutList != null)
{
int Num = 0;
foreach (var md in OutList)
{
Num += md.LockNum.Value;
if (md.Price != null)
GoodsFee += md.Price.Value * md.LockNum.Value;
if (md.PostPrice != null)
PostFee += md.PostPrice.Value * md.LockNum.Value;
}
GoodsFee = GoodsFee / Num;
PostFee = PostFee / Num;
}
obj.UpdateOrderGoodsLockNew(ordermd.OrderId.Value,2, GoodsFee, PostFee, listGoods, OutList);
}
}
}
}
}
catch (Exception ex)
{
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return ex.Message;
}
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return "分配完成";
}
#endregion
#region 选择订单锁定匹配货物
[WebMethod(EnableSession = true)]
public string PartOrderGoodsLockNew(int IsError, string OrderIds)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
bool bk = BaseService.SyncLock(CompanyId, 2, UserId, DateTime.Now);
if (bk == false)
return "当前有其他人正在操作库存分配,为保证库存数据准确您暂时无法尝试此操作";
try
{
string Sort = "orderid desc";
var pxlist = obj.GetLevelConfig(CompanyId, 0);
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 += "d.LevelGrade desc,";
else if (md.SortType == 4)
Sort += "a.RMBPrice desc,";
}
Sort += "a.Orderid";
}
Sort = Sort.Trim(',');
var orderlist = obj.GetLockPartOrderList(CompanyId, OrderIds.Trim(','), IsError, Sort);
var list = obj.GetLockPartOrderGoods(CompanyId, OrderIds.Trim(','), IsError);
//var list1 = obj.GetAllOrderGoodsInList(CompanyId, IsError);
if (orderlist != null && list!=null)
{
foreach (var ordermd in orderlist)
{
bool allflag = true; //完全匹配状态
bool flag = false; //匹配状态
int IsFba = 0;
if (ordermd.IsFba != null)
IsFba = ordermd.IsFba.Value;
string ShopId = "," + ordermd.ShopId.ToString() + ",";
string CountryCode = "";
if (ordermd.RevCountry != null)
CountryCode = "," + ordermd.RevCountry.ToLower() + ",";
List<DT_OrderGoods> listGoods = new List<DT_OrderGoods>();
List<HW_GoodsInDetail> OutList = new List<HW_GoodsInDetail>();
var Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId);
if (Goodslist != null)
{
foreach (var goodsmd in Goodslist)
{
flag = false;
List<HW_GoodsInDetail> OutList1 = new List<HW_GoodsInDetail>();
DT_OrderGoods mdOrderGoods = new DT_OrderGoods();
mdOrderGoods.Id = goodsmd.Id;
var inlist = obj.GetMateOrderGoodsInListNew(ordermd.OrderId.Value, goodsmd.DetailId.Value); //list1.FindAll(n => n.DetailId == goodsmd.DetailId);
int StoreId = 0;
int LockNum = 0;
if (goodsmd.LockNum != null)
LockNum = goodsmd.LockNum.Value;
int OutNum = 0;
if (goodsmd.OutNum != null)
OutNum = goodsmd.OutNum.Value;
int GoodsNum = goodsmd.GoodsNum.Value - LockNum;
int LeftLockNum = GoodsNum;
if (inlist == null || inlist.Count==0) //没有匹配货物
{
flag = false;
allflag = false;
continue;
}
else
{
foreach (var inmd in inlist)
{
if (StoreId > 0 && StoreId != inmd.StoreId.Value) //不同仓库
{
LockNum = 0;
if (goodsmd.LockNum != null)
LockNum = goodsmd.LockNum.Value;
GoodsNum = goodsmd.GoodsNum.Value - LockNum;
LeftLockNum = GoodsNum;
OutList1.Clear();
}
StoreId = inmd.StoreId.Value;
if (IsFba == 1 && inmd.StoreType != 2) //不是海外仓
{
continue;
}
else if (IsFba == 0 && inmd.StoreType == 2) //海外仓不支持
{
string useshops = "," + inmd.UseShop + ",";
string usecountrys = "," + inmd.UseCountry.ToLower() + ",";
if (!useshops.Contains(ShopId) || !usecountrys.Contains(CountryCode))
continue;
}
HW_GoodsInDetail mdOut = new HW_GoodsInDetail();
mdOut.OrderGoodsId = goodsmd.Id;
mdOut.Price = inmd.Price;
mdOut.PostPrice = inmd.PostPrice;
mdOut.InId = inmd.InId;
OutList1.Add(mdOut);
if (LeftLockNum > 1)
{
LockNum += 1;
LeftLockNum -= 1;
}
else
{
LockNum += LeftLockNum;
LeftLockNum = 0;
}
if (LockNum >= GoodsNum) //循环时候就满足数量
{
flag = true;
break;
}
}
if (LockNum < GoodsNum) //循环完还是不满足数量
{
flag = false;
//OutList1.Clear();
//listGoods.Clear();
allflag = false;
//break; //库存不满足,不匹配
}
else
{
flag = true;
}
if (OutList1 != null)
{
foreach (var md in OutList1)
{
OutList.Add(md);
}
}
mdOrderGoods.LockNum = GoodsNum - LeftLockNum;
listGoods.Add(mdOrderGoods);
}
}
decimal GoodsFee = 0; //货物采购均价
decimal PostFee = 0;//货物快递成本
if (OutList != null)
{
int Num = OutList.Count;
foreach (var md in OutList)
{
if (md.Price != null)
GoodsFee += md.Price.Value;
if (md.PostPrice != null)
PostFee += md.PostPrice.Value;
}
if (Num > 0)
{
GoodsFee = GoodsFee / Num;
PostFee = PostFee / Num;
}
}
if (allflag == true && flag == true)
{
obj.UpdateOrderGoodsLockNew2(ordermd.OrderId.Value, 2, GoodsFee, PostFee, listGoods, OutList);
}
else if (listGoods.Count > 0)
obj.UpdateOrderGoodsLockNew2(ordermd.OrderId.Value, 1, GoodsFee, PostFee, listGoods, OutList);
}
}
}
}
catch (Exception ex)
{
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return ex.Message;
}
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return "分配完成";
}
#endregion
#region 全部订单锁定匹配货物
[WebMethod(EnableSession = true)]
public string AllOrderGoodsLockNew2(int IsError)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
bool bk = BaseService.SyncLock(CompanyId, 2, UserId, DateTime.Now);
if (bk == false)
return "当前有其他人正在操作库存分配,为保证库存数据准确您暂时无法尝试此操作";
try
{
string Sort = "orderid desc";
var pxlist = obj.GetLevelConfig(CompanyId, 0);
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 += "d.LevelGrade desc,";
else if (md.SortType == 4)
Sort += "a.RMBPrice desc,";
}
Sort += "a.Orderid";
}
Sort = Sort.Trim(',');
var orderlist = obj.GetLockOrderList(CompanyId, IsError, Sort);
var list = obj.GetLockOrderGoods(CompanyId, IsError);
//var list1 = obj.GetAllOrderGoodsInList(CompanyId, IsError);
if (orderlist != null)
{
foreach (var ordermd in orderlist)
{
bool flag = false; //匹配状态
int IsFba = 0;
if (ordermd.IsFba != null)
IsFba = ordermd.IsFba.Value;
string ShopId = "," + ordermd.ShopId.ToString() + ",";
string CountryCode = "";
if (ordermd.RevCountry != null)
CountryCode = "," + ordermd.RevCountry.ToLower() + ",";
List<DT_OrderGoods> listGoods = new List<DT_OrderGoods>();
List<HW_GoodsInDetail> OutList = new List<HW_GoodsInDetail>();
var Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId);
if (Goodslist != null)
{
foreach (var goodsmd in Goodslist)
{
List<HW_GoodsInDetail> OutList1 = new List<HW_GoodsInDetail>();
DT_OrderGoods mdOrderGoods = new DT_OrderGoods();
mdOrderGoods.Id = goodsmd.Id;
var inlist = obj.GetMateOrderGoodsInListNew(ordermd.OrderId.Value, goodsmd.DetailId.Value); //list1.FindAll(n => n.DetailId == goodsmd.DetailId);
int StoreId = 0;
int LockNum = 0;
if (goodsmd.LockNum != null)
LockNum = goodsmd.LockNum.Value;
int OutNum = 0;
if (goodsmd.OutNum != null)
OutNum = goodsmd.OutNum.Value;
int GoodsNum = goodsmd.GoodsNum.Value - LockNum;
int LeftLockNum = GoodsNum;
if (LeftLockNum == 0)
{
continue;
}
else
flag = false;
if (inlist == null || inlist.Count < LeftLockNum) //没有匹配货物或者货物不够
{
flag = false;
break;
}
else
{
foreach (var inmd in inlist)
{
if (StoreId > 0 && StoreId != inmd.StoreId.Value) //不同仓库
{
LockNum = 0;
if (goodsmd.LockNum != null)
LockNum = goodsmd.LockNum.Value;
GoodsNum = goodsmd.GoodsNum.Value - LockNum;
LeftLockNum = GoodsNum;
OutList1.Clear();
}
StoreId = inmd.StoreId.Value;
if (IsFba == 1 && inmd.StoreType != 2) //不是海外仓
{
continue;
}
else if (IsFba == 0 && inmd.StoreType == 2) //海外仓不支持
{
string useshops = "," + inmd.UseShop + ",";
string usecountrys = "," + inmd.UseCountry.ToLower() + ",";
if (!useshops.Contains(ShopId) || !usecountrys.Contains(CountryCode))
continue;
}
HW_GoodsInDetail mdOut = new HW_GoodsInDetail();
mdOut.OrderGoodsId = goodsmd.Id;
mdOut.Price = inmd.Price;
mdOut.PostPrice = inmd.PostPrice;
mdOut.InId = inmd.InId;
OutList1.Add(mdOut);
if (LeftLockNum > 1)
{
LockNum += 1;
LeftLockNum -=1;
}
else
{
LockNum += LeftLockNum;
LeftLockNum = 0;
}
if (LockNum >= GoodsNum) //循环时候就满足数量
{
flag = true;
break;
}
}
if (LockNum < GoodsNum) //循环完还是不满足数量
{
flag = false;
OutList1.Clear();
listGoods.Clear();
break; //库存不满足,不匹配
}
else
{
flag = true;
if (OutList1 != null)
{
foreach (var md in OutList1)
{
OutList.Add(md);
}
}
mdOrderGoods.LockNum = GoodsNum;
listGoods.Add(mdOrderGoods);
}
}
}
if (flag == true)
{
decimal GoodsFee = 0; //货物采购均价
decimal PostFee = 0;//货物快递成本
if (OutList != null)
{
int Num = OutList.Count;
foreach (var md in OutList)
{
if (md.Price != null)
GoodsFee += md.Price.Value ;
if (md.PostPrice != null)
PostFee += md.PostPrice.Value;
}
GoodsFee = GoodsFee / Num;
PostFee = PostFee / Num;
}
obj.UpdateOrderGoodsLockNew2(ordermd.OrderId.Value, 2, GoodsFee, PostFee, listGoods, OutList);
}
}
}
}
}
catch (Exception ex)
{
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return ex.Message;
}
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return "分配完成";
}
#endregion
#region 全部订单锁定匹配货物
[WebMethod(EnableSession = true)]
public string AllOrderGoodsLockForTMBak(int IsError)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
bool bk = BaseService.SyncLock(CompanyId, 2, UserId, DateTime.Now);
if (bk == false)
return "当前有其他人正在操作库存分配,为保证库存数据准确您暂时无法尝试此操作";
try
{
string Sort = "a.OrderLevel desc,a.OrderDate";
var orderlist = obj.GetLockOrderList(CompanyId, IsError, Sort);
var list = obj.GetLockOrderGoods(CompanyId, IsError);
//var list1 = obj.GetAllOrderGoodsInList(CompanyId, IsError);
if (orderlist != null && list != null)
{
foreach (var ordermd in orderlist)
{
bool allflag = true; //完全匹配状态
bool flag = false; //匹配状态
int IsFba = 0;
if (ordermd.IsFba != null)
IsFba = ordermd.IsFba.Value;
string ShopId = "," + ordermd.ShopId.ToString() + ",";
string CountryCode = "";
if (ordermd.RevCountry != null)
CountryCode = "," + ordermd.RevCountry.ToLower() + ",";
List<DT_OrderGoods> listGoods = new List<DT_OrderGoods>();
List<HW_GoodsInDetail> OutList = new List<HW_GoodsInDetail>();
var Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId);
if (Goodslist != null)
{
foreach (var goodsmd in Goodslist)
{
flag = false;
List<HW_GoodsInDetail> OutList1 = new List<HW_GoodsInDetail>();
DT_OrderGoods mdOrderGoods = new DT_OrderGoods();
mdOrderGoods.Id = goodsmd.Id;
var inlist = obj.GetMateOrderGoodsInListNew(ordermd.OrderId.Value, goodsmd.DetailId.Value); //list1.FindAll(n => n.DetailId == goodsmd.DetailId);
int StoreId = 0;
int LockNum = 0;
if (goodsmd.LockNum != null)
LockNum = goodsmd.LockNum.Value;
int OutNum = 0;
if (goodsmd.OutNum != null)
OutNum = goodsmd.OutNum.Value;
int GoodsNum = goodsmd.GoodsNum.Value - LockNum;
int LeftLockNum = GoodsNum;
if (inlist == null || inlist.Count == 0) //没有匹配货物
{
flag = false;
allflag = false;
continue;
}
else
{
foreach (var inmd in inlist)
{
if (StoreId > 0 && StoreId != inmd.StoreId.Value) //不同仓库
{
LockNum = 0;
if (goodsmd.LockNum != null)
LockNum = goodsmd.LockNum.Value;
GoodsNum = goodsmd.GoodsNum.Value - LockNum;
LeftLockNum = GoodsNum;
OutList1.Clear();
}
StoreId = inmd.StoreId.Value;
if (IsFba == 1 && inmd.StoreType != 2) //不是海外仓
{
continue;
}
else if (IsFba == 0 && inmd.StoreType == 2) //海外仓不支持
{
string useshops = "," + inmd.UseShop + ",";
string usecountrys = "," + inmd.UseCountry.ToLower() + ",";
if (!useshops.Contains(ShopId) || !usecountrys.Contains(CountryCode))
continue;
}
HW_GoodsInDetail mdOut = new HW_GoodsInDetail();
mdOut.OrderGoodsId = goodsmd.Id;
mdOut.Price = inmd.Price;
mdOut.PostPrice = inmd.PostPrice;
mdOut.InId = inmd.InId;
OutList1.Add(mdOut);
if (LeftLockNum > 1)
{
LockNum += 1;
LeftLockNum -= 1;
}
else
{
LockNum += LeftLockNum;
LeftLockNum = 0;
}
if (LockNum >= GoodsNum) //循环时候就满足数量
{
flag = true;
break;
}
}
if (LockNum < GoodsNum) //循环完还是不满足数量
{
flag = false;
allflag = false;
}
else
{
flag = true;
}
if (OutList1 != null)
{
foreach (var md in OutList1)
{
OutList.Add(md);
}
}
mdOrderGoods.LockNum = GoodsNum - LeftLockNum;
listGoods.Add(mdOrderGoods);
}
}
decimal GoodsFee = 0; //货物采购均价
decimal PostFee = 0;//货物快递成本
if (OutList != null)
{
int Num = OutList.Count;
foreach (var md in OutList)
{
if (md.Price != null)
GoodsFee += md.Price.Value;
if (md.PostPrice != null)
PostFee += md.PostPrice.Value;
}
if (Num > 0)
{
GoodsFee = GoodsFee / Num;
PostFee = PostFee / Num;
}
}
if (allflag == true && flag == true)
{
obj.UpdateOrderGoodsLockNew2(ordermd.OrderId.Value, 2, GoodsFee, PostFee, listGoods, OutList);
}
else if (listGoods.Count > 0)
obj.UpdateOrderGoodsLockNew2(ordermd.OrderId.Value, 1, GoodsFee, PostFee, listGoods, OutList);
}
}
}
}
catch (Exception ex)
{
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return ex.Message;
}
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return "匹配完成";
}
#endregion
#region 全部订单锁定匹配货物
[WebMethod(EnableSession = true)]
public string AllOrderGoodsLockForTM(int IsError,int IsFBA)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
bool bk = BaseService.SyncLock(CompanyId, 2, UserId, DateTime.Now);
if (bk == false)
return "当前有其他人正在操作库存匹配,为保证库存数据准确您暂时无法尝试此操作";
try
{
string Sort = "a.OrderLevel desc,a.OrderDate";
var orderlist = obj.GetLockOrderListForTM(CompanyId, IsError,IsFBA, Sort);
var list = obj.GetLockOrderGoodsForTM(CompanyId,IsFBA, IsError);
//var list1 = obj.GetAllOrderGoodsInList(CompanyId, IsError);
int StoreId = 1;
if (IsFBA == 1)
StoreId = 2;
if (orderlist != null && list != null)
{
var hwlist = new List<HW_GoodsInDetail>();
var hwlist2 = new List<HW_GoodsInDetail>();
var hwnolist = new List<HW_GoodsOutDetail>(); //不够的货物
List<DT_OrderGoods> JoinOrderList = new List<DT_OrderGoods>();
foreach (var ordermd in orderlist)
{
string JoinOrderCode = "";
if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "")
JoinOrderCode = ordermd.JoinOrderCode;
List<DT_OrderGoods> listGoods = new List<DT_OrderGoods>();
List<HW_GoodsInDetail> OutList = new List<HW_GoodsInDetail>();
var Goodslist = new List<DT_OrderGoods>();
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);
if (jmd != 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;
}
}
var inlist = obj.GetMateOrderGoodsInForTM(ordermd.OrderId.Value, goodsmd.DetailId.Value, StoreId, JoinOrderCode);
if (inlist == null || inlist.Count==0)//没有库存
{
Flag = false;
qbFlag = false;
HW_GoodsOutDetail hwnomd = new HW_GoodsOutDetail();
hwnomd.DetailId = goodsmd.DetailId;
hwnolist.Add(hwnomd);
continue;
}
if(hwlist!=null)
{
var hwdetail = hwlist.FindAll(n => n.DetailId == goodsmd.DetailId);
if (hwdetail == null || hwdetail.Count == 0)
ZYNum = 0;
else
ZYNum = hwdetail.Count;
}
if (inlist.Count >= DDNum + ZYNum) //够分配
{
Flag = true;
for (int i = 0; i < DDNum; i++)
{
HW_GoodsInDetail hwinmd = new HW_GoodsInDetail();
hwinmd.DetailId = goodsmd.DetailId;
hwinmd.InId = inlist[i].InId;
hwinmd.Price = inlist[i].Price;
hwinmd.PostPrice = inlist[i].PostPrice;
hwinmd.OrderGoodsId = goodsmd.Id;
hwlist2.Add(hwinmd);
}
}
else //不够分配
{
Flag = false;
for (int i = 0; i < inlist.Count; i++)
{
HW_GoodsInDetail hwinmd = new HW_GoodsInDetail();
hwinmd.DetailId = goodsmd.DetailId;
hwinmd.InId = inlist[i].InId;
hwinmd.Price = inlist[i].Price;
hwinmd.PostPrice = inlist[i].PostPrice;
hwinmd.OrderGoodsId = goodsmd.Id;
hwlist2.Add(hwinmd);
}
}
}
if (Flag == true&& qbFlag ==true)//已经分配
{
decimal GoodsFee = 0; //货物采购均价
decimal PostFee = 0;//货物快递成本
if (hwlist2 != null)
{
int Num = hwlist2.Count;
foreach (var md in hwlist2)
{
if (md.Price != null)
GoodsFee += md.Price.Value;
if (md.PostPrice != null)
PostFee += md.PostPrice.Value;
}
if (Num > 0)
{
GoodsFee = GoodsFee / Num;
PostFee = PostFee / Num;
}
}
obj.UpdateOrderGoodsLockForTM(ordermd.OrderId.Value, 2, GoodsFee, PostFee,JoinOrderCode, hwlist2);
hwlist2.Clear();
}
else //未分配
{
if (hwlist2 != null)
{
foreach (var md in hwlist2)
{
hwlist.Add(md);
}
hwlist2.Clear();
}
}
}
}
}
}
catch (Exception ex)
{
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return ex.Message;
}
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return "分配完成";
}
#endregion
#region 全部订单锁定匹配货物
[WebMethod(EnableSession = true)]
public string AllOrderGoodsLockForTM2(int IsError, int IsFBA)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
bool bk = BaseService.SyncLock(CompanyId, 2, UserId, DateTime.Now);
if (bk == false)
return "当前有其他人正在操作库存匹配,为保证库存数据准确您暂时无法尝试此操作";
try
{
string Sort = "a.OrderLevel desc,a.OrderDate";
var orderlist = obj.GetLockOrderListForTM(CompanyId, IsError, IsFBA, Sort);
var list = obj.GetLockOrderGoodsForTM(CompanyId, IsFBA, IsError);
//var list1 = obj.GetAllOrderGoodsInList(CompanyId, IsError);
int StoreId = 1;
if (IsFBA == 1)
StoreId = 2;
if (orderlist != null && list != null)
{
var hwlist = new List<HW_GoodsInDetail>(); //货物占用
var hwlist2 = new List<HW_GoodsInDetail>();
var hwnolist = new List<HW_GoodsOutDetail>(); //不够的货物
List<DT_OrderGoods> JoinOrderList = new List<DT_OrderGoods>();
foreach (var ordermd in orderlist)
{
string JoinOrderCode = "";
if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "")
JoinOrderCode = ordermd.JoinOrderCode;
List<DT_OrderGoods> listGoods = new List<DT_OrderGoods>();
List<HW_GoodsInDetail> OutList = new List<HW_GoodsInDetail>();
var Goodslist = new List<DT_OrderGoods>();
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);
if (jmd != 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 = obj.GetMateOrderGoodsInForTM2(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)
{
//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;
//}
}
obj.UpdateOrderGoodsLockForTM2(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)
{
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return ex.Message;
}
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return "分配完成";
}
#endregion
#region 全部订单锁定匹配货物
[WebMethod(EnableSession = true)]
public string AllOrderGoodsLockForTM3(int IsError, int IsFBA)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int Num = 0;
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
bool bk = BaseService.SyncLock(CompanyId, 2, UserId, DateTime.Now);
if (bk == false)
return "当前有其他人正在操作库存匹配,为保证库存数据准确您暂时无法尝试此操作";
try
{
string Sort = "a.OrderLevel desc,a.OrderDate";
var orderlist = obj.GetLockOrderListForTM3(CompanyId, IsError, IsFBA, Sort);
var list = obj.GetLockOrderGoodsForTM3(CompanyId, IsFBA, IsError);
var KClist = obj.GetNowKCGoods(IsError);
var nfplist = obj.GetNoFPOrderList();
int StoreId = 1;
if (IsFBA == 1)
StoreId = 2;
List<DT_OrderMateKCOrder> mlist = new List<DT_OrderMateKCOrder>();
if (orderlist != null && list != null && KClist != null && orderlist.Count > 0 && list.Count > 0 && KClist.Count > 0)
{
var hwlist2 = new List<DT_OrderNowKCGoods>();
List<DT_OrderMateKCGoods> JoinOrderList = new List<DT_OrderMateKCGoods>();
foreach (var ordermd in orderlist)
{
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);
var 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<DT_OrderMateKCGoods> listGoods = new List<DT_OrderMateKCGoods>();
List<HW_GoodsInDetail> OutList = new List<HW_GoodsInDetail>();
var Goodslist = new List<DT_OrderMateKCGoods>();
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<DT_OrderNowKCGoods>();
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;
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;
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
{
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)
obj.UpdateOrderGoodsLockForTM3(OrderId, JoinOrderCode,cklist);
}
//if (OrderIds != "" || JoinOrderCodes != "")
// obj.UpdateOrderGoodsLockForTM31(OrderIds.Trim(','), JoinOrderCodes.Trim(','));
}
}
}
catch (Exception ex)
{
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return ex.Message;
}
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return "匹配" + Num.ToString() + "条";
}
#endregion
#region 全部订单锁定匹配货物
[WebMethod(EnableSession = true)]
public string AllOrderGoodsLockForTM4(int IsError, int IsFBA)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int Num = 0;
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
bool bk = BaseService.SyncLock(CompanyId, 2, UserId, DateTime.Now);
if (bk == false)
return "当前有其他人正在操作库存匹配,为保证库存数据准确您暂时无法尝试此操作";
try
{
string Sort = "a.OrderLevel desc,a.OrderDate";
obj.SetStore();//仓库调整
var orderlist = obj.GetLockOrderListForTM3(CompanyId, IsError, IsFBA, Sort);
var list = obj.GetLockOrderGoodsForTM3(CompanyId, IsFBA, IsError);
var KClist = obj.GetNowKCGoods2(IsError,IsFBA);
var nfplist = obj.GetNoFPOrderList();
int StoreId = 1;
if (IsFBA == 1)
StoreId = 0;
List<DT_OrderMateKCOrder> mlist = new List<DT_OrderMateKCOrder>();
if (orderlist != null && list != null && KClist != null && orderlist.Count > 0 && list.Count > 0 && KClist.Count > 0)
{
var hwlist2 = new List<DT_OrderNowKCGoods>();
var OrderMatelist = new List<HW_OrderMate>();
List<DT_OrderMateKCGoods> JoinOrderList = new List<DT_OrderMateKCGoods>();
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<DT_OrderMateKCGoods> listGoods = new List<DT_OrderMateKCGoods>();
List<HW_GoodsInDetail> OutList = new List<HW_GoodsInDetail>();
var Goodslist = new List<DT_OrderMateKCGoods>();
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<DT_OrderNowKCGoods>();
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)
obj.UpdateOrderGoodsLockForTM3(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)
{
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return ex.Message;
}
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return "匹配" + Num.ToString() + "条";
}
#endregion
#region 全部订单锁定匹配货物
[WebMethod(EnableSession = true)]
public string AllOrderGoodsLockForTM5(int IsError, int StoreId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int Num = 0;
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
bool bk = BaseService.SyncLock(CompanyId, 2, UserId, DateTime.Now);
if (bk == false)
return "当前有其他人正在操作库存匹配,为保证库存数据准确您暂时无法尝试此操作";
try
{
string Sort = "a.OrderLevel desc,a.OrderDate";
obj.SetStore();//仓库调整
var orderlist = obj.GetLockOrderListForTM4(CompanyId, IsError, StoreId, Sort);
var list = obj.GetLockOrderGoodsForTM4(CompanyId, StoreId, IsError);
var KClist = obj.GetNowKCGoods4(IsError, StoreId);
var nfplist = obj.GetNoFPOrderList();
List<DT_OrderMateKCOrder> mlist = new List<DT_OrderMateKCOrder>();
if (orderlist != null && list != null && KClist != null && orderlist.Count > 0 && list.Count > 0 && KClist.Count > 0)
{
var hwlist2 = new List<DT_OrderNowKCGoods>();
var OrderMatelist = new List<HW_OrderMate>();
List<DT_OrderMateKCGoods> JoinOrderList = new List<DT_OrderMateKCGoods>();
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<DT_OrderMateKCGoods> listGoods = new List<DT_OrderMateKCGoods>();
List<HW_GoodsInDetail> OutList = new List<HW_GoodsInDetail>();
var Goodslist = new List<DT_OrderMateKCGoods>();
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<DT_OrderNowKCGoods>();
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)
obj.UpdateOrderGoodsLockForTM3(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)
{
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return ex.Message;
}
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return "匹配" + Num.ToString() + "条";
}
#endregion
#region 全部订单锁定匹配货物
[WebMethod(EnableSession = true)]
public string AllOrderGoodsLockForTM6(int IsError, int StoreId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int Num = 0;
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
bool bk = BaseService.SyncLock(CompanyId, 2, UserId, DateTime.Now);
if (bk == false)
return "当前有其他人正在操作库存匹配,为保证库存数据准确您暂时无法尝试此操作";
try
{
string Sort = "a.OrderLevel desc,a.OrderDate";
obj.SetStore();//仓库调整
var orderlist = obj.GetLockOrderListForTM4(CompanyId, IsError, StoreId, Sort);
var list = obj.GetLockOrderGoodsForTM4(CompanyId, StoreId, IsError);
var KClist = obj.GetNowKCGoods5(IsError, StoreId);
var nfplist = obj.GetNoFPOrderList();
List<DT_OrderMateKCOrder> mlist = new List<DT_OrderMateKCOrder>();
if (orderlist != null && list != null && KClist != null && orderlist.Count > 0 && list.Count > 0 && KClist.Count > 0)
{
var hwlist2 = new List<DT_OrderNowKCGoods>();
var OrderMatelist = new List<HW_OrderMate>();
List<DT_OrderMateKCGoods> JoinOrderList = new List<DT_OrderMateKCGoods>();
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<DT_OrderMateKCGoods> listGoods = new List<DT_OrderMateKCGoods>();
List<HW_GoodsInDetail> OutList = new List<HW_GoodsInDetail>();
var Goodslist = new List<DT_OrderMateKCGoods>();
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<DT_OrderNowKCGoods>();
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)
obj.UpdateOrderGoodsLockForTM3(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)
{
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return ex.Message;
}
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return "匹配" + Num.ToString() + "条";
}
#endregion
#region 选择订单锁定匹配货物
[WebMethod(EnableSession = true)]
public string PartOrderGoodsLockForTM(int IsError, int IsFBA, string OrderIds, string JoinOrderCodes)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
bool bk = BaseService.SyncLock(CompanyId, 2, UserId, DateTime.Now);
if (bk == false)
return "当前有其他人正在操作库存分配,为保证库存数据准确您暂时无法尝试此操作";
try
{
string Sort = "a.OrderLevel desc,a.OrderDate";
var orderlist = obj.GetLockPartOrderListForTM(CompanyId, OrderIds.Trim(','), JoinOrderCodes.Trim(','), IsError, IsFBA, Sort);
var list = obj.GetLockPartOrderGoodsForTM(CompanyId, OrderIds.Trim(','), JoinOrderCodes.Trim(','), IsFBA, IsError);
var nfplist = obj.GetNoFPOrderList();
int StoreId = 1;
if (IsFBA == 1)
StoreId = 2;
if (orderlist != null && list != null)
{
var hwlist = new List<HW_GoodsInDetail>();
var hwlist2 = new List<HW_GoodsInDetail>();
var hwnolist = new List<HW_GoodsOutDetail>(); //不够的货物
List<DT_OrderGoods> JoinOrderList = new List<DT_OrderGoods>();
foreach (var ordermd in orderlist)
{
string JoinOrderCode = "";
if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "")
JoinOrderCode = ordermd.JoinOrderCode;
List<DT_OrderGoods> listGoods = new List<DT_OrderGoods>();
List<HW_GoodsInDetail> OutList = new List<HW_GoodsInDetail>();
var Goodslist = new List<DT_OrderGoods>();
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);
var 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;
}
}
var inlist = obj.GetMateOrderGoodsInForTM(ordermd.OrderId.Value, goodsmd.DetailId.Value, StoreId, JoinOrderCode);
if (inlist == null || inlist.Count == 0)//没有库存
{
Flag = false;
qbFlag = false;
HW_GoodsOutDetail hwnomd = new HW_GoodsOutDetail();
hwnomd.DetailId = goodsmd.DetailId;
hwnolist.Add(hwnomd);
continue;
}
if (hwlist != null)
{
var hwdetail = hwlist.FindAll(n => n.DetailId == goodsmd.DetailId);
if (hwdetail == null || hwdetail.Count == 0)
ZYNum = 0;
else
ZYNum = hwdetail.Count;
}
if (inlist.Count >= DDNum + ZYNum) //够分配
{
Flag = true;
for (int i = 0; i < DDNum; i++)
{
HW_GoodsInDetail hwinmd = new HW_GoodsInDetail();
hwinmd.DetailId = goodsmd.DetailId;
hwinmd.InId = inlist[i].InId;
hwinmd.Price = inlist[i].Price;
hwinmd.PostPrice = inlist[i].PostPrice;
hwinmd.OrderGoodsId = goodsmd.Id;
hwlist2.Add(hwinmd);
}
}
else //不够分配
{
Flag = false;
for (int i = 0; i < inlist.Count; i++)
{
HW_GoodsInDetail hwinmd = new HW_GoodsInDetail();
hwinmd.DetailId = goodsmd.DetailId;
hwinmd.InId = inlist[i].InId;
hwinmd.Price = inlist[i].Price;
hwinmd.PostPrice = inlist[i].PostPrice;
hwinmd.OrderGoodsId = goodsmd.Id;
hwlist2.Add(hwinmd);
}
}
}
if (Flag == true && qbFlag == true)//已经分配
{
decimal GoodsFee = 0; //货物采购均价
decimal PostFee = 0;//货物快递成本
if (hwlist2 != null)
{
int Num = hwlist2.Count;
foreach (var md in hwlist2)
{
if (md.Price != null)
GoodsFee += md.Price.Value;
if (md.PostPrice != null)
PostFee += md.PostPrice.Value;
}
if (Num > 0)
{
GoodsFee = GoodsFee / Num;
PostFee = PostFee / Num;
}
}
obj.UpdateOrderGoodsLockForTM(ordermd.OrderId.Value, 2, GoodsFee, PostFee, JoinOrderCode, hwlist2);
hwlist2.Clear();
}
else //未分配
{
if (hwlist2 != null)
{
foreach (var md in hwlist2)
{
hwlist.Add(md);
}
hwlist2.Clear();
}
}
}
}
}
}
catch (Exception ex)
{
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return ex.Message;
}
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return "分配完成";
}
#endregion
#region 选择订单锁定匹配货物
[WebMethod(EnableSession = true)]
public string PartOrderGoodsLockForTM2(int IsError, int IsFBA, string OrderIds, string JoinOrderCodes)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int Num = 0;
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
bool bk = BaseService.SyncLock(CompanyId, 2, UserId, DateTime.Now);
if (bk == false)
return "当前有其他人正在操作库存分配,为保证库存数据准确您暂时无法尝试此操作";
try
{
string Sort = "a.OrderLevel desc,a.OrderDate";
var orderlist = obj.GetLockPartOrderListForTM(CompanyId, OrderIds.Trim(','), JoinOrderCodes.Trim(','), IsError, IsFBA, Sort);
var list = obj.GetLockPartOrderGoodsForTM(CompanyId, OrderIds.Trim(','), JoinOrderCodes.Trim(','), IsFBA, IsError);
var nfplist = obj.GetNoFPOrderList();
int StoreId = 1;
if (IsFBA == 1)
StoreId = 2;
if (orderlist != null && list != null)
{
var hwlist = new List<HW_GoodsInDetail>(); //货物占用
var hwlist2 = new List<HW_GoodsInDetail>();
var hwnolist = new List<HW_GoodsOutDetail>(); //不够的货物
List<DT_OrderGoods> JoinOrderList = new List<DT_OrderGoods>();
foreach (var ordermd in orderlist)
{
string JoinOrderCode = "";
if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "")
JoinOrderCode = ordermd.JoinOrderCode;
List<DT_OrderGoods> listGoods = new List<DT_OrderGoods>();
List<HW_GoodsInDetail> OutList = new List<HW_GoodsInDetail>();
var Goodslist = new List<DT_OrderGoods>();
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 = obj.GetMateOrderGoodsInForTM22(goodsmd.DetailId.Value,IsFBA);
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;
//}
}
obj.UpdateOrderGoodsLockForTM2(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)
{
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return ex.Message;
}
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return "匹配" + Num.ToString() + "条";
}
#endregion
#region 选择订单锁定匹配货物
[WebMethod(EnableSession = true)]
public string PartOrderGoodsLockForTM3(int IsError, int StoreId, string OrderIds, string JoinOrderCodes)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int Num = 0;
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
bool bk = BaseService.SyncLock(CompanyId, 2, UserId, DateTime.Now);
if (bk == false)
return "当前有其他人正在操作库存分配,为保证库存数据准确您暂时无法尝试此操作";
try
{
string Sort = "a.OrderLevel desc,a.OrderDate";
var orderlist = obj.GetLockPartOrderListForTM2(CompanyId, OrderIds.Trim(','), JoinOrderCodes.Trim(','), IsError, StoreId, Sort);
var list = obj.GetLockPartOrderGoodsForTM2(CompanyId, OrderIds.Trim(','), JoinOrderCodes.Trim(','), StoreId, IsError);
var nfplist = obj.GetNoFPOrderList();
if (orderlist != null && list != null)
{
var hwlist = new List<HW_GoodsInDetail>(); //货物占用
var hwlist2 = new List<HW_GoodsInDetail>();
var hwnolist = new List<HW_GoodsOutDetail>(); //不够的货物
List<DT_OrderGoods> JoinOrderList = new List<DT_OrderGoods>();
foreach (var ordermd in orderlist)
{
string JoinOrderCode = "";
if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "")
JoinOrderCode = ordermd.JoinOrderCode;
List<DT_OrderGoods> listGoods = new List<DT_OrderGoods>();
List<HW_GoodsInDetail> OutList = new List<HW_GoodsInDetail>();
var Goodslist = new List<DT_OrderGoods>();
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 = obj.GetMateOrderGoodsInForTM33(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;
//}
}
obj.UpdateOrderGoodsLockForTM2(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)
{
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return ex.Message;
}
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return "匹配" + Num.ToString() + "条";
}
#endregion
#region 选择订单锁定匹配货物
[WebMethod(EnableSession = true)]
public string PartOrderGoodsLockForTM4(int IsError, int StoreId, string OrderIds, string JoinOrderCodes)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int Num = 0;
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
bool bk = BaseService.SyncLock(CompanyId, 2, UserId, DateTime.Now);
if (bk == false)
return "当前有其他人正在操作库存分配,为保证库存数据准确您暂时无法尝试此操作";
try
{
string Sort = "a.OrderLevel desc,a.OrderDate";
var orderlist = obj.GetLockPartOrderListForTM2(CompanyId, OrderIds.Trim(','), JoinOrderCodes.Trim(','), IsError, StoreId, Sort);
var list = obj.GetLockPartOrderGoodsForTM2(CompanyId, OrderIds.Trim(','), JoinOrderCodes.Trim(','), StoreId, IsError);
var nfplist = obj.GetNoFPOrderList();
if (orderlist != null && list != null)
{
var hwlist = new List<HW_GoodsInDetail>(); //货物占用
var hwlist2 = new List<HW_GoodsInDetail>();
var hwnolist = new List<HW_GoodsOutDetail>(); //不够的货物
List<DT_OrderGoods> JoinOrderList = new List<DT_OrderGoods>();
foreach (var ordermd in orderlist)
{
string JoinOrderCode = "";
if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "")
JoinOrderCode = ordermd.JoinOrderCode;
List<DT_OrderGoods> listGoods = new List<DT_OrderGoods>();
List<HW_GoodsInDetail> OutList = new List<HW_GoodsInDetail>();
var Goodslist = new List<DT_OrderGoods>();
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 = obj.GetMateOrderGoodsInForTM34(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;
//}
}
obj.UpdateOrderGoodsLockForTM2(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)
{
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return ex.Message;
}
BaseService.UnSyncLock(CompanyId, 2, DateTime.Now);
return "匹配" + Num.ToString() + "条";
}
#endregion
#region 修改订单发货等级
[WebMethod(EnableSession = true)]
public void UpdateOrderLevel(int OrderId, int AddNum)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
obj.UpdateOrderLevel(OrderId, AddNum);
}
#endregion
#region 修改订单发货等级
[WebMethod(EnableSession = true)]
public int UpdateOrderLevelForTM(int OrderId, int AddNum, int PostId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int MaxLevel = 5;
if (PostId == 65 || PostId == 67) //ems,DHL 最高可以到6
{
MaxLevel = 6;
}
int UserId = Convert.ToInt32(Session["UserId"]);
int a = obj.UpdateOrderLevelForTM(OrderId, AddNum, MaxLevel, UserId);
return a;
}
#endregion
#region 删除订单锁定
[WebMethod(EnableSession = true)]
public void UpdateMateGoods(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
obj.UpdateMateGoodsNew(OrderId);
int InUserId = Convert.ToInt32(Session["UserId"]);
Pages.SaveLog(InUserId, "删除订单锁定", OrderId + "删除订单锁定", 0);
}
#endregion
#region 删除订单锁定
[WebMethod(EnableSession = true)]
public void UpdateMateGoods2(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
obj.UpdateMateGoodsNew2(OrderId);
int InUserId = Convert.ToInt32(Session["UserId"]);
Pages.SaveLog(InUserId, "删除订单锁定", OrderId + "删除订单锁定", 0);
}
#endregion
#region 删除订单锁定
[WebMethod(EnableSession = true)]
public void UpdateMateGoodsForTM(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int InUserId = Convert.ToInt32(Session["UserId"]);
obj.UpdateMateGoodsForTM(OrderId);
Pages.SaveLog(InUserId, "删除订单锁定", OrderId + "删除订单锁定", 0);
}
#endregion
#region 删除订单锁定
[WebMethod(EnableSession = true)]
public void UpdateMateGoodsList(List<DT_Order> list)
{
Pages.Login(this.Session);
int InUserId = Convert.ToInt32(Session["UserId"]);
var obj = new DD_OrderData();
if (list != null)
{
foreach (var md in list)
{
if (md.PostState == 1)
obj.UpdateMateGoodsNewPost(md.OrderId.Value);
else
obj.UpdateMateGoodsNew(md.OrderId.Value);
Pages.SaveLog(InUserId, "删除订单锁定", md.OrderId.Value + "删除订单锁定", 0);
}
}
}
#endregion
#region 删除订单锁定
[WebMethod(EnableSession = true)]
public void UpdateMateGoodsListNew(List<DT_Order> list)
{
Pages.Login(this.Session);
int InUserId = Convert.ToInt32(Session["UserId"]);
var obj = new DD_OrderData();
if (list != null)
{
foreach (var md in list)
{
if (md.PostState == 1)
obj.UpdateMateGoodsNewPost2(md.OrderId.Value);
else
obj.UpdateMateGoodsNew2(md.OrderId.Value);
Pages.SaveLog(InUserId, "删除订单锁定", md.OrderId.Value + "删除订单锁定", 0);
}
}
}
#endregion
#region 删除订单锁定
[WebMethod(EnableSession = true)]
public void UpdateMateGoodsListForTM(List<DT_Order> list)
{
Pages.Login(this.Session);
int InUserId = Convert.ToInt32(Session["UserId"]);
var obj = new DD_OrderData();
if (list != null)
{
foreach (var md in list)
{
//if (md.PrintState == 1)
obj.UpdatePrintMateStateForTM(md.OrderId.Value);
//else
// obj.UpdateMateGoodsNew2(md.OrderId.Value);
Pages.SaveLog(InUserId, "删除订单锁定", md.OrderId.Value + "删除订单锁定", 0);
}
}
}
#endregion
#region 订单取消状态
[WebMethod(EnableSession = true)]
public void UpdateCancelGoodsListForTM(List<DT_Order> list)
{
Pages.Login(this.Session);
int InUserId = Convert.ToInt32(Session["UserId"]);
var obj = new DD_OrderData();
if (list != null)
{
foreach (var md in list)
{
//if (md.PrintState == 1)
obj.UpdateCancelStateForTM(md.OrderId.Value);
//else
// obj.UpdateMateGoodsNew2(md.OrderId.Value);
Pages.SaveLog(InUserId, "订单取消状态", md.OrderId.Value + "订单取消状态", 0);
}
}
}
#endregion
#region 修改发货状态
[WebMethod(EnableSession = true)]
public void UpdateNoPostStateList(List<DT_Order> list)
{
Pages.Login(this.Session);
int InUserId = Convert.ToInt32(Session["UserId"]);
var obj = new DD_OrderData();
if (list != null)
{
foreach (var md in list)
{
obj.UpdatePrintStateNew(md.OrderId.Value);
Pages.SaveLog(InUserId, "修改发货状态", md.OrderId.Value + "修改发货状态", 0);
}
}
}
#endregion
#region 修改未发货状态
[WebMethod(EnableSession = true)]
public void UpdateOrderNoPost(List<DT_Order> list)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
string Log = "";
if (list != null)
{
foreach (var md in list)
{
obj.UpdateOrderNoPost(md.OrderId.Value);
Log += md.OrderId.ToString() + ",";
}
}
int UserId = Convert.ToInt32(Session["UserId"]);
Pages.SaveLog(UserId, "订单修改成未发货状态", Log + "改成未发货状态", 0);
}
#endregion
#region 修改未发货状态
[WebMethod(EnableSession = true)]
public void UpdateOrderNoPostNew(List<DT_Order> list)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
string Log = "";
if (list != null)
{
foreach (var md in list)
{
obj.UpdateOrderNoPostNew(md.OrderId.Value);
Log += md.OrderId.ToString() + ",";
}
}
int UserId = Convert.ToInt32(Session["UserId"]);
Pages.SaveLog(UserId, "订单修改成未发货状态", Log + "改成未发货状态", 0);
}
#endregion
#region 修改未发货状态
[WebMethod(EnableSession = true)]
public void UpdateOrderNoPostForTM(List<DT_Order> list)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
string Log = "";
if (list != null)
{
foreach (var md in list)
{
obj.UpdateOrderNoPostForTM(md.OrderId.Value);
Log += md.PlatOrderCode.ToString() + ",";
}
}
int UserId = Convert.ToInt32(Session["UserId"]);
Pages.SaveLog(UserId, "订单日志", Log + "改成未发货状态", 0);
}
#endregion
#region 修改打印状态
[WebMethod(EnableSession = true)]
public void UpdatePrintStateList(List<DT_Order> list)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
string Log = "";
if (list != null)
{
foreach (var md in list)
{
if (md.PostState == 1)
obj.UpdatePrintStateNew(md.OrderId.Value);
else
obj.UpdatePrintState(md.OrderId.Value);
Log += md.OrderId.ToString() + ",";
}
}
int UserId = Convert.ToInt32(Session["UserId"]);
Pages.SaveLog(UserId, "订单修改成未打印状态", Log + "改成未打印状态", 0);
}
#endregion
#region 修改打印状态
[WebMethod(EnableSession = true)]
public void UpdatePrintStateForTM(List<DT_Order> list)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
string Log = "";
if (list != null)
{
foreach (var md in list)
{
obj.UpdatePrintStateForTM(md.OrderId.Value);
Log += md.PlatOrderCode.ToString() + ",";
}
}
int UserId = Convert.ToInt32(Session["UserId"]);
Pages.SaveLog(UserId, "订单日志", Log + "改成未打印状态", 0);
}
#endregion
#region 查询可以合并的订单
[WebMethod(EnableSession = true)]
public List<DT_HBOrder> GetCanHBOrderList()
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
DateTime st = DateTime.Today.AddDays(-60);
var list = obj.GetCanHBOrder(CompanyId, st);
return list;
}
#endregion
#region 查询可以合并的订单
[WebMethod(EnableSession = true)]
public List<DT_HBOrder> GetCanHBOrderListForTM(int ShopId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
DateTime st = DateTime.Today.AddDays(-60);
var list = obj.GetCanHBOrderForTM2(CompanyId, st, ShopId);
return list;
}
#endregion
#region 查询已经合并的订单
[WebMethod(EnableSession = true)]
public List<DT_HBOrder> GetNowHBOrderList()
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
DateTime st = DateTime.Today.AddDays(-60);
var list = obj.GetNowHBOrder(CompanyId, st);
return list;
}
#endregion
#region 查询已经合并的订单
[WebMethod(EnableSession = true)]
public List<DT_HBOrder> GetNowHBOrderListForTM(string OrderCode, int ShopId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
DateTime st = DateTime.Today.AddDays(-60);
var list = obj.GetNowHBOrderForTM2(ShopId, st, OrderCode);
return list;
}
#endregion
#region 查询已经合并的订单
[WebMethod(EnableSession = true)]
public List<DT_HBOrder> GetHBOrder(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var list = obj.GetHBOrder(OrderId.ToString());
return list;
}
#endregion
#region 查询某条件未合并的订单
[WebMethod(EnableSession = true)]
public List<DT_HBOrder> GetNoHBOrder(string PlatOrderCode, string RevName, string ShopName)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var list = obj.GetNoHBOrder(CompanyId, PlatOrderCode, RevName, ShopName);
return list;
}
#endregion
#region 查询某条件未合并的订单
[WebMethod(EnableSession = true)]
public List<DT_HBOrder> GetNoHBOrderForTM(string PlatOrderCode, string RevName, int ShopId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var list = obj.GetNoHBOrder2(CompanyId, PlatOrderCode, RevName, ShopId);
return list;
}
#endregion
#region 合并订单
[WebMethod(EnableSession = true)]
public void SaveHBOrder(int OId, List<DT_HBOrder> list)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var obj = new DD_OrderData();
if (list != null && list.Count > 0)
{
string PlatOrderCode = "";
int OrderId = 0;
int Level = 0;
DateTime OrderDate = DateTime.Today.AddDays(10);
var md = new DT_HBOrder();
md.OrderId = 0;
md.GoodsName = "合并货物";
int GoodsNum = 0;
decimal GoodsPrice = 0;
for (int i = 0; i < list.Count(); i++)
{
if (OId == 0)
{
if (list[i].OrderLevel > Level)
{
PlatOrderCode = list[i].PlatOrderCode;
OrderId = list[i].OrderId.Value;
}
else if (list[i].OrderLevel == Level && list[i].OrderDate.Value < OrderDate)
{
PlatOrderCode = list[i].PlatOrderCode;
OrderId = list[i].OrderId.Value;
}
Level = list[0].OrderLevel.Value;
OrderDate = list[i].OrderDate.Value;
}
else if (list[i].OrderId.Value == OId)
PlatOrderCode = list[i].PlatOrderCode;
GoodsNum += list[i].GoodsNum.Value;
GoodsPrice += list[i].TotalPrice.Value;
}
md.GoodsNum = GoodsNum;
md.TotalPrice = GoodsPrice;
md.PlatOrderCode = "H" + PlatOrderCode;
if (OId > 0)
OrderId = OId;
int Id = obj.SaveHBOrder(md, OrderId);
for (int i = 0; i < list.Count(); i++)
{
obj.HBOrder(list[i].OrderId.Value, Id.ToString());
}
}
}
#endregion
#region 合并订单
[WebMethod(EnableSession = true)]
public int SaveHBOrderForTM(int OId, List<DT_HBOrder> list)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
string Log = "";
var obj = new DD_OrderData();
string oid = "";
if (list != null && list.Count > 0)
{
foreach (var md in list)
{
oid += md.OrderId + ",";
}
}
if (oid != "")
{
int a = obj.IsOrderStates(oid.Trim(','));
if(a>0)
return a;
}
if (list != null && list.Count > 0)
{
Random rd = new Random();
string JoinOrderCode = "M" + DateTime.Now.ToString("yyMMddHHmmss") + rd.Next(11, 99).ToString();
int IsAddr = 0;
if (OId == 0)
{
for (int i = 0; i < list.Count(); i++)
{
if (i == 0)
IsAddr = 1;
else
IsAddr = 0;
obj.HBOrderForTM2(list[i].OrderId.Value, JoinOrderCode, IsAddr);
Log += list[i].OrderId.Value + ",";
}
}
else
{
for (int i = 0; i < list.Count(); i++)
{
if (list[i].OrderId.Value == OId)
IsAddr = 1;
else
IsAddr = 0;
obj.HBOrderForTM2(list[i].OrderId.Value, JoinOrderCode, IsAddr);
Log += list[i].OrderId.Value + ",";
}
}
if (Log != "")
{
int UserId = Convert.ToInt32(Session["UserId"]);
Pages.SaveLog(UserId, "订单合并", Log + "合并成" + JoinOrderCode, 0);
}
}
return 0;
}
#endregion
#region 拆分订单
[WebMethod(EnableSession = true)]
public void DeleteHBOrder(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
obj.CancelHBOrder(OrderId);
}
#endregion
#region 取消合并订单
[WebMethod(EnableSession = true)]
public void CancelHBOrder(int HbOrderId)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var obj = new DD_OrderData();
obj.CancelHBOrder(HbOrderId);
}
#endregion
#region 取消合并订单
[WebMethod(EnableSession = true)]
public void CancelHBOrderForTM(string JoinOrderCode, int OrderId)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var obj = new DD_OrderData();
obj.CancelHBOrderForTM2(JoinOrderCode, OrderId);
}
#endregion
#region 新增合并订单
[WebMethod(EnableSession = true)]
public void SaveAddHBOrder(int HbOrderId, List<DT_HBOrder> list)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var obj = new DD_OrderData();
if (list != null)
{
for (int i = 0; i < list.Count(); i++)
{
var md = new DT_HBOrder();
md.OrderId = HbOrderId;
md.GoodsNum = list[i].GoodsNum.Value;
md.TotalPrice = list[i].TotalPrice.Value;
obj.SaveAddHBOrder(md);
obj.HBOrder(list[i].OrderId.Value, HbOrderId.ToString());
}
}
}
#endregion
#region 新增合并订单
[WebMethod(EnableSession = true)]
public int SaveAddHBOrderForTM(string JoinOrderCode, List<DT_HBOrder> list)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var obj = new DD_OrderData();
int a = obj.IsOrderStates2(JoinOrderCode);
if (a > 0)
return a;
if (list != null)
{
for (int i = 0; i < list.Count(); i++)
{
obj.HBOrderForTM(list[i].OrderId.Value, JoinOrderCode, 0);
}
}
return 0;
}
#endregion
#region 查询匹配等级
[WebMethod(EnableSession = true)]
public List<DT_LevelConfig> GetLevelConfig()
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
var list = obj.GetLevelConfig(CompanyId, UserId);
return list;
}
#endregion
#region 修改匹配等级
[WebMethod(EnableSession = true)]
public void UpdateLevelConfig(int UpId, int DownId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
obj.UpdateLevelConfig(UpId, DownId);
}
#endregion
#region 修改店铺等级
[WebMethod(EnableSession = true)]
public void UpdateShopLevel(List<JC_Shop> list)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
if (list != null)
{
foreach (var md in list)
{
int LevelGrade = (md.LevelGrade != null) ? md.LevelGrade.Value : 1;
obj.UpdateShopLevel(md.ShopId.Value, LevelGrade);
}
}
}
#endregion
#region 查询历史同期销售记录
[WebMethod(EnableSession = true)]
public DT_HisGoods GetHisOrderGoods(DateTime? Sdate, DateTime? Edate)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var md = obj.GetHisOrderGoods(CompanyId, Sdate, Edate.Value.AddDays(1));
return md;
}
#endregion
#region 返回订单Model
[WebMethod(EnableSession = true)]
public DT_OrderModel GetOrderModelLook(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var md = obj.GetOrderModel(OrderId);
if (md.CompanyId != CompanyId)
return null;
if (md.IsSpare == 1)
{
string TrackCodes = "拆分发包:<br/>";
var splist = obj.GetOrderSpareList(OrderId);
if (splist != null)
{
for (int i = 0; i < splist.Count; i++)
{
if (i % 2 == 1)
TrackCodes += splist[i].TrackCode.ToString() + "<br/>";
else
TrackCodes += splist[i].TrackCode.ToString() + ",";
}
}
md.TrackCode = TrackCodes.Trim(',');
}
if (md.Post > 0)
{
JC_ExpressService obj2 = new JC_ExpressService();
var md2 = obj2.GetExpressModel(md.Post.Value);
if (md2 != null)
md.FactPostInfo = md2.Name;
}
return md;
}
#endregion
#region 返回订单Model
[WebMethod(EnableSession = true)]
public DT_OrderModel GetOrderModel(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var md = obj.GetOrderModel(OrderId);
if (md.CompanyId != CompanyId)
return null;
return md;
}
#endregion
#region 返回订单Model
[WebMethod(EnableSession = true)]
public DT_OrderModel GetOrderModelNew(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var md = obj.GetOrderModel(OrderId);
if (md.CompanyId != CompanyId)
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 查询订单匹配货物
[WebMethod(EnableSession = true)]
public List<DT_OrderMateGoods> GetOrderGoodsListNew(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
//int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var list = obj.GetOrderGoodsListNew(OrderId);
//if (list != null)
//{
// foreach (var md in list)
// {
// var list1 = obj.GetOrderGoodsMateDetail(md.Id.Value, md.DetailId.Value);
// md.GoodsStore = list1;
// }
//}
return list;
}
#endregion
#region 查询订单匹配货物
[WebMethod(EnableSession = true)]
public List<DT_OrderMateGoods> GetOrderGoodsListForTM(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
//int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var list = obj.GetOrderGoodsListNew(OrderId);
if (list != null)
{
decimal USDRate = Convert.ToDecimal(6.5);
var obj2 = new BaseService();
var mlist = obj2.GetMoneyList2();
var plist = obj.GetOrderGoodsPostionCode(OrderId);
decimal GoodsFee = 0;
if (plist != null && plist.Count > 0)
{
foreach (var md in list)
{
var opmd = mlist.Find(n => n.MCode == "USD"&&n.PlatId==md.PlatId);
if (opmd != null)
USDRate = opmd.MRate.Value;
var pmd = plist.Find(n=>n.Id==md.Id);
if (pmd != null)
{
md.PostionCode = pmd.PostionCode;
md.Price = pmd.Price *md.GoodsNum.Value/USDRate;
md.PostPrice = pmd.PostPrice * md.GoodsNum.Value / USDRate;
md.HWCFee = pmd.HWCFee * md.GoodsNum.Value;
GoodsFee += (pmd.Price.Value * md.GoodsNum.Value + pmd.PostPrice.Value * md.GoodsNum.Value) / USDRate + md.HWCFee.Value;
}
}
if (list.Count > 0)
list[0].GoodsCB =Convert.ToDecimal(GoodsFee.ToString("0.00"));
}
}
return list;
}
#endregion
#region 查询订单货物
[WebMethod(EnableSession = true)]
public List<DT_OrderGoods> GetOrderGoodsDetail(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
var list = obj.GetOrderGoodsList(OrderId);
return list;
}
#endregion
#region 订单打印数据
[WebMethod(EnableSession = true)]
public List<OrderPrcel> GetOrderPrintModel(int OrderId)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
//var CompanyModel = JC_CompanyService.GetModel(CompanyId);
var obj = new DD_OrderData();
var obj11 = new BaseService();
List<OrderPrcel> ListModel = new List<OrderPrcel>();
var list = obj.GetSpareOrderList(OrderId);
if (list == null)
return null;
foreach (var ordermodel in list)
{
string ErrorInfo = "";
//var ordermodel = obj.GetSpareOrderList(md.OrderId.Value);
var GoodsList = obj.GetSparePrintGoodsModel(ordermodel.Id.Value);
if (ordermodel != null)
{
OrderPrcel model = null;
OrderPrcelDetail model2 = null;
//eub
model = new OrderPrcel();
BaseService obj2 = new BaseService();
var expressmd = obj2.GetExpressModel(ordermodel.Post.Value, CompanyId);
JC_PostAddress CompanyModel = null;
if (expressmd.DefaultAddr != null)
{
CompanyModel = obj11.GetAddressModel(expressmd.DefaultAddr.Value);
}
if (CompanyModel == null)
continue;
if (expressmd != null)
{
if (expressmd.PrintTemplateName != null)
{
if (expressmd.PrintTemplateName == "EUB.txt")
{
model.ExpressType = 1;
}
else
if (expressmd.PrintTemplateName == "宁波小包.txt")
{
model.ExpressType = 2;
}
else
if (expressmd.PrintTemplateName == "甬沪小包.txt")
{
model.ExpressType = 3;
}
else
if (expressmd.PrintTemplateName == "上海小包.txt")
{
model.ExpressType = 4;
}
else
if (expressmd.PrintTemplateName == "上海平邮.txt")
{
model.ExpressType = 5;
}
else
if (expressmd.PrintTemplateName == "俄邮宝.txt")
{
model.ExpressType = 6;
}
else
if (expressmd.PrintTemplateName == "顺丰.txt")
{
model.ExpressType = 7;
}
else
if (expressmd.PrintTemplateName == "宁波平邮.txt")
{
model.ExpressType = 9;
}
}
model.ExpressID = expressmd.ExpressID.Value;
model.ExpressService = expressmd.Name;
if (expressmd.PrintTemplateName != null && expressmd.PrintTemplateName != "")
model.ListPrintTemplate.Add(expressmd.PrintTemplateName);
if (expressmd.PrintTemplateName2 != null && expressmd.PrintTemplateName2 != "")
model.ListPrintTemplate.Add(expressmd.PrintTemplateName2);
}
string PostCode = ordermodel.RevPostCode;
if (model.ExpressType == 1 || model.ExpressType == 6)
{
var PostCodeRulelist = obj2.GetPostCodeRule(ordermodel.CountryCode);
if (PostCodeRulelist != null && PostCodeRulelist.Count > 0)
{
if (PostCodeRulelist[0].PostCodeLen > 0 && PostCodeRulelist[0].PostCodeLen != PostCode.Length)
{
ErrorInfo = "邮编位数不正确";
}
else if (PostCodeRulelist[0].FirstLen > 0 && PostCode.Length >= PostCodeRulelist[0].FirstLen)
{
string firstNum = PostCode.Substring(0, PostCodeRulelist[0].FirstLen.Value);
if (PostCodeRulelist[0].GDNum != null && PostCodeRulelist[0].GDNum.ToString() != "")
{
var ppmd = PostCodeRulelist.Find(n => n.GDNum == firstNum);
if (ppmd != null)
model.AreaSerial = ppmd.DYNum;
}
else
{
int Num = Convert.ToInt32(firstNum);
var ppmd = PostCodeRulelist.Find(n => n.SNum <= Num && n.ENum >= Num);
if (ppmd != null)
model.AreaSerial = ppmd.DYNum;
}
}
else if (PostCodeRulelist[0].FirstLen == 0)
{
string firstNum = PostCode;
if (PostCodeRulelist[0].GDNum.ToString() != "")
{
var ppmd = PostCodeRulelist.Find(n => n.GDNum == firstNum);
if (ppmd != null)
model.AreaSerial = ppmd.DYNum;
}
else
{
int Num = Convert.ToInt32(firstNum);
var ppmd = PostCodeRulelist.Find(n => n.SNum <= Num && n.ENum >= Num);
if (ppmd != null)
model.AreaSerial = ppmd.DYNum;
}
}
}
}
else
{
string group = obj2.GetExpressGroup(expressmd.ExpressID.Value, ordermodel.CountryCode);
if (group != "")
model.AreaSerial = group;
else
model.AreaSerial = "1";
}
model.RevCountry = ordermodel.RevCountry;
model.CountryCode = ordermodel.CountryCode;
model.CountryName = ordermodel.CountryName;
model.RevMobile = ordermodel.RevMoblie;
model.RevPerson = ordermodel.RevName;
string RevArea = "";
if (ordermodel.RevArea != null && ordermodel.RevArea != "")
RevArea = ordermodel.RevArea + ",";
string RevCity = "";
if (ordermodel.RevCity != null && ordermodel.RevCity != "")
RevCity = ordermodel.RevCity + ",";
string RevProvince = "";
if (ordermodel.RevProvince != null && ordermodel.RevProvince != "")
RevProvince = ordermodel.RevProvince + ",";
model.RevAddress = ordermodel.RevAddr + "," + RevArea + RevCity + RevProvince + ordermodel.RevPostCode + "," + ordermodel.RevCountry;
model.RevPhone = ordermodel.RevPhone;
model.RevZip = ordermodel.RevPostCode;
if (model.ExpressID == 1 && ordermodel.CountryCode.ToUpper() == "US")
{
model.RevZip = ordermodel.RevPostCode;
model.CreateRevZipBarCode();
}
model.ShopName = ordermodel.ShopName;
model.SendPerson = CompanyModel.SendEnglishName;
model.SendAddress = CompanyModel.EnglishAddress;
model.SendPhone = CompanyModel.Phone;
model.SendZip = CompanyModel.PostCode;
model.BarCode = ordermodel.TrackCode;
model.OrderCode = ordermodel.PlatOrderCode;
int GoodsNum = 0;
decimal Weight = 0;
if (GoodsList != null)
{
foreach (var md1 in GoodsList)
{
model2 = new OrderPrcelDetail();
model2.GoodsCode = md1.GoodsCode;
model2.GoodsNum = md1.GoodsNum.ToString();
if (md1.GoodsNum != null)
GoodsNum += md1.GoodsNum.Value;
model2.GoodsPrice = "10.0";
if (md1.Weight != null)
{
model2.GoodsWeight = (md1.Weight.Value / 1000).ToString();
Weight += md1.Weight.Value / 1000;
}
else
{
model2.GoodsWeight = "0.20";
Weight += Convert.ToDecimal(0.2);
}
model2.GoodsName = md1.GoodsName + "," + md1.TypeDesc + "[" + md1.SKU1 + "]";
if (md1.PostionDesc != null && md1.PostionDesc != "")
model2.GoodsName = md1.GoodsName + "," + md1.TypeDesc + "[" + md1.SKU1 + "][" + md1.PostionDesc + "]";
// if (md1.GoodsEnglisgName != null && md1.GoodsEnglisgName != "")
model2.GoodsSimpleName = md1.GoodsName + "," + md1.TypeDesc + "[" + md1.SKU1 + "]";// md1.GoodsEnglisgName.ToString();
if (md1.PostionDesc != null && md1.PostionDesc != "")
model2.GoodsSimpleName = md1.GoodsName + "," + md1.TypeDesc + "[" + md1.SKU1 + "][" + md1.PostionDesc + "]";
model2.GoodsOrigin = "China";
model2.GoodsSku = md1.SKU1;
model.ListModel.Add(model2);
}
model.CountGoodsNum = GoodsNum.ToString();
model.CountGoodsPrice = (GoodsNum * 10).ToString();
model.CountGoodsWeight = Weight.ToString();
}
ListModel.Add(model);
}
}
return ListModel;
}
#endregion
#region 订单打印数据
[WebMethod(EnableSession = true)]
public List<OrderPrcel> GetOrderPrint(List<DT_OrderPrint> list)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
//var CompanyModel = JC_CompanyService.GetModel(CompanyId);
var obj = new DD_OrderData();
var obj11 = new BaseService();
List<OrderPrcel> ListModel = new List<OrderPrcel>();
foreach (var md in list)
{
string ErrorInfo = "";
var ordermodel = obj.GetOrderPrintModel(md.OrderId.Value);
#region 拆分订单
if (ordermodel.IsSpare == 1) //拆分订单
{
var splist = obj.GetOrderSpareList(md.OrderId.Value);
var GoodsList = obj.GetPrintSpareGoodsModel(md.OrderId.Value);
if (splist != null)
{
foreach (var spmd in splist)
{
if (spmd != null)
{
OrderPrcel model = null;
OrderPrcelDetail model2 = null;
//eub
model = new OrderPrcel();
BaseService obj2 = new BaseService();
var expressmd = obj2.GetExpressModel(md.ExpressID.Value, CompanyId);
JC_PostAddress CompanyModel = null;
if (expressmd.DefaultAddr != null)
{
CompanyModel = obj11.GetAddressModel(expressmd.DefaultAddr.Value);
}
if (CompanyModel == null)
continue;
if (expressmd != null)
{
if (expressmd.PrintTemplateName != null)
{
if (expressmd.PrintTemplateName == "EUB.txt")
{
model.ExpressType = 1;
}
else
if (expressmd.PrintTemplateName == "宁波小包.txt")
{
model.ExpressType = 2;
}
else
if (expressmd.PrintTemplateName == "甬沪小包.txt")
{
model.ExpressType = 3;
}
else
if (expressmd.PrintTemplateName == "上海小包.txt")
{
model.ExpressType = 4;
}
else
if (expressmd.PrintTemplateName == "上海平邮.txt")
{
model.ExpressType = 5;
}
else
if (expressmd.PrintTemplateName == "俄邮宝.txt")
{
model.ExpressType = 6;
}
else
if (expressmd.PrintTemplateName == "顺丰.txt")
{
model.ExpressType = 7;
}
else
if (expressmd.PrintTemplateName == "比利时邮政.txt")
{
model.ExpressType = 8;
}
else
if (expressmd.PrintTemplateName == "宁波平邮.txt")
{
model.ExpressType = 9;
}
else
if (expressmd.PrintTemplateName == "南京小包.txt")
{
model.ExpressType = 10;
}
else
if (expressmd.PrintTemplateName == "燕文上海平邮.txt")
{
model.ExpressType = 11;
}
else
if (expressmd.PrintTemplateName == "燕邮宝.txt")
{
model.ExpressType = 12;
}
else
if (expressmd.PrintTemplateName == "燕文北京平邮.txt")
{
model.ExpressType = 13;
}
else
if (expressmd.PrintTemplateName == "杭州小包.txt")
{
model.ExpressType = 14;
}
else
if (expressmd.PrintTemplateName == "杭州平邮.txt")
{
model.ExpressType = 15;
}
}
model.ExpressID = md.ExpressID.Value;
model.ExpressService = expressmd.Name;
if (expressmd.PrintTemplateName != null && expressmd.PrintTemplateName != "")
model.ListPrintTemplate.Add(expressmd.PrintTemplateName);
if (expressmd.PrintTemplateName2 != null && expressmd.PrintTemplateName2 != "")
model.ListPrintTemplate.Add(expressmd.PrintTemplateName2);
}
string PostCode = ordermodel.RevPostCode;
if (model.ExpressType == 1 || model.ExpressType == 6)
{
var PostCodeRulelist = obj2.GetPostCodeRule(ordermodel.CountryCode);
if (PostCodeRulelist != null && PostCodeRulelist.Count > 0)
{
if (PostCodeRulelist[0].PostCodeLen > 0 && PostCodeRulelist[0].PostCodeLen != PostCode.Length)
{
ErrorInfo = "邮编位数不正确";
}
else if (PostCodeRulelist[0].FirstLen > 0 && PostCode.Length >= PostCodeRulelist[0].FirstLen)
{
string firstNum = PostCode.Substring(0, PostCodeRulelist[0].FirstLen.Value);
if (PostCodeRulelist[0].GDNum != null && PostCodeRulelist[0].GDNum.ToString() != "")
{
var ppmd = PostCodeRulelist.Find(n => n.GDNum == firstNum);
if (ppmd != null)
model.AreaSerial = ppmd.DYNum;
}
else
{
int Num = Convert.ToInt32(firstNum);
var ppmd = PostCodeRulelist.Find(n => n.SNum <= Num && n.ENum >= Num);
if (ppmd != null)
model.AreaSerial = ppmd.DYNum;
}
}
else if (PostCodeRulelist[0].FirstLen == 0)
{
string firstNum = PostCode;
if (PostCodeRulelist[0].GDNum.ToString() != "")
{
var ppmd = PostCodeRulelist.Find(n => n.GDNum == firstNum);
if (ppmd != null)
model.AreaSerial = ppmd.DYNum;
}
else
{
int Num = Convert.ToInt32(firstNum);
var ppmd = PostCodeRulelist.Find(n => n.SNum <= Num && n.ENum >= Num);
if (ppmd != null)
model.AreaSerial = ppmd.DYNum;
}
}
}
}
else
{
var groupmd = obj2.GetExpressGroupNew(md.ExpressID.Value, ordermodel.CountryCode);
if (groupmd != null && groupmd.Groups != null && groupmd.Groups != "")
model.AreaSerial = groupmd.Groups;
else
model.AreaSerial = "1";
if (groupmd != null && groupmd.Groups2 != null && groupmd.Groups2 != "")
model.AreaSerial2 = groupmd.Groups2;
else
model.AreaSerial2 = "";
}
model.RevCountry = ordermodel.RevCountry;
model.CountryCode = ordermodel.CountryCode;
model.CountryName = ordermodel.CountryName;
if (ordermodel.RevMoblie != null)
model.RevMobile = ordermodel.RevMoblie;
else
model.RevMobile = "";
model.RevPerson = ordermodel.RevName;
string RevArea = "";
if (ordermodel.RevArea != null && ordermodel.RevArea != "")
RevArea = ordermodel.RevArea + ",";
string RevCity = "";
if (ordermodel.RevCity != null && ordermodel.RevCity != "")
RevCity = ordermodel.RevCity + ",";
string RevProvince = "";
if (ordermodel.RevProvince != null && ordermodel.RevProvince != "")
RevProvince = ordermodel.RevProvince + ",";
model.RevAddress = ordermodel.RevAddr + "," + RevArea + RevCity + RevProvince + ordermodel.RevPostCode + "," + ordermodel.RevCountry;
if (ordermodel.RevMoblie != null)
model.RevPhone = ordermodel.RevPhone;
else
model.RevPhone = "";
model.RevZip = ordermodel.RevPostCode;
if (model.ExpressID == 1 && ordermodel.CountryCode.ToUpper() == "US")
{
model.RevZip = ordermodel.RevPostCode;
model.CreateRevZipBarCode();
}
model.ShopName = ordermodel.ShopName;
model.SendPerson = CompanyModel.SendEnglishName;
model.SendAddress = CompanyModel.EnglishAddress;
model.SendPhone = CompanyModel.Phone;
model.SendZip = CompanyModel.PostCode;
model.BarCode = spmd.TrackCode;
model.OrderCode = ordermodel.PlatOrderCode;
int GoodsNum = 0;
decimal Weight = 0;
if (GoodsList != null)
{
var spGoodsList = GoodsList.FindAll(n => n.SpareId == spmd.Id);
foreach (var md1 in spGoodsList)
{
model2 = new OrderPrcelDetail();
model2.GoodsCode = md1.GoodsCode;
model2.GoodsNum = md1.GoodsNum.ToString();
if (md1.GoodsNum != null)
GoodsNum += md1.GoodsNum.Value;
model2.GoodsPrice = "10.0";
if (md1.Weight != null)
{
model2.GoodsWeight = (md1.Weight.Value / 1000).ToString();
Weight += md1.Weight.Value / 1000;
}
else
{
model2.GoodsWeight = "0.20";
Weight += Convert.ToDecimal(0.2);
}
model2.GoodsName = md1.GoodsName + "," + md1.TypeDesc + "[" + md1.SKU1 + "]";
if (md1.PostionDesc != null && md1.PostionDesc != "")
model2.GoodsName = md1.GoodsName + "," + md1.TypeDesc + "[" + md1.SKU1 + "][" + md1.PostionDesc + "]";
// if (md1.GoodsEnglisgName != null && md1.GoodsEnglisgName != "")
model2.GoodsSimpleName = md1.GoodsName + "," + md1.TypeDesc + "[" + md1.SKU1 + "]";// md1.GoodsEnglisgName.ToString();
if (md1.PostionDesc != null && md1.PostionDesc != "")
model2.GoodsSimpleName = md1.GoodsName + "," + md1.TypeDesc + "[" + md1.SKU1 + "][" + md1.PostionDesc + "]";
model2.GoodsOrigin = "China";
model2.GoodsSku = md1.SKU1;
model.ListModel.Add(model2);
}
model.CountGoodsNum = GoodsNum.ToString();
model.CountGoodsPrice = (GoodsNum * 10).ToString();
model.CountGoodsWeight = Weight.ToString();
}
ListModel.Add(model);
}
}
}
}
#endregion
else
{
var GoodsList = obj.GetPrintGoodsModel(md.OrderId.Value);
if (ordermodel != null)
{
OrderPrcel model = null;
OrderPrcelDetail model2 = null;
//eub
model = new OrderPrcel();
BaseService obj2 = new BaseService();
var expressmd = obj2.GetExpressModel(md.ExpressID.Value, CompanyId);
JC_PostAddress CompanyModel = null;
if (expressmd.DefaultAddr != null)
{
CompanyModel = obj11.GetAddressModel(expressmd.DefaultAddr.Value);
}
if (CompanyModel == null)
continue;
expressmd.PrintTemplateName = "EUB.txt";
if (expressmd != null)
{
if (expressmd.PrintTemplateName != null)
{
if (expressmd.PrintTemplateName == "EUB.txt")
{
model.ExpressType = 1;
}
else
if (expressmd.PrintTemplateName == "宁波小包.txt")
{
model.ExpressType = 2;
}
else
if (expressmd.PrintTemplateName == "甬沪小包.txt")
{
model.ExpressType = 3;
}
else
if (expressmd.PrintTemplateName == "上海小包.txt")
{
model.ExpressType = 4;
}
else
if (expressmd.PrintTemplateName == "上海平邮.txt")
{
model.ExpressType = 5;
}
else
if (expressmd.PrintTemplateName == "俄邮宝.txt")
{
model.ExpressType = 6;
}
else
if (expressmd.PrintTemplateName == "顺丰.txt")
{
model.ExpressType = 7;
}
else
if (expressmd.PrintTemplateName == "比利时邮政.txt")
{
model.ExpressType = 8;
}
else
if (expressmd.PrintTemplateName == "宁波平邮.txt")
{
model.ExpressType = 9;
}
else
if (expressmd.PrintTemplateName == "南京小包.txt")
{
model.ExpressType = 10;
}
else
if (expressmd.PrintTemplateName == "燕文上海平邮.txt")
{
model.ExpressType = 11;
}
else
if (expressmd.PrintTemplateName == "燕邮宝.txt")
{
model.ExpressType = 12;
}
else
if (expressmd.PrintTemplateName == "燕文北京平邮.txt")
{
model.ExpressType = 13;
}
else
if (expressmd.PrintTemplateName == "杭州小包.txt")
{
model.ExpressType = 14;
}
else
if (expressmd.PrintTemplateName == "杭州平邮.txt")
{
model.ExpressType = 15;
}
else
if (expressmd.PrintTemplateName == "线上小包.txt")
{
model.ExpressType = 16;
}
}
model.ExpressID = md.ExpressID.Value;
model.ExpressService = expressmd.Name;
if (expressmd.PrintTemplateName != null && expressmd.PrintTemplateName != "")
model.ListPrintTemplate.Add(expressmd.PrintTemplateName);
if (expressmd.PrintTemplateName2 != null && expressmd.PrintTemplateName2 != "")
model.ListPrintTemplate.Add(expressmd.PrintTemplateName2);
}
string PostCode = ordermodel.RevPostCode;
if (model.ExpressType == 1 || model.ExpressType == 6)
{
var PostCodeRulelist = obj2.GetPostCodeRule(ordermodel.CountryCode);
if (PostCodeRulelist != null && PostCodeRulelist.Count > 0)
{
if (PostCodeRulelist[0].PostCodeLen > 0 && PostCodeRulelist[0].PostCodeLen != PostCode.Length)
{
ErrorInfo = "邮编位数不正确";
}
else if (PostCodeRulelist[0].FirstLen > 0 && PostCode.Length >= PostCodeRulelist[0].FirstLen)
{
string firstNum = PostCode.Substring(0, PostCodeRulelist[0].FirstLen.Value);
if (PostCodeRulelist[0].GDNum != null && PostCodeRulelist[0].GDNum.ToString() != "")
{
var ppmd = PostCodeRulelist.Find(n => n.GDNum == firstNum);
if (ppmd != null)
model.AreaSerial = ppmd.DYNum;
}
else
{
int Num = 0;
bool b1 = int.TryParse(firstNum, out Num);
//int Num = Convert.ToInt32(firstNum);
var ppmd = PostCodeRulelist.Find(n => n.SNum <= Num && n.ENum >= Num);
if (ppmd != null)
model.AreaSerial = ppmd.DYNum;
}
}
else if (PostCodeRulelist[0].FirstLen == 0)
{
string firstNum = PostCode;
if (PostCodeRulelist[0].GDNum.ToString() != "")
{
var ppmd = PostCodeRulelist.Find(n => n.GDNum == firstNum);
if (ppmd != null)
model.AreaSerial = ppmd.DYNum;
}
else
{
int Num = Convert.ToInt32(firstNum);
var ppmd = PostCodeRulelist.Find(n => n.SNum <= Num && n.ENum >= Num);
if (ppmd != null)
model.AreaSerial = ppmd.DYNum;
}
}
}
}
else
{
var groupmd = obj2.GetExpressGroupNew(md.ExpressID.Value, ordermodel.CountryCode);
if (groupmd != null && groupmd.Groups != null && groupmd.Groups != "")
model.AreaSerial = groupmd.Groups;
else
model.AreaSerial = "1";
if (groupmd != null && groupmd.Groups2 != null && groupmd.Groups2 != "")
model.AreaSerial2 = groupmd.Groups2;
else
model.AreaSerial2 = "";
}
model.RevCountry = ordermodel.RevCountry;
model.CountryCode = ordermodel.CountryCode;
model.CountryName = ordermodel.CountryName;
model.RevMobile = ordermodel.RevMoblie;
model.RevPerson = ordermodel.RevName;
string RevArea = "";
if (ordermodel.RevArea != null && ordermodel.RevArea != "")
RevArea = ordermodel.RevArea + ",";
string RevCity = "";
if (ordermodel.RevCity != null && ordermodel.RevCity != "")
RevCity = ordermodel.RevCity + ",";
string RevProvince = "";
if (ordermodel.RevProvince != null && ordermodel.RevProvince != "")
RevProvince = ordermodel.RevProvince + ",";
model.RevAddress = ordermodel.RevAddr + "," + RevArea + RevCity + RevProvince + ordermodel.RevPostCode + "," + ordermodel.RevCountry;
model.RevPhone = ordermodel.RevPhone;
model.RevZip = ordermodel.RevPostCode;
if (model.ExpressID == 1 && ordermodel.CountryCode.ToUpper() == "US")
{
model.RevZip = ordermodel.RevPostCode;
model.CreateRevZipBarCode();
}
model.ShopName = ordermodel.ShopName;
model.SendPerson = CompanyModel.SendEnglishName;
model.SendAddress = CompanyModel.EnglishAddress;
model.SendPhone = CompanyModel.Phone;
model.SendZip = CompanyModel.PostCode;
model.BarCode = ordermodel.TrackCode;
if (model.ExpressType == 10 && ordermodel.PlatOrderCode.Length > 18) //wish重新编码
{
if (ordermodel.OrderCode.Length < 18)
model.OrderCode = ordermodel.OrderCode;
else
{
Random ran = new Random();
int RandKey = ran.Next(100, 999);
string code = CompanyId.ToString() + DateTime.Now.ToString("MMddHHmmss") + RandKey.ToString();
model.OrderCode = code;
obj.UpdateOrderCode(md.OrderId.Value, code);
}
}
else
model.OrderCode = ordermodel.PlatOrderCode;
int GoodsNum = 0;
decimal Weight = 0;
if (GoodsList != null)
{
foreach (var md1 in GoodsList)
{
model2 = new OrderPrcelDetail();
model2.GoodsCode = md1.GoodsCode;
model2.GoodsNum = md1.GoodsNum.ToString();
if (md1.GoodsNum != null)
GoodsNum += md1.GoodsNum.Value;
model2.GoodsPrice = "10.0";
if (md1.Weight != null)
{
model2.GoodsWeight = (md1.Weight.Value / 1000).ToString();
Weight += md1.Weight.Value / 1000;
}
else
{
model2.GoodsWeight = "0.20";
Weight += Convert.ToDecimal(0.2);
}
model2.GoodsName = md1.GoodsName + "," + md1.TypeDesc + "[" + md1.SKU1 + "]";
if (md1.PostionDesc != null && md1.PostionDesc != "")
model2.GoodsName = md1.GoodsName + "," + md1.TypeDesc + "[" + md1.SKU1 + "][" + md1.PostionDesc + "]";
// if (md1.GoodsEnglisgName != null && md1.GoodsEnglisgName != "")
model2.GoodsSimpleName = md1.GoodsName + "," + md1.TypeDesc + "[" + md1.SKU1 + "]";// md1.GoodsEnglisgName.ToString();
if (md1.PostionDesc != null && md1.PostionDesc != "")
model2.GoodsSimpleName = md1.GoodsName + "," + md1.TypeDesc + "[" + md1.SKU1 + "][" + md1.PostionDesc + "]";
model2.GoodsOrigin = "China";
model2.GoodsSku = md1.SKU1;
model.ListModel.Add(model2);
}
model.CountGoodsNum = GoodsNum.ToString();
model.CountGoodsPrice = (GoodsNum * 10).ToString();
model.CountGoodsWeight = Weight.ToString();
}
ListModel.Add(model);
}
}
}
return ListModel;
}
#endregion
#region 打印确定
[WebMethod(EnableSession = true)]
public void GetOrderDonePrint(List<DT_OrderPrint> list)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
//var CompanyModel = JC_CompanyService.GetModel(CompanyId);
var obj = new DD_OrderData();
foreach (var md in list)
{
obj.UpdateOrderPrint(md.OrderId.Value);
}
}
#endregion
public string GetOutCode()
{
Pages.Login(this.Session);
var obj = new CG_ChaseData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
Random r = new Random();
string a = r.Next(10000, 99999).ToString();
string Code = DateTime.Now.ToString("yyyyMMddhhmmss") + a;
return Code;
}
#region 打印确定
[WebMethod(EnableSession = true)]
public void GetOrderDonePrintForTM(int state, List<DT_OrderPrint> list)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
//var CompanyModel = JC_CompanyService.GetModel(CompanyId);
var obj = new DD_OrderData();
var obj1 = new HuoWuData();
string JoinOrderCodes = "";
string OrderIds = "";
foreach (var pmd in list)
{
if (pmd.JoinOrderCode != null && pmd.JoinOrderCode != "")
{
JoinOrderCodes +="'"+pmd.JoinOrderCode + "',";
}
else
{
OrderIds += pmd.OrderId + ",";
}
}
var printlist = new List<DT_OrderPrint>();
if (JoinOrderCodes != "" || OrderIds != "")
{
if (state > -1)
printlist = obj.GetPrintOrderList2(OrderIds.Trim(','), JoinOrderCodes.Trim(','));
else
printlist = obj.GetPrintOrderList3(OrderIds.Trim(','), JoinOrderCodes.Trim(','));
}
if (printlist != null)
{
foreach (var md in printlist)
{
if (md.PrintState == 0)
{
// var GoodsList = obj.GetOrderGoodsList(md.OrderId.Value);
HW_GoodsOutRecord model = new HW_GoodsOutRecord();
model.OutCode = GetOutCode();
model.OutReason = "订单发货";
model.CompanyId = CompanyId;
model.InDate = DateTime.Now;
model.InUserId = UserId;
model.IsDelete = 0;
model.OrderId = md.OrderId;
// int Num = 0;
model.OutNum = md.GoodsNum;
var OutId = obj1.UpdateOrderPrint(model); //生成出库记录
//if (GoodsList != null)
//{
// foreach (var gmd in GoodsList)
// {
// HW_GoodsOutCK ckmd = new HW_GoodsOutCK();
// ckmd.OutId = OutId;
// ckmd.OutNum = gmd.GoodsNum;
// ckmd.DetailId = gmd.DetailId;
// int CKId = obj1.SaveGoodsOutDetailNew(ckmd);
// obj1.UpdateGoodsOutId(gmd.Id.Value, CKId);
// }
//}
//obj.UpdateOrderPrint(md.OrderId.Value);//修改打印状态
//obj.UpdateOrderGoodsForPrint(md.OrderId.Value);//修改库存
//else
// obj.UpdateOrderPrint(md.OrderId.Value);//修改打印状态
Pages.SaveLog(UserId, "订单打印","标记打印", md.OrderId.Value);
}
}
}
}
#endregion
#region 打印发票确定
[WebMethod(EnableSession = true)]
public void GetOrderBillPrintForTM(string OrderIds)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
//var CompanyModel = JC_CompanyService.GetModel(CompanyId);
var obj = new DD_OrderData();
if (OrderIds != "")
{
obj.UpdateOrderBilPrint(OrderIds.Trim(','));
}
}
#endregion
#region 空包裹打印确定
[WebMethod(EnableSession = true)]
public void SaveBlankOrderPrint(List<DT_OrderBlank> list)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
//var CompanyModel = JC_CompanyService.GetModel(CompanyId);
var obj = new DD_OrderData();
var obj1 = new HuoWuData();
foreach (var md in list)
{
if (md.State == 1)
{
obj.UpdateBlankOrderPrint(md.Id.Value);//修改打印状态
}
}
}
#endregion
#region 拣货单打印数据
[WebMethod(EnableSession = true)]
public List<OrderPrcel> GetOrderJHDPrint(List<DT_OrderPrint> list)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
//var CompanyModel = JC_CompanyService.GetModel(CompanyId);
var obj = new DD_OrderData();
var obj11 = new BaseService();
List<OrderPrcel> ListModel = new List<OrderPrcel>();
foreach (var md in list)
{
//var CompanyModel = obj11.GetAddressModel(md.SendAddr.Value);
string ErrorInfo = "";
var ordermodel = obj.GetOrderPrintModel(md.OrderId.Value);
var GoodsList = obj.GetPrintGoodsModel(md.OrderId.Value);
if (ordermodel != null)
{
OrderPrcel model = null;
OrderPrcelDetail model2 = null;
//eub
model = new OrderPrcel();
BaseService obj2 = new BaseService();
model.OrderCode = ordermodel.PlatOrderCode;
if (ordermodel.OrderDate != null)
model.OrderDate = ordermodel.OrderDate.Value.ToString("yyyy-MM-dd HH:mm");
if (ordermodel.TrackCode != null)
model.BarCode = ordermodel.TrackCode;
else
model.BarCode = "";
model.RevCountry = ordermodel.CountryName;
model.RevPerson = ordermodel.RevName;
model.RevAddress = ordermodel.RevAddr + ordermodel.RevArea + " " + ordermodel.RevCity + " " + ordermodel.RevProvince;
model.RevPhone = ordermodel.RevPhone;
model.RevZip = ordermodel.RevPostCode;
model.ShopName = ordermodel.ShopName;
//model.SendPerson = CompanyModel.SendEnglishName;
//model.SendAddress = CompanyModel.EnglishAddress;
//model.SendPhone = CompanyModel.Phone;
//model.SendZip = CompanyModel.PostCode;
//model.BarCode = ordermodel.TrackCode;
//model.OrderCode = ordermodel.PlatOrderCode;
//model.CountGoodsNum = ordermodel.GoodsNum.ToString();
//model.CountGoodsPrice = ordermodel.TotalPrice.ToString();
//model.CountGoodsWeight = ordermodel.TotalWeight.ToString();
if (GoodsList != null)
{
foreach (var md1 in GoodsList)
{
model2 = new OrderPrcelDetail();
model2.GoodsCode = md1.GoodsCode;
model2.GoodsNum = md1.GoodsNum.ToString();
// model2.GoodsPrice = md1.GoodsPrice.ToString();
//model2.GoodsWeight = md1.Weight.ToString();
model2.GoodsName = md1.GoodsName;
model2.TypeDesc = md1.TypeDesc;
model2.PostionDesc = md1.PostionDesc;
model2.GoodsSku = md1.SKU1;
model.ListModel.Add(model2);
}
}
ListModel.Add(model);
}
}
return ListModel;
}
#endregion
#region 返回扫描订单Model
[WebMethod(EnableSession = true)]
public DT_OrderModel GetScanOrderModel(string OrderCode)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var md = obj.GetScanOrderModel(CompanyId, OrderCode);
return md;
}
#endregion
#region 返回扫描订单发货
[WebMethod(EnableSession = true)]
public DT_OrderModel ScanOrderPost(string OrderCode, decimal Weight)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
if (OrderCode.Trim() == "")
{
return null;
}
var md = obj.GetScanOrderModel(CompanyId, OrderCode.Trim());
if (md != null)
{
if (Weight > 2000)
{
int isweight = JC_ExpressService.GetExpressWeight(md.Post.Value);
if (isweight >= 2000)
{
md.PostError = "超出重量限制";
return md;
}
}
decimal postfee = GetPostFeeDetailNew(md.Post.Value, Weight, md.CountryCode);
md.PostFee = postfee;
if (postfee > 0)
{
int weightrate = md.WeightRate.Value;
decimal totalweight = 0;
List<DT_OrderPrintGoods> goodslist = null; //;obj.GetWeightGoodsModel(md.OrderId.Value);
if (md.IsSpare == 1)
goodslist = obj.GetSpareWeightGoodsModel(md.Id.Value);
else
goodslist = obj.GetWeightGoodsModel(md.OrderId.Value);
if (goodslist != null)
{
foreach (var gmd in goodslist)
{
if (gmd.GoodsNum != null && gmd.Weight != null)
totalweight += gmd.GoodsNum.Value * gmd.Weight.Value;
}
}
if (Weight > totalweight * (1 + Convert.ToDecimal(weightrate * 1.00) / 100))
{
md.PostError = "根据订单计算重量为" + totalweight + "g,称重重量超过订单重量的" + weightrate.ToString() + "%;请确定货物是否正确再发货";
}
else
if (Weight < totalweight * (1 - Convert.ToDecimal(weightrate * 1.00) / 100))
{
md.PostError = "根据订单计算重量为" + totalweight + "g,重量验证低于实际重量的" + weightrate.ToString() + "%;请确定货物是否正确再发货";
}
else
{
UpdateOrderGoods(md.OrderId.Value, md.IsSpare.Value, md.PostState.Value, md.Id.Value, md.State.Value, Weight, postfee);
md.PostState = 1;
}
}
}
return md;
}
#endregion
#region 返回扫描订单发货
[WebMethod(EnableSession = true)]
public DT_OrderModel ScanOrderPostNew(string OrderCode, decimal Weight)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
if (OrderCode.Trim() == "")
{
return null;
}
var md = obj.GetScanOrderModel(CompanyId, OrderCode.Trim());
if (md != null)
{
if (Weight > 2000)
{
int isweight = JC_ExpressService.GetExpressWeight(md.Post.Value);
if (isweight >= 2000)
{
md.PostError = "超出重量限制";
return md;
}
}
decimal postfee = GetPostFeeDetailNew(md.Post.Value, Weight, md.CountryCode);
md.PostFee = postfee;
if (obj.IsCountryFP(md.CountryCode) > 0)
{
md.PostError = "发票";
return md;
}
if (postfee > 0)
{
int weightrate = md.WeightRate.Value;
decimal totalweight = 0;
List<DT_OrderPrintGoods> goodslist = null; //;obj.GetWeightGoodsModel(md.OrderId.Value);
if (md.IsSpare == 1)
goodslist = obj.GetSpareWeightGoodsModel(md.Id.Value);
else
goodslist = obj.GetWeightGoodsModel(md.OrderId.Value);
if (goodslist != null)
{
foreach (var gmd in goodslist)
{
if (gmd.GoodsNum != null && gmd.Weight != null)
totalweight += gmd.GoodsNum.Value * gmd.Weight.Value;
}
}
if (Weight > totalweight * (1 + Convert.ToDecimal(weightrate * 1.00) / 100))
{
md.PostError = "根据订单计算重量为" + totalweight + "g,称重重量超过订单重量的" + weightrate.ToString() + "%;请确定货物是否正确再发货";
}
else
if (Weight < totalweight * (1 - Convert.ToDecimal(weightrate * 1.00) / 100))
{
md.PostError = "根据订单计算重量为" + totalweight + "g,重量验证低于实际重量的" + weightrate.ToString() + "%;请确定货物是否正确再发货";
}
else
{
UpdateOrderGoodsNew(md.OrderId.Value, md.IsSpare.Value, md.PostState.Value, md.Id.Value, md.State.Value, Weight, postfee);
md.PostState = 1;
}
}
}
return md;
}
#endregion
public static List<DT_TrackCodeApply> TrackList = null;
#region 查询未扫描记录缓存
[WebMethod(EnableSession = true)]
public void GetNoTrackCodeApply()
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
//var CompanyModel = JC_CompanyService.GetModel(CompanyId);
var obj = new DD_OrderData();
TrackList = obj.GetNoTrackCodeApply();
}
#endregion
#region 扫描订单
[WebMethod(EnableSession = true)]
public DT_OrderScanModel ScanGetOrder2(string OrderCode, int IsBlank)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var md = new DT_OrderScanModel();
if (TrackList != null)
{
var md1 = TrackList.Find(n => n.TrackCode == OrderCode);
if (md1 != null)
md.TrackCode = md1.TrackCode;
md.PlatOrderCode = md1.OrderCode;
}
//if (IsBlank == 0)
//{
// md = obj.GetScanOrderModelForTM(CompanyId, OrderCode.Trim());
//}
//else
//{
// md = obj.GetScanBlankModelForTM(CompanyId, OrderCode.Trim());
//}
decimal GoodsWeight = 0;
decimal GoodsPrice = 0;
//if (md != null && md.GoodsList != null)
//{
// foreach (var md1 in md.GoodsList)
// {
// if (md1.Weight != null)
// GoodsWeight += md1.Weight.Value;
// if (md1.GoodsPrice != null)
// GoodsPrice += md1.GoodsPrice.Value;
// }
//}
//if (md != null)
//{
// md.GoodsWeight = GoodsWeight;
// md.GoodsPrice = GoodsPrice;
//}
return md;
}
#endregion
#region 扫描订单
[WebMethod(EnableSession = true)]
public DT_OrderScanModel ScanGetOrder(string OrderCode, int IsBlank)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var md = new DT_OrderScanModel();
if (IsBlank == 0)
{
md = obj.GetScanOrderModelForTM2(OrderCode.Trim());
}
else
{
md = obj.GetScanBlankModelForTM(CompanyId, OrderCode.Trim());
}
decimal GoodsWeight = 0;
decimal GoodsPrice = 0;
if (md != null && md.GoodsList != null)
{
foreach (var md1 in md.GoodsList)
{
if (md1.Weight != null)
GoodsWeight += md1.Weight.Value;
if (md1.GoodsPrice != null)
GoodsPrice += md1.GoodsPrice.Value;
}
}
if (md != null)
{
md.GoodsWeight = GoodsWeight;
md.GoodsPrice = GoodsPrice;
}
return md;
}
#endregion
#region 返回扫描订单发货
[WebMethod(EnableSession = true)]
public DT_OrderModel ScanOrderPostForTM(int OrderId, int Post, string CountryCode, int PostState, int Weight, int BagUserId, string TrackCode, string OrderCode, string JoinOrderCode, int OrderState, int TrackId, int IsFp, int IsJe)
{
Pages.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;
// }
//}
var pmd = GetPostFeeDetailForTM(Post, Weight, CountryCode);
decimal postfee = 0;
decimal oldpostfee = 0;
if (pmd != null && pmd.FeePrice != null)
{
md.PostFee = pmd.FeePrice;
postfee = pmd.FeePrice.Value;
oldpostfee = pmd.OldFeePrice.Value;
}
//if (IsFp == 1)
//{
// if(CountryCode=='DE'||CountryCode=='DK'||CountryCode=='')
// md.PostError = "发票";
// return md;
//}
if (postfee > 0)
{
//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 = postfee;
Model.OldPostFee = oldpostfee;
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;
obj.SaveTrackCodeScan(Model);
md.PostState = 1;
if (OrderState == 2) //空包裹
{
obj.UpdateBlankBagForTM(OrderId, Weight, postfee);
}
else
obj.UpdateOrderGoodsForTM(OrderId, Weight, postfee, JoinOrderCode);
//}
}
md.PostFee = postfee;
return md;
}
#endregion
#region 扫描订单发货
[WebMethod(EnableSession = true)]
public DT_OrderScanModel ScanOrderPost3(string TrackCode, int BagUserId, int IsXS, int Weight)
{
Pages.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"]);
//var ScanMd = new DT_OrderScanError();
var md = new DT_OrderScanModel();
md = obj.GetScanOrderModelForTM2(TrackCode.Trim());
if (md == null)
{
md.ErrorInfo = "不存在";
return md;
}
string Error = "";
if (md.CountryCode == "DE" || md.CountryCode == "DK")
{
if (md.Post.Value != 85)
{
Error = "该国家或者该物流需要提供发票,确定是否打印发票";
}
}
if (Weight > 2000 && md.Post != 65 && md.Post != 67 && md.Post != 75 && md.Post != 88 && md.Post != 89 && md.Post != 90 && md.Post != 91 && md.Post != 92 && md.Post != 93 && md.Post != 94)
{
Error += "该运输方式重量不能超过2000g";
}
if (md.State == 2)
{
Error += "已经扫描过,重新扫描会覆盖原来重量";
}
var pmd = GetPostFeeDetailForTM2(md.Post.Value, Weight, md.CountryCode);
decimal? postfee = 0;
decimal oldpostfee = 0;
if (pmd != null && pmd.FeePrice != null)
{
postfee = pmd.FeePrice;
postfee = pmd.FeePrice.Value;
oldpostfee = pmd.OldFeePrice.Value;
}
//if (IsFp == 1 && obj.IsCountryFP(CountryCode) > 0)
//{
// md.PostError = "发票";
// return md;
//}
if (md.ErrorInfo != null && md.ErrorInfo != "")
{
md.ErrorInfo += Error;
return md;
}
else if (Error != null && Error != "")
{
md.ErrorInfo = Error;
return md;
}
if (postfee > 0)
{
DT_TrackCodeScan Model = new DT_TrackCodeScan();
Model.PostId = md.Post.Value;
Model.OrderId = md.OrderId.Value;
Model.InName = Name;
Model.InDate = DateTime.Now;
Model.IsSure = 0;
Model.PostFee = postfee;
Model.OldPostFee = oldpostfee;
Model.Weight = Weight;
Model.BagUserId = BagUserId;
Model.TrackCode = TrackCode;
if (md.JoinOrderCode != null && md.JoinOrderCode != "")
Model.OrderCode = md.JoinOrderCode;
else
Model.OrderCode = md.PlatOrderCode;
Model.TrackId = md.TrackId.Value;
Model.Count = 1;
Model.JoinOrderCode = md.JoinOrderCode;
Model.IsCSM = md.OrderState.Value;
obj.SaveTrackCodeScan2(Model);
md.PostState = 1;
//if (OrderState == 2) //空包裹
//{
// obj.UpdateBlankBagForTM(OrderId, Weight, postfee);
//}
//else
// obj.UpdateOrderGoodsForTM(OrderId, Weight, postfee, JoinOrderCode);
// }
}
md.PostFee = postfee;
return md;
}
#endregion
#region 扫描订单发货
[WebMethod(EnableSession = true)]
public DT_OrderScanModel ScanOrderPost4(DT_OrderScanModel md, int Weight, int BagUserId)
{
Pages.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"]);
//var ScanMd = new DT_OrderScanError();
decimal? postfee = 0;
postfee = md.PostFee;
if (postfee > 0)
{
DT_TrackCodeScan Model = new DT_TrackCodeScan();
Model.PostId = md.Post.Value;
Model.OrderId = md.OrderId.Value;
Model.InName = Name;
Model.InDate = DateTime.Now;
Model.IsSure = 0;
Model.PostFee = postfee;
Model.OldPostFee = 0;
Model.Weight = Weight;
Model.BagUserId = BagUserId;
Model.TrackCode = md.TrackCode;
if (md.JoinOrderCode != null && md.JoinOrderCode != "")
Model.OrderCode = md.JoinOrderCode;
else
Model.OrderCode = md.PlatOrderCode;
Model.TrackId = md.TrackId.Value;
Model.Count = 1;
Model.JoinOrderCode = md.JoinOrderCode;
Model.IsCSM = md.OrderState.Value;
obj.SaveTrackCodeScan2(Model);
md.PostState = 1;
string log = Model.OrderCode;
Pages.SaveLog(UserId, "订单发货", log + "发货扫描", md.OrderId.Value);
//if (OrderState == 2) //空包裹
//{
// obj.UpdateBlankBagForTM(OrderId, Weight, postfee);
//}
//else
// obj.UpdateOrderGoodsForTM(OrderId, Weight, postfee, JoinOrderCode);
// }
}
md.PostFee = postfee;
return md;
}
#endregion
#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)
{
Pages.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;
// }
//}
var pmd = GetPostFeeDetailForTM2(Post, Weight, CountryCode);
decimal postfee = 0;
decimal oldpostfee = 0;
if (pmd != null && pmd.FeePrice != null)
{
md.PostFee = pmd.FeePrice;
postfee = pmd.FeePrice.Value;
oldpostfee = pmd.OldFeePrice.Value;
}
if (postfee == 0)
{
postfee = Convert.ToDecimal(0.1);
md.PostFee = Convert.ToDecimal(0.1);
oldpostfee = Convert.ToDecimal(0.1);
}
//if (IsFp == 1 && obj.IsCountryFP(CountryCode) > 0)
//{
// md.PostError = "发票";
// return md;
//}
if (postfee > 0)
{
//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 = postfee;
Model.OldPostFee = oldpostfee;
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;
if (IsBlank == 0)
obj.SaveTrackCodeScan2(Model);
else
obj.SaveTrackCodeScan3(Model);
md.PostState = 1;
string log=Model.OrderCode;
if(IsBlank==1)
log+="空包裹";
Pages.SaveLog(UserId, "订单发货", log + "发货扫描", OrderId);
//if (OrderState == 2) //空包裹
//{
// obj.UpdateBlankBagForTM(OrderId, Weight, postfee);
//}
//else
// obj.UpdateOrderGoodsForTM(OrderId, Weight, postfee, JoinOrderCode);
// }
}
md.PostFee = postfee;
return md;
}
#endregion
#region 读取包装人员
[WebMethod(EnableSession = true)]
public JC_UserInfoNew GetBagUser(string UserCode)
{
Pages.Login(this.Session);
var md = JC_UserInfoService.GetUserModel(UserCode);
return md;
}
#endregion
#region 读取运费参考
[WebMethod(EnableSession = true)]
public JC_PostFee GetPostFeeDesc(int PostId)
{
Pages.Login(this.Session);
var obj = new BaseService();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var md = obj.GetPostFeeModel(CompanyId, PostId);
return md;
}
#endregion
#region 读取运费计算规则
[WebMethod(EnableSession = true)]
public string GetPostFeeDetailList(int PostId, int Weight, string Country)
{
Pages.Login(this.Session);
var obj = new BaseService();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var list = obj.GetPostFeeDetailList(CompanyId, PostId, Country);
decimal postfee = 0;
if (list != null && Weight > 0)
{
if (list != null && list.Count > 0)
{
if (list[0].FeeType == 1)
{
var md = list.First(n => n.EWeight >= Weight);
if (md == null)
md = list.First(n => n.EWeight == 0);
if (md != null && md.FeeRate != null)
postfee = Weight / 1000 * md.FeeRate.Value;
}
else
{
foreach (var md in list)
{
if (md.WeightType == 1 && md.FeePrice != null)
{
postfee += md.FeePrice.Value;
Weight = Weight - md.EWeight.Value;
}
else if (Weight > 0 && md.FeePrice != null)
{
postfee += Weight / 1000 * md.FeePrice.Value;
Weight = Weight - md.EWeight.Value;
}
else
if (Weight <= 0)
{
break;
}
}
}
}
}
if (postfee > 0)
return postfee.ToString();
else
return "";
}
#endregion
#region 订单发货
[WebMethod(EnableSession = true)]
public void UpdateOrderGoods(int OrderId, int IsSpare, int PostState, int Id, int State, Decimal Weight, Decimal PostFee)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
// if (Weight > 0)
// Weight =Convert.ToDecimal(Weight)/ 1000;
if (IsSpare == 1)
{
obj.UpdateOrderSparePost(Id, OrderId, Weight, PostFee);
}
if (State == 1)//拆分订单最后一个包裹发货
{
obj.UpdateDelSpareOrderGoods(OrderId);// 修改货物的订单数量(发货或者取消)
}
if (IsSpare == 0)
{
if (PostState == 0)
{
obj.UpdateOrderGoods(OrderId, Weight, PostFee);
obj.UpdateDelOrderGoods(OrderId);// 修改货物的订单数量(发货或者取消)
}
else if (PostState == 1)
{
obj.UpdateOrderGoodsAgin(OrderId, Weight, PostFee);
}
}
}
#endregion
#region 订单发货
[WebMethod(EnableSession = true)]
public void UpdateOrderGoodsNew(int OrderId, int IsSpare, int PostState, int Id, int State, Decimal Weight, Decimal PostFee)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
// if (Weight > 0)
// Weight =Convert.ToDecimal(Weight)/ 1000;
if (IsSpare == 1)
{
obj.UpdateOrderSparePost(Id, OrderId, Weight, PostFee);
}
if (State == 1)//拆分订单最后一个包裹发货
{
obj.UpdateDelSpareOrderGoodsNew(OrderId);// 修改货物的订单数量(发货或者取消)
}
if (IsSpare == 0)
{
if (PostState == 0)
{
obj.UpdateOrderGoodsNew(OrderId, Weight, PostFee);
}
else if (PostState == 1)
{
obj.UpdateOrderGoodsAgin(OrderId, Weight, PostFee);
}
}
}
#endregion
#region 计算运费计算规则
[WebMethod(EnableSession = true)]
public decimal GetPostFeeDetailNew(int PostId, decimal Weight, string Country)
{
Pages.Login(this.Session);
var obj = new BaseService();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var list = obj.GetPostFeeDetailList(CompanyId, PostId, Country);
decimal postfee = 0;
if (list != null && Weight > 0)
{
if (list != null && list.Count > 0)
{
if (list[0].FeeType == 1)
{
var md = list.Find(n => n.EWeight >= Weight);
if (md == null)
md = list.Find(n => n.EWeight == 0);
decimal gdfee = 0;
decimal hrate = 1;
if (md != null && md.MoneyCode != null && md.MoneyCode != "" && md.MoneyCode != "CNY")
{
var moneymd = obj.GetMoneyModel(CompanyId, md.MoneyCode);
if (moneymd != null && moneymd.MRate != null)
hrate = moneymd.MRate.Value;
}
decimal PostOff = 1;
if (md.PostOff != null)
{
PostOff = md.PostOff.Value / 10;
}
if (md != null && md.FeePrice != null)
gdfee = md.FeePrice.Value * hrate;
if (md != null && md.FeeRate != null)
postfee = Weight * md.FeeRate.Value * hrate * PostOff + gdfee;
else postfee = gdfee;
}
else
{
foreach (var md in list)
{
if (md.WeightType == 1 && md.FeePrice != null)
{
postfee += md.FeePrice.Value;
Weight = Weight - md.EWeight.Value;
}
else if (Weight > 0 && md.FeePrice != null)
{
postfee += Weight * md.FeePrice.Value;
Weight = Weight - md.EWeight.Value;
}
else
if (Weight <= 0)
{
break;
}
}
}
}
}
if (postfee > 0)
return postfee;
else
return 0;
}
#endregion
#region 计算运费计算规则
[WebMethod(EnableSession = true)]
public JC_OrderPostFee GetPostFeeDetailForTM(int PostId, decimal Weight, string Country)
{
Pages.Login(this.Session);
var obj = new BaseService();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var list = obj.GetPostFeeDetailListForTM(CompanyId, PostId, Country);
decimal postfee = 0;
decimal oldpostfee = 0;
if (list != null && Weight > 0)
{
if (list != null && list.Count > 0)
{
if (list[0].FeeType == 1)
{
var md = list.Find(n => n.EWeight >= Weight);
if (md == null)
md = list.Find(n => n.EWeight == 0);
decimal gdfee = 0;
decimal hrate = 1;
decimal off = 10;
decimal ghfee = 0;
if (md != null && md.PostOff != null)
off = md.PostOff.Value;
if (md != null && md.CodeFee != null)
ghfee = md.CodeFee.Value;
if (md != null && md.MoneyCode != null && md.MoneyCode != "" && md.MoneyCode != "CNY")
{
var moneymd = obj.GetMoneyModel(CompanyId, md.MoneyCode);
if (moneymd != null && moneymd.MRate != null)
hrate = moneymd.MRate.Value;
}
if (md != null && md.FeePrice != null)
gdfee = md.FeePrice.Value * hrate;
if (md != null && md.FeeRate != null)
postfee = Weight * md.FeeRate.Value * hrate + gdfee;
else postfee = gdfee;
oldpostfee = postfee + ghfee;
postfee = postfee * off / 10 + ghfee;
}
else
{
foreach (var md in list)
{
if (md.WeightType == 1 && md.FeePrice != null)
{
postfee += md.FeePrice.Value;
Weight = Weight - md.EWeight.Value;
}
else if (Weight > 0 && md.FeePrice != null)
{
postfee += Weight * md.FeePrice.Value;
Weight = Weight - md.EWeight.Value;
}
else
if (Weight <= 0)
{
break;
}
}
}
}
}
JC_OrderPostFee pmd = new JC_OrderPostFee();
pmd.FeePrice = postfee;
pmd.OldFeePrice = oldpostfee;
return pmd;
}
#endregion
public static List<JC_PostFeeDetail> FeeList = null;
public static int FeePostId = 0;
#region 计算运费计算规则
[WebMethod(EnableSession = true)]
public JC_OrderPostFee GetPostFeeDetailForTM2(int PostId, decimal Weight, string Country)
{
Pages.Login(this.Session);
var obj = new BaseService();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
if (FeePostId != PostId)
{
FeeList = obj.GetPostFeeDetail(PostId);
FeePostId = PostId;
}
//var list = obj.GetPostFeeDetailListForTM(CompanyId, PostId, Country);
decimal postfee = Convert.ToDecimal(0.1);
decimal oldpostfee = Convert.ToDecimal(0.1);
//
if (FeeList != null && FeeList.Count > 0)
{
var list = new List<JC_PostFeeDetail>();
list = FeeList.FindAll(n => n.CountryCode == Country);
if (list != null && list.Count > 0)
{
if (list[0].FeeType == 1)
{
var md = list.Find(n => n.EWeight >= Weight);
if (md == null)
md = list.Find(n => n.EWeight == 0);
decimal gdfee = 0;
decimal hrate = 1;
decimal off = 10;
decimal ghfee = 0;
if (md != null && md.PostOff != null)
off = md.PostOff.Value;
if (md != null && md.CodeFee != null)
ghfee = md.CodeFee.Value;
if (md != null && md.MoneyCode != null && md.MoneyCode != "" && md.MoneyCode != "CNY")
{
//var moneymd = obj.GetMoneyModel(CompanyId, md.MoneyCode);
//if (moneymd != null && moneymd.MRate != null)
hrate =Convert.ToDecimal(7.4); //moneymd.MRate.Value;
}
if (md != null && md.FeePrice != null)
gdfee = md.FeePrice.Value * hrate;
if (md != null && md.FeeRate != null)
{
postfee = Weight * md.FeeRate.Value * hrate + gdfee * hrate;
ghfee = ghfee * hrate;
}
else postfee = gdfee;
oldpostfee = postfee + ghfee;
postfee = postfee * off / 10 + ghfee;
}
else
{
foreach (var md in list)
{
if (md.WeightType == 1 && md.FeePrice != null)
{
postfee += md.FeePrice.Value;
Weight = Weight - md.EWeight.Value;
}
else if (Weight > 0 && md.FeePrice != null)
{
postfee += Weight * md.FeePrice.Value;
Weight = Weight - md.EWeight.Value;
}
else
if (Weight <= 0)
{
break;
}
}
}
}
else
{
postfee = Convert.ToDecimal(0.1);
oldpostfee = Convert.ToDecimal(0.1);
}
}
else
{
postfee =Convert.ToDecimal(0.1);
oldpostfee =Convert.ToDecimal(0.1);
}
JC_OrderPostFee pmd = new JC_OrderPostFee();
pmd.FeePrice = postfee;
pmd.OldFeePrice = oldpostfee;
return pmd;
}
#endregion
#region 读取sku货物
[WebMethod(EnableSession = true)]
public HW_GoodsSKUModel GetGoodsModelFromSku(string SKU)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var md = obj.GetGoodsModelFromSku(CompanyId, SKU.Trim());
return md;
}
#endregion
#region 读取sku货物
[WebMethod(EnableSession = true)]
public List<HW_GoodsSKUModel> GetGoodsModelFromGoodsCode(int TJ, string SKU)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
string GoodsCode = SKU.Trim();
string TypeCode = "";
if (TJ == 1 && GoodsCode.Contains("-") == true)
{
GoodsCode = SKU.Trim().Split('-')[0].Trim();
TypeCode = SKU.Trim().Split('-')[1].Trim();
}
else
if (TJ == 1 && GoodsCode.Contains(" ") == true)
{
GoodsCode = SKU.Trim().Split(' ')[0].Trim();
TypeCode = SKU.Trim().Split(' ')[1].Trim();
}
var list = obj.GetGoodsModelFromGoodsCode(TJ, CompanyId, GoodsCode, TypeCode);
//string jsonString = new JavaScriptSerializer().Serialize(list);
return list;// jsonString;
}
#endregion
#region 读取sku货物
[WebMethod(EnableSession = true)]
public List<HW_GoodsSPDetail> GetGoodsSPDetailList(int GoodsId)
{
Pages.Login(this.Session);
var obj = new HuoWuData();
var list = obj.GetGoodsSPDetail(GoodsId);
return list;
}
#endregion
#region 读取sku货物
[WebMethod(EnableSession = true)]
public List<HW_GoodsSKUModel> GetGoodsModelFromSku1(string SKU)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var list = obj.GetGoodsModelFromSku1(CompanyId, SKU.Trim());
//string jsonString = new JavaScriptSerializer().Serialize(list);
return list;// jsonString;
}
#endregion
#region 读取sku货物
[WebMethod(EnableSession = true)]
public List<HW_GoodsSKUModel> GetGoodsModelFromType(int Type, string SKU)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var list = obj.GetGoodsModelFromType(CompanyId, Type, SKU.Trim());
//string jsonString = new JavaScriptSerializer().Serialize(list);
return list;// jsonString;
}
#endregion
#region 修改订单
[WebMethod(EnableSession = true)]
public string UpdateOrderInfo(DT_OrderModel Model, List<DT_OrderMateGoods> GoodsList, List<DT_OrderMateGoods> DelGoodsList)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
BaseService obj1 = new BaseService();
var md = obj1.GetCountryCode(Model.RevCountry);
string error = "";
if (md == null || md.Code == null || md.Code == "")
{
error = "购买国家对应不到,请确定国家全称或者简称填写是否正确";
}
else
{
if (md.Code == "US" && Model.RevPostCode.Length != 5)
{
error = "美国邮编必须是5位";
}
else if (md.Code == "RS" && Model.RevPostCode.Length != 6)
{
error = "俄罗斯邮编必须是6位";
}
}
if (error == "")
{
if (Model.IfCF == 1 && Model.OrderId > 0)
{
int Id = obj.CopyOrder(Model.OrderId.Value);
Model.OrderId = Id;
if (GoodsList != null)
{
foreach (var gmd in GoodsList)
{
gmd.OrderId = Id;
}
}
}
Model.CountryCode = md.Code;
Model.CountryName = md.CountryName;
obj.UpdateOrderInfo(Model, GoodsList, DelGoodsList);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
if (Model.NoBuy == 1)
obj.UpdateOrderNoBuy(Model.OrderId.Value);
else
if (Model.NoBuy == 0)
obj.UpdateOrderBuy(Model.OrderId.Value, CompanyId);
}
int UserId = Convert.ToInt32(Session["UserId"]);
Pages.SaveLog(UserId, "修改订单", Model.OrderId.ToString() + "货物对象数:" + GoodsList.Count.ToString() + "删除货物对象数:" + DelGoodsList.Count.ToString(), Model.OrderId.Value);
return error;
}
#endregion
#region 创建重发单订单
[WebMethod(EnableSession = true)]
public int CopyOrder(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
if(CheckCopyOrder(OrderId)>0)
{
return -1;
}
int Id = obj.CopyOrderForTM2(OrderId);
return Id;
}
#endregion
#region 创建重发单订单
[WebMethod(EnableSession = true)]
public int CheckCopyOrder(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int Id = obj.CheckCopyOrder(OrderId);
return Id;
}
#endregion
#region 修改订单
[WebMethod(EnableSession = true)]
public string UpdateOrderInfoNew(DT_OrderModel Model, List<DT_OrderMateGoods> GoodsList, List<DT_OrderMateGoods> DelGoodsList)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
BaseService obj1 = new BaseService();
var md = obj1.GetCountryCode(Model.RevCountry);
string error = "";
if (md == null || md.Code == null || md.Code == "")
{
error = "购买国家对应不到,请确定国家全称或者简称填写是否正确";
}
else
{
if (Model.RevPostCode != null)
Model.RevPostCode = Model.RevPostCode.Trim();
if (md.Code == "US" && Model.RevPostCode.Length != 5)
{
error = "美国邮编必须是5位";
}
else if (md.Code == "RS" && Model.RevPostCode.Length != 6)
{
error = "俄罗斯邮编必须是6位";
}
}
if (Model.TrackCode.Trim() != "")
{
Model.TrackCode = Model.TrackCode.Trim();
if (obj.IsTrackCode(Model.OrderId.Value, Model.TrackCode) > 0)
{
error = "该跟踪码已经被别的订单使用";
}
}
if (error == "")
{
if (Model.IfCF == 1 && Model.OrderId > 0)
{
int Id = obj.CopyOrder(Model.OrderId.Value);
Model.OrderId = Id;
if (GoodsList != null)
{
foreach (var gmd in GoodsList)
{
//gmd.Id = 0;
gmd.OrderId = Id;
}
}
}
Model.CountryCode = md.Code;
Model.CountryName = md.CountryName;
obj.UpdateOrderInfoNew(Model, GoodsList, DelGoodsList);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
if (Model.NoBuy == 1)
obj.UpdateOrderNoBuy(Model.OrderId.Value);
else
if (Model.NoBuy == 0)
obj.UpdateOrderBuy(Model.OrderId.Value, CompanyId);
int UserId = Convert.ToInt32(Session["UserId"]);
Pages.SaveLog(UserId, "修改订单", Model.OrderId.ToString() + "货物对象数:" + GoodsList.Count.ToString() + "删除货物对象数:" + DelGoodsList.Count.ToString(), Model.OrderId.Value);
}
return error;
}
#endregion
#region 修改订单物流
[WebMethod(EnableSession = true)]
public string SaveOrderPost(List<DT_Order> list, int PostId)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
string error = "";
var obj1 = new JC_ExpressService();
var md1 = obj1.GetExpressModel(CompanyId, PostId);
if (md1 == null || md1.DefaultAddr == null || md1.DefaultAddr == 0)
{
return "该物流渠道没有设置过发货地址,请先到系统管理下面的物流快递处设置发货地址";
}
if (list != null)
{
var obj = new DD_OrderData();
foreach (var md in list)
{
if (md.Post == PostId)
continue;
//obj.UpdateOrderExpress(md.OrderId.Value, PostId);
string TrackCode = "";
string error1 = UpdateOrderPost(md1, md.OrderId.Value, PostId, CompanyId, out TrackCode);
if (error1 != "")
error += error1 + ";";
}
}
return error;
}
#endregion
#region 修改订单物流
[WebMethod(EnableSession = true)]
public string SaveOrderPostForTM(List<DT_Order> list, int LogisticsId, int PostId)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
string error = "";
var obj1 = new JC_ExpressService();
var md1 = obj1.GetExpressModel(CompanyId, PostId);
if (md1 == null || md1.DefaultAddr == null || md1.DefaultAddr == 0)
{
return "该物流渠道没有设置过发货地址,请先到系统管理下面的物流快递处设置发货地址";
}
if (list != null)
{
var obj = new DD_OrderData();
foreach (var md in list)
{
if (md.Post == PostId)
continue;
//obj.UpdateOrderExpress(md.OrderId.Value, PostId);
string TrackCode = "";
string error1 = UpdateOrderPostForTM(md1, md.OrderId.Value, LogisticsId, PostId, CompanyId, md.PlatOrderCode, md.JoinOrderCode, md.CountryCode, out TrackCode);
if (error1 != "")
error += error1 + ";";
}
}
return error;
}
#endregion
#region 获取订单物流跟踪码
[WebMethod(EnableSession = true)]
public string GetOrderTrackCode(List<DT_Order> list)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
string error = "";
var obj1 = new JC_ExpressService();
if (list != null)
{
var obj = new DD_OrderData();
foreach (var md in list)
{
var md1 = obj1.GetExpressModel(CompanyId, md.Post.Value);
string TrackCode = "";
string error1 = GetOrderPostCode(md1, md.PlatOrderCode, md.OrderId.Value, md.Post.Value, CompanyId, md.IsSpare, out TrackCode);
if (error1 != "")
error += error1 + ";";
}
}
return error;
}
#endregion
#region 修改订单物流并获取跟踪码
[WebMethod(EnableSession = true)]
public string SaveOrderPostAndGetTrackCode(List<DT_Order> list, int PostId)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
string error = "";
var obj1 = new JC_ExpressService();
var md1 = obj1.GetExpressModel(CompanyId, PostId);
if (md1 == null || md1.DefaultAddr == null || md1.DefaultAddr == 0)
{
return "该物流渠道没有设置过发货地址,请先到系统管理下面的物流快递处设置发货地址";
}
if (list != null)
{
var obj = new DD_OrderData();
foreach (var md in list)
{
if (md.Post == PostId)
continue;
//obj.UpdateOrderExpress(md.OrderId.Value, PostId);
string TrackCode = "";
string error1 = UpdateOrderPost(md1, md.OrderId.Value, PostId, CompanyId, out TrackCode);
if (error1 != "")
error += error1 + ";";
string error2 = GetOrderPostCode(md1, md.PlatOrderCode, md.OrderId.Value, PostId, CompanyId, md.IsSpare, out TrackCode);
if (error2 != "")
error += error2 + ";";
}
}
return error;
}
#endregion
#region 修改地址
[WebMethod(EnableSession = true)]
public string UpdateOrderAddr(DT_OrderModel Model)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
BaseService obj1 = new BaseService();
var md = obj1.GetCountryCode(Model.RevCountry);
string error = "";
if (md == null || md.Code == null || md.Code == "")
{
error = "购买国家对应不到,请确定国家全称或者简称填写是否正确";
}
else
{
if (Model.RevPostCode != null)
Model.RevPostCode = Model.RevPostCode.Trim();
if (md.Code == "US" && Model.RevPostCode.Length != 5)
{
error = "美国邮编必须是5位";
}
else if (md.Code == "RS" && Model.RevPostCode.Length != 6)
{
error = "俄罗斯邮编必须是6位";
}
Model.CountryCode = md.Code;
Model.CountryName = md.CountryName;
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
obj.UpdateOrderAddr2(Model);
Pages.SaveLog(UserId, "订单日志", "修改收件人地址信息", Model.OrderId.Value);
}
return error;
}
#endregion
#region 修改地址
[WebMethod(EnableSession = true)]
public string UpdateOrderAddr2(DT_OrderModel Model)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
BaseService obj1 = new BaseService();
var md = obj1.GetCountryCode(Model.CountryCode);
string error = "";
if (md == null || md.Code == null || md.Code == "")
{
error = "购买国家对应不到,请确定国家全称或者简称填写是否正确";
}
else
{
if (Model.RevPostCode != null)
Model.RevPostCode = Model.RevPostCode.Trim();
//if (md.Code == "US" && Model.RevPostCode.Length != 5)
//{
// error = "美国邮编必须是5位";
//}
//else if (md.Code == "RS" && Model.RevPostCode.Length != 6)
//{
// error = "俄罗斯邮编必须是6位";
//}
if (Model.CountryName == null || Model.CountryName == "")
{
Model.RevCountry = md.EnglishName;
Model.CountryName = md.CountryName;
}
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
obj.UpdateOrderAddr2(Model);
Pages.SaveLog(UserId, "订单日志", "修改收件人地址信息", Model.OrderId.Value);
}
return error;
}
#endregion
#region 修改订单基础信息
[WebMethod(EnableSession = true)]
public string UpdateOrderBase(DT_OrderModel Model)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int UserId = Convert.ToInt32(Session["UserId"]);
obj.UpdateOrderBaseInfo2(Model);
Pages.SaveLog(UserId, "订单日志", "修改订单基本信息", Model.OrderId.Value);
return "";
}
#endregion
#region 修改订单基础信息
[WebMethod(EnableSession = true)]
public string UpdateOrderBase2(DT_OrderModel Model)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int UserId = Convert.ToInt32(Session["UserId"]);
obj.UpdateOrderBaseInfo23(Model);
Pages.SaveLog(UserId, "订单日志", "修改订单基本信息", Model.OrderId.Value);
return "";
}
#endregion
#region 取消分配
[WebMethod(EnableSession = true)]
public void UpdateOrderNoBuy(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int UserId = Convert.ToInt32(Session["UserId"]);
obj.UpdateOrderNoBuy(OrderId);
Pages.SaveLog(UserId, "订单日志", "取消货物分配", OrderId);
}
#endregion
#region 取消分配
[WebMethod(EnableSession = true)]
public string UpdateOrderNoBuyForTM(int OrderId)
{
Pages.Login(this.Session);
bool bk = BaseService.SyncLock3();
if (bk == false)
return "当前有其他人正在操作库存匹配,为保证库存数据准确您暂时无法操作";
var obj = new DD_OrderData();
int b = obj.IsOrderState(OrderId);
if (b==2)
{
return "订单状态已匹配不允许取消分配";
}
if (b == 1)
{
return "订单状态已经有匹配的货物,不允许取消分配,跟仓库联系";
}
var list = obj.GetOrderChangeGoods(OrderId, 0);
int UserId = Convert.ToInt32(Session["UserId"]);
string Name = Convert.ToString(Session["Name"]);
int a= obj.UpdateOrderNoBuyForTM(OrderId);
Pages.SaveLog(UserId, "订单日志", "取消货物分配", OrderId);
if (list != null)
{
foreach (var md in list)
{
var ulist = obj.GetOrderChangeNotice(md.DetailId.Value);
if (ulist != null)
{
foreach (var umd in ulist)
{
JC_OpenMess mess = new JC_OpenMess();
mess.UserId = umd.UserId;
mess.UserType = "p";
mess.Content = "编号:" + md.GoodsCode + "型号:" + md.TypeCode + "描述:" + md.TypeDesc + "取消分配,可能产生库存,请注意是否可以取消购买 From【" + Name + "】";
mess.IsRead = 0;
mess.OpenDate = DateTime.Now;
BaseService.SaveOpenMess(mess);
//mess = new JC_OpenMess();
//mess.UserId = 52;
//mess.UserType = "p";
//mess.Content = "编号:" + md.GoodsCode + "型号:" + md.TypeCode + "描述:" + md.TypeDesc + "取消分配,可能产生库存,请注意是否可以取消购买 From【" + Name + "】";
//mess.IsRead = 0;
//mess.OpenDate = DateTime.Now;
//BaseService.SaveOpenMess(mess);
mess = new JC_OpenMess();
mess.UserId = 70;
mess.UserType = "p";
mess.Content = "编号:" + md.GoodsCode + "型号:" + md.TypeCode + "描述:" + md.TypeDesc + "取消分配,可能产生库存,请注意是否可以取消购买 From【" + Name + "】";
mess.IsRead = 0;
mess.OpenDate = DateTime.Now;
BaseService.SaveOpenMess(mess);
}
}
}
}
return "成功";
}
#endregion
#region 重新分配
[WebMethod(EnableSession = true)]
public void UpdateOrderBuy(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int UserId = Convert.ToInt32(Session["UserId"]);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
obj.UpdateOrderBuy(OrderId, CompanyId);
Pages.SaveLog(UserId, "订单日志", "重新货物分配", OrderId);
}
#endregion
#region 重新分配
[WebMethod(EnableSession = true)]
public int UpdateOrderBuyForTM(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int UserId = Convert.ToInt32(Session["UserId"]);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int a = obj.UpdateOrderBuyForTM(OrderId, CompanyId);
if (a > 0)
Pages.SaveLog(UserId, "订单日志", "重新货物分配", OrderId);
return a;
}
#endregion
#region 修改货物
[WebMethod(EnableSession = true)]
public void UpdateOrderGoodsSKU(int OrderId, int Id, decimal? GoodsPrice, int GoodsNum, int DetailId, string GoodsSKU, string GoodsName)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int UserId = Convert.ToInt32(Session["UserId"]);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
obj.UpdateOrderGoodsSKU(Id, OrderId, GoodsPrice, GoodsNum, DetailId, GoodsSKU, GoodsName);
Pages.SaveLog(UserId, "订单日志", GoodsSKU + "修改分配", OrderId);
}
#endregion
#region 修改货物
[WebMethod(EnableSession = true)]
public int UpdateOrderGoodsSKUForTM(int OrderId, int Id, decimal? GoodsPrice, int GoodsNum, int DetailId, string GoodsSKU, string GoodsName, string GoodsCode)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
bool bk = BaseService.SyncLock3();
if (bk == false)
return 3;
int a = obj.IsOrderState(OrderId);
if (a > 0)
return 2;
var list = obj.GetOrderChangeGoods(OrderId, Id);
int UserId = Convert.ToInt32(Session["UserId"]);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
string Name = Convert.ToString(Session["Name"]);
obj.UpdateOrderGoodsSKUForTM2(Id, CompanyId, Name, OrderId, GoodsPrice, GoodsNum, DetailId, GoodsSKU, GoodsName, GoodsCode,"","");
// obj.UpdateOrderBuyDate(OrderId);
Pages.SaveLog(UserId, "订单日志", GoodsSKU + "修改分配", OrderId);
if (list != null)
{
foreach (var md in list)
{
var ulist = obj.GetOrderChangeNotice(md.DetailId.Value);
if (ulist != null)
{
foreach (var umd in ulist)
{
JC_OpenMess mess = new JC_OpenMess();
mess.InUserId = UserId;
mess.UserId = umd.UserId;
mess.UserType = "p";
mess.Content = "编号:" + md.GoodsCode + "型号:" + md.TypeCode + "描述:" + md.TypeDesc + "改分配,可能产生库存,请注意是否可以取消购买 From【" + Name + "】";
mess.IsRead = 0;
mess.OpenDate = DateTime.Now;
BaseService.SaveOpenMess(mess);
//mess = new JC_OpenMess();
//mess.InUserId = UserId;
//mess.UserId = 52;
//mess.UserType = "p";
//mess.Content = "编号:" + md.GoodsCode + "型号:" + md.TypeCode + "描述:" + md.TypeDesc + "改分配,可能产生库存,请注意是否可以取消购买 From【" + Name + "】";
//mess.IsRead = 0;
//mess.OpenDate = DateTime.Now;
//BaseService.SaveOpenMess(mess);
mess = new JC_OpenMess();
mess.InUserId = UserId;
mess.UserId = 70;
mess.UserType = "p";
mess.Content = "编号:" + md.GoodsCode + "型号:" + md.TypeCode + "描述:" + md.TypeDesc + "改分配,可能产生库存,请注意是否可以取消购买 From【" + Name + "】";
mess.IsRead = 0;
mess.OpenDate = DateTime.Now;
BaseService.SaveOpenMess(mess);
//mess = new JC_OpenMess();
//mess.InUserId = UserId;
//mess.UserId = 149;
//mess.UserType = "p";
//mess.Content = "编号:" + md.GoodsCode + "型号:" + md.TypeCode + "描述:" + md.TypeDesc + "改分配,可能产生库存,请注意是否可以取消购买 From【" + Name + "】";
//mess.IsRead = 0;
//mess.OpenDate = DateTime.Now;
//BaseService.SaveOpenMess(mess);
}
}
}
}
return 0;
}
#endregion
#region 修改货物
[WebMethod(EnableSession = true)]
public string UpdateOrderGoodsSKUForTM2(int OrderId, int Id, decimal? GoodsPrice, int GoodsNum, int DetailId, string GoodsSKU, string GoodsName, string GoodsCode,int GoodsId, string OldTypeCode)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
bool bk = BaseService.SyncLock3();
if (bk == false)
return "当前有其他人正在操作库存匹配,为保证库存数据准确您暂时无法操作";
int a = obj.IsOrderState(OrderId);
if (a > 0)
return "该订单已经匹配库存不能改分配";
string message = "";
var obj1 = new HuoWuData();
string OldTypeDesc = "";
if (OldTypeCode != null && OldTypeCode != "")
{
string TypeDesc = obj1.GetGoodsDetailTypeDesc(GoodsId, OldTypeCode);
if (TypeDesc == "")
{
return "找不到需要改成这个发货的型号";
}
else
{
OldTypeDesc = TypeDesc;
var temp = obj1.GetGoodsDetailForTM(DetailId);
if (temp != null)
{
if (message == "") message = "注意:";
message += temp.TypeDesc + "改" + TypeDesc + "\r\n";
}
}
}
var list = obj.GetOrderChangeGoods(OrderId, Id);
int UserId = Convert.ToInt32(Session["UserId"]);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
string Name = Convert.ToString(Session["Name"]);
obj.UpdateOrderGoodsSKUForTM2(Id, CompanyId, Name, OrderId, GoodsPrice, GoodsNum, DetailId, GoodsSKU, GoodsName, GoodsCode, OldTypeCode, OldTypeDesc);
// obj.UpdateOrderBuyDate(OrderId);
Pages.SaveLog(UserId, "订单日志", GoodsSKU + "修改分配", OrderId);
if (list != null)
{
foreach (var md in list)
{
var ulist = obj.GetOrderChangeNotice(md.DetailId.Value);
if (ulist != null)
{
foreach (var umd in ulist)
{
JC_OpenMess mess = new JC_OpenMess();
mess.InUserId = UserId;
mess.UserId = umd.UserId;
mess.UserType = "p";
mess.Content = "编号:" + md.GoodsCode + "型号:" + md.TypeCode + "描述:" + md.TypeDesc + "改分配,可能产生库存,请注意是否可以取消购买 From【" + Name + "】";
mess.IsRead = 0;
mess.OpenDate = DateTime.Now;
BaseService.SaveOpenMess(mess);
//mess = new JC_OpenMess();
//mess.InUserId = UserId;
//mess.UserId = 52;
//mess.UserType = "p";
//mess.Content = "编号:" + md.GoodsCode + "型号:" + md.TypeCode + "描述:" + md.TypeDesc + "改分配,可能产生库存,请注意是否可以取消购买 From【" + Name + "】";
//mess.IsRead = 0;
//mess.OpenDate = DateTime.Now;
//BaseService.SaveOpenMess(mess);
mess = new JC_OpenMess();
mess.InUserId = UserId;
mess.UserId = 70;
mess.UserType = "p";
mess.Content = "编号:" + md.GoodsCode + "型号:" + md.TypeCode + "描述:" + md.TypeDesc + "改分配,可能产生库存,请注意是否可以取消购买 From【" + Name + "】";
mess.IsRead = 0;
mess.OpenDate = DateTime.Now;
BaseService.SaveOpenMess(mess);
//mess = new JC_OpenMess();
//mess.InUserId = UserId;
//mess.UserId = 149;
//mess.UserType = "p";
//mess.Content = "编号:" + md.GoodsCode + "型号:" + md.TypeCode + "描述:" + md.TypeDesc + "改分配,可能产生库存,请注意是否可以取消购买 From【" + Name + "】";
//mess.IsRead = 0;
//mess.OpenDate = DateTime.Now;
//BaseService.SaveOpenMess(mess);
}
}
}
}
if (message != "") return message;
else
return "成功";
}
#endregion
#region 修改货物
[WebMethod(EnableSession = true)]
public void UpdateOrderGoodsListForTM(int GoodsNum, int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
obj.UpdateOrderBuyDateForTM2(OrderId, GoodsNum);
//foreach (var md in glist)
//{
// if (md.IsEdit == 1)
// {
// var list = obj.GetOrderChangeGoods(md.OrderId.Value, md.Id.Value);
// int UserId = Convert.ToInt32(Session["UserId"]);
// int CompanyId = Convert.ToInt32(Session["CompanyId"]);
// string Name = Convert.ToString(Session["Name"]);
// obj.UpdateOrderGoodsSKUForTM(md.Id.Value, CompanyId, Name, md.OrderId.Value, md.GoodsPrice, md.GoodsNum.Value, md.DetailId.Value, md.GoodsSKU, md.GoodsName);
// Pages.SaveLog(UserId, "订单日志", md.GoodsSKU + "修改分配", md.OrderId.Value);
// if (list != null)
// {
// foreach (var md1 in list)
// {
// var ulist = obj.GetOrderChangeNotice(md1.DetailId.Value);
// if (ulist != null)
// {
// foreach (var umd in ulist)
// {
// string content = "编号:" + md1.GoodsCode + "型号:" + md1.TypeCode + "描述:" + md1.TypeDesc + "改分配,可能产生库存,请注意是否可以取消购买 From【" + Name + "】";
// JC_OpenMess mess = new JC_OpenMess();
// mess.InUserId = UserId;
// mess.UserId = umd.UserId;
// mess.UserType = "p";
// mess.Content = content;
// mess.IsRead = 0;
// mess.OpenDate = DateTime.Now;
// BaseService.SaveOpenMess(mess);
// mess = new JC_OpenMess();
// mess.InUserId = UserId;
// mess.UserId = 52;
// mess.UserType = "p";
// mess.Content = content;
// mess.IsRead = 0;
// mess.OpenDate = DateTime.Now;
// BaseService.SaveOpenMess(mess);
// mess = new JC_OpenMess();
// mess.InUserId = UserId;
// mess.UserId = 70;
// mess.UserType = "p";
// mess.Content = content;
// mess.IsRead = 0;
// mess.OpenDate = DateTime.Now;
// BaseService.SaveOpenMess(mess);
// mess = new JC_OpenMess();
// mess.InUserId = UserId;
// mess.UserId = 149;
// mess.UserType = "p";
// mess.Content = "编号:" + md1.GoodsCode + "型号:" + md1.TypeCode + "描述:" + md1.TypeDesc + "改分配,可能产生库存,请注意是否可以取消购买 From【" + Name + "】";
// mess.IsRead = 0;
// mess.OpenDate = DateTime.Now;
// BaseService.SaveOpenMess(mess);
// }
// }
// }
// }
// }
//}
}
#endregion
#region 新增货物
[WebMethod(EnableSession = true)]
public int AddOrderGoodsSKUForTM(List<DT_OrderGoods> list)
{
Pages.Login(this.Session);
if (list == null||list.Count==0)
return 1;
var obj = new DD_OrderData();
int a = obj.IsOrderState(list[0].OrderId.Value);
if (a > 0)
return 2;
int UserId = Convert.ToInt32(Session["UserId"]);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
string Name = Convert.ToString(Session["Name"]);
foreach (var md in list)
{
obj.UpdateOrderGoodsSKUForTM(0, CompanyId, Name, md.OrderId.Value, md.GoodsPrice, md.GoodsNum.Value, md.DetailId.Value, md.GoodsSKU, md.GoodsName,"","");
Pages.SaveLog(UserId, "订单日志", md.GoodsSKU + "修改分配", md.OrderId.Value);
}
return 0;
}
#endregion
#region 新增货物
[WebMethod(EnableSession = true)]
public string AddOrderGoodsSKUForTM2(List<DT_OrderGoods> list)
{
Pages.Login(this.Session);
string message = "";
if (list == null || list.Count == 0)
return "";
var obj = new DD_OrderData();
bool bk = BaseService.SyncLock3();
if (bk == false)
return "当前有其他人正在操作库存匹配,为保证库存数据准确您暂时无法操作";
int a = obj.IsOrderState(list[0].OrderId.Value);
if (a > 0)
return "该订单已经匹配库存,不能增加分配";
int UserId = Convert.ToInt32(Session["UserId"]);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
string Name = Convert.ToString(Session["Name"]);
string error="";
foreach (var md in list)
{
var obj1 = new HuoWuData();
if (md.OldTypeCode != null && md.OldTypeCode != "")
{
string TypeDesc = obj1.GetGoodsDetailTypeDesc(md.GoodsId.Value, md.OldTypeCode);
if (TypeDesc == "")
{
error += md.OldTypeCode + "找不到该型号;";
}
else
{
md.OldTypeDesc = TypeDesc;
var temp = obj1.GetGoodsDetailForTM(md.DetailId.GetValueOrDefault(0));
if (temp != null)
{
if (message == "") message = "注意:";
message += temp.TypeDesc + "改" + TypeDesc + "\r\n";
}
}
}
}
if (error != "")
return error;
foreach (var md in list)
{
obj.UpdateOrderGoodsSKUForTM(0, CompanyId, Name, md.OrderId.Value, md.GoodsPrice, md.GoodsNum.Value, md.DetailId.Value, md.GoodsSKU, md.GoodsName,md.OldTypeCode,md.OldTypeDesc);
Pages.SaveLog(UserId, "订单日志", md.GoodsSKU + "修改分配", md.OrderId.Value);
}
return message;
}
#endregion
#region 删除货物
[WebMethod(EnableSession = true)]
public void DeleteOrderGoodsSKU(int OrderId, int Id, string GoodsSKU, string GoodsName)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int UserId = Convert.ToInt32(Session["UserId"]);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
obj.DeleteOrderGoodsSKU(Id);
Pages.SaveLog(UserId, "订单日志", GoodsName + "[" + GoodsSKU + "]货物被删除", OrderId);
}
#endregion
#region 删除货物
[WebMethod(EnableSession = true)]
public int DeleteOrderGoodsSKUForTM(int OrderId, int Id, string GoodsSKU, string GoodsName)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
bool bk = BaseService.SyncLock3();
if (bk == false)
return 3;//"当前有其他人正在操作库存匹配,为保证库存数据准确您暂时无法取消分配";
int a = obj.IsOrderState(OrderId);
if (a > 0)
return a;
var list = obj.GetOrderChangeGoods(OrderId, Id);
int UserId = Convert.ToInt32(Session["UserId"]);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
string Name = Convert.ToString(Session["Name"]);
obj.DeleteOrderGoodsSKUForTM(Id, CompanyId, Name);
Pages.SaveLog(UserId, "订单日志", GoodsName + "[" + GoodsSKU + "]货物被删除", OrderId);
if (list != null)
{
foreach (var md in list)
{
var ulist = obj.GetOrderChangeNotice(md.DetailId.Value);
if (ulist != null)
{
foreach (var umd in ulist)
{
JC_OpenMess mess = new JC_OpenMess();
mess.UserId = umd.UserId;
mess.UserType = "p";
mess.Content = "编号:" + md.GoodsCode + "型号:" + md.TypeCode + "描述:" + md.TypeDesc + "取消分配,可能产生库存,请注意是否可以取消购买 From【" + Name + "】";
mess.IsRead = 0;
mess.OpenDate = DateTime.Now;
mess.InUserId = UserId;
BaseService.SaveOpenMess(mess);
mess = new JC_OpenMess();
mess.UserId = 52;
mess.UserType = "p";
mess.Content = "编号:" + md.GoodsCode + "型号:" + md.TypeCode + "描述:" + md.TypeDesc + "取消分配,可能产生库存,请注意是否可以取消购买 From【" + Name + "】";
mess.IsRead = 0;
mess.InUserId = UserId;
mess.OpenDate = DateTime.Now;
BaseService.SaveOpenMess(mess);
mess = new JC_OpenMess();
mess.UserId = 70;
mess.UserType = "p";
mess.Content = "编号:" + md.GoodsCode + "型号:" + md.TypeCode + "描述:" + md.TypeDesc + "取消分配,可能产生库存,请注意是否可以取消购买 From【" + Name + "】";
mess.IsRead = 0;
mess.InUserId = UserId;
mess.OpenDate = DateTime.Now;
BaseService.SaveOpenMess(mess);
mess = new JC_OpenMess();
mess.InUserId = UserId;
mess.UserId = 149;
mess.UserType = "p";
mess.Content = "编号:" + md.GoodsCode + "型号:" + md.TypeCode + "描述:" + md.TypeDesc + "改分配,可能产生库存,请注意是否可以取消购买 From【" + Name + "】";
mess.IsRead = 0;
mess.OpenDate = DateTime.Now;
BaseService.SaveOpenMess(mess);
}
}
}
}
return 0;
}
#endregion
#region 获取订单物流跟踪码
[WebMethod(EnableSession = true)]
public DT_TrackCode GetOrderTrackCodeModel(DT_Order model)
{
Pages.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, out TrackCode);
}
md.Error = error;
md.TrackCode = TrackCode.Trim(',');
return md;
}
#endregion
#region 修改订单物流
[WebMethod(EnableSession = true)]
public string ChangeOrderPost(int OrderId, int PostId)
{
Pages.Login(this.Session);
var md = new DT_TrackCode();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var obj1 = new JC_ExpressService();
var md1 = obj1.GetExpressModel(CompanyId, PostId);
if (md1 == null || md1.DefaultAddr == null || md1.DefaultAddr == 0)
{
string Error = "该物流渠道没有设置过发货地址,请先到系统管理下面的物流快递处设置发货地址";
return Error;
}
string TrackCode = "";
string error = UpdateOrderPost(md1, OrderId, PostId, CompanyId, out TrackCode);
return error;
}
#endregion
#region 修改订单物流
[WebMethod(EnableSession = true)]
public string ChangeOrderPostForTM(int OrderId, int PostId)
{
Pages.Login(this.Session);
var md = new DT_TrackCode();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var obj1 = new JC_ExpressService();
var md1 = obj1.GetExpressModel(CompanyId, PostId);
if (md1 == null || md1.DefaultAddr == null || md1.DefaultAddr == 0)
{
string Error = "该物流渠道没有设置过发货地址,请先到系统管理下面的物流快递处设置发货地址";
return Error;
}
string TrackCode = "";
var obj = new DD_OrderData();
var ordermd = obj.GetOrderModel(OrderId);
string error = UpdateOrderPostForTM(md1, OrderId, md1.LogisticsId.Value, PostId, CompanyId, ordermd.PlatOrderCode, ordermd.JoinOrderCode, ordermd.CountryCode, out TrackCode);
return error;
}
#endregion
#region 修改物流
public string UpdateOrderPost(JC_ExpressPost md, int OrderId, int PostId, int CompanyId, out string TrackCode)
{
var obj = new DD_OrderData();
var companymd = new JC_PostAddress();
var obj1 = new JC_ExpressService();
var obj11 = new BaseService();
var ordermd = obj.GetOrderModel(OrderId);
TrackCode = "";
var goodslist = obj.GetOrderGoodsDetailList(OrderId);
//var md = obj1.GetExpressModel(CompanyId, PostId);
//if (md != null && PostId == 9) //线上发货
//{
// //obj.UpdateTrackPost(PostId, OrderId);
// return "";
//}
string ErrorInfo = "";
var obj2 = new BaseService();
if (ordermd.CountryCode == null || ordermd.CountryCode == "")
{
ErrorInfo = ordermd.PlatOrderCode + "的订单国家代码没对应;";
return ErrorInfo;
}
if (obj2.IsExpress(CompanyId, PostId, ordermd.RevCountry, ordermd.CountryCode) <= 0)
{
ErrorInfo = ordermd.PlatOrderCode + "的订单国家不支持该物流发送;";
return ErrorInfo;
}
if (ErrorInfo == "")
obj.UpdateTrackPost(PostId, OrderId);
return ErrorInfo;
}
#endregion
#region 修改物流
public string UpdateOrderPostForTM(JC_ExpressPost md, int OrderId, int LogisticsId, int PostId, int CompanyId, string PlatOrderCode, string JoinOrderCode, string CountryCode, out string TrackCode)
{
var obj = new DD_OrderData();
var companymd = new JC_PostAddress();
var obj1 = new JC_ExpressService();
var obj11 = new BaseService();
//var ordermd = obj.GetOrderModel(OrderId);
TrackCode = "";
//var goodslist = obj.GetOrderGoodsDetailList(OrderId);
//var md = obj1.GetExpressModel(CompanyId, PostId);
//if (md != null && PostId == 9) //线上发货
//{
// //obj.UpdateTrackPost(PostId, OrderId);
// return "";
//}
string ErrorInfo = "";
var obj2 = new BaseService();
if (CountryCode == null || CountryCode == "")
{
ErrorInfo = PlatOrderCode + "的订单国家代码没对应;";
return ErrorInfo;
}
//if (LogisticsId != 80)
//{
// if (obj2.IsExpress2(CompanyId, PostId, CountryCode) <= 0)
// {
// ErrorInfo = PlatOrderCode + "的订单国家不支持该物流发送;";
// return ErrorInfo;
// }
//}
if (ErrorInfo == "")
obj.UpdateTrackPostForTM2(PostId, LogisticsId, OrderId);
return ErrorInfo;
}
#endregion
#region 获取物流单号
public string GetOrderPostCode(JC_ExpressPost md, string PlatCode, int OrderId, int PostId, int CompanyId, int? IsSpare, out string TrackCode)
{
var obj = new DD_OrderData();
var companymd = new JC_PostAddress();
var obj1 = new JC_ExpressService();
var obj11 = new BaseService();
companymd = obj11.GetAddressModel(CompanyId);
//var md = obj1.GetExpressModel(CompanyId, PostId);
TrackCode = "";
if (md != null && md.PostType == 4) //线上发货
{
return "";
}
string ErrorInfo = "";
string PostCode = "";
var obj2 = new BaseService();
if (md == null)
return "";
if (md.CheckCode == null || md.CheckCode == "")
{
if (IsSpare == 1)
{
var sparelist = obj.GetSpareOrderListNew(OrderId);
if (sparelist != null)
{
foreach (var spmd in sparelist)
{
string STrackCode = "";
GetOrderPostCodeNew(md, PlatCode, OrderId, PostId, CompanyId, out STrackCode);
if (STrackCode != "")
{
obj.UpdateSpareOrderTrackCode(spmd.Id.Value, STrackCode);
PostCode += STrackCode + ",";
}
}
}
}
else
PostCode = obj1.GetInnerExpressCode(CompanyId, PostId);
}
else
{
try
{
var ordermd = obj.GetOrderModel(OrderId);
if (IsSpare == 1)
{
var sparelist = obj.GetSpareOrderListNew(OrderId);
if (sparelist != null)
{
foreach (var spmd in sparelist)
{
string STrackCode = "";
GetOrderPostCodeNew(md, PlatCode, OrderId, PostId, CompanyId, out STrackCode);
if (STrackCode != "")
{
obj.UpdateSpareOrderTrackCode(spmd.Id.Value, STrackCode);
PostCode += STrackCode + ",";
}
}
}
}
var goodslist = obj.GetOrderGoodsDetailList(OrderId);
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;
}
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.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;
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
revmodel.province = " ";
revmodel.county = ordermd.RevArea;
revmodel.city = ordermd.RevCity;
revmodel.country = ordermd.CountryCode;
revmodel.street = ordermd.RevAddr;
revmodel.postcode = ordermd.RevPostCode;
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<Eub_Goods> ListGoods = new List<Eub_Goods>();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
var ListGoodsmd = new Eub_Goods();
ListGoodsmd.cnname = goodsmodel.GoodsName;
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;
PostCode = eub.SendGoods(model, md.CheckCode, out ErrorInfo);
}
//if (PostCode == null || PostCode == "")
//{
// PostCode = obj1.GetInnerExpressCode(CompanyId, PostId);
//}
}
else if (md.PostType == 2) //比利时邮政
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
if (companymd == null)
{
ErrorInfo = "发货地址没选择;";
return ErrorInfo;
}
BelgiumApi Belgium = new BelgiumApi();
Belgium_Order model = new Belgium_Order();
model.ContractId = 1;
model.RecipientZipCode = ordermd.RevPostCode;
model.RecipientName = ordermd.RevName;
model.RecipientStreet = ordermd.RevAddr;
model.OrderNumber = ordermd.PlatOrderCode;
model.RecipientCity = ordermd.RevCity;
model.RecipientState = ordermd.RevProvince;
model.RecipientCountry = ordermd.CountryCode;
model.PhoneNumber = ordermd.RevPhone;
model.Email = ordermd.RevMail;
model.SenderName = companymd.SendEnglishName;
model.SenderAddress = companymd.EnglishAddress;
List<Belgium_Goods> ListGoods = new List<Belgium_Goods>();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
var ListGoodsmd = new Belgium_Goods();
ListGoodsmd.Sku = goodsmodel.GoodsSKU;
ListGoodsmd.ChineseContentDescription = goodsmodel.GoodsName;
ListGoodsmd.ItemContent = goodsmodel.GoodsEnglisgName;
ListGoodsmd.ItemCount = goodsmodel.GoodsNum.Value;
if (goodsmodel.GoodsPrice != null && goodsmodel.GoodsNum != null)
ListGoodsmd.Value = Convert.ToInt32(goodsmodel.GoodsPrice.Value * goodsmodel.GoodsNum.Value);
ListGoodsmd.Currency = goodsmodel.MoneyCode;
if (goodsmodel.Weight != null)
ListGoodsmd.Weight = Convert.ToInt32(goodsmodel.Weight.Value);
ListGoods.Add(ListGoodsmd);
}
}
model.Customs = ListGoods;
PostCode = Belgium.SendGoods(model, md.CheckCode, out ErrorInfo);
}
//if (PostCode == null || PostCode == "")
//{
// PostCode = obj1.GetInnerExpressCode(CompanyId, PostId);
//}
}
else if (md.PostType == 3) //顺丰
{
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.operationtype != null)
model.express_type = md.operationtype.Value.ToString();
else
model.express_type = "1";
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(0.0052);
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<sf_Goods> ListGoods = new List<sf_Goods>();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
var ListGoodsmd = new sf_Goods();
ListGoodsmd.name = goodsmodel.GoodsSKU;
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 = 10;
ListGoodsmd.currency = "USD";
ListGoodsmd.source_area = "China";
ListGoods.Add(ListGoodsmd);
}
}
model.ListGoods = ListGoods;
sfobj.UserCode = md.UserCode;
sfobj.CheckCode = md.CheckCode;
PostCode = sfobj.SendGoods(model, out ErrorInfo);
}
//if (PostCode == null || PostCode == "")
//{
// PostCode = obj1.GetInnerExpressCode(CompanyId, PostId);
//}
}
}
}
catch (Exception ex)
{
ErrorInfo += ex.Message;
}
}
if (PostCode != null && PostCode != "")
{
obj.UpdateTrackCode(PostCode, PostId, OrderId, ErrorInfo);
}
else if (md.PostType != 4) //线上发货的除外
{
ErrorInfo += "未获取到跟踪码";
obj.UpdateTrackCodeError(OrderId, PostId, ErrorInfo);
}
if (PostCode != null && PostCode != "")
{
TrackCode = PostCode;
return "";
}
else
return PlatCode + "的订单" + ErrorInfo;
}
public string GetOrderPostCodeNew(JC_ExpressPost md, string PlatCode, int OrderId, int PostId, int CompanyId, out string TrackCode)
{
var obj = new DD_OrderData();
var companymd = new JC_PostAddress();
var obj1 = new JC_ExpressService();
var obj11 = new BaseService();
//var md = obj1.GetExpressModel(CompanyId, PostId);
TrackCode = "";
if (md != null && md.PostType == 4) //线上发货
{
return "";
}
string ErrorInfo = "";
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);
var goodslist = obj.GetOrderGoodsDetailList(OrderId);
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;
}
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.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;
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
revmodel.province = " ";
revmodel.county = ordermd.RevArea;
revmodel.city = ordermd.RevCity;
revmodel.country = ordermd.CountryCode;
revmodel.street = ordermd.RevAddr;
revmodel.postcode = ordermd.RevPostCode;
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<Eub_Goods> ListGoods = new List<Eub_Goods>();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
var ListGoodsmd = new Eub_Goods();
ListGoodsmd.cnname = goodsmodel.GoodsName;
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;
PostCode = eub.SendGoods(model, md.CheckCode, out ErrorInfo);
}
//if (PostCode == null || PostCode == "")
//{
// PostCode = obj1.GetInnerExpressCode(CompanyId, PostId);
//}
}
else if (md.PostType == 2) //比利时邮政
{
if (md.CheckCode != null && md.CheckCode != "" && goodslist != null && goodslist.Count > 0)
{
if (companymd == null)
{
ErrorInfo = "发货地址没选择;";
return ErrorInfo;
}
BelgiumApi Belgium = new BelgiumApi();
Belgium_Order model = new Belgium_Order();
model.ContractId = 1;
model.RecipientZipCode = ordermd.RevPostCode;
model.RecipientName = ordermd.RevName;
model.RecipientStreet = ordermd.RevAddr;
model.OrderNumber = ordermd.PlatOrderCode;
model.RecipientCity = ordermd.RevCity;
model.RecipientState = ordermd.RevProvince;
model.RecipientCountry = ordermd.CountryCode;
model.PhoneNumber = ordermd.RevPhone;
model.Email = ordermd.RevMail;
model.SenderName = companymd.SendEnglishName;
model.SenderAddress = companymd.EnglishAddress;
List<Belgium_Goods> ListGoods = new List<Belgium_Goods>();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
var ListGoodsmd = new Belgium_Goods();
ListGoodsmd.Sku = goodsmodel.GoodsSKU;
ListGoodsmd.ChineseContentDescription = goodsmodel.GoodsName;
ListGoodsmd.ItemContent = goodsmodel.GoodsEnglisgName;
ListGoodsmd.ItemCount = goodsmodel.GoodsNum.Value;
if (goodsmodel.GoodsPrice != null && goodsmodel.GoodsNum != null)
ListGoodsmd.Value = Convert.ToInt32(goodsmodel.GoodsPrice.Value * goodsmodel.GoodsNum.Value);
ListGoodsmd.Currency = goodsmodel.MoneyCode;
if (goodsmodel.Weight != null)
ListGoodsmd.Weight = Convert.ToInt32(goodsmodel.Weight.Value);
ListGoods.Add(ListGoodsmd);
}
}
model.Customs = ListGoods;
PostCode = Belgium.SendGoods(model, md.CheckCode, out ErrorInfo);
}
//if (PostCode == null || PostCode == "")
//{
// PostCode = obj1.GetInnerExpressCode(CompanyId, PostId);
//}
}
else if (md.PostType == 3) //顺丰
{
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.operationtype != null)
model.express_type = md.operationtype.Value.ToString();
else
model.express_type = "1";
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(0.0052);
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<sf_Goods> ListGoods = new List<sf_Goods>();
if (goodslist != null)
{
foreach (var goodsmodel in goodslist)
{
var ListGoodsmd = new sf_Goods();
ListGoodsmd.name = goodsmodel.GoodsSKU;
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 = 10;
ListGoodsmd.currency = "USD";
ListGoodsmd.source_area = "China";
ListGoods.Add(ListGoodsmd);
}
}
model.ListGoods = ListGoods;
sfobj.UserCode = md.UserCode;
sfobj.CheckCode = md.CheckCode;
PostCode = sfobj.SendGoods(model, out ErrorInfo);
}
//if (PostCode == null || PostCode == "")
//{
// PostCode = obj1.GetInnerExpressCode(CompanyId, PostId);
//}
}
}
}
catch (Exception ex)
{
ErrorInfo += ex.Message;
}
}
//if (PostCode != null && PostCode != "")
//{
// obj.UpdateTrackCode(PostCode, PostId, OrderId, ErrorInfo);
//}
//else if (md.PostType != 4) //线上发货的除外
//{
// ErrorInfo += "未获取到跟踪码";
// obj.UpdateTrackCodeError(OrderId, PostId, ErrorInfo);
//}
if (PostCode != null && PostCode != "")
{
TrackCode = PostCode;
return "";
}
else
return PlatCode + "的订单" + ErrorInfo;
}
#endregion
#region 删除订单
[WebMethod(EnableSession = true)]
public void DeleteOrder(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int InUserId = Convert.ToInt32(Session["UserId"]);
obj.DeleteOrder(OrderId, InUserId);
obj.UpdateDelOrderGoods(OrderId);// 修改货物的订单数量(发货或者取消)
}
#endregion
#region 删除订单
[WebMethod(EnableSession = true)]
public void DeleteOrderForTM(string OrderIds)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int InUserId = Convert.ToInt32(Session["UserId"]);
if (OrderIds != "")
{
obj.DeleteOrderForTM2(OrderIds.Trim(','));
Pages.SaveLog(InUserId, "删除订单", OrderIds + "删除订单", 0);
}
}
#endregion
#region 取消订单
[WebMethod(EnableSession = true)]
public void DeleteCancelOrder(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int InUserId = Convert.ToInt32(Session["UserId"]);
obj.DeleteCancelOrder(OrderId, InUserId);
obj.UpdateCancelOrderGoods(OrderId);// 修改货物的订单数量(发货或者取消)
Pages.SaveLog(InUserId, "取消订单", OrderId.ToString() + "取消订单", OrderId);
}
#endregion
#region 取消订单
[WebMethod(EnableSession = true)]
public string DeleteCancelOrderForTM(List<DT_Order> list)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int InUserId = Convert.ToInt32(Session["UserId"]);
if (list == null || list.Count == 0)
return "";
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
string Name = Convert.ToString(Session["Name"]);
string error = "";
foreach (var md in list)
{
if (obj.IsOrderState(md.OrderId.Value) > 0)
{
error += md.PlatOrderCode + "已经匹配库存不能取消";
}
else
{
obj.DeleteCancelOrder2(md.OrderId.Value, InUserId);
obj.UpdateCancelOrderGoodsForTM2(md.OrderId.Value, Name, CompanyId);// 修改货物的订单数量(发货或者取消)
Pages.SaveLog(InUserId, "订单日志", "取消订单", md.OrderId.Value);
}
}
return error;
}
#endregion
#region 恢复订单
[WebMethod(EnableSession = true)]
public void CancelBackOrder(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int InUserId = Convert.ToInt32(Session["UserId"]);
obj.CancelBackOrder(OrderId, InUserId);
obj.UpdateBuyOrderGoods(OrderId);// 修改货物的订单数量(购买)
Pages.SaveLog(InUserId, "恢复订单", OrderId.ToString() + "恢复订单", OrderId);
}
#endregion
#region 恢复订单
[WebMethod(EnableSession = true)]
public void CancelBackOrderForTM(List<DT_Order> list)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int InUserId = Convert.ToInt32(Session["UserId"]);
if (list == null || list.Count == 0)
return;
foreach (var md in list)
{
obj.CancelBackOrder2(md.OrderId.Value, InUserId);
obj.UpdateBuyOrderGoodsForTM2(md.OrderId.Value);// 修改货物的订单数量(购买)
Pages.SaveLog(InUserId, "订单日志", "恢复订单", list[0].OrderId.Value);
}
}
#endregion
#region 查询匹配明细
[WebMethod(EnableSession = true)]
public List<DT_MateGoodsDetail> GetMateGoodsDetail(int Id)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
var list = obj.GetMateGoodsDetail(Id);
return list;
}
#endregion
#region 保存订单
[WebMethod(EnableSession = true)]
public string SaveOrder(DT_SaveOrderInfo Model, List<DT_OrderGoods> GoodsList)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
if (obj.IsOrderCode(CompanyId, Model.PlatOrderCode) > 0)
{
return "该订单号已经存在";
}
if (Model.TrackCode.Trim() != "")
{
Model.TrackCode = Model.TrackCode.Trim();
if (obj.IsTrackCode(0, Model.TrackCode) > 0)
return "该物流跟踪码已经被别的订单占用";
}
BaseService obj1 = new BaseService();
var md = obj1.GetCountryCode(Model.RevCountry);
string error = "";
if (md == null || md.Code == null || md.Code == "")
{
error = "购买国家对应不到,请确定国家全称或者简称填写是否正确";
}
else
{
if (md.Code == "US" && Model.RevPostCode.Length != 5)
{
error = "美国邮编必须是5位";
}
else if (md.Code == "RS" && Model.RevPostCode.Length != 6)
{
error = "俄罗斯邮编必须是5位";
}
}
if (error != "")
return error;
Model.State = 1;
if (Model.OrderDate != null)
Model.OrderDate = Convert.ToDateTime(Model.OrderDate.Value.ToString("yyyy-MM-dd") + " " + DateTime.Now.ToString("HH:mm:ss"));
Model.MateState = 0;
Model.PrintState = 0;
Model.PostState = 0;
Model.InUserId = UserId;
Model.OrderState = 1;
Model.CompanyId = CompanyId;
Model.InDate = DateTime.Now;
Model.CountryCode = md.Code;
Model.CountryName = md.CountryName;
if (error == "")
{
int OrderId = obj.SaveOrder(Model, GoodsList);
Pages.SaveLog(UserId, "新增订单", OrderId.ToString() + "新增订单;货物对象数量:" + GoodsList.Count, OrderId);
}
return error;
}
#endregion
#region 保存订单
[WebMethod(EnableSession = true)]
public string SaveOrderForTM(DT_SaveOrderInfo Model, List<DT_OrderGoods> GoodsList)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
if (obj.IsOrderCode(CompanyId, Model.PlatOrderCode) > 0)
{
return "该订单号已经存在";
}
if (Model.TrackCode.Trim() != "")
{
Model.TrackCode = Model.TrackCode.Trim();
if (obj.IsOrderTrackCode(0, Model.TrackCode) > 0)
return "该物流跟踪码已经被别的订单占用";
}
BaseService obj1 = new BaseService();
var md = obj1.GetCountryCode(Model.RevCountry);
string error = "";
if (md == null || md.Code == null || md.Code == "")
{
error = "购买国家对应不到,请确定国家全称或者简称填写是否正确";
}
else
{
if (md.Code == "US" && Model.RevPostCode.Length != 5)
{
error = "美国邮编必须是5位";
}
else if (md.Code == "RS" && Model.RevPostCode.Length != 6)
{
error = "俄罗斯邮编必须是5位";
}
}
if (error != "")
return error;
Model.State = 1;
if (Model.OrderDate != null)
Model.OrderDate = Convert.ToDateTime(Model.OrderDate.Value.ToString("yyyy-MM-dd") + " " + DateTime.Now.ToString("HH:mm:ss"));
Model.MateState = 0;
Model.MoneyState = 1;
Model.PrintState = 0;
Model.PostState = 0;
Model.InUserId = UserId;
Model.OrderState = 1;
Model.CompanyId = CompanyId;
Model.InDate = DateTime.Now;
Model.CountryCode = md.Code;
Model.CountryName = md.CountryName;
if (error == "")
{
int OrderId = obj.SaveOrderForTM(Model, GoodsList);
Pages.SaveLog(UserId, "新增订单", OrderId.ToString() + "新增订单;货物对象数量:" + GoodsList.Count, OrderId);
}
return error;
}
#endregion
#region 查询导出邮局信息
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderPostInfo(DateTime? SDate, DateTime? EDate, int PostId, int PageIndex, int PageSize)
{
Pages.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 (SDate != null)
Param.Add("a.PostDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate", "<=", EDate, DbType.DateTime);
if (PostId > 0)
Param.Add("b.Post", "=", PostId, DbType.Int32);
//Param.Add("a.State", ">=", 1, DbType.Int32);
Param.Add("a.State", "=", 2, DbType.Int32);
Param.Add("a.PostState", "=", 1, DbType.Int32);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
int RowCount = 0;
var pxlist = obj.GetLevelConfig(CompanyId, 0);
string Sort = "orderid desc";
resultModel.DataSource = obj.GetListDT_OrderInfoMate("", "", 0, Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
return resultModel;
}
#endregion
#region 查询导出邮局信息
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_TrackCodeScan>> GetListOrderPostInfoForTM(DateTime? SDate, DateTime? EDate, int PostId, string Ids, int PageIndex, int PageSize)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
RefParameterCollection Param = new RefParameterCollection();
if (Ids != "")
{
Param.Add("a.Id", "in", Ids.Trim(','), DbType.String);
}
else
{
if (SDate != null)
Param.Add("b.PostDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("b.PostDate", "<=", EDate, DbType.DateTime);
if (PostId > 0)
Param.Add("a.PostId", "=", PostId, DbType.Int32);
}
JsonModel<List<DT_TrackCodeScan>> resultModel = new JsonModel<List<DT_TrackCodeScan>>();
int RowCount = 0;
string Sort = "id desc";
resultModel.DataSource = obj.GetListDT_TrackCodeScan(Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
return resultModel;
}
#endregion
#region 导出邮局数据
[WebMethod(EnableSession = true)]
public string ExcelPostData(DateTime? SDate, DateTime? EDate, int PostId)
{
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
if (EDate == null)
EDate = DateTime.Now;
if (PostId == 4) //上海小包
{
DataTable tb = obj.GetNJPostDataOrder(CompanyId, PostId, SDate.Value, EDate.Value);
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("TrackCode", "运单号", DbType.String, "");
listColumns.Add("TotalWeight", "重量", DbType.String, "");
listColumns.Add("RevName", "收件人", DbType.String, "");
listColumns.Add("RevCity", "收件城市", DbType.String, "");
listColumns.Add("CountryName", "收件国家", DbType.String, "");
listColumns.Add("RevAddr", "收件地址", DbType.String, "");
listColumns.Add("RevPostCode", "收件邮编", DbType.String, "");
listColumns.Add("RevPhone", "收件电话", DbType.String, "");
listColumns.Add("GoodsName", "物品描述", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(tb, listColumns);
}
else
if (PostId >= 2 && PostId < 4) //小包
{
DataSet tb = obj.GetPostDataOrderXB(CompanyId, PostId, SDate.Value, EDate.Value);
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("TrackCode", "条形码", DbType.String, "");
listColumns.Add("CountryName", "寄达国家(中文)", DbType.String, "");
listColumns.Add("RevCountry", "寄达国家(英文)", DbType.String, "");
listColumns.Add("RevProvince", "州名", DbType.String, "");
listColumns.Add("RevCity", "城市名", DbType.String, "");
listColumns.Add("RevAddr", "收件人详细地址", DbType.String, "");
listColumns.Add("RevName", "收件人姓名", DbType.String, "");
listColumns.Add("RevPhone", "收件人电话", DbType.String, "");
listColumns.Add("SendName", "寄件人姓名", DbType.String, "");
listColumns.Add("Phone", "寄件人电话", DbType.String, "");
listColumns.Add("EnglishAddress", "寄件人详细地址(英文)", DbType.String, "");
listColumns.Add("GoodsType", "内件类型代码", DbType.String, "");
listColumns.Add("RevPostCode", "邮编", DbType.String, "");
TableColumnCollection listColumns1 = new TableColumnCollection();
listColumns1.Add("TrackCode", "运单码", DbType.String, "");
listColumns1.Add("GoodsName", "货物中文名称", DbType.String, "");
listColumns1.Add("GoodsEnglisgName", "货物英文名称", DbType.String, "");
listColumns1.Add("GoodsNum", "数量", DbType.String, "");
listColumns1.Add("Weight", "单件重量", DbType.String, "");
listColumns1.Add("Price", "单价", DbType.String, "");
listColumns1.Add("CN", "原产地", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.ExportTwo(tb.Tables[0], tb.Tables[1], listColumns, listColumns1);
}
else if (PostId == 71 || PostId == 72) //南京小包
{
DataTable tb = obj.GetNJPostDataOrder(CompanyId, PostId, SDate.Value, EDate.Value);
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("postname", "快递类别", DbType.String, "");
listColumns.Add("CompanyName", "客户名称", DbType.String, "");
listColumns.Add("PlatOrderCode", "内部单号", DbType.String, "");
listColumns.Add("TrackCode", "转运号码", DbType.String, "");
listColumns.Add("CountryName", "目的地", DbType.String, "");
listColumns.Add("RevName", "收件人", DbType.String, "");
listColumns.Add("RevCompany", "收件单位", DbType.String, "");
listColumns.Add("RevAddr", "收件地址", DbType.String, "");
listColumns.Add("RevPostCode", "收件邮编", DbType.String, "");
listColumns.Add("RevCity", "收件城市", DbType.String, "");
listColumns.Add("RevProvince", "收件州省", DbType.String, "");
listColumns.Add("RevPhone", "收件电话", DbType.String, "");
listColumns.Add("RevCountry", "收件国家", DbType.String, "");
listColumns.Add("GoodsName", "物品描述", DbType.String, "");
listColumns.Add("sl", "货物数量", DbType.String, "");
listColumns.Add("price", "声明价值", DbType.String, "");
listColumns.Add("bz", "备注", DbType.String, "");
listColumns.Add("ckh", "参考号", DbType.String, "");
listColumns.Add("PostDate", "批次", DbType.String, "yyyy/MM/dd HH:mm");
listColumns.Add("bgh", "报关单号", DbType.String, "");
listColumns.Add("TotalWeight", "重量", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(tb, listColumns);
}
else if (PostId == 73) //杭州小包
{
DataSet tb = obj.GetPostDataOrderHZXB(CompanyId, PostId, SDate.Value, EDate.Value);
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("TrackCode", "运单号", DbType.String, "");
listColumns.Add("CountryName", "寄达国家(中文)", DbType.String, "");
listColumns.Add("RevCountry", "寄达国家(英文)", DbType.String, "");
listColumns.Add("RevProvince", "州名", DbType.String, "");
listColumns.Add("RevCity", "城市名", DbType.String, "");
listColumns.Add("RevAddr", "收件人详细地址", DbType.String, "");
listColumns.Add("RevName", "收件人姓名", DbType.String, "");
listColumns.Add("RevPhone", "收件人电话", DbType.String, "");
listColumns.Add("RevPostCode", "邮编", DbType.String, "");
TableColumnCollection listColumns1 = new TableColumnCollection();
listColumns1.Add("TrackCode", "运单码", DbType.String, "");
listColumns1.Add("GoodsName", "货物中文名称", DbType.String, "");
listColumns1.Add("GoodsEnglisgName", "货物英文名称", DbType.String, "");
listColumns1.Add("GoodsNum", "数量", DbType.String, "");
listColumns1.Add("Weight", "重量", DbType.String, "");
listColumns1.Add("Price", "申报金额", DbType.String, "");
listColumns1.Add("CN", "原产地", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.ExportTwo(tb.Tables[0], tb.Tables[1], listColumns, listColumns1);
}
else if (PostId == 74) //杭州平邮
{
DataTable tb = obj.GetHZPostDataOrder(CompanyId, PostId, SDate.Value, EDate.Value);
if (tb != null)
{
for (int i = 0; i < tb.Rows.Count; i++)
{
tb.Rows[i]["IndexNo"] = i + 1;
}
}
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("IndexNo", "序号", DbType.String, "");
listColumns.Add("TrackCode", "运单号", DbType.String, "");
listColumns.Add("RevCountry", "国家(英文)", DbType.String, "");
listColumns.Add("RevCity", "城市", DbType.String, "");
listColumns.Add("postname", "运货方式", DbType.String, "");
listColumns.Add("TrackCode", "运单码", DbType.String, "");
listColumns.Add("CountryName", "国家(中文)", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(tb, listColumns);
}
else
{
DataTable tb = obj.GetPostDataOrder(CompanyId, PostId, SDate.Value, EDate.Value);
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("TrackCode", "条形码", DbType.String, "");
listColumns.Add("CountryName", "寄达国家(中文)", DbType.String, "");
listColumns.Add("RevCountry", "寄达国家(英文)", DbType.String, "");
listColumns.Add("RevProvince", "州名", DbType.String, "");
listColumns.Add("RevCity", "城市名", DbType.String, "");
listColumns.Add("RevAddr", "收件人详细地址", DbType.String, "");
listColumns.Add("RevName", "收件人姓名", DbType.String, "");
listColumns.Add("RevPhone", "收件人电话", DbType.String, "");
listColumns.Add("EnglishAddress", "寄件人详细地址(英文)", DbType.String, "");
listColumns.Add("SendName", "寄件人姓名", DbType.String, "");
listColumns.Add("Phone", "寄件人电话", DbType.String, "");
listColumns.Add("GoodsType", "内件类型代码", DbType.String, "");
listColumns.Add("TotalWeight", "重量", DbType.String, "");
listColumns.Add("RevPostCode", "邮编", DbType.String, "");
listColumns.Add("GoodsName", "货物描述", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(tb, listColumns);
}
}
#endregion
#region 导出邮局数据
[WebMethod(EnableSession = true)]
public string ExcelPostDataNew(DateTime? SDate, DateTime? EDate, int PostId)
{
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
if (EDate == null)
EDate = DateTime.Now;
var templist = obj.GetPostExcelTempDetail(PostId);
if (templist != null && templist.Count > 0)
{
DataTable tb = obj.GetPostDataOrderNew(CompanyId, PostId, SDate.Value, EDate.Value);
TableColumnCollection listColumns = new TableColumnCollection();
TableColumnCollection listColumns1 = new TableColumnCollection();
foreach (var tempmd in templist)
{
if (tempmd.ColValue == "IndexNo" && tb.Columns.Contains("IndexNo") == false)
{
tb.Columns.Add("IndexNo", typeof(string));
for (int i = 0; i < tb.Rows.Count; i++)
{
tb.Rows[i]["IndexNo"] = i + 1;
}
}
if (tempmd.PageNo == 1 && tempmd.ColValue != "0")
listColumns.Add(tempmd.ColValue, tempmd.ColName, DbType.String, "");
else
if (tempmd.PageNo == 1 && tempmd.ColValue == "0")
{
tb.Columns.Add(tempmd.Id.ToString(), typeof(string));
foreach (DataRow row in tb.Rows)
{
row[tempmd.Id.ToString()] = tempmd.ColData;
}
listColumns.Add(tempmd.Id.ToString(), tempmd.ColName, DbType.String, "");
}
else if (tempmd.PageNo == 2 && tempmd.ColValue != "0")
listColumns1.Add(tempmd.ColValue, tempmd.ColName, DbType.String, "");
else
if (tempmd.PageNo == 2 && tempmd.ColValue == "0")
{
tb.Columns.Add(tempmd.Id.ToString(), typeof(string));
foreach (DataRow row in tb.Rows)
{
row[tempmd.Id.ToString()] = tempmd.ColData;
}
listColumns1.Add(tempmd.Id.ToString(), tempmd.ColName, DbType.String, "");
}
}
MicrosoftExcel obj2 = new MicrosoftExcel();
if (listColumns1.Count == 0)
return obj2.Export(tb, listColumns);
else
return obj2.ExportTwo(tb, tb, listColumns, listColumns1);
}
else
{
if (PostId == 4) //上海小包
{
DataTable tb = obj.GetNJPostDataOrder(CompanyId, PostId, SDate.Value, EDate.Value);
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("TrackCode", "运单号", DbType.String, "");
listColumns.Add("TotalWeight", "重量", DbType.String, "");
listColumns.Add("RevName", "收件人", DbType.String, "");
listColumns.Add("RevCity", "收件城市", DbType.String, "");
listColumns.Add("CountryName", "收件国家", DbType.String, "");
listColumns.Add("RevAddr", "收件地址", DbType.String, "");
listColumns.Add("RevPostCode", "收件邮编", DbType.String, "");
listColumns.Add("RevPhone", "收件电话", DbType.String, "");
listColumns.Add("GoodsName", "物品描述", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(tb, listColumns);
}
else
if (PostId >= 2 && PostId < 4) //小包
{
DataSet tb = obj.GetPostDataOrderXB(CompanyId, PostId, SDate.Value, EDate.Value);
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("TrackCode", "条形码", DbType.String, "");
listColumns.Add("CountryName", "寄达国家(中文)", DbType.String, "");
listColumns.Add("RevCountry", "寄达国家(英文)", DbType.String, "");
listColumns.Add("RevProvince", "州名", DbType.String, "");
listColumns.Add("RevCity", "城市名", DbType.String, "");
listColumns.Add("RevAddr", "收件人详细地址", DbType.String, "");
listColumns.Add("RevName", "收件人姓名", DbType.String, "");
listColumns.Add("RevPhone", "收件人电话", DbType.String, "");
listColumns.Add("SendName", "寄件人姓名", DbType.String, "");
listColumns.Add("Phone", "寄件人电话", DbType.String, "");
listColumns.Add("EnglishAddress", "寄件人详细地址(英文)", DbType.String, "");
listColumns.Add("GoodsType", "内件类型代码", DbType.String, "");
listColumns.Add("RevPostCode", "邮编", DbType.String, "");
TableColumnCollection listColumns1 = new TableColumnCollection();
listColumns1.Add("TrackCode", "运单码", DbType.String, "");
listColumns1.Add("GoodsName", "货物中文名称", DbType.String, "");
listColumns1.Add("GoodsEnglisgName", "货物英文名称", DbType.String, "");
listColumns1.Add("GoodsNum", "数量", DbType.String, "");
listColumns1.Add("Weight", "单件重量", DbType.String, "");
listColumns1.Add("Price", "单价", DbType.String, "");
listColumns1.Add("CN", "原产地", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.ExportTwo(tb.Tables[0], tb.Tables[1], listColumns, listColumns1);
}
else if (PostId == 71 || PostId == 72) //南京小包
{
DataTable tb = obj.GetNJPostDataOrder(CompanyId, PostId, SDate.Value, EDate.Value);
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("postname", "快递类别", DbType.String, "");
listColumns.Add("CompanyName", "客户名称", DbType.String, "");
listColumns.Add("OrderCode", "内部单号", DbType.String, "");
listColumns.Add("TrackCode", "转运号码", DbType.String, "");
listColumns.Add("CountryName", "目的地", DbType.String, "");
listColumns.Add("RevName", "收件人", DbType.String, "");
listColumns.Add("RevCompany", "收件单位", DbType.String, "");
listColumns.Add("RevAddr", "收件地址", DbType.String, "");
listColumns.Add("RevPostCode", "收件邮编", DbType.String, "");
listColumns.Add("RevCity", "收件城市", DbType.String, "");
listColumns.Add("RevProvince", "收件州省", DbType.String, "");
listColumns.Add("RevPhone", "收件电话", DbType.String, "");
listColumns.Add("RevCountry", "收件国家", DbType.String, "");
listColumns.Add("GoodsName", "物品描述", DbType.String, "");
listColumns.Add("sl", "货物数量", DbType.String, "");
listColumns.Add("price", "声明价值", DbType.String, "");
listColumns.Add("bz", "备注", DbType.String, "");
listColumns.Add("ckh", "参考号", DbType.String, "");
listColumns.Add("PostDate", "批次", DbType.String, "yyyy/MM/dd HH:mm");
listColumns.Add("bgh", "报关单号", DbType.String, "");
listColumns.Add("TotalWeight", "重量", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(tb, listColumns);
}
else if (PostId == 73) //杭州小包
{
DataSet tb = obj.GetPostDataOrderHZXB(CompanyId, PostId, SDate.Value, EDate.Value);
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("TrackCode", "运单号", DbType.String, "");
listColumns.Add("CountryName", "寄达国家(中文)", DbType.String, "");
listColumns.Add("RevCountry", "寄达国家(英文)", DbType.String, "");
listColumns.Add("RevProvince", "州名", DbType.String, "");
listColumns.Add("RevCity", "城市名", DbType.String, "");
listColumns.Add("RevAddr", "收件人详细地址", DbType.String, "");
listColumns.Add("RevName", "收件人姓名", DbType.String, "");
listColumns.Add("RevPhone", "收件人电话", DbType.String, "");
listColumns.Add("RevPostCode", "邮编", DbType.String, "");
TableColumnCollection listColumns1 = new TableColumnCollection();
listColumns1.Add("TrackCode", "运单码", DbType.String, "");
listColumns1.Add("GoodsName", "货物中文名称", DbType.String, "");
listColumns1.Add("GoodsEnglisgName", "货物英文名称", DbType.String, "");
listColumns1.Add("GoodsNum", "数量", DbType.String, "");
listColumns1.Add("Weight", "重量", DbType.String, "");
listColumns1.Add("Price", "申报金额", DbType.String, "");
listColumns1.Add("CN", "原产地", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.ExportTwo(tb.Tables[0], tb.Tables[1], listColumns, listColumns1);
}
else if (PostId == 74) //杭州平邮
{
DataTable tb = obj.GetHZPostDataOrder(CompanyId, PostId, SDate.Value, EDate.Value);
if (tb != null)
{
for (int i = 0; i < tb.Rows.Count; i++)
{
tb.Rows[i]["IndexNo"] = i + 1;
}
}
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("IndexNo", "序号", DbType.String, "");
listColumns.Add("TrackCode", "运单号", DbType.String, "");
listColumns.Add("RevCountry", "国家(英文)", DbType.String, "");
listColumns.Add("RevCity", "城市", DbType.String, "");
listColumns.Add("postname", "运货方式", DbType.String, "");
listColumns.Add("TrackCode", "运单码", DbType.String, "");
listColumns.Add("CountryName", "国家(中文)", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(tb, listColumns);
}
else
{
DataTable tb = obj.GetPostDataOrder(CompanyId, PostId, SDate.Value, EDate.Value);
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("TrackCode", "条形码", DbType.String, "");
listColumns.Add("CountryName", "寄达国家(中文)", DbType.String, "");
listColumns.Add("RevCountry", "寄达国家(英文)", DbType.String, "");
listColumns.Add("RevProvince", "州名", DbType.String, "");
listColumns.Add("RevCity", "城市名", DbType.String, "");
listColumns.Add("RevAddr", "收件人详细地址", DbType.String, "");
listColumns.Add("RevName", "收件人姓名", DbType.String, "");
listColumns.Add("RevPhone", "收件人电话", DbType.String, "");
listColumns.Add("EnglishAddress", "寄件人详细地址(英文)", DbType.String, "");
listColumns.Add("SendName", "寄件人姓名", DbType.String, "");
listColumns.Add("Phone", "寄件人电话", DbType.String, "");
listColumns.Add("GoodsType", "内件类型代码", DbType.String, "");
listColumns.Add("TotalWeight", "重量", DbType.String, "");
listColumns.Add("RevPostCode", "邮编", DbType.String, "");
listColumns.Add("GoodsName", "货物描述", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(tb, listColumns);
}
}
}
#endregion
#region 导出邮局数据
[WebMethod(EnableSession = true)]
public string ExcelPostDataForTM(DateTime? SDate, DateTime? EDate, int PostId, string Ids)
{
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
if (EDate == null)
EDate = DateTime.Now;
if (PostId == 100) //德邮
{
DataTable tb = obj.GetPostDataOrderForTM(Ids.Trim(','), CompanyId, PostId, SDate.Value, EDate.Value);
string content = "";// @"5236887024|CNTMS000001512|Mlle DRESCHEL DELPHINE|30 RUE DU MARECHAL JOFFRE|||HOUDAIN||62150|0629221319||FR||CN|COAT|21.6|1254||1|WWD005-012|COAT|21.6|||||EUR||||PPS|||DDU|||||外套|
//5236887024|CNTMS000001531|Mlle JACQUES|JEAN SONIA| 1|3 Appartement 413 1 PLACE DE L EUROPE|EMERAINVILLE||77184|0695106239||FR||CN|COAT|21.6|1294||1|WWD005-014|COAT|21.6|||||EUR||||PPS|||DDU|||||外套|
//5236887024|CNTMS000001521|Mme VERREYDT SOPHIE|3 RUE MERMOZ|||FACHES THUMESNIL||59155|0665308306||FR||CN|COAT|21.6|1137||1|MWM555-006|COAT|21.6|||||EUR||||PPS|||DDU|||||外套|
//5236887024|CNTMS000001522|Mme KRZASTEL MICHELINE|25 RUE VICTOR SCHOELCHER| DOUAI||DOUAI||59500|0751691657||FR||CN|COAT|21.6|1327||1|WWD005-014|COAT|21.6|||||EUR||||PPS|||DDU|||||外套|
//5236887024|CNTMS000001552|Mlle NICOLAS SEVERINE|36 RUE FELICIE| 71A21||GENNEVILLIERS||92230|0658046024||FR||CN|LADIES' SHOES|21.6|1266||1|XWX219-009|LADIES' SHOES|10.8|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001552|Mlle NICOLAS SEVERINE|36 RUE FELICIE| 71A21||GENNEVILLIERS||92230|0658046024||FR||CN|LADIES' SHOES|21.6|1266||1|XWX219-017|LADIES' SHOES|10.8|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001569|Mme BUDIN SANDRINE|11 RUE CHINARD| Appartement 143||LYON||69009|0762999603||FR||CN|LADIES' SHOES|21.6|1266||1|XWX219-019|LADIES' SHOES|10.8|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001569|Mme BUDIN SANDRINE|11 RUE CHINARD| Appartement 143||LYON||69009|0762999603||FR||CN|LADIES' SHOES|21.6|1266||1|XWX219-021|LADIES' SHOES|10.8|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001568|Mme ABGRAL LAETITIA|CHEZ BOUILLAUD| CHEZ BOUILLAUD||STE COLOMBE||16230|0634633356||FR||CN|LADIES' SHOES|21.6|1329||1|XWX219-020|LADIES' SHOES|10.8|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001568|Mme ABGRAL LAETITIA|CHEZ BOUILLAUD| CHEZ BOUILLAUD||STE COLOMBE||16230|0634633356||FR||CN|LADIES' SHOES|21.6|1329||1|XWX219-012|LADIES' SHOES|10.8|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001581|Mme GUERIN AXELLE|10 ALLEE COLETTE| Appartement 1ERE ETAGE||LES MUREAUX||78130|0607441016||FR||CN|LADIES' SHOES|18.69|628||1|XWX219-021|LADIES' SHOES|18.69|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001577|Mlle OBIN SEVERINE|13 PLACE DE LA HAYE| Appartement 95||GRANDE-SYNTHE||59760|0781675490||FR||CN|LADIES' SHOES|18.69|692||1|XWX219-013|LADIES' SHOES|18.69|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001530|M. NGAKEGNI YVON|LCM| 4 RUE AUGUSTE RENOIR|Appartement 616|GARGES LES GONESSE||95140|0622439187||FR||CN|LADIES' SHOES|0.1|1338||1|XWZ1107--007|LADIES' SHOES|0.01|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001530|M. NGAKEGNI YVON|LCM| 4 RUE AUGUSTE RENOIR|Appartement 616|GARGES LES GONESSE||95140|0622439187||FR||CN|LADIES' SHOES|0.1|1338||1|XWZ1107--012|LADIES' SHOES|0.01|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001530|M. NGAKEGNI YVON|LCM| 4 RUE AUGUSTE RENOIR|Appartement 616|GARGES LES GONESSE||95140|0622439187||FR||CN|LADIES' SHOES|0.1|1338||1|XWZ1107--026|LADIES' SHOES|0.01|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001530|M. NGAKEGNI YVON|LCM| 4 RUE AUGUSTE RENOIR|Appartement 616|GARGES LES GONESSE||95140|0622439187||FR||CN|LADIES' SHOES|0.1|1338||1|XWZ1107--027|LADIES' SHOES|0.01|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001530|M. NGAKEGNI YVON|LCM| 4 RUE AUGUSTE RENOIR|Appartement 616|GARGES LES GONESSE||95140|0622439187||FR||CN|LADIES' SHOES|0.1|1338||1|XWZ1107--013|LADIES' SHOES|0.01|||||EUR||||PPS|||DDU|||||女鞋|
//";
if (tb != null)
{
for (int i = 0; i < tb.Rows.Count; i++)
{
double totalprice = Convert.ToDouble(tb.Rows[i]["Price"].ToString());
if (totalprice > 22)
{
totalprice = 21.6;
}
string ename = tb.Rows[i]["GoodsEnglisgName"].ToString();
if (tb.Rows[i]["GoodsEnglisgName"].ToString().Length > 50)
ename = tb.Rows[i]["GoodsEnglisgName"].ToString().Substring(0, 50);
content += "5239429643|" + tb.Rows[i]["TrackCode"].ToString() + "|" + tb.Rows[i]["RevName"].ToString() + "|" + tb.Rows[i]["RevAddr"].ToString() + "|" + "|" + "|" + tb.Rows[i]["RevCity"].ToString() + "|" + tb.Rows[i]["RevProvince"].ToString() + "|" + tb.Rows[i]["RevPostCode"].ToString() + "|" + tb.Rows[i]["RevPhone"].ToString() + "|" + tb.Rows[i]["RevMail"].ToString() + "|" + tb.Rows[i]["CountryCode"].ToString() + "|" + tb.Rows[i]["CountryEN"].ToString() + "|CN|" + ename + "|" + totalprice + "|" + tb.Rows[i]["Weight"].ToString() + "||" + tb.Rows[i]["GoodsNum"].ToString() + "|" + tb.Rows[i]["SKU"].ToString() + "|" + ename + "|" + totalprice + "|||||" + tb.Rows[i]["MoneyCode"].ToString() + "||||PPS|||DDU|||||" + tb.Rows[i]["GoodsName"].ToString() + "|\r\n";
}
}
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.ExportTXT(content);
}
else if (PostId == 147) //德邮
{
DataTable tb = obj.GetPostDataOrderForTM(Ids.Trim(','), CompanyId, PostId, SDate.Value, EDate.Value);
string content = "";// @"5236887024|CNTMS000001512|Mlle DRESCHEL DELPHINE|30 RUE DU MARECHAL JOFFRE|||HOUDAIN||62150|0629221319||FR||CN|COAT|21.6|1254||1|WWD005-012|COAT|21.6|||||EUR||||PPS|||DDU|||||外套|
//5236887024|CNTMS000001531|Mlle JACQUES|JEAN SONIA| 1|3 Appartement 413 1 PLACE DE L EUROPE|EMERAINVILLE||77184|0695106239||FR||CN|COAT|21.6|1294||1|WWD005-014|COAT|21.6|||||EUR||||PPS|||DDU|||||外套|
//5236887024|CNTMS000001521|Mme VERREYDT SOPHIE|3 RUE MERMOZ|||FACHES THUMESNIL||59155|0665308306||FR||CN|COAT|21.6|1137||1|MWM555-006|COAT|21.6|||||EUR||||PPS|||DDU|||||外套|
//5236887024|CNTMS000001522|Mme KRZASTEL MICHELINE|25 RUE VICTOR SCHOELCHER| DOUAI||DOUAI||59500|0751691657||FR||CN|COAT|21.6|1327||1|WWD005-014|COAT|21.6|||||EUR||||PPS|||DDU|||||外套|
//5236887024|CNTMS000001552|Mlle NICOLAS SEVERINE|36 RUE FELICIE| 71A21||GENNEVILLIERS||92230|0658046024||FR||CN|LADIES' SHOES|21.6|1266||1|XWX219-009|LADIES' SHOES|10.8|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001552|Mlle NICOLAS SEVERINE|36 RUE FELICIE| 71A21||GENNEVILLIERS||92230|0658046024||FR||CN|LADIES' SHOES|21.6|1266||1|XWX219-017|LADIES' SHOES|10.8|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001569|Mme BUDIN SANDRINE|11 RUE CHINARD| Appartement 143||LYON||69009|0762999603||FR||CN|LADIES' SHOES|21.6|1266||1|XWX219-019|LADIES' SHOES|10.8|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001569|Mme BUDIN SANDRINE|11 RUE CHINARD| Appartement 143||LYON||69009|0762999603||FR||CN|LADIES' SHOES|21.6|1266||1|XWX219-021|LADIES' SHOES|10.8|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001568|Mme ABGRAL LAETITIA|CHEZ BOUILLAUD| CHEZ BOUILLAUD||STE COLOMBE||16230|0634633356||FR||CN|LADIES' SHOES|21.6|1329||1|XWX219-020|LADIES' SHOES|10.8|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001568|Mme ABGRAL LAETITIA|CHEZ BOUILLAUD| CHEZ BOUILLAUD||STE COLOMBE||16230|0634633356||FR||CN|LADIES' SHOES|21.6|1329||1|XWX219-012|LADIES' SHOES|10.8|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001581|Mme GUERIN AXELLE|10 ALLEE COLETTE| Appartement 1ERE ETAGE||LES MUREAUX||78130|0607441016||FR||CN|LADIES' SHOES|18.69|628||1|XWX219-021|LADIES' SHOES|18.69|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001577|Mlle OBIN SEVERINE|13 PLACE DE LA HAYE| Appartement 95||GRANDE-SYNTHE||59760|0781675490||FR||CN|LADIES' SHOES|18.69|692||1|XWX219-013|LADIES' SHOES|18.69|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001530|M. NGAKEGNI YVON|LCM| 4 RUE AUGUSTE RENOIR|Appartement 616|GARGES LES GONESSE||95140|0622439187||FR||CN|LADIES' SHOES|0.1|1338||1|XWZ1107--007|LADIES' SHOES|0.01|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001530|M. NGAKEGNI YVON|LCM| 4 RUE AUGUSTE RENOIR|Appartement 616|GARGES LES GONESSE||95140|0622439187||FR||CN|LADIES' SHOES|0.1|1338||1|XWZ1107--012|LADIES' SHOES|0.01|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001530|M. NGAKEGNI YVON|LCM| 4 RUE AUGUSTE RENOIR|Appartement 616|GARGES LES GONESSE||95140|0622439187||FR||CN|LADIES' SHOES|0.1|1338||1|XWZ1107--026|LADIES' SHOES|0.01|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001530|M. NGAKEGNI YVON|LCM| 4 RUE AUGUSTE RENOIR|Appartement 616|GARGES LES GONESSE||95140|0622439187||FR||CN|LADIES' SHOES|0.1|1338||1|XWZ1107--027|LADIES' SHOES|0.01|||||EUR||||PPS|||DDU|||||女鞋|
//5236887024|CNTMS000001530|M. NGAKEGNI YVON|LCM| 4 RUE AUGUSTE RENOIR|Appartement 616|GARGES LES GONESSE||95140|0622439187||FR||CN|LADIES' SHOES|0.1|1338||1|XWZ1107--013|LADIES' SHOES|0.01|||||EUR||||PPS|||DDU|||||女鞋|
//";
if (tb != null)
{
for (int i = 0; i < tb.Rows.Count; i++)
{
double totalprice = Convert.ToDouble(tb.Rows[i]["Price"].ToString());
if (totalprice > 22)
{
totalprice = 21.6;
}
string ename = tb.Rows[i]["GoodsEnglisgName"].ToString();
if (tb.Rows[i]["GoodsEnglisgName"].ToString().Length > 50)
ename = tb.Rows[i]["GoodsEnglisgName"].ToString().Substring(0, 50);
content += "5239429643|" + tb.Rows[i]["TrackCode"].ToString() + "|" + tb.Rows[i]["RevName"].ToString() + "|" + tb.Rows[i]["RevAddr"].ToString() + "|" + "|" + "|" + tb.Rows[i]["RevCity"].ToString() + "|" + tb.Rows[i]["RevProvince"].ToString() + "|" + tb.Rows[i]["RevPostCode"].ToString() + "|" + tb.Rows[i]["RevPhone"].ToString() + "|" + tb.Rows[i]["RevMail"].ToString() + "|" + tb.Rows[i]["CountryCode"].ToString() + "|" + tb.Rows[i]["CountryEN"].ToString() + "|CN|" + ename + "|" + totalprice + "|" + tb.Rows[i]["Weight"].ToString() + "||" + tb.Rows[i]["GoodsNum"].ToString() + "|" + tb.Rows[i]["SKU"].ToString() + "|" + ename + "|" + totalprice + "|||||" + tb.Rows[i]["MoneyCode"].ToString() + "||||PLT|||DDU|||||" + tb.Rows[i]["GoodsName"].ToString() + "|\r\n";
}
}
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.ExportTXT(content);
}
else
{
if (PostId == 127)
{
var templist = obj.GetPostExcelTempDetail(PostId);
if (templist != null && templist.Count > 0)
{
DataTable tb = obj.GetPostDataOrderForTM(Ids.Trim(','), CompanyId, PostId, SDate.Value, EDate.Value);
TableColumnCollection listColumns = new TableColumnCollection();
TableColumnCollection listColumns1 = new TableColumnCollection();
foreach (var tempmd in templist)
{
if (tempmd.ColValue == "IndexNo" && tb.Columns.Contains("IndexNo") == false)
{
tb.Columns.Add("IndexNo", typeof(string));
for (int i = 0; i < tb.Rows.Count; i++)
{
tb.Rows[i]["IndexNo"] = i + 1;
}
}
if (tempmd.PageNo == 1 && tempmd.ColValue != "0")
listColumns.Add(tempmd.ColValue, tempmd.ColName, DbType.String, "");
else
if (tempmd.PageNo == 1 && tempmd.ColValue == "0")
{
tb.Columns.Add(tempmd.Id.ToString(), typeof(string));
foreach (DataRow row in tb.Rows)
{
row[tempmd.Id.ToString()] = tempmd.ColData;
}
listColumns.Add(tempmd.Id.ToString(), tempmd.ColName, DbType.String, "");
}
else if (tempmd.PageNo == 2 && tempmd.ColValue != "0")
listColumns1.Add(tempmd.ColValue, tempmd.ColName, DbType.String, "");
else
if (tempmd.PageNo == 2 && tempmd.ColValue == "0")
{
tb.Columns.Add(tempmd.Id.ToString(), typeof(string));
foreach (DataRow row in tb.Rows)
{
row[tempmd.Id.ToString()] = tempmd.ColData;
}
listColumns1.Add(tempmd.Id.ToString(), tempmd.ColName, DbType.String, "");
}
}
MicrosoftExcel obj2 = new MicrosoftExcel();
if (listColumns1.Count == 0)
return obj2.Export(tb, listColumns);
else
return obj2.ExportTwo(tb, tb, listColumns, listColumns1);
}
else
{
return "找不到该渠道的导出模板";
}
}
else
{
var templist = obj.GetPostExcelTempDetail(PostId);
if (templist != null && templist.Count > 0)
{
DataTable tb = null;
if(PostId==4)
tb = obj.GetPostDataOrderForTM2(Ids.Trim(','), CompanyId, PostId, SDate.Value, EDate.Value);
else
tb = obj.GetPostDataOrderForTM(Ids.Trim(','), CompanyId, PostId, SDate.Value, EDate.Value);
TableColumnCollection listColumns = new TableColumnCollection();
TableColumnCollection listColumns1 = new TableColumnCollection();
foreach (var tempmd in templist)
{
if (tempmd.ColValue == "IndexNo" && tb.Columns.Contains("IndexNo") == false)
{
tb.Columns.Add("IndexNo", typeof(string));
for (int i = 0; i < tb.Rows.Count; i++)
{
tb.Rows[i]["IndexNo"] = i + 1;
}
}
if (tempmd.PageNo == 1 && tempmd.ColValue != "0")
listColumns.Add(tempmd.ColValue, tempmd.ColName, DbType.String, "");
else
if (tempmd.PageNo == 1 && tempmd.ColValue == "0")
{
tb.Columns.Add(tempmd.Id.ToString(), typeof(string));
foreach (DataRow row in tb.Rows)
{
row[tempmd.Id.ToString()] = tempmd.ColData;
}
listColumns.Add(tempmd.Id.ToString(), tempmd.ColName, DbType.String, "");
}
else if (tempmd.PageNo == 2 && tempmd.ColValue != "0")
listColumns1.Add(tempmd.ColValue, tempmd.ColName, DbType.String, "");
else
if (tempmd.PageNo == 2 && tempmd.ColValue == "0")
{
tb.Columns.Add(tempmd.Id.ToString(), typeof(string));
foreach (DataRow row in tb.Rows)
{
row[tempmd.Id.ToString()] = tempmd.ColData;
}
listColumns1.Add(tempmd.Id.ToString(), tempmd.ColName, DbType.String, "");
}
}
MicrosoftExcel obj2 = new MicrosoftExcel();
if (listColumns1.Count == 0)
return obj2.Export(tb, listColumns);
else
return obj2.ExportTwo(tb, tb, listColumns, listColumns1);
}
else
{
return "找不到该渠道的导出模板";
}
}
}
//else
//{
// if (PostId == 4) //上海小包
// {
// DataTable tb = obj.GetNJPostDataOrder(CompanyId, PostId, SDate.Value, EDate.Value);
// TableColumnCollection listColumns = new TableColumnCollection();
// listColumns.Add("TrackCode", "运单号", DbType.String, "");
// listColumns.Add("TotalWeight", "重量", DbType.String, "");
// listColumns.Add("RevName", "收件人", DbType.String, "");
// listColumns.Add("RevCity", "收件城市", DbType.String, "");
// listColumns.Add("CountryName", "收件国家", DbType.String, "");
// listColumns.Add("RevAddr", "收件地址", DbType.String, "");
// listColumns.Add("RevPostCode", "收件邮编", DbType.String, "");
// listColumns.Add("RevPhone", "收件电话", DbType.String, "");
// listColumns.Add("GoodsName", "物品描述", DbType.String, "");
// MicrosoftExcel obj2 = new MicrosoftExcel();
// return obj2.Export(tb, listColumns);
// }
// else
// if (PostId >= 2 && PostId < 4) //小包
// {
// DataSet tb = obj.GetPostDataOrderXB(CompanyId, PostId, SDate.Value, EDate.Value);
// TableColumnCollection listColumns = new TableColumnCollection();
// listColumns.Add("TrackCode", "条形码", DbType.String, "");
// listColumns.Add("CountryName", "寄达国家(中文)", DbType.String, "");
// listColumns.Add("RevCountry", "寄达国家(英文)", DbType.String, "");
// listColumns.Add("RevProvince", "州名", DbType.String, "");
// listColumns.Add("RevCity", "城市名", DbType.String, "");
// listColumns.Add("RevAddr", "收件人详细地址", DbType.String, "");
// listColumns.Add("RevName", "收件人姓名", DbType.String, "");
// listColumns.Add("RevPhone", "收件人电话", DbType.String, "");
// listColumns.Add("SendName", "寄件人姓名", DbType.String, "");
// listColumns.Add("Phone", "寄件人电话", DbType.String, "");
// listColumns.Add("EnglishAddress", "寄件人详细地址(英文)", DbType.String, "");
// listColumns.Add("GoodsType", "内件类型代码", DbType.String, "");
// listColumns.Add("RevPostCode", "邮编", DbType.String, "");
// TableColumnCollection listColumns1 = new TableColumnCollection();
// listColumns1.Add("TrackCode", "运单码", DbType.String, "");
// listColumns1.Add("GoodsName", "货物中文名称", DbType.String, "");
// listColumns1.Add("GoodsEnglisgName", "货物英文名称", DbType.String, "");
// listColumns1.Add("GoodsNum", "数量", DbType.String, "");
// listColumns1.Add("Weight", "单件重量", DbType.String, "");
// listColumns1.Add("Price", "单价", DbType.String, "");
// listColumns1.Add("CN", "原产地", DbType.String, "");
// MicrosoftExcel obj2 = new MicrosoftExcel();
// return obj2.ExportTwo(tb.Tables[0], tb.Tables[1], listColumns, listColumns1);
// }
// else if (PostId == 71 || PostId == 72) //南京小包
// {
// DataTable tb = obj.GetNJPostDataOrder(CompanyId, PostId, SDate.Value, EDate.Value);
// TableColumnCollection listColumns = new TableColumnCollection();
// listColumns.Add("postname", "快递类别", DbType.String, "");
// listColumns.Add("CompanyName", "客户名称", DbType.String, "");
// listColumns.Add("OrderCode", "内部单号", DbType.String, "");
// listColumns.Add("TrackCode", "转运号码", DbType.String, "");
// listColumns.Add("CountryName", "目的地", DbType.String, "");
// listColumns.Add("RevName", "收件人", DbType.String, "");
// listColumns.Add("RevCompany", "收件单位", DbType.String, "");
// listColumns.Add("RevAddr", "收件地址", DbType.String, "");
// listColumns.Add("RevPostCode", "收件邮编", DbType.String, "");
// listColumns.Add("RevCity", "收件城市", DbType.String, "");
// listColumns.Add("RevProvince", "收件州省", DbType.String, "");
// listColumns.Add("RevPhone", "收件电话", DbType.String, "");
// listColumns.Add("RevCountry", "收件国家", DbType.String, "");
// listColumns.Add("GoodsName", "物品描述", DbType.String, "");
// listColumns.Add("sl", "货物数量", DbType.String, "");
// listColumns.Add("price", "声明价值", DbType.String, "");
// listColumns.Add("bz", "备注", DbType.String, "");
// listColumns.Add("ckh", "参考号", DbType.String, "");
// listColumns.Add("PostDate", "批次", DbType.String, "yyyy/MM/dd HH:mm");
// listColumns.Add("bgh", "报关单号", DbType.String, "");
// listColumns.Add("TotalWeight", "重量", DbType.String, "");
// MicrosoftExcel obj2 = new MicrosoftExcel();
// return obj2.Export(tb, listColumns);
// }
// else if (PostId == 73) //杭州小包
// {
// DataSet tb = obj.GetPostDataOrderHZXB(CompanyId, PostId, SDate.Value, EDate.Value);
// TableColumnCollection listColumns = new TableColumnCollection();
// listColumns.Add("TrackCode", "运单号", DbType.String, "");
// listColumns.Add("CountryName", "寄达国家(中文)", DbType.String, "");
// listColumns.Add("RevCountry", "寄达国家(英文)", DbType.String, "");
// listColumns.Add("RevProvince", "州名", DbType.String, "");
// listColumns.Add("RevCity", "城市名", DbType.String, "");
// listColumns.Add("RevAddr", "收件人详细地址", DbType.String, "");
// listColumns.Add("RevName", "收件人姓名", DbType.String, "");
// listColumns.Add("RevPhone", "收件人电话", DbType.String, "");
// listColumns.Add("RevPostCode", "邮编", DbType.String, "");
// TableColumnCollection listColumns1 = new TableColumnCollection();
// listColumns1.Add("TrackCode", "运单码", DbType.String, "");
// listColumns1.Add("GoodsName", "货物中文名称", DbType.String, "");
// listColumns1.Add("GoodsEnglisgName", "货物英文名称", DbType.String, "");
// listColumns1.Add("GoodsNum", "数量", DbType.String, "");
// listColumns1.Add("Weight", "重量", DbType.String, "");
// listColumns1.Add("Price", "申报金额", DbType.String, "");
// listColumns1.Add("CN", "原产地", DbType.String, "");
// MicrosoftExcel obj2 = new MicrosoftExcel();
// return obj2.ExportTwo(tb.Tables[0], tb.Tables[1], listColumns, listColumns1);
// }
// else if (PostId == 74) //杭州平邮
// {
// DataTable tb = obj.GetHZPostDataOrder(CompanyId, PostId, SDate.Value, EDate.Value);
// if (tb != null)
// {
// for (int i = 0; i < tb.Rows.Count; i++)
// {
// tb.Rows[i]["IndexNo"] = i + 1;
// }
// }
// TableColumnCollection listColumns = new TableColumnCollection();
// listColumns.Add("IndexNo", "序号", DbType.String, "");
// listColumns.Add("TrackCode", "运单号", DbType.String, "");
// listColumns.Add("RevCountry", "国家(英文)", DbType.String, "");
// listColumns.Add("RevCity", "城市", DbType.String, "");
// listColumns.Add("postname", "运货方式", DbType.String, "");
// listColumns.Add("TrackCode", "运单码", DbType.String, "");
// listColumns.Add("CountryName", "国家(中文)", DbType.String, "");
// MicrosoftExcel obj2 = new MicrosoftExcel();
// return obj2.Export(tb, listColumns);
// }
// else
// {
// DataTable tb = obj.GetPostDataOrder(CompanyId, PostId, SDate.Value, EDate.Value);
// TableColumnCollection listColumns = new TableColumnCollection();
// listColumns.Add("TrackCode", "条形码", DbType.String, "");
// listColumns.Add("CountryName", "寄达国家(中文)", DbType.String, "");
// listColumns.Add("RevCountry", "寄达国家(英文)", DbType.String, "");
// listColumns.Add("RevProvince", "州名", DbType.String, "");
// listColumns.Add("RevCity", "城市名", DbType.String, "");
// listColumns.Add("RevAddr", "收件人详细地址", DbType.String, "");
// listColumns.Add("RevName", "收件人姓名", DbType.String, "");
// listColumns.Add("RevPhone", "收件人电话", DbType.String, "");
// listColumns.Add("EnglishAddress", "寄件人详细地址(英文)", DbType.String, "");
// listColumns.Add("SendName", "寄件人姓名", DbType.String, "");
// listColumns.Add("Phone", "寄件人电话", DbType.String, "");
// listColumns.Add("GoodsType", "内件类型代码", DbType.String, "");
// listColumns.Add("TotalWeight", "重量", DbType.String, "");
// listColumns.Add("RevPostCode", "邮编", DbType.String, "");
// listColumns.Add("GoodsName", "货物描述", DbType.String, "");
// MicrosoftExcel obj2 = new MicrosoftExcel();
// return obj2.Export(tb, listColumns);
// }
//}
return "";
}
#endregion
#region 导出剩余跟踪码
[WebMethod(EnableSession = true)]
public string ExcelLeftTrackCode(DateTime? SDate, DateTime? EDate, int PostId)
{
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
if (EDate == null)
EDate = DateTime.Now;
DataTable tb = obj.Get_TrackNoScanList(PostId, SDate.Value, EDate.Value);
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("TrackCode", "跟踪码", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(tb, listColumns);
}
#endregion
#region 导出剩余订单号
[WebMethod(EnableSession = true)]
public string ExcelLeftOrderCode(DateTime? SDate, DateTime? EDate, int PostId)
{
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
if (EDate == null)
EDate = DateTime.Now;
DataTable tb = obj.Get_TrackNoScanList(PostId, SDate.Value, EDate.Value);
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("OrderCode", "订单号", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(tb, listColumns);
}
#endregion
#region 导出确定订跟踪码
[WebMethod(EnableSession = true)]
public string ExcelYesTrackCode(DateTime? SDate, DateTime? EDate, int PostId)
{
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
if (EDate == null)
EDate = DateTime.Now;
DataTable tb = obj.Get_TrackYesScanList(PostId, SDate.Value, EDate.Value);
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("TrackCode", "跟踪码", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(tb, listColumns);
}
#endregion
#region 修改订单发货地址
[WebMethod(EnableSession = true)]
public void SaveOrderPostAddr(List<DT_Order> list, int AddrId)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
if (list != null)
{
var obj = new DD_OrderData();
foreach (var md in list)
{
obj.UpdateOrderAddr(md.OrderId.Value, AddrId);
}
}
}
#endregion
#region 读取速卖通物流
[WebMethod(EnableSession = true)]
public void GetAlibaba_Express()
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
AlibabaApi obj = new AlibabaApi();
var list = JC_ShopService.GetListShop(1);
var model = list[0];
obj.Appkey = model.Appkey;
obj.DeveKey = model.DeveKey;
obj.RefreshToken = model.RefreshToken;
obj.AccessToken = model.AccessToken;
obj.GroupName = model.ShopName;
obj.RefreshTokenSaveTime = model.RefreshTokenSaveTime;
obj.AccessTokenUpdateTime = model.AccessTokenUpdateTime;
string error = "";
List<Alibaba_Express> plist = new List<Alibaba_Express>();
plist = obj.GetListExpress(out error);
if (plist.Count > 0)
{
var obj1 = new BaseService();
foreach (var md in plist)
{
var emd = new JC_Express();
emd.Name = md.displayName;
emd.EName = md.serviceName;
emd.Remark = md.logisticsCompany;
obj1.SaveExpress(emd);
}
}
}
#endregion
#region 声明速卖通发货
[WebMethod(EnableSession = true)]
public string Alibaba_TrackBack(List<DT_TrackBack> list)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
AlibabaApi obj = new AlibabaApi();
BaseService obj1 = new BaseService();
DD_OrderData obj2 = new DD_OrderData();
string error = "";
if (list != null)
{
int shopid = 0;
JC_Shop shopmodel = null;
foreach (var md in list)
{
if (shopid != md.ShopId.Value)
shopmodel = JC_ShopService.GetModel(md.ShopId.Value);
shopid = md.ShopId.Value;
if (shopmodel == null)
continue;
obj.Appkey = shopmodel.Appkey;
obj.DeveKey = shopmodel.DeveKey;
obj.RefreshToken = shopmodel.RefreshToken;
obj.AccessToken = shopmodel.AccessToken;
obj.GroupName = shopmodel.ShopName;
obj.RefreshTokenSaveTime = shopmodel.RefreshTokenSaveTime;
obj.AccessTokenUpdateTime = shopmodel.AccessTokenUpdateTime;
string serviceName = "CMAP";
if (md.Post == null || md.Post == 0)//线上发货的除外
continue;
if (md.Post == 9)
{
serviceName = obj1.GetOnlineServiceName(md.OrderId.Value);
}
else
{
var emd = obj1.GetExpressModel(md.Post.Value, CompanyId);
if (emd != null && emd.Remark != null)
serviceName = emd.Remark;
}
if (md.TrackCode == null || md.TrackCode == "")
continue;
if (md.IsJoin == 1)//合并订单
{
var hblist = obj2.GetHBOrderList(md.OrderId.Value);
if (hblist != null)
{
for (int i = 0; i < hblist.Count; i++)
{
bool tstate = obj.SubmitTrack(hblist[i].PlatOrderCode, md.TrackCode, serviceName, "", out error);
//if (tstate == true)
//{
obj2.UpdateOrderTrack(md.OrderId.Value);
Pages.SaveLog(UserId, "速卖通声明发货", "订单号:" + md.PlatOrderCode + "跟踪码:" + md.TrackCode + "serviceName:" + serviceName + ";" + tstate.ToString(), md.OrderId.Value);
//}
}
}
}
else
{
bool tstate = obj.SubmitTrack(md.PlatOrderCode, md.TrackCode, serviceName, "", out error);
//if (tstate == true)
//{
obj2.UpdateOrderTrack(md.OrderId.Value);
Pages.SaveLog(UserId, "速卖通声明发货", "订单号:" + md.PlatOrderCode + "跟踪码:" + md.TrackCode + "serviceName:" + serviceName + ";" + tstate.ToString(), md.OrderId.Value);
//}
}
}
}
return error;
}
#endregion
#region 声明速卖通发货
[WebMethod(EnableSession = true)]
public string Alibaba_TrackBackForTM(List<DT_TrackBack> list)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
AlibabaApi obj = new AlibabaApi();
BaseService obj1 = new BaseService();
DD_OrderData obj2 = new DD_OrderData();
string errorinfo = "";
if (list != null)
{
int shopid = 0;
int PostId = 0;
JC_Shop shopmodel = null;
JC_Express emd = null;
foreach (var md in list)
{
if (shopid != md.ShopId.Value)
shopmodel = JC_ShopService.GetModel(md.ShopId.Value);
shopid = md.ShopId.Value;
if (shopmodel == null)
continue;
obj.Appkey = shopmodel.Appkey;
obj.DeveKey = shopmodel.DeveKey;
obj.RefreshToken = shopmodel.RefreshToken;
obj.AccessToken = shopmodel.AccessToken;
obj.GroupName = shopmodel.ShopName;
obj.RefreshTokenSaveTime = shopmodel.RefreshTokenSaveTime;
obj.AccessTokenUpdateTime = shopmodel.AccessTokenUpdateTime;
string serviceName = "CPAM";
if (md.Post == null || md.Post == 0)//线上发货的除外
continue;
if (PostId != md.Post.Value)
emd = obj1.GetExpressModel(md.Post.Value, CompanyId);
PostId = md.Post.Value;
if (emd != null && emd.Remark != null)
serviceName = emd.Remark;
if (md.TrackCode == null || md.TrackCode == "")
continue;
string TrackCode = "";
string OtherTrackCode = "";
if (md.TrackCode.Trim(',').Contains(','))
{
TrackCode = md.TrackCode.Trim(',').Split(',')[0];
OtherTrackCode = "The other trackno is " + md.TrackCode.Trim(',').Substring(TrackCode.Length + 1);
}
else
TrackCode = md.TrackCode.Trim(',');
string error = "";
if (md.IsJoin == 1)//合并订单
{
var hblist = obj2.GetHBOrderListForTM(md.OrderId.Value);
if (hblist != null)
{
for (int i = 0; i < hblist.Count; i++)
{
bool tstate = obj.SubmitTrackW(hblist[i].PlatOrderCode, TrackCode, serviceName, OtherTrackCode, emd.trackingWebsite, out error);
if (tstate == false)
errorinfo += hblist[i].PlatOrderCode + "失败" + error + ";";
//if (tstate == true)
//{
obj2.UpdateOrderTrackForTM(md.OrderId.Value);
Pages.SaveLog(UserId, "速卖通声明发货", "订单号:" + md.PlatOrderCode + "跟踪码:" + md.TrackCode + "serviceName:" + serviceName + ";" + tstate.ToString(), md.OrderId.Value);
//}
}
}
}
else
{
bool tstate = obj.SubmitTrackW(md.PlatOrderCode, TrackCode, serviceName, OtherTrackCode, emd.trackingWebsite, out error);
//if (tstate == true)
//{
obj2.UpdateOrderTrackForTM(md.OrderId.Value);
if (tstate == false)
errorinfo += md.PlatOrderCode + "失败" + error + ";";
Pages.SaveLog(UserId, "速卖通声明发货", "订单号:" + md.PlatOrderCode + "跟踪码:" + md.TrackCode + "serviceName:" + serviceName + ";" + tstate.ToString(), md.OrderId.Value);
//}
}
}
}
return errorinfo;
}
#endregion
#region 查询海外仓订单
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Order>> GetListOrderHWC(int StoreId, int MoneyState, int PostState, int PlatType, int ShopId, DateTime? SDate, DateTime? EDate, int TjType, string Name, int PageIndex, int PageSize)
{
Pages.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 (PlatType > 0)
Param.Add("a.PlatId", "=", PlatType, DbType.Int32);
if (ShopId > 0)
Param.Add("a.ShopId", "=", ShopId, DbType.Int32);
Param.Add("a.IsFba", "=", 1, DbType.Int32);
if (StoreId>0) //失败
{
Param.Add("b.StoreId", "=", StoreId, DbType.Int32);
}
if (SDate != null)
Param.Add("a.InDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.InDate", "<", EDate.Value.AddDays(1), DbType.DateTime);
Param.Add("a.State", "=", PostState, DbType.Int32);
if (MoneyState > -1)
Param.Add("a.MoneyState", "=", MoneyState, DbType.Int32);
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);
}
}
//Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel<List<DT_Order>> resultModel = new JsonModel<List<DT_Order>>();
int RowCount = 0;
string Sort = "orderid desc";
resultModel.DataSource = obj.GetListDT_OrderHWC(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 = obj.GetOrderGoodsList(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<DT_TrackCodeApply>();
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 + "<br/>";
}
else
trackinfo += md1.TrackCode + blank + "<br/>";
if (TrackCode == "")
TrackCode = md1.TrackCode;
}
md.TrackInfo = trackinfo;
md.TrackCode = TrackCode;
}
}
}
}
}
return resultModel;
}
#endregion
#region 声明ebay发货
[WebMethod(EnableSession = true)]
public void ebay_TrackBack(List<DT_TrackBack> list)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
EbayApi obj = new EbayApi();
BaseService obj1 = new BaseService();
DD_OrderData obj2 = new DD_OrderData();
if (list != null)
{
int shopid = 0;
JC_Shop shopmodel = null;
foreach (var md in list)
{
if (shopid != md.ShopId.Value)
shopmodel = JC_ShopService.GetModel(md.ShopId.Value);
shopid = md.ShopId.Value;
if (shopmodel == null)
continue;
obj.Appkey = shopmodel.Appkey;
obj.DeveKey = shopmodel.DeveKey;
obj.CertKey = shopmodel.RefreshToken;
string Token = shopmodel.AccessToken;
string serviceName = "China Post";
if (md.Post == null || md.Post == 0 || md.Post.Value == 9)//线上发货的除外
continue;
//if (ysfs == "China Post Air Mail")
// ysfs = "ChinaAirPost";
var emd = obj1.GetExpressModel(md.Post.Value, CompanyId);
if (emd != null && emd.Remark != null)
{
if (emd.Remark == "CPAM")
serviceName = "China Post";
else
if (emd.Remark == "BPost")
serviceName = "BPost";
}
string error = "";
if (md.TrackCode == null || md.TrackCode == "")
continue;
if (md.IsJoin == 1)//合并订单
{
var hblist = obj2.GetHBOrderList(md.OrderId.Value);
if (hblist != null)
{
for (int i = 0; i < hblist.Count; i++)
{
string tstate = obj.CompleteSale(Token, md.PlatOrderCode, serviceName, md.TrackCode, DateTime.Now);
//if (tstate == true)
//{
obj2.UpdateOrderTrack(md.OrderId.Value);
Pages.SaveLog(UserId, "eaby声明发货", "订单号:" + md.PlatOrderCode + "跟踪码:" + md.TrackCode + "serviceName:" + serviceName + ";" + tstate, md.OrderId.Value);
//}
}
}
}
else
{
string tstate = obj.CompleteSale(Token, md.PlatOrderCode, serviceName, md.TrackCode, DateTime.Now);
//if (tstate == true)
//{
obj2.UpdateOrderTrack(md.OrderId.Value);
Pages.SaveLog(UserId, "eaby声明发货", "订单号:" + md.PlatOrderCode + "跟踪码:" + md.TrackCode + "serviceName:" + serviceName + ";" + tstate.ToString(), md.OrderId.Value);
//}
}
}
}
}
#endregion
#region 声明ebay发货
[WebMethod(EnableSession = true)]
public string ebay_TrackBackForTM(List<DT_TrackBack> list)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
EbayApi obj = new EbayApi();
BaseService obj1 = new BaseService();
DD_OrderData obj2 = new DD_OrderData();
string error = "";
if (list != null)
{
int shopid = 0;
JC_Shop shopmodel = null;
foreach (var md in list)
{
if (shopid != md.ShopId.Value)
shopmodel = JC_ShopService.GetModel(md.ShopId.Value);
shopid = md.ShopId.Value;
if (shopmodel == null)
continue;
obj.Appkey = shopmodel.Appkey;
obj.DeveKey = shopmodel.DeveKey;
obj.CertKey = shopmodel.RefreshToken;
string Token = shopmodel.AccessToken;
string serviceName = "China Post";
if (md.Post == null || md.Post == 0 || md.Post.Value == 9)//线上发货的除外
continue;
string TrackCode = "";
//if (ysfs == "China Post Air Mail")
// ysfs = "ChinaAirPost";
if (md.TrackCode.Trim(',').Contains(','))
{
TrackCode = md.TrackCode.Trim(',').Split(',')[0];
//OtherTrackCode = "The other trackno is " + md.TrackCode.Trim(',').Substring(TrackCode.Length + 1);
}
else
TrackCode = md.TrackCode.Trim(',');
var emd = obj1.GetExpressModel(md.Post.Value, CompanyId);
if (emd != null && emd.Remark != null)
{
if (emd.Remark == "CPAM")
serviceName = "China Post";
else
if (emd.Remark == "BPost")
serviceName = "BPost";
}
if (md.TrackCode == null || md.TrackCode == "")
continue;
if (md.IsJoin == 1)//合并订单
{
var hblist = obj2.GetHBOrderListForTM(md.OrderId.Value);
if (hblist != null)
{
for (int i = 0; i < hblist.Count; i++)
{
string tstate = obj.CompleteSale(Token, hblist[i].OrderCode, serviceName, md.TrackCode, DateTime.Now);
if (tstate == "失败")
error += hblist[i].PlatOrderCode + "失败;";
//if (tstate == true)
//{
obj2.UpdateOrderTrackForTM(md.OrderId.Value);
Pages.SaveLog(UserId, "eaby声明发货", "订单号:" + md.PlatOrderCode + "跟踪码:" + md.TrackCode + "serviceName:" + serviceName + ";" + tstate, md.OrderId.Value);
//}
}
}
}
else
{
string tstate = obj.CompleteSale(Token, md.OrderCode, serviceName, md.TrackCode, DateTime.Now);
//if (tstate == true)
//{
if (tstate == "失败")
error += md.PlatOrderCode + "失败;";
obj2.UpdateOrderTrackForTM(md.OrderId.Value);
Pages.SaveLog(UserId, "eaby声明发货", "订单号:" + md.PlatOrderCode + "跟踪码:" + md.TrackCode + "serviceName:" + serviceName + ";" + tstate.ToString(), md.OrderId.Value);
//}
}
}
}
return error;
}
#endregion
#region 取消拆分订单物流
[WebMethod(EnableSession = true)]
public void CancelOrderSpare(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
obj.CancelOrderSpare(OrderId);
}
#endregion
#region 拆分订单物流
[WebMethod(EnableSession = true)]
public void SaveSpare(int OrderId, List<DT_OrderSpare> list1, List<DT_OrderSpareDetail> list2)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
DD_OrderData obj = new DD_OrderData();
if (list1 != null && list1.Count > 0)
obj.UpdateOrderSpare(OrderId, list1[0].TrackCode, list1[0].Post.Value);
if (list1 != null)
{
foreach (var md in list1)
{
if (md.OrderCode.Length > 21)
{
Random rn = new Random();
string Code = CompanyId.ToString() + DateTime.Now.ToString("MMddHHmm") + rn.Next(100, 999).ToString();
md.OrderCode = Code;
}
int Id = obj.SaveOrderSpare(md);
if (list2 != null)
{
foreach (var md2 in list2)
{
if (md2.BGIndex == md.BGIndex)
{
md2.SpareId = Id;
obj.SaveOrderSpareDetail(md2);
}
}
}
}
}
}
#endregion
#region 修改允许发货
[WebMethod(EnableSession = true)]
public void UpdatePostState(List<DT_Order> list)
{
Pages.Login(this.Session);
if (list != null)
{
var obj = new DD_OrderData();
foreach (var md in list)
{
obj.UpdatePostState(md.OrderId.Value);
}
}
}
#endregion
#region 修改允许发货
[WebMethod(EnableSession = true)]
public void UpdateHWC(List<DT_Order> list, int IsFBa)
{
Pages.Login(this.Session);
if (list != null)
{
var obj = new DD_OrderData();
foreach (var md in list)
{
obj.UpdateHWC(md.OrderId.Value,IsFBa);
}
}
}
#endregion
#region 修改发货状态
[WebMethod(EnableSession = true)]
public void UpdateSendState(List<DT_Order> list, int MateState)
{
Pages.Login(this.Session);
if (list != null)
{
var obj = new DD_OrderData();
foreach (var md in list)
{
obj.UpdateSendState(md.OrderId.Value, MateState);
}
}
}
#endregion
#region 结束部分发货订单状态
[WebMethod(EnableSession = true)]
public void UpdateSendDoneState(List<DT_Order> list)
{
Pages.Login(this.Session);
if (list != null)
{
var obj = new DD_OrderData();
foreach (var md in list)
{
obj.UpdateSendDoneState(md.OrderId.Value);
}
}
}
#endregion
#region 修改发货状态
[WebMethod(EnableSession = true)]
public void UpdateSendStateNew(List<DT_Order> list, int MateState)
{
Pages.Login(this.Session);
if (list != null)
{
var obj = new DD_OrderData();
foreach (var md in list)
{
obj.UpdateSendStateNew(md.OrderId.Value, MateState);
}
}
}
#endregion
#region 结束部分发货订单状态
[WebMethod(EnableSession = true)]
public void UpdateSendDoneStateNew(List<DT_Order> list)
{
Pages.Login(this.Session);
if (list != null)
{
var obj = new DD_OrderData();
foreach (var md in list)
{
obj.UpdateSendDoneStateNew(md.OrderId.Value);
}
}
}
#endregion
#region 导入新平台订单
[WebMethod(EnableSession = true)]
public string ImportNewOrder(string FileName, int ShopId)
{
Pages.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("SKU 信息") == false) { error = error + "导入模板的 SKU 信息 列不存在"; }
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("订单号") == false) { error = error + "导入模板的 订单号 列不存在"; }
if (tb.Columns.Contains("收货地址") == false) { error = error + "导入模板的 收货地址 列不存在"; }
if (tb.Columns.Contains("收件人") == false) { error = error + "导入模板的 收件人 列不存在"; }
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<DT_ExcelOrderInfo> OrderList =new List<DT_ExcelOrderInfo>();
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 OrderCode = tb.Rows[i]["订单号"].ToString().Trim();
if (OrderCode == "")
{
error += "第" + (i + 2).ToString() + " 行的订单号没填<br/>";
continue;
}
md.OrderCode = OrderCode;
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() + " 行的价格必须是数字<br/>";
continue;
}
}
int PayState = 1;
int OrderState = 2;
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() + " 行的收货人姓名没填<br/>";
continue;
}
md.RevAddr = tb.Rows[i]["收货地址"].ToString().Trim();
if (md.RevAddr == "")
{
error += "第" + (i + 2).ToString() + " 行的收货地址没填<br/>";
continue;
}
md.RevPostCode = "315000";
md.RevPhone = tb.Rows[i]["联系电话"].ToString().Trim();
md.CustomID ="";
md.RevMoblie ="";
md.LeaveWord = tb.Rows[i]["备注"].ToString().Trim();
md.TrackCode = "";
md.RevCountry = "CN";
md.MoneyCode = "CNY";
md.CompanyId = CompanyId;
md.InUserId = UserId;
List<DT_OrderExcelGoods> Glist = new List<DT_OrderExcelGoods>();
var GoodsModel = new DT_OrderExcelGoods();
if (tb.Rows[i]["数量"].ToString().Trim() == "")
{
error += "第" + (i + 2).ToString() + " 行的数量没填<br/>";
continue;
}
else
{
try
{
GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["数量"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的数量必须是数字<br/>";
continue;
}
}
GoodsModel.SKU = tb.Rows[i]["SKU 信息"].ToString().Trim();
if (GoodsModel.SKU == "")
{
error += "第" + (i + 2).ToString() + " 行的SKU 信息没填<br/>";
continue;
}
md.GoodsNum =GoodsModel.GoodsNum;
GoodsModel.GoodsName = tb.Rows[i]["商品名"].ToString().Trim();
if (GoodsModel.GoodsName.Trim() != "" && GoodsModel.GoodsName.Trim().LastIndexOf(" ")>0)
{
string GoodsCode = GoodsModel.GoodsName.Trim().Substring(GoodsModel.GoodsName.Trim().LastIndexOf(" "));
if (GoodsCode.Trim().Length == 6)
GoodsModel.GoodsCode = GoodsCode;
}
Glist.Add(GoodsModel);
md.GoodsList = Glist;
OrderList.Add(md);
}
if (error!= "")
{
return error;
}
else if (OrderList.Count>0)
{
foreach (var md in OrderList)
{
obj.ExcelOrderAdd2(md);
}
error = "数据导入成功【" + OrderList.Count.ToString() + "条】;" + error;
return error;
}
}
catch (Exception e)
{
return "文件导入失败!请确定模板格式是否正确,或者重新下载模板,填写数据,重新导入!!!" + e.Message;
}
return "导入成功";
}
#endregion
#region 导入新平台订单
[WebMethod(EnableSession = true)]
public string ImportNewOrder2(string FileName, int ShopId)
{
Pages.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("SKU 信息") == false) { error = error + "导入模板的 SKU 信息 列不存在"; }
//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("订单号") == false) { error = error + "导入模板的 订单号 列不存在"; }
//if (tb.Columns.Contains("收货地址") == false) { error = error + "导入模板的 收货地址 列不存在"; }
//if (tb.Columns.Contains("收件人") == false) { error = error + "导入模板的 收件人 列不存在"; }
//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<DT_ExcelOrderInfo> OrderList = new List<DT_ExcelOrderInfo>();
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]["purchase_order"].ToString().Trim();
if (PlatOrderCode == "")
{
error += "第" + (i + 2).ToString() + " 行的purchase_order没填<br/>";
continue;
}
md.PlatOrderCode = PlatOrderCode;
md.OrderCode = PlatOrderCode;
md.PlatId = PlatId;
md.ShopId = ShopId;
if (tb.Rows[i]["total_cost"].ToString().Trim() == "")
{
md.TotalPrice = 0;
}
else
{
try
{
md.TotalPrice = Convert.ToDecimal(tb.Rows[i]["total_cost"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的价格必须是数字<br/>";
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]["full_name"].ToString().Trim();
if (md.RevName == "")
{
error += "第" + (i + 2).ToString() + " 行的full_name没填<br/>";
continue;
}
md.OrderName = tb.Rows[i]["sales_order"].ToString().Trim();
md.RevAddr = tb.Rows[i]["address_1"].ToString().Trim() +" "+ tb.Rows[i]["address_2"].ToString().Trim();
if (md.RevAddr == "")
{
error += "第" + (i + 2).ToString() + " 行的address_1没填<br/>";
continue;
}
try
{
if (tb.Rows[i]["date"].ToString().Trim() != "")
md.OrderDate = Convert.ToDateTime(tb.Rows[i]["date"].ToString().Trim());
else
md.OrderDate = DateTime.Today;
}
catch(Exception ex)
{
md.OrderDate = DateTime.Today;
}
try
{
if (tb.Rows[i]["promise_date"].ToString().Trim() != "")
md.PayDate = Convert.ToDateTime(tb.Rows[i]["promise_date"].ToString().Trim());
else
md.PayDate = DateTime.Today;
}
catch (Exception ex)
{
md.PayDate = DateTime.Today;
}
md.RevPostCode = tb.Rows[i]["post_code"].ToString().Trim().Replace("'", "");
if (md.RevPostCode == "")
md.RevPostCode = "12345";
md.RevProvince = tb.Rows[i]["province"].ToString().Trim();
md.RevCity = tb.Rows[i]["city"].ToString().Trim();
if (md.RevProvince == null || md.RevProvince == "")
md.RevProvince = md.RevCity;
md.RevPhone = tb.Rows[i]["phone"].ToString().Trim().Replace("'", "").Replace("+", "").Replace("+", "").Replace("(", "").Replace(")", "").Replace(" ", "");
md.CustomID = "";
md.RevMoblie = "";
md.LeaveWord = tb.Rows[i]["customer_note"].ToString().Trim();
md.TrackCode = "";
md.RevCountry = tb.Rows[i]["country"].ToString().Trim();
if (md.RevCountry == "Hong Kong" || md.RevCountry == "HK" || md.RevCountry == "Ireland" || md.RevCountry == "IE")
md.RevPostCode = "";
md.MoneyCode = "USD";
md.CompanyId = CompanyId;
md.InUserId = UserId;
List<DT_OrderExcelGoods> Glist = new List<DT_OrderExcelGoods>();
var GoodsModel = new DT_OrderExcelGoods();
if (tb.Rows[i]["quantity"].ToString().Trim() == "")
{
error += "第" + (i + 2).ToString() + " 行的quantity没填<br/>";
continue;
}
else
{
try
{
GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["quantity"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的数量必须是数字<br/>";
continue;
}
}
GoodsModel.SKU = tb.Rows[i]["vendor_sku"].ToString().Trim();
if (GoodsModel.SKU == "")
{
error += "第" + (i + 2).ToString() + " 行的SKU 信息没填<br/>";
continue;
}
md.GoodsNum = GoodsModel.GoodsNum;
GoodsModel.GoodsName = tb.Rows[i]["item_name"].ToString().Trim();
GoodsModel.SKU =GoodsModel.SKU + GoodsModel.GoodsName;
try
{
if(tb.Rows[i]["cost"].ToString().Trim()!="")
GoodsModel.GoodsPrice =Convert.ToDecimal(tb.Rows[i]["cost"].ToString().Trim());
}
catch(Exception ex)
{
GoodsModel.GoodsPrice=md.TotalPrice;
}
Glist.Add(GoodsModel);
md.GoodsList = Glist;
OrderList.Add(md);
}
if (error != "")
{
return error;
}
else if (OrderList.Count > 0)
{
foreach (var md in OrderList)
{
obj.ExcelOrderAdd3(md);
}
obj.UpdateOrderGoodsNum();
error = "数据导入成功【" + OrderList.Count.ToString() + "条】;" + error;
return error;
}
}
catch (Exception e)
{
return "文件导入失败!请确定模板格式是否正确,或者重新下载模板,填写数据,重新导入!!!" + e.Message;
}
return "导入成功";
}
#endregion
#region 导入新平台订单
[WebMethod(EnableSession = true)]
public string ImportNewOrder7(string FileName, int ShopId)
{
Pages.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("SKU 信息") == false) { error = error + "导入模板的 SKU 信息 列不存在"; }
//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("订单号") == false) { error = error + "导入模板的 订单号 列不存在"; }
//if (tb.Columns.Contains("收货地址") == false) { error = error + "导入模板的 收货地址 列不存在"; }
//if (tb.Columns.Contains("收件人") == false) { error = error + "导入模板的 收件人 列不存在"; }
//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<DT_ExcelOrderInfo> OrderList = new List<DT_ExcelOrderInfo>();
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]["order number"].ToString().Trim();
if (PlatOrderCode == "")
{
// error += "第" + (i + 2).ToString() + " 行的order number没填<br/>";
continue;
}
md.PlatOrderCode = PlatOrderCode;
md.OrderCode = PlatOrderCode;
md.PlatId = PlatId;
md.ShopId = ShopId;
if (tb.Rows[i]["price"].ToString().Trim() == "")
{
md.TotalPrice = 0;
}
else
{
try
{
md.TotalPrice = Convert.ToDecimal(tb.Rows[i]["price"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的价格必须是数字<br/>";
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]["customer name"].ToString().Trim();
if (md.RevName == "")
{
error += "第" + (i + 2).ToString() + " 行的customer name没填<br/>";
continue;
}
//md.OrderName = tb.Rows[i]["sales_order"].ToString().Trim();
md.RevAddr = tb.Rows[i]["address_1"].ToString().Trim() + " " + tb.Rows[i]["address_2"].ToString().Trim();
if (md.RevAddr == "")
{
error += "第" + (i + 2).ToString() + " 行的address_1没填<br/>";
continue;
}
try
{
if (tb.Rows[i]["date"].ToString().Trim() != "")
md.OrderDate = Convert.ToDateTime(tb.Rows[i]["date"].ToString().Trim());
else
md.OrderDate = DateTime.Today;
}
catch (Exception ex)
{
md.OrderDate = DateTime.Today;
}
md.PayDate = DateTime.Today;
md.RevPostCode = tb.Rows[i]["zip"].ToString().Trim().Replace("'", "");
if (md.RevPostCode == "")
md.RevPostCode = "12345";
md.RevProvince = tb.Rows[i]["province"].ToString().Trim();
md.RevCity = tb.Rows[i]["city"].ToString().Trim();
if (md.RevProvince == null || md.RevProvince == "")
md.RevProvince = md.RevCity;
md.RevPhone = tb.Rows[i]["phone"].ToString().Trim().Replace("'", "").Replace("+", "").Replace("+", "").Replace("(", "").Replace(")", "").Replace(" ", "");
md.CustomID = "";
md.RevMoblie = "";
md.LeaveWord ="";
md.TrackCode = "";
md.RevCountry = tb.Rows[i]["country"].ToString().Trim();
md.MoneyCode = "USD";
md.CompanyId = CompanyId;
md.InUserId = UserId;
List<DT_OrderExcelGoods> Glist = new List<DT_OrderExcelGoods>();
var GoodsModel = new DT_OrderExcelGoods();
if (tb.Rows[i]["quantity"].ToString().Trim() == "")
{
error += "第" + (i + 2).ToString() + " 行的quantity没填<br/>";
continue;
}
else
{
try
{
GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["quantity"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的数量必须是数字<br/>";
continue;
}
}
GoodsModel.SKU = tb.Rows[i]["sku"].ToString().Trim();
if (GoodsModel.SKU == "")
{
error += "第" + (i + 2).ToString() + " 行的sku 信息没填<br/>";
continue;
}
md.GoodsNum = GoodsModel.GoodsNum;
GoodsModel.GoodsName = tb.Rows[i]["item name"].ToString().Trim();
GoodsModel.GoodsPrice = md.TotalPrice;
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)
{
foreach (var md in OrderList)
{
obj.ExcelOrderAdd5(md);
}
obj.UpdateOrderGoodsNum();
error = "数据导入成功【" + OrderList.Count.ToString() + "条】;" + error;
return error;
}
}
catch (Exception e)
{
return "文件导入失败!请确定模板格式是否正确,或者重新下载模板,填写数据,重新导入!!!" + e.Message;
}
return "导入成功";
}
#endregion
#region 导入新平台订单
[WebMethod(EnableSession = true)]
public string ImportNewOrder8(string FileName,int StoreId,int ShopId)
{
Pages.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"]);
string UserName = Convert.ToString(Session["Name"]);
try
{
MicrosoftExcel excel = new MicrosoftExcel();
DataTable tb = excel.ImportExcel(ServerFileName);
string error = "";
//if (tb.Columns.Contains("商品名") == false) { error = error + "导入模板的 商品名 列不存在"; }
//if (tb.Columns.Contains("SKU 信息") == false) { error = error + "导入模板的 SKU 信息 列不存在"; }
//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("订单号") == false) { error = error + "导入模板的 订单号 列不存在"; }
//if (tb.Columns.Contains("收货地址") == false) { error = error + "导入模板的 收货地址 列不存在"; }
//if (tb.Columns.Contains("收件人") == false) { error = error + "导入模板的 收件人 列不存在"; }
//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<DT_ExcelOrderInfo> OrderList = new List<DT_ExcelOrderInfo>();
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();
md.StoreId = StoreId;
string PlatOrderCode = tb.Rows[i]["order-id"].ToString().Trim();
if (PlatOrderCode == "")
{
// error += "第" + (i + 2).ToString() + " 行的order number没填<br/>";
continue;
}
md.PlatOrderCode = PlatOrderCode;
md.OrderCode = PlatOrderCode;
md.PlatId = PlatId;
md.ShopId = ShopId;
if (tb.Rows[i]["price"].ToString().Trim() == "")
{
md.TotalPrice = 0;
}
else
{
try
{
md.TotalPrice = Convert.ToDecimal(tb.Rows[i]["price"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的价格必须是数字<br/>";
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]["recipient-name"].ToString().Trim();
if (md.RevName == "")
{
error += "第" + (i + 2).ToString() + " 行的recipient-name没填<br/>";
continue;
}
//md.OrderName = tb.Rows[i]["sales_order"].ToString().Trim();
md.RevAddr = tb.Rows[i]["ship-address-1"].ToString().Trim() + " " + tb.Rows[i]["ship-address-2"].ToString().Trim();
if (md.RevAddr == "")
{
error += "第" + (i + 2).ToString() + " 行的ship-address-1没填<br/>";
continue;
}
try
{
if (tb.Rows[i]["date"].ToString().Trim() != "")
md.OrderDate = Convert.ToDateTime(tb.Rows[i]["date"].ToString().Trim());
else
md.OrderDate = DateTime.Today;
}
catch (Exception ex)
{
md.OrderDate = DateTime.Today;
}
md.PayDate = DateTime.Today;
md.RevPostCode = tb.Rows[i]["ship-postal-code"].ToString().Trim().Replace("'", "");
if (md.RevPostCode == "")
md.RevPostCode = "12345";
md.RevProvince = tb.Rows[i]["ship-state"].ToString().Trim();
md.RevCity = tb.Rows[i]["ship-city"].ToString().Trim();
if (md.RevProvince == null || md.RevProvince == "")
md.RevProvince = md.RevCity;
md.RevPhone = tb.Rows[i]["buyer-phone-number"].ToString().Trim().Replace("'", "").Replace("+", "").Replace("+", "").Replace("(", "").Replace(")", "").Replace(" ", "");
md.CustomID = "";
md.RevMoblie = "";
md.LeaveWord = "";
md.TrackCode = "";
md.RevCountry ="US";
md.MoneyCode = "USD";
md.CompanyId = CompanyId;
md.InUserId = UserId;
List<DT_OrderExcelGoods> Glist = new List<DT_OrderExcelGoods>();
var GoodsModel = new DT_OrderExcelGoods();
if (tb.Rows[i]["quantity-purchased"].ToString().Trim() == "")
{
// error += "第" + (i + 2).ToString() + " 行的quantity没填<br/>";
// continue;
GoodsModel.GoodsNum = 1;
}
else
{
try
{
GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["quantity-purchased"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的数量必须是数字<br/>";
continue;
}
}
GoodsModel.SKU = tb.Rows[i]["sku"].ToString().Trim();
if (GoodsModel.SKU == "")
{
error += "第" + (i + 2).ToString() + " 行的sku 信息没填<br/>";
continue;
}
md.GoodsNum = GoodsModel.GoodsNum;
GoodsModel.GoodsName = GoodsModel.SKU;
GoodsModel.GoodsPrice = md.TotalPrice;
Glist.Add(GoodsModel);
md.OrderName = "";
md.PostFee = 0;
md.RevMail = "";
md.RevFax = "";
md.RevArea = "";
md.PostInfo = "";
md.GoodsList = Glist;
if (tb.Columns.Contains("trackCode") && tb.Columns.Contains("postFee"))
{
md.TrackCode = tb.Rows[i]["trackCode"].ToString().Trim();
md.PostFee = string.IsNullOrEmpty(tb.Rows[i]["postFee"].ToString()) ? 0 : Convert.ToDecimal(tb.Rows[i]["postFee"].ToString().Trim());
}
OrderList.Add(md);
}
if (error != "")
{
return error;
}
else if (OrderList.Count > 0)
{
foreach (var md in OrderList)
{
var orderid = obj.ExcelOrderAdd5(md);
if (orderid > 0)
{
//如果填写了跟踪码和运费,导入时把信息完善
if (!string.IsNullOrEmpty(md.TrackCode) && md.PostFee.HasValue && md.PostFee.Value > 0)
{
if (md.GoodsList != null && md.GoodsList.Count > 0)
{
if (obj.IsOrderTrackCode(orderid) > 0)
{
DataNew.DeleteTrackCodeApply(orderid);
}
var _TWeight = 0m; var _TLong = 0m; var _TWidth = 0m; var _THeight = 0m; var skus = "";
foreach (var gd in md.GoodsList)
{
var goodInfo = DataNew.GetGoodsInfoDetailBySku(gd.SKU);
if (goodInfo != null)
{
if (goodInfo.Long.HasValue && _TLong < goodInfo.Long)
_TLong = goodInfo.Long.Value;
if (goodInfo.Width.HasValue && _TWidth < goodInfo.Width)
_TWidth = goodInfo.Width.Value;
if (goodInfo.Height.HasValue)
_THeight = _THeight + (goodInfo.Height.Value * gd.GoodsNum.Value);
_TWeight = _TWeight + (goodInfo.Weight.Value * gd.GoodsNum.Value);
}
skus += gd.GoodsNum.ToString() + "x" + gd.SKU + "+";
}
DT_TrackCodeApplyNew Model = new DT_TrackCodeApplyNew();
Model.InName = UserName;
Model.TrackType = 2;
Model.OrderId = orderid;
Model.IsSpare = 0;
Model.TrackCode = md.TrackCode.Trim();
Model.PostId = 245;//客户自提
Model.State = 1;
Model.GetDate = DateTime.Now;
Model.OrderCode = md.OrderCode;
Model.SKU = string.IsNullOrEmpty(skus) ? "" : skus.TrimEnd('+');
Model.Weight = _TWeight.ToString("0.00");
Model.Weight2 = _TWeight.ToString("0.00");
Model.Long = Math.Ceiling(_TLong).ToString("0.00");
Model.Width = Math.Ceiling(_TWidth).ToString("0.00");
Model.Height = Math.Ceiling(_THeight).ToString("0.00");
DataNew.SaveTrackCodeApply(Model);
}
DataNew.Save_OrderLTLFee(orderid, md.PostFee.Value);
}
}
}
obj.UpdateOrderGoodsNum();
error = "数据导入成功【" + OrderList.Count.ToString() + "条】;" + error;
return error;
}
}
catch (Exception e)
{
return "文件导入失败!请确定模板格式是否正确,或者重新下载模板,填写数据,重新导入!!!" + e.Message;
}
return "导入成功";
}
#endregion
#region 导入新平台订单
[WebMethod(EnableSession = true)]
public string ImportNewOrderHWC(string FileName, int ShopId)
{
Pages.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<DT_ExcelOrderInfo> OrderList = new List<DT_ExcelOrderInfo>();
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没填<br/>";
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() + " 行的价格必须是数字<br/>";
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() + " 行的收件人没填<br/>";
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没填<br/>";
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<DT_OrderExcelGoods> Glist = new List<DT_OrderExcelGoods>();
var GoodsModel = new DT_OrderExcelGoods();
if (tb.Rows[i]["数量"].ToString().Trim() == "")
{
// error += "第" + (i + 2).ToString() + " 行的quantity没填<br/>";
// continue;
GoodsModel.GoodsNum = 1;
}
else
{
try
{
GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["数量"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的数量必须是数字<br/>";
continue;
}
}
GoodsModel.SKU = tb.Rows[i]["sku"].ToString().Trim();
if (GoodsModel.SKU == "")
{
error += "第" + (i + 2).ToString() + " 行的sku 信息没填<br/>";
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;
}
}
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)
{
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 PartOrderGoodsLockForHWC(int CompanyId,int IsError, int StoreId, string OrderIds, string JoinOrderCodes)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int Num = 0;
int UserId = Convert.ToInt32(Session["UserId"]);
try
{
string Sort = "a.OrderLevel desc,a.OrderDate";
var orderlist = obj.GetLockPartOrderListForTM2(CompanyId, OrderIds.Trim(','), JoinOrderCodes.Trim(','), IsError, StoreId, Sort);
var list = obj.GetLockPartOrderGoodsForTM2(CompanyId, OrderIds.Trim(','), JoinOrderCodes.Trim(','), StoreId, IsError);
var nfplist = obj.GetNoFPOrderList2(CompanyId);
if (orderlist != null && list != null)
{
var hwlist = new List<HW_GoodsInDetail>(); //货物占用
var hwlist2 = new List<HW_GoodsInDetail>();
var hwnolist = new List<HW_GoodsOutDetail>(); //不够的货物
List<DT_OrderGoods> JoinOrderList = new List<DT_OrderGoods>();
foreach (var ordermd in orderlist)
{
string JoinOrderCode = "";
if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "")
JoinOrderCode = ordermd.JoinOrderCode;
List<DT_OrderGoods> listGoods = new List<DT_OrderGoods>();
List<HW_GoodsInDetail> OutList = new List<HW_GoodsInDetail>();
var Goodslist = new List<DT_OrderGoods>();
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 = obj.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;
//}
}
obj.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 导入新平台订单3
[WebMethod(EnableSession = true)]
public string ImportNewOrder3(string FileName, int ShopId)
{
Pages.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("SKU 信息") == false) { error = error + "导入模板的 SKU 信息 列不存在"; }
//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("订单号") == false) { error = error + "导入模板的 订单号 列不存在"; }
//if (tb.Columns.Contains("收货地址") == false) { error = error + "导入模板的 收货地址 列不存在"; }
//if (tb.Columns.Contains("收件人") == false) { error = error + "导入模板的 收件人 列不存在"; }
//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<DT_ExcelOrderInfo> OrderList = new List<DT_ExcelOrderInfo>();
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]["Name"].ToString().Trim();
string OrderName = PlatOrderCode;
if (PlatOrderCode == "")
{
error += "第" + (i + 2).ToString() + " 行的Name没填<br/>";
continue;
}
if (PlatOrderCode.StartsWith("#") == true)
PlatOrderCode = PlatOrderCode.Substring(1);
md.PlatOrderCode = PlatOrderCode;
md.OrderCode = PlatOrderCode;
md.PlatId = PlatId;
md.ShopId = ShopId;
md.TotalPrice = 0;
//if (tb.Rows[i]["total_cost"].ToString().Trim() == "")
//{
// md.TotalPrice = 0;
//}
//else
//{
// try
// {
// md.TotalPrice = Convert.ToDecimal(tb.Rows[i]["total_cost"].ToString().Trim());
// }
// catch (Exception ex)
// {
// error += "第" + (i + 2).ToString() + " 行的价格必须是数字<br/>";
// 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]["Shipping Name"].ToString().Trim();
if (md.RevName == "")
{
error += "第" + (i + 2).ToString() + " 行的Shipping Name没填<br/>";
continue;
}
md.OrderName = OrderName;
md.RevAddr = tb.Rows[i]["Shipping Street"].ToString().Trim() + " " + tb.Rows[i]["Shipping Address2"].ToString().Trim();
if (md.RevAddr == "")
{
error += "第" + (i + 2).ToString() + " 行的Shipping Street没填<br/>";
continue;
}
md.OrderDate = DateTime.Today;
md.PayDate = DateTime.Today;
md.RevPostCode = tb.Rows[i]["Shipping Zip"].ToString().Trim().Replace("'", "");
if (md.RevPostCode == "")
md.RevPostCode = "12345";
if (md.RevCountry == "Hong Kong" || md.RevCountry == "HK" || md.RevCountry == "Ireland" || md.RevCountry == "IE")
md.RevPostCode = "";
md.RevProvince = tb.Rows[i]["Shipping Province"].ToString().Trim();
md.RevCity = tb.Rows[i]["Shipping City"].ToString().Trim();
if (md.RevProvince == null || md.RevProvince == "")
md.RevProvince = md.RevCity;
md.RevPhone = tb.Rows[i]["Shipping Phone"].ToString().Trim().Replace("'", "").Replace("+", "").Replace("+", "").Replace("(", "").Replace(")", "").Replace(" ", "");
md.CustomID = "";
md.RevMoblie = md.RevPhone;
md.LeaveWord = "";
md.TrackCode = "";
md.RevCountry = tb.Rows[i]["Shipping Country"].ToString().Trim();
md.MoneyCode = "USD";
md.CompanyId = CompanyId;
md.InUserId = UserId;
List<DT_OrderExcelGoods> Glist = new List<DT_OrderExcelGoods>();
var GoodsModel = new DT_OrderExcelGoods();
if (tb.Rows[i]["item quantity"].ToString().Trim() == "")
{
error += "第" + (i + 2).ToString() + " 行的quantity没填<br/>";
continue;
}
else
{
try
{
GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["item quantity"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的数量必须是数字<br/>";
continue;
}
}
GoodsModel.SKU = tb.Rows[i]["SKU"].ToString().Trim();
if (GoodsModel.SKU == "")
{
error += "第" + (i + 2).ToString() + " 行的SKU 信息没填<br/>";
continue;
}
md.GoodsNum = GoodsModel.GoodsNum;
GoodsModel.GoodsName = tb.Rows[i]["item name"].ToString().Trim();
GoodsModel.SKU = GoodsModel.SKU + GoodsModel.GoodsName;
GoodsModel.GoodsPrice = 0;
Glist.Add(GoodsModel);
md.GoodsList = Glist;
OrderList.Add(md);
}
if (error != "")
{
return error;
}
else if (OrderList.Count > 0)
{
foreach (var md in OrderList)
{
obj.ExcelOrderAdd4(md);
}
obj.UpdateOrderGoodsNum();
error = "数据导入成功【" + OrderList.Count.ToString() + "条】;" + error;
return error;
}
}
catch (Exception e)
{
return "文件导入失败!请确定模板格式是否正确,或者重新下载模板,填写数据,重新导入!!!" + e.Message;
}
return "导入成功";
}
#endregion
#region 导入新平台订单4
[WebMethod(EnableSession = true)]
public string ImportNewOrder4(string FileName, int ShopId)
{
Pages.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.GetdataFromCVS2(ServerFileName);
string error = "";
if (tb.Columns.Contains("purchase_order") == false) { error = error + "导入模板的 purchase_order 列不存在"; }
if (tb.Columns.Contains("date") == false) { error = error + "导入模板的 date 列不存在"; }
if (string.IsNullOrEmpty(error) == false) return error + ";请导入格式不正确";
DD_OrderData obj = new DD_OrderData();
int UserId = Convert.ToInt32(Session["UserId"]);
List<DT_ExcelOrderInfo> OrderList = new List<DT_ExcelOrderInfo>();
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]["purchase_order"].ToString().Trim();
string OrderName = PlatOrderCode;
if (PlatOrderCode == "")
{
error += "第" + (i + 2).ToString() + " 行的purchase_order没填<br/>";
continue;
}
md.PlatOrderCode = PlatOrderCode;
md.OrderCode = PlatOrderCode;
md.PlatId = PlatId;
md.ShopId = ShopId;
//if (tb.Rows[i]["total_cost"].ToString().Trim() == "")
//{
// md.TotalPrice = 0;
//}
//else
//{
// try
// {
// md.TotalPrice = Convert.ToDecimal(tb.Rows[i]["total_cost"].ToString().Trim());
// }
// catch (Exception ex)
// {
// error += "第" + (i + 2).ToString() + " 行的价格必须是数字<br/>";
// continue;
// }
//}
int PayState = 1;
int OrderState = 1;
md.OrderDate = DateTime.Now;
md.PayDate = DateTime.Now;
md.PayState = PayState;
md.OrderState = OrderState;
try
{
if (tb.Rows[i]["date"].ToString().Trim() != "")
md.OrderDate = Convert.ToDateTime(tb.Rows[i]["date"].ToString().Trim());
else
md.OrderDate = DateTime.Today;
}
catch (Exception ex)
{
md.OrderDate = DateTime.Today;
}
md.OrderName = tb.Rows[i]["sales_order"].ToString().Trim(); ;
md.RevName = tb.Rows[i]["full_name"].ToString().Trim();
if (md.RevName == "")
{
error += "第" + (i + 2).ToString() + " 行的full_name没填<br/>";
continue;
}
md.RevAddr = tb.Rows[i]["address_1"].ToString().Trim().Replace("\"", "") + " " + tb.Rows[i]["address_2"].ToString().Trim().Replace("\"", "");
if (md.RevAddr == "")
{
error += "第" + (i + 2).ToString() + " 行的address_1没填<br/>";
continue;
}
md.OrderDate = DateTime.Today;
md.PayDate = DateTime.Today;
if (tb.Rows[i]["cost"].ToString().Trim() == "")
{
md.TotalPrice = 0;
}
else
{
try
{
md.TotalPrice = Convert.ToDecimal(tb.Rows[i]["cost"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的价格必须是数字<br/>";
continue;
}
}
md.RevCountry = tb.Rows[i]["country"].ToString().Trim().Replace("\"", "");
md.RevPostCode = tb.Rows[i]["post_code"].ToString().Trim().Replace("'", "");
if (md.RevPostCode == "")
md.RevPostCode = "12345";
if (md.RevCountry == "Hong Kong" || md.RevCountry == "HK" || md.RevCountry == "Ireland" || md.RevCountry == "IE")
md.RevPostCode = "";
md.RevProvince = tb.Rows[i]["province"].ToString().Trim().Replace("\"", "");
md.RevCity = tb.Rows[i]["city"].ToString().Trim().Replace("\"", "");
if (md.RevProvince == null || md.RevProvince == "")
md.RevProvince = md.RevCity;
md.RevPhone = tb.Rows[i]["phone"].ToString().Trim().Replace("'", "").Replace("+", "").Replace("+", "").Replace("(", "").Replace(")", "").Replace(" ", "").Replace("\"", "");
md.CustomID = "";
md.RevMoblie = md.RevPhone;
md.LeaveWord = "";
md.TrackCode = "";
md.MoneyCode = "USD";
md.CompanyId = CompanyId;
md.InUserId = UserId;
List<DT_OrderExcelGoods> Glist = new List<DT_OrderExcelGoods>();
var GoodsModel = new DT_OrderExcelGoods();
if (tb.Rows[i]["quantity"].ToString().Trim() == "")
{
error += "第" + (i + 2).ToString() + " 行的quantity没填<br/>";
continue;
}
else
{
try
{
GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["quantity"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的数量必须是数字<br/>";
continue;
}
}
GoodsModel.SKU = tb.Rows[i]["vendor_sku"].ToString().Trim();
if (GoodsModel.SKU == "")
{
error += "第" + (i + 2).ToString() + " 行的vendor_sku 信息没填<br/>";
continue;
}
md.GoodsNum = GoodsModel.GoodsNum;
GoodsModel.GoodsName = tb.Rows[i]["item_name"].ToString().Trim();
GoodsModel.SKU = GoodsModel.SKU + GoodsModel.GoodsName;
GoodsModel.GoodsPrice = md.TotalPrice;
Glist.Add(GoodsModel);
md.GoodsList = Glist;
OrderList.Add(md);
}
if (error != "")
{
return error;
}
else if (OrderList.Count > 0)
{
foreach (var md in OrderList)
{
obj.ExcelOrderAdd4(md);
}
obj.UpdateOrderGoodsNum();
error = "数据导入成功【" + OrderList.Count.ToString() + "条】;" + error;
return error;
}
}
catch (Exception e)
{
return "文件导入失败!请确定模板格式是否正确,或者重新下载模板,填写数据,重新导入!!!" + e.Message;
}
return "导入成功";
}
#endregion
#region 导入新平台订单5
[WebMethod(EnableSession = true)]
public string ImportNewOrder5(string FileName, int ShopId)
{
Pages.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.GetdataFromCVS2(ServerFileName);
string error = "";
if (tb.Columns.Contains("Order Id") == false) { error = error + "导入模板的 Order Id 列不存在"; }
if (tb.Columns.Contains("Transaction Date") == false) { error = error + "导入模板的 Transaction Date 列不存在"; }
if (string.IsNullOrEmpty(error) == false) return error + ";请导入格式不正确";
DD_OrderData obj = new DD_OrderData();
int UserId = Convert.ToInt32(Session["UserId"]);
List<DT_ExcelOrderInfo> OrderList = new List<DT_ExcelOrderInfo>();
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]["Order Id"].ToString().Trim();
string OrderName = PlatOrderCode;
if (PlatOrderCode == "")
{
error += "第" + (i + 2).ToString() + " 行的Order Id没填<br/>";
continue;
}
md.PlatOrderCode = PlatOrderCode;
md.OrderCode = PlatOrderCode;
md.PlatId = PlatId;
md.ShopId = ShopId;
//if (tb.Rows[i]["total_cost"].ToString().Trim() == "")
//{
// md.TotalPrice = 0;
//}
//else
//{
// try
// {
// md.TotalPrice = Convert.ToDecimal(tb.Rows[i]["total_cost"].ToString().Trim());
// }
// catch (Exception ex)
// {
// error += "第" + (i + 2).ToString() + " 行的价格必须是数字<br/>";
// continue;
// }
//}
int PayState = 1;
int OrderState = 1;
md.OrderDate = DateTime.Now;
md.PayDate = DateTime.Now;
md.PayState = PayState;
md.OrderState = OrderState;
try
{
if (tb.Rows[i]["Transaction Date"].ToString().Trim() != "")
md.OrderDate = Convert.ToDateTime(tb.Rows[i]["Transaction Date"].ToString().Trim());
else
md.OrderDate = DateTime.Today;
}
catch (Exception ex)
{
md.OrderDate = DateTime.Today;
}
md.OrderName = tb.Rows[i]["Transaction ID"].ToString().Trim(); ;
md.RevName = tb.Rows[i]["Name"].ToString().Trim();
if (md.RevName == "")
{
error += "第" + (i + 2).ToString() + " 行的Name没填<br/>";
continue;
}
md.RevAddr = tb.Rows[i]["Street Address 1"].ToString().Trim().Replace("\"", "") + " " + tb.Rows[i]["Street Address 2"].ToString().Trim().Replace("\"", "");
if (md.RevAddr == "")
{
error += "第" + (i + 2).ToString() + " 行的Street Address 1没填<br/>";
continue;
}
md.OrderDate = DateTime.Today;
md.PayDate = DateTime.Today;
if (tb.Rows[i]["Total Price"].ToString().Trim() == "")
{
md.TotalPrice = 0;
}
else
{
try
{
md.TotalPrice = Convert.ToDecimal(tb.Rows[i]["Total Price"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的价格必须是数字<br/>";
continue;
}
}
md.RevCountry = tb.Rows[i]["Country"].ToString().Trim().Replace("\"", "");
md.RevPostCode = tb.Rows[i]["Zipcode"].ToString().Trim().Replace("'", "");
if (md.RevPostCode == "")
md.RevPostCode = "12345";
if (md.RevCountry == "Hong Kong" || md.RevCountry == "HK" || md.RevCountry == "Ireland" || md.RevCountry == "IE")
md.RevPostCode = "";
md.RevProvince = tb.Rows[i]["State"].ToString().Trim().Replace("\"", "");
md.RevCity = tb.Rows[i]["City"].ToString().Trim().Replace("\"", "");
if (md.RevProvince == null || md.RevProvince == "")
md.RevProvince = md.RevCity;
md.RevPhone = tb.Rows[i]["Phone Number"].ToString().Trim().Replace("'", "").Replace("+", "").Replace("+", "").Replace("(", "").Replace(")", "").Replace(" ", "").Replace("\"", "");
md.CustomID = "";
md.RevMoblie = md.RevPhone;
md.LeaveWord = "";
md.TrackCode = "";
md.MoneyCode = "USD";
md.CompanyId = CompanyId;
md.InUserId = UserId;
List<DT_OrderExcelGoods> Glist = new List<DT_OrderExcelGoods>();
var GoodsModel = new DT_OrderExcelGoods();
if (tb.Rows[i]["Quantity"].ToString().Trim() == "")
{
error += "第" + (i + 2).ToString() + " 行的Quantity没填<br/>";
continue;
}
else
{
try
{
GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["Quantity"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的数量必须是数字<br/>";
continue;
}
}
GoodsModel.SKU = tb.Rows[i]["SKU"].ToString().Trim();
if (GoodsModel.SKU == "")
{
error += "第" + (i + 2).ToString() + " 行的SKU 信息没填<br/>";
continue;
}
md.GoodsNum = GoodsModel.GoodsNum;
GoodsModel.GoodsName = tb.Rows[i]["Product"].ToString().Trim()+ tb.Rows[i]["Variation"].ToString().Trim();
GoodsModel.GoodsPrice = md.TotalPrice;
Glist.Add(GoodsModel);
md.GoodsList = Glist;
OrderList.Add(md);
}
if (error != "")
{
return error;
}
else if (OrderList.Count > 0)
{
foreach (var md in OrderList)
{
obj.ExcelOrderAdd5(md);
}
obj.UpdateOrderGoodsNum();
error = "数据导入成功【" + OrderList.Count.ToString() + "条】;" + error;
return error;
}
}
catch (Exception e)
{
return "文件导入失败!请确定模板格式是否正确,或者重新下载模板,填写数据,重新导入!!!" + e.Message;
}
return "导入成功";
}
#endregion
#region 导入新平台订单6
[WebMethod(EnableSession = true)]
public string ImportNewOrder6(string FileName, int ShopId)
{
Pages.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("Order Id") == false) { error = error + "导入模板的 Order Id 列不存在"; }
if (tb.Columns.Contains("Transaction Date") == false) { error = error + "导入模板的 Transaction Date 列不存在"; }
if (string.IsNullOrEmpty(error) == false) return error + ";请导入格式不正确";
DD_OrderData obj = new DD_OrderData();
int UserId = Convert.ToInt32(Session["UserId"]);
List<DT_ExcelOrderInfo> OrderList = new List<DT_ExcelOrderInfo>();
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]["Order Id"].ToString().Trim();
string OrderName = PlatOrderCode;
if (PlatOrderCode == "")
{
error += "第" + (i + 2).ToString() + " 行的Order Id没填<br/>";
continue;
}
md.PlatOrderCode = PlatOrderCode;
md.OrderCode = PlatOrderCode;
md.PlatId = PlatId;
md.ShopId = ShopId;
//if (tb.Rows[i]["total_cost"].ToString().Trim() == "")
//{
// md.TotalPrice = 0;
//}
//else
//{
// try
// {
// md.TotalPrice = Convert.ToDecimal(tb.Rows[i]["total_cost"].ToString().Trim());
// }
// catch (Exception ex)
// {
// error += "第" + (i + 2).ToString() + " 行的价格必须是数字<br/>";
// continue;
// }
//}
int PayState = 1;
int OrderState = 1;
md.OrderDate = DateTime.Now;
md.PayDate = DateTime.Now;
md.PayState = PayState;
md.OrderState = OrderState;
try
{
if (tb.Rows[i]["Transaction Date"].ToString().Trim() != "")
md.OrderDate = Convert.ToDateTime(tb.Rows[i]["Transaction Date"].ToString().Trim());
else
md.OrderDate = DateTime.Today;
}
catch (Exception ex)
{
md.OrderDate = DateTime.Today;
}
md.OrderName = tb.Rows[i]["Transaction ID"].ToString().Trim(); ;
md.RevName = tb.Rows[i]["Name"].ToString().Trim();
if (md.RevName == "")
{
error += "第" + (i + 2).ToString() + " 行的Name没填<br/>";
continue;
}
md.RevAddr = tb.Rows[i]["Street Address 1"].ToString().Trim().Replace("\"", "") + " " + tb.Rows[i]["Street Address 2"].ToString().Trim().Replace("\"", "");
if (md.RevAddr == "")
{
error += "第" + (i + 2).ToString() + " 行的Street Address 1没填<br/>";
continue;
}
md.OrderDate = DateTime.Today;
md.PayDate = DateTime.Today;
if (tb.Rows[i]["Total Price"].ToString().Trim() == "")
{
md.TotalPrice = 0;
}
else
{
try
{
md.TotalPrice = Convert.ToDecimal(tb.Rows[i]["Total Price"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的价格必须是数字<br/>";
continue;
}
}
md.RevCountry = tb.Rows[i]["Country"].ToString().Trim().Replace("\"", "");
md.RevPostCode = tb.Rows[i]["Zipcode"].ToString().Trim().Replace("'", "");
if (md.RevPostCode == "")
md.RevPostCode = "12345";
if (md.RevCountry == "Hong Kong" || md.RevCountry == "HK" || md.RevCountry == "Ireland" || md.RevCountry == "IE")
md.RevPostCode = "";
md.RevProvince = tb.Rows[i]["State"].ToString().Trim().Replace("\"", "");
md.RevCity = tb.Rows[i]["City"].ToString().Trim().Replace("\"", "");
if (md.RevProvince == null || md.RevProvince == "")
md.RevProvince = md.RevCity;
md.RevPhone = tb.Rows[i]["Phone Number"].ToString().Trim().Replace("'", "").Replace("+", "").Replace("+", "").Replace("(", "").Replace(")", "").Replace(" ", "").Replace("\"", "");
md.CustomID = "";
md.RevMoblie = md.RevPhone;
md.LeaveWord = "";
md.TrackCode = "";
md.MoneyCode = "USD";
md.CompanyId = CompanyId;
md.InUserId = UserId;
List<DT_OrderExcelGoods> Glist = new List<DT_OrderExcelGoods>();
var GoodsModel = new DT_OrderExcelGoods();
if (tb.Rows[i]["Quantity"].ToString().Trim() == "")
{
error += "第" + (i + 2).ToString() + " 行的Quantity没填<br/>";
continue;
}
else
{
try
{
GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["Quantity"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的数量必须是数字<br/>";
continue;
}
}
GoodsModel.SKU = tb.Rows[i]["SKU"].ToString().Trim();
if (GoodsModel.SKU == "")
{
error += "第" + (i + 2).ToString() + " 行的SKU 信息没填<br/>";
continue;
}
md.GoodsNum = GoodsModel.GoodsNum;
GoodsModel.GoodsName = tb.Rows[i]["Product"].ToString().Trim() + tb.Rows[i]["Variation"].ToString().Trim();
GoodsModel.GoodsPrice = md.TotalPrice;
Glist.Add(GoodsModel);
md.GoodsList = Glist;
OrderList.Add(md);
}
if (error != "")
{
return error;
}
else if (OrderList.Count > 0)
{
foreach (var md in OrderList)
{
obj.ExcelOrderAdd5(md);
}
obj.UpdateOrderGoodsNum();
error = "数据导入成功【" + OrderList.Count.ToString() + "条】;" + error;
return error;
}
}
catch (Exception e)
{
return "文件导入失败!请确定模板格式是否正确,或者重新下载模板,填写数据,重新导入!!!" + e.Message;
}
return "导入成功";
}
#endregion
#region 导出代购订单数据
[WebMethod(EnableSession = true)]
public string ExcelOrderDataForDG(int ShopId, DateTime? SDate, DateTime? EDate)
{
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
DataTable tb = DD_OrderData.GetExcelDT_OrderInfo2(ShopId, SDate, EDate);
string Ids = "";
if (tb != null)
{
for (int i = 0; i < tb.Rows.Count; i++)
{
Ids += tb.Rows[i]["OrderId"].ToString() + ",";
}
}
if (Ids != "")
{
//var list1 = obj.GetOrderGoodsList(Ids.Trim(','));
var listTrack = obj.GetTrackCodeApplyList2(Ids.Trim(','));
if (listTrack != null)
{
for (int i = 0; i < tb.Rows.Count; i++)
{
var list3 = new List<DT_TrackCodeApply>();
if (tb.Rows[i]["JoinOrderCode"] != null && tb.Rows[i]["JoinOrderCode"].ToString() != "")
list3 = listTrack.FindAll(n => n.OrderCode == tb.Rows[i]["JoinOrderCode"].ToString());
else
list3 = listTrack.FindAll(n => n.OrderId == Convert.ToInt32(tb.Rows[i]["OrderId"]));
if (list3 != null && list3.Count > 0)
{
string trackinfo = "";
foreach (var md1 in list3)
{
trackinfo += md1.TrackCode + ",";
}
tb.Rows[i]["TrackInfo"] = trackinfo.Trim(',');
}
}
}
}
// vendor_sku item_name quantity cost total_cost promise_date carrier
//select a.OrderId,a.PlatOrderCode,a.JoinOrderCode,a.OrderCode,a.OrderName,a.OrderDate,a.InDate,a.MoneyDate,a.TotalPrice,a.MoneyCode,a.GoodsNum,b.RevName,b.RevAddr,b.RevCountry,b.RevCity,b.RevProvince,b.RevPhone,b.RevPostCode,b.BuyRemark,c.GoodsSKU,c.GoodsName,c.GoodsPrice,TrackInfo='',carrier='Carrier Post',address_2='',company='' from DT_OrderInfo a
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("PlatOrderCode", "purchase_order", DbType.String, "");
listColumns.Add("OrderDate", "date", DbType.String, "yyyy/MM/dd");
listColumns.Add("OrderName", "sales_order", DbType.String, "");
listColumns.Add("TrackInfo", "tracking_numbers", DbType.String, "");
listColumns.Add("RevName", "full_name", DbType.String, "");
listColumns.Add("company", "company", DbType.String, "");
listColumns.Add("RevAddr", "address_1", DbType.String, "");
listColumns.Add("address_2", "address_2", DbType.String, "");
listColumns.Add("RevCity", "city", DbType.String, "");
listColumns.Add("RevProvince", "province", DbType.String, "");
listColumns.Add("RevPostCode", "post_code", DbType.String, "");
listColumns.Add("RevCountry", "country", DbType.String, "");
listColumns.Add("RevPhone", "phone", DbType.String, "");
listColumns.Add("BuyRemark", "customer_note", DbType.String, "");
listColumns.Add("GoodsSKU", "vendor_sku", DbType.String, "");
listColumns.Add("GoodsName", "item_name", DbType.String, "");
listColumns.Add("GoodsPrice", "cost", DbType.String, "");
listColumns.Add("TotalPrice", "total_cost", DbType.String, "");
listColumns.Add("MoneyDate", "promise_date", DbType.String, "yyyy/MM/dd");
listColumns.Add("carrier", "carrier", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(tb, listColumns);
}
#endregion
#region 导出代购订单数据2
[WebMethod(EnableSession = true)]
public string ExcelOrderDataForDG2(int ShopId, DateTime? SDate, DateTime? EDate)
{
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
DataTable tb = DD_OrderData.GetExcelDT_OrderInfo2(ShopId, SDate, EDate);
string Ids = "";
if (tb != null)
{
for (int i = 0; i < tb.Rows.Count; i++)
{
Ids += tb.Rows[i]["OrderId"].ToString() + ",";
}
}
if (Ids != "")
{
//var list1 = obj.GetOrderGoodsList(Ids.Trim(','));
var listTrack = obj.GetTrackCodeApplyList2(Ids.Trim(','));
if (listTrack != null)
{
for (int i = 0; i < tb.Rows.Count; i++)
{
var list3 = new List<DT_TrackCodeApply>();
if (tb.Rows[i]["JoinOrderCode"] != null && tb.Rows[i]["JoinOrderCode"].ToString() != "")
list3 = listTrack.FindAll(n => n.OrderCode == tb.Rows[i]["JoinOrderCode"].ToString());
else
list3 = listTrack.FindAll(n => n.OrderId == Convert.ToInt32(tb.Rows[i]["OrderId"]));
if (list3 != null && list3.Count > 0)
{
string trackinfo = "";
foreach (var md1 in list3)
{
trackinfo += md1.TrackCode + ",";
}
tb.Rows[i]["TrackInfo"] = trackinfo.Trim(',');
}
}
}
}
// vendor_sku item_name quantity cost total_cost promise_date carrier
//select a.OrderId,a.PlatOrderCode,a.JoinOrderCode,a.OrderCode,a.OrderName,a.OrderDate,a.InDate,a.MoneyDate,a.TotalPrice,a.MoneyCode,a.GoodsNum,b.RevName,b.RevAddr,b.RevCountry,b.RevCity,b.RevProvince,b.RevPhone,b.RevPostCode,b.BuyRemark,c.GoodsSKU,c.GoodsName,c.GoodsPrice,TrackInfo='',carrier='Carrier Post',address_2='',company='' from DT_OrderInfo a
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("OrderName", "Name", DbType.String, "");
listColumns.Add("TrackInfo", "Tracking numbers", DbType.String, "");
listColumns.Add("GoodsNum", "item quantity", DbType.String, "");
listColumns.Add("GoodsName", "item_name", DbType.String, "");
listColumns.Add("GoodsSKU", "SKU", DbType.String, "");
listColumns.Add("RevName", "Shipping Name", DbType.String, "");
listColumns.Add("RevAddr", "Shipping Street", DbType.String, "");
listColumns.Add("address_2", "Shipping Address2", DbType.String, "");
listColumns.Add("company", "Shipping Company", DbType.String, "");
listColumns.Add("RevCity", "Shipping City", DbType.String, "");
listColumns.Add("RevPostCode", "Shipping Zip", DbType.String, "");
listColumns.Add("RevProvince", "Shipping Province", DbType.String, "");
listColumns.Add("RevCountry", "Shipping Country", DbType.String, "");
listColumns.Add("RevPhone", "Shipping Phone", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(tb, listColumns);
}
#endregion
#region 导出代购订单数据3
[WebMethod(EnableSession = true)]
public string ExcelOrderDataForDG3(int ShopId, DateTime? SDate, DateTime? EDate)
{
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
DataTable tb = DD_OrderData.GetExcelDT_OrderInfo2(ShopId, SDate, EDate);
string Ids = "";
if (tb != null)
{
for (int i = 0; i < tb.Rows.Count; i++)
{
Ids += tb.Rows[i]["OrderId"].ToString() + ",";
}
}
if (Ids != "")
{
//var list1 = obj.GetOrderGoodsList(Ids.Trim(','));
var listTrack = obj.GetTrackCodeApplyList2(Ids.Trim(','));
if (listTrack != null)
{
for (int i = 0; i < tb.Rows.Count; i++)
{
var list3 = new List<DT_TrackCodeApply>();
if (tb.Rows[i]["JoinOrderCode"] != null && tb.Rows[i]["JoinOrderCode"].ToString() != "")
list3 = listTrack.FindAll(n => n.OrderCode == tb.Rows[i]["JoinOrderCode"].ToString());
else
list3 = listTrack.FindAll(n => n.OrderId == Convert.ToInt32(tb.Rows[i]["OrderId"]));
if (list3 != null && list3.Count > 0)
{
string trackinfo = "";
foreach (var md1 in list3)
{
trackinfo += md1.TrackCode + ",";
}
tb.Rows[i]["TrackInfo"] = trackinfo.Trim(',');
}
}
}
}
// vendor_sku item_name quantity cost total_cost promise_date carrier
//select a.OrderId,a.PlatOrderCode,a.JoinOrderCode,a.OrderCode,a.OrderName,a.OrderDate,a.InDate,a.MoneyDate,a.TotalPrice,a.MoneyCode,a.GoodsNum,b.RevName,b.RevAddr,b.RevCountry,b.RevCity,b.RevProvince,b.RevPhone,b.RevPostCode,b.BuyRemark,c.GoodsSKU,c.GoodsName,c.GoodsPrice,TrackInfo='',carrier='Carrier Post',address_2='',company='' from DT_OrderInfo a
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("PlatOrderCode", "purchase_order", DbType.String, "");
listColumns.Add("TrackInfo", "tracking_numbers", DbType.String, "");
listColumns.Add("OrderDate", "date", DbType.String, "yyyy/MM/dd");
listColumns.Add("ShopName", "retailer", DbType.String, "");
listColumns.Add("OrderName", "sales_order", DbType.String, "");
listColumns.Add("RevName", "full_name", DbType.String, "");
listColumns.Add("company", "company", DbType.String, "");
listColumns.Add("RevAddr", "address_1", DbType.String, "");
listColumns.Add("address_2", "address_2", DbType.String, "");
listColumns.Add("RevCity", "city", DbType.String, "");
listColumns.Add("RevProvince", "province", DbType.String, "");
listColumns.Add("RevPostCode", "post_code", DbType.String, "");
listColumns.Add("RevCountry", "country", DbType.String, "");
listColumns.Add("RevPhone", "phone", DbType.String, "");
listColumns.Add("BuyRemark", "note", DbType.String, "");
listColumns.Add("GoodsSKU", "vendor_sku", DbType.String, "");
listColumns.Add("GoodsName", "item_name", DbType.String, "");
listColumns.Add("GoodsNum", "quantity", DbType.String, "");
listColumns.Add("GoodsPrice", "cost", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.WriteCSV(true,tb,listColumns,"");
}
#endregion
#region 导出代购订单数据3
[WebMethod(EnableSession = true)]
public string ExcelOrderDataForDG4(int ShopId, DateTime? SDate, DateTime? EDate)
{
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
DataTable tb = DD_OrderData.GetExcelDT_OrderInfo2(ShopId, SDate, EDate);
string Ids = "";
if (tb != null)
{
for (int i = 0; i < tb.Rows.Count; i++)
{
Ids += tb.Rows[i]["OrderId"].ToString() + ",";
}
}
if (Ids != "")
{
//var list1 = obj.GetOrderGoodsList(Ids.Trim(','));
var listTrack = obj.GetTrackCodeApplyList2(Ids.Trim(','));
if (listTrack != null)
{
for (int i = 0; i < tb.Rows.Count; i++)
{
var list3 = new List<DT_TrackCodeApply>();
if (tb.Rows[i]["JoinOrderCode"] != null && tb.Rows[i]["JoinOrderCode"].ToString() != "")
list3 = listTrack.FindAll(n => n.OrderCode == tb.Rows[i]["JoinOrderCode"].ToString());
else
list3 = listTrack.FindAll(n => n.OrderId == Convert.ToInt32(tb.Rows[i]["OrderId"]));
if (list3 != null && list3.Count > 0)
{
string trackinfo = "";
foreach (var md1 in list3)
{
trackinfo += md1.TrackCode + ",";
}
tb.Rows[i]["TrackInfo"] = trackinfo.Trim(',');
}
}
}
}
// vendor_sku item_name quantity cost total_cost promise_date carrier
//select a.OrderId,a.PlatOrderCode,a.JoinOrderCode,a.OrderCode,a.OrderName,a.OrderDate,a.InDate,a.MoneyDate,a.TotalPrice,a.MoneyCode,a.GoodsNum,b.RevName,b.RevAddr,b.RevCountry,b.RevCity,b.RevProvince,b.RevPhone,b.RevPostCode,b.BuyRemark,c.GoodsSKU,c.GoodsName,c.GoodsPrice,TrackInfo='',carrier='Carrier Post',address_2='',company='' from DT_OrderInfo a
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("PlatOrderCode", "Order Id", DbType.String, "");
listColumns.Add("TrackInfo", "Tracking Number", DbType.String, "");
listColumns.Add("OrderDate", "Transaction Date", DbType.String, "yyyy/MM/dd");
listColumns.Add("OrderName", "Transaction ID", DbType.String, "");
listColumns.Add("RevName", "Name", DbType.String, "");
listColumns.Add("RevAddr", "Street Address 1", DbType.String, "");
listColumns.Add("address_2", "Street Address 2", DbType.String, "");
listColumns.Add("RevCity", "City", DbType.String, "");
listColumns.Add("RevProvince", "State", DbType.String, "");
listColumns.Add("RevPostCode", "Zipcode", DbType.String, "");
listColumns.Add("RevCountry", "Country", DbType.String, "");
listColumns.Add("RevPhone", "Phone Number", DbType.String, "");
listColumns.Add("GoodsSKU", "SKU", DbType.String, "");
listColumns.Add("GoodsName", "Product", DbType.String, "");
listColumns.Add("GoodsNum", "Quantity", DbType.String, "");
listColumns.Add("GoodsPrice", "Total Price", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.WriteCSV(true, tb, listColumns, "");
}
#endregion
#region 导出代购订单数据5
[WebMethod(EnableSession = true)]
public string ExcelOrderDataForDG5(int ShopId, DateTime? SDate, DateTime? EDate)
{
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
DataTable tb = DD_OrderData.GetExcelDT_OrderInfo2(ShopId, SDate, EDate);
string Ids = "";
if (tb != null)
{
for (int i = 0; i < tb.Rows.Count; i++)
{
Ids += tb.Rows[i]["OrderId"].ToString() + ",";
}
}
if (Ids != "")
{
//var list1 = obj.GetOrderGoodsList(Ids.Trim(','));
var listTrack = obj.GetTrackCodeApplyList22(Ids.Trim(','));
if (listTrack != null)
{
for (int i = 0; i < tb.Rows.Count; i++)
{
var list3 = new List<DT_TrackCodeApply>();
if (tb.Rows[i]["JoinOrderCode"] != null && tb.Rows[i]["JoinOrderCode"].ToString() != "")
list3 = listTrack.FindAll(n => n.OrderCode == tb.Rows[i]["JoinOrderCode"].ToString());
else
list3 = listTrack.FindAll(n => n.OrderId == Convert.ToInt32(tb.Rows[i]["OrderId"]));
if (list3 != null && list3.Count > 0)
{
string trackinfo = "";
string Provider = "";
foreach (var md1 in list3)
{
trackinfo=md1.TrackCode;
Provider = md1.Joom;
}
tb.Rows[i]["TrackInfo"] = trackinfo;
tb.Rows[i]["Provider"] = Provider;
}
}
}
}
//Shipping Provider Tracking Number Shipping Note
// vendor_sku item_name quantity cost total_cost promise_date carrier
//select a.OrderId,a.PlatOrderCode,a.JoinOrderCode,a.OrderCode,a.OrderName,a.OrderDate,a.InDate,a.MoneyDate,a.TotalPrice,a.MoneyCode,a.GoodsNum,b.RevName,b.RevAddr,b.RevCountry,b.RevCity,b.RevProvince,b.RevPhone,b.RevPostCode,b.BuyRemark,c.GoodsSKU,c.GoodsName,c.GoodsPrice,TrackInfo='',carrier='Carrier Post',address_2='',company='' from DT_OrderInfo a
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("PlatOrderCode", "Order Id", DbType.String, "");
//listColumns.Add("OrderDate", "Transaction Date", DbType.String, "yyyy/MM/dd");
listColumns.Add("OrderName", "Transaction ID", DbType.String, "");
listColumns.Add("Provider", "Shipping Provider", DbType.String, "");
listColumns.Add("TrackInfo", "Tracking Number", DbType.String, "");
listColumns.Add("Note", "Shipping Note", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.WriteCSV(true, tb, listColumns, "");
}
#endregion
#region 导出代购订单数据5
[WebMethod(EnableSession = true)]
public string ExcelOrderDataForDG6(int ShopId, DateTime? SDate, DateTime? EDate)
{
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
DataTable tb = DD_OrderData.GetExcelDT_OrderInfo4(ShopId, SDate, EDate);
string Ids = "";
if (tb != null)
{
for (int i = 0; i < tb.Rows.Count; i++)
{
Ids += tb.Rows[i]["OrderId"].ToString() + ",";
}
}
if (Ids != "")
{
//var list1 = obj.GetOrderGoodsList(Ids.Trim(','));
var listTrack = obj.GetTrackCodeApplyList22(Ids.Trim(','));
if (listTrack != null)
{
for (int i = 0; i < tb.Rows.Count; i++)
{
var list3 = new List<DT_TrackCodeApply>();
if (tb.Rows[i]["JoinOrderCode"] != null && tb.Rows[i]["JoinOrderCode"].ToString() != "")
list3 = listTrack.FindAll(n => n.OrderCode == tb.Rows[i]["JoinOrderCode"].ToString());
else
list3 = listTrack.FindAll(n => n.OrderId == Convert.ToInt32(tb.Rows[i]["OrderId"]));
if (list3 != null && list3.Count > 0)
{
string trackinfo = "";
string Provider = "";
foreach (var md1 in list3)
{
trackinfo = md1.TrackCode;
Provider = md1.Joom;
}
tb.Rows[i]["TrackInfo"] = trackinfo;
tb.Rows[i]["Provider"] = Provider;
}
}
}
}
//Shipping Provider Tracking Number Shipping Note
// vendor_sku item_name quantity cost total_cost promise_date carrier
//select a.OrderId,a.PlatOrderCode,a.JoinOrderCode,a.OrderCode,a.OrderName,a.OrderDate,a.InDate,a.MoneyDate,a.TotalPrice,a.MoneyCode,a.GoodsNum,b.RevName,b.RevAddr,b.RevCountry,b.RevCity,b.RevProvince,b.RevPhone,b.RevPostCode,b.BuyRemark,c.GoodsSKU,c.GoodsName,c.GoodsPrice,TrackInfo='',carrier='Carrier Post',address_2='',company='' from DT_OrderInfo a
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("PlatOrderCode", "Order Id", DbType.String, "");
//listColumns.Add("OrderDate", "Transaction Date", DbType.String, "yyyy/MM/dd");
listColumns.Add("OrderName", "Transaction ID", DbType.String, "");
listColumns.Add("Provider", "Shipping Provider", DbType.String, "");
listColumns.Add("TrackInfo", "Tracking Number", DbType.String, "");
listColumns.Add("Note", "Shipping Note", DbType.String, "");
listColumns.Add("Days", "Shipping Days", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.WriteCSV(true, tb, listColumns, "");
}
#endregion
#region 导入阿里巴巴订单
[WebMethod(EnableSession = true)]
public string ImportAliOrder(string FileName, int ShopId)
{
Pages.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("订单创建时间") == false) { error = 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("邮编") == false) { error = 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("数量") == false) { error = 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("物流公司运单号") == false) { error = error + "导入模板的 物流公司运单号 列不存在"; }
if (string.IsNullOrEmpty(error) == false) return error + ";请导入格式不正确";
DD_OrderData obj = new DD_OrderData();
int UserId = Convert.ToInt32(Session["UserId"]);
List<DT_OrderExcelGoods> GoodsList = null;
DT_ExcelOrderInfo md = null;
int Num = 0;
for (int i = 0; i < tb.Rows.Count; i++)
{
string OrderCode = tb.Rows[i]["订单编号"].ToString().Trim();
if (OrderCode == "" && tb.Rows[i]["数量"].ToString().Trim() == "")
{
//error += "第" + (i + 2).ToString() + " 行的订单编号没填<br/>";
continue;
}
if (OrderCode != "")
{
if (i > 0)
{
md.GoodsList = GoodsList;
obj.ExcelOrderAdd(md);
Num++;
}
md = new DT_ExcelOrderInfo();
//if(i>0)
//md.GoodsList = GoodsList;
GoodsList = new List<DT_OrderExcelGoods>();
}
md.PlatId = 5;
md.ShopId = ShopId;
var GoodsModel = new DT_OrderExcelGoods();
GoodsModel.CompanyId = CompanyId;
if (tb.Rows[i]["数量"].ToString().Trim() == "")
{
error += "第" + (i + 2).ToString() + " 行的数量没填<br/>";
continue;
}
else
{
try
{
GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["数量"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的数量必须是数字<br/>";
continue;
}
}
if (tb.Rows[i]["单价(元)"].ToString().Trim() == "")
{
error += "第" + (i + 2).ToString() + " 行的单价(元)没填<br/>";
continue;
}
else
{
try
{
GoodsModel.GoodsPrice = Convert.ToDecimal(tb.Rows[i]["单价(元)"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的单价(元)必须是数字<br/>";
continue;
}
}
GoodsModel.SKU = tb.Rows[i]["货号"].ToString().Trim();
if (GoodsModel.SKU == "")
{
error += "第" + (i + 2).ToString() + " 行的货号没填<br/>";
continue;
}
GoodsModel.MoneyCode = "CNY";
GoodsModel.GoodsName = tb.Rows[i]["货品标题"].ToString().Trim();
GoodsList.Add(GoodsModel);
if (i == tb.Rows.Count - 1)
md.GoodsList = GoodsList;
if (OrderCode == "" && i < tb.Rows.Count - 1)
continue;
else if (i == tb.Rows.Count - 1)
{
obj.ExcelOrderAdd(md);
Num++;
break;
}
if (tb.Rows[i]["订单编号"].ToString().Trim() != "")
md.OrderCode = tb.Rows[i]["订单编号"].ToString().Trim();
if (tb.Rows[i]["实付款(元)"].ToString().Trim() == "")
{
error += "第" + (i + 2).ToString() + " 行的实付款(元)没填<br/>";
continue;
}
else
{
try
{
md.TotalPrice = Convert.ToDecimal(tb.Rows[i]["实付款(元)"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的实付款(元)必须是数字<br/>";
continue;
}
}
int PayState = 1;
string OState = tb.Rows[i]["订单状态"].ToString().Trim();
int OrderState = 1;
if (tb.Rows[i]["订单付款时间"].ToString().Trim() != "")
{
try
{
md.OrderDate = Convert.ToDateTime(tb.Rows[i]["订单付款时间"].ToString().Trim());
md.PayDate = Convert.ToDateTime(tb.Rows[i]["订单付款时间"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的订单付款时间必须是日期格式<br/>";
continue;
}
}
else
{
PayState = 0;
OrderState = 2;
}
if (OState.Contains("退款"))
{
OrderState = 3;
}
md.PayState = PayState;
md.OrderState = OrderState;
if (md.OrderDate == null && tb.Rows[i]["订单创建时间"].ToString().Trim() != "")
{
try
{
md.OrderDate = Convert.ToDateTime(tb.Rows[i]["订单创建时间"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的订单创建时间必须是日期格式<br/>";
continue;
}
}
if (md.OrderDate == null)
md.OrderDate = DateTime.Now.AddHours(-3);
md.RevName = tb.Rows[i]["收货人姓名"].ToString().Trim();
if (md.RevName == "")
{
error += "第" + (i + 2).ToString() + " 行的收货人姓名没填<br/>";
continue;
}
md.RevAddr = tb.Rows[i]["收货地址"].ToString().Trim();
if (md.RevAddr == "")
{
error += "第" + (i + 2).ToString() + " 行的收货地址没填<br/>";
continue;
}
md.RevPostCode = tb.Rows[i]["邮编"].ToString().Trim();
if (md.RevPostCode == "")
{
md.RevPostCode = "315000";
}
md.RevPhone = tb.Rows[i]["联系电话"].ToString().Trim();
md.CustomID = tb.Rows[i]["买家公司名"].ToString().Trim() + "[" + tb.Rows[i]["买家会员名"].ToString().Trim() + "]";
md.RevMoblie = tb.Rows[i]["联系手机"].ToString().Trim();
md.LeaveWord = tb.Rows[i]["买家留言"].ToString().Trim();
md.TrackCode = tb.Rows[i]["物流公司运单号"].ToString().Trim();
md.RevCountry = "CN";
md.MoneyCode = "CNY";
md.CompanyId = CompanyId;
md.InUserId = UserId;
//if (i > 0)
//{
// obj.ExcelOrderAdd(md);
// Num++;
//}
}
if (error == "")
{
error = "数据成功共【" + Num.ToString() + "条】;";
}
else
{
error = "数据导入成功【" + Num.ToString() + "条】;" + error;
}
return error;
}
catch (Exception e)
{
return "文件导入失败!请确定模板格式是否正确,或者重新下载模板,填写数据,重新导入!!!" + e.Message;
}
return "导入成功";
}
#endregion
#region 导入淘宝订单
[WebMethod(EnableSession = true)]
public string ImportTaobaoOrder(string FileName1, string FileName2, int ShopId)
{
Pages.Login(this.Session);
if (string.IsNullOrEmpty(FileName1) == true) return "要导入的文件路径不能为空";
if (string.IsNullOrEmpty(FileName2) == true) return "要导入的文件路径不能为空";
string ServerFileName1 = AppDomain.CurrentDomain.BaseDirectory + FileName1;
string ServerFileName2 = AppDomain.CurrentDomain.BaseDirectory + FileName2;
if (System.IO.File.Exists(ServerFileName1) == false) return "要导入的文件路径不存在";
if (System.IO.File.Exists(ServerFileName2) == false) return "要导入的文件路径不存在";
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
try
{
// MicrosoftCSV excel1 = new MicrosoftCSV(ServerFileName1, System.Text.Encoding.GetEncoding("GB2312"));
// DataTable tb2 = excel1[2, excel1.RowCount, 1, excel1.ColCount];
//return "";
MicrosoftExcel excel = new MicrosoftExcel();
DataTable tb2 = excel.GetdataFromCVS(ServerFileName1);
DataTable tb1 = excel.GetdataFromCVS(ServerFileName2);
// MicrosoftCSV excel2 = new MicrosoftCSV(ServerFileName2, System.Text.Encoding.GetEncoding("GB2312"));
// DataTable tb1 = excel2[2, excel2.RowCount, 1, excel2.ColCount];
string error = "";
if (tb1.Columns.Contains("订单编号") == false) { error = error + "导入模板的 订单编号 列不存在"; }
if (tb1.Columns.Contains("价格") == false) { error = error + "导入模板的 价格 列不存在"; }
if (tb1.Columns.Contains("订单状态") == false) { error = error + "导入模板的 订单状态 列不存在"; }
if (tb2.Columns.Contains("订单编号") == false) { error = error + "导入模板的 订单编号 列不存在"; }
if (tb2.Columns.Contains("买家应付邮费") == false) { error = error + "导入模板的 买家应付邮费 列不存在"; }
if (tb2.Columns.Contains("总金额") == false) { error = error + "导入模板的 总金额 列不存在"; }
if (tb2.Columns.Contains("订单状态") == false) { error = error + "导入模板的 订单状态 列不存在"; }
if (tb2.Columns.Contains("买家实际支付金额") == false) { error = error + "导入模板的 买家实际支付金额 列不存在"; }
if (tb2.Columns.Contains("买家留言") == false) { error = error + "导入模板的 买家留言 列不存在"; }
if (tb2.Columns.Contains("收货人姓名") == false) { error = error + "导入模板的 收货人姓名 列不存在"; }
if (tb2.Columns.Contains("收货地址") == false) { error = error + "导入模板的 收货地址 列不存在"; }
if (tb2.Columns.Contains("联系电话") == false) { error = error + "导入模板的 联系电话 列不存在"; }
if (tb2.Columns.Contains("联系手机") == false) { error = error + "导入模板的 联系手机 列不存在"; }
if (tb2.Columns.Contains("订单创建时间") == false) { error = error + "导入模板的 订单创建时间 列不存在"; }
if (tb2.Columns.Contains("订单付款时间") == false) { error = error + "导入模板的 订单付款时间 列不存在"; }
if (tb2.Columns.Contains("物流单号") == false) { error = error + "导入模板的 物流单号 列不存在"; }
if (string.IsNullOrEmpty(error) == false) return error + ";请导入格式不正确";
DD_OrderData obj = new DD_OrderData();
int UserId = Convert.ToInt32(Session["UserId"]);
int Num = 0;
for (int i = 0; i < tb2.Rows.Count; i++)
{
var md = new DT_ExcelOrderInfo();
md.PlatId = 6;
md.ShopId = ShopId;
md.OrderCode = tb2.Rows[i]["订单编号"].ToString().Trim();
if (md.OrderCode == "")
{
error += "第" + (i + 2).ToString() + " 行的订单编号没填<br/>";
continue;
}
if (tb2.Rows[i]["买家实际支付金额"].ToString().Trim() == "")
{
error += "第" + (i + 2).ToString() + " 行的买家实际支付金额没填<br/>";
continue;
}
else
{
try
{
md.TotalPrice = Convert.ToDecimal(tb2.Rows[i]["买家实际支付金额"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的买家实际支付金额必须是数字<br/>";
continue;
}
}
int PayState = 1;
string OState = tb2.Rows[i]["订单状态"].ToString().Trim();
int OrderState = 1;
md.CustomID = tb2.Rows[i]["买家会员名"].ToString().Trim() + "[" + tb2.Rows[i]["买家支付宝账号"].ToString().Trim() + "]";
if (tb2.Rows[i]["订单付款时间"].ToString().Trim() != "")
{
try
{
md.OrderDate = Convert.ToDateTime(tb2.Rows[i]["订单付款时间"].ToString().Trim());
md.PayDate = Convert.ToDateTime(tb2.Rows[i]["订单付款时间"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的订单付款时间必须是日期格式<br/>";
continue;
}
}
else
{
PayState = 0;
OrderState = 2;
}
if (OState.Contains("退款") || OState.Contains("交易关闭"))
{
OrderState = 3;
}
md.OrderState = OrderState;
if (md.OrderDate == null && tb2.Rows[i]["订单创建时间"].ToString().Trim() != "")
{
try
{
md.OrderDate = Convert.ToDateTime(tb2.Rows[i]["订单创建时间"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的订单创建时间必须是日期格式<br/>";
continue;
}
}
if (md.OrderDate == null)
md.OrderDate = DateTime.Now.AddHours(-3);
md.RevName = tb2.Rows[i]["收货人姓名"].ToString().Trim();
if (md.RevName == "")
{
error += "第" + (i + 2).ToString() + " 行的收货人姓名没填<br/>";
continue;
}
md.RevAddr = tb2.Rows[i]["修改后的收货地址"].ToString().Trim().Replace("\"", "");
if (md.RevAddr == "")
md.RevAddr = tb2.Rows[i]["收货地址"].ToString().Trim().Replace("\"", "");
if (md.RevAddr == "")
{
error += "第" + (i + 2).ToString() + " 行的收货地址没填<br/>";
continue;
}
md.RevPostCode = "315000";
md.RevPhone = tb2.Rows[i]["联系电话"].ToString().Trim();
md.RevMoblie = tb2.Rows[i]["联系手机"].ToString().Trim();
md.LeaveWord = tb2.Rows[i]["买家留言"].ToString().Trim();
md.TrackCode = tb2.Rows[i]["物流单号"].ToString().Trim();
md.PostInfo = tb2.Rows[i]["物流公司"].ToString().Trim();
md.RevCountry = "CN";
md.MoneyCode = "CNY";
md.CompanyId = CompanyId;
md.InUserId = UserId;
List<DT_OrderExcelGoods> GoodsList = new List<DT_OrderExcelGoods>();
DataRow[] row = tb1.Select("订单编号='" + md.OrderCode + "'");
if (row == null || row.Length == 0)
{
continue;
}
md.OrderCode = md.OrderCode.Replace("\"", "");
for (int j = 0; j < row.Length; j++)
{
var GoodsModel = new DT_OrderExcelGoods();
GoodsModel.CompanyId = CompanyId;
if (row[j]["购买数量"].ToString().Trim() == "")
{
error += "第" + md.OrderCode + " 订单的购买数量没填<br/>";
continue;
}
else
{
try
{
GoodsModel.GoodsNum = Convert.ToInt32(row[j]["购买数量"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + md.OrderCode + " 订单的购买数量必须是数字<br/>";
continue;
}
}
if (row[j]["价格"].ToString().Trim() == "")
{
error += "第" + md.OrderCode + " 订单的价格没填<br/>";
continue;
}
else
{
try
{
GoodsModel.GoodsPrice = Convert.ToDecimal(row[j]["价格"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + md.OrderCode + " 订单的价格必须是数字<br/>";
continue;
}
}
GoodsModel.SKU = row[j]["商家编码"].ToString().Trim();
if (GoodsModel.SKU == "")
{
error += "第" + md.OrderCode + " 订单的商家编码没填<br/>";
continue;
}
GoodsModel.GoodsName = row[j]["标题"].ToString().Trim() + "[" + row[j]["商品属性"].ToString().Trim() + "]";
GoodsModel.MoneyCode = "CNY";
GoodsList.Add(GoodsModel);
}
md.GoodsList = GoodsList;
int a = obj.ExcelOrderAdd(md);
Num++;
}
if (error == "")
{
error = "数据成功共【" + Num.ToString() + "条】;";
}
else
{
error = "数据导入成功【" + Num.ToString() + "条】;" + error;
}
return error;
}
catch (Exception e)
{
return "文件导入失败!请确定模板格式是否正确,或者重新下载模板,填写数据,重新导入!!!" + e.Message;
}
return "导入成功";
}
#endregion
#region 查询货物明细
[WebMethod(EnableSession = true)]
public List<DT_OrderOutGoods> GetOrderGoods(int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var list = obj.GetOrderGoods(OrderId, CompanyId);
return list;
}
#endregion
#region 部分发货
[WebMethod(EnableSession = true)]
public string UpdateOrderPartGoods(int OrderId, List<DT_OrderOutGoods> list)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var listGoods = obj.GetOrderStoreGoods(OrderId);
decimal GoodsFee = 0;
decimal PostFee = 0;
List<DT_OrderGoods> OrderGoods = new List<DT_OrderGoods>();
List<DT_OrderGoodsOutList> OutList = new List<DT_OrderGoodsOutList>();
if (list != null)
{
foreach (var md in list)
{
md.OutNum = md.NowNum;
if (md.OutNum == 0)
continue;
var ingoods = listGoods.FindAll(n => n.DetailId == md.DetailId);
int SendNum = 0;
int LeftNum = md.OutNum.Value;
if (ingoods != null)
{
foreach (var inmd in ingoods)
{
DT_OrderGoodsOutList mdOutList = new DT_OrderGoodsOutList();
mdOutList.OrderGoodsId = md.Id;
mdOutList.OrderId = OrderId;
if (inmd.GoodsNum >= LeftNum)
{
mdOutList.LockNum = LeftNum;
mdOutList.OutNum = LeftNum;
if (inmd.Price != null)
GoodsFee += inmd.Price.Value * LeftNum;
if (inmd.PostPrice != null)
PostFee += inmd.PostPrice.Value * LeftNum;
SendNum += LeftNum;
LeftNum = 0;
}
else
{
mdOutList.LockNum = inmd.GoodsNum;
mdOutList.OutNum = inmd.GoodsNum;
if (inmd.Price != null)
GoodsFee += inmd.Price.Value * inmd.GoodsNum.Value;
if (inmd.PostPrice != null)
PostFee += inmd.PostPrice.Value * inmd.GoodsNum.Value;
SendNum += inmd.GoodsNum.Value;
LeftNum = LeftNum - inmd.GoodsNum.Value;
}
mdOutList.InId = inmd.InId;
OutList.Add(mdOutList);
if (LeftNum == 0)
{
DT_OrderGoods mdOrderGoods = new DT_OrderGoods();
mdOrderGoods.Id = md.Id;
mdOrderGoods.OutNum = SendNum;
mdOrderGoods.DetailId = md.DetailId;
OrderGoods.Add(mdOrderGoods);
break;
}
}
if (LeftNum > 0)
{
break;
}
}
}
}
if (OrderGoods.Count > 0)
{
obj.UpdateOrderPartGoods(OrderId, GoodsFee, PostFee, OrderGoods, OutList);
return "发货成功,已经扣除库存";
}
else
return "库存数量不足货物库存已经被其它订单锁定,不能发货";
}
#endregion
#region 创建速卖通线上发货
[WebMethod(EnableSession = true)]
public string Alibaba_Online(List<DT_Order> list, string PostInfo, int InnerPostId, string InnerName, string InnerCode, JC_OnlineTemp tempmd)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
if (list == null || list.Count == 0)
return "";
AlibabaApi obj = new AlibabaApi();
JC_Shop shopmodel = new JC_Shop();
int TempId = 0;
var obj1 = new DD_OrderData();
int ShopId = 0;
var obj2 = new BaseService();
var mlist = obj2.GetOnlineTempList(CompanyId);
if (mlist == null || mlist.Count == 0)
{
tempmd.TempName = "模板1";
tempmd.CompanyId = CompanyId;
obj2.SaveOnlineTemp(tempmd);
}
//JC_OnlineTemp tempmd = obj2.GetOnlineTempModel(TempId);
senderClass sc = new senderClass();
sc.city = tempmd.city;
sc.country = "CN";
sc.fax = "";
sc.mobile = tempmd.mobile;
sc.phone = "";
sc.postcode = tempmd.postcode;
sc.province = tempmd.province;
sc.streetAddress = tempmd.streetAddress.Replace("#", "");
sc.name = tempmd.name;
string mess = "";
foreach (var md in list)
{
if (PostInfo == md.OnlinePostId)
continue;
if (ShopId != md.ShopId.Value)
shopmodel = JC_ShopService.GetModel(md.ShopId.Value);
ShopId = md.ShopId.Value;
if (shopmodel == null)
continue;
addressDTOs ads = new addressDTOs();
receiverClass rc = new receiverClass();
var ordermodel = obj1.GetOrderPrintModel(md.OrderId.Value);
rc.country = ordermodel.CountryCode;
rc.city = ordermodel.RevCity;
rc.fax = "";
rc.mobile = ordermodel.RevMoblie;
if (rc.mobile != null)
rc.mobile = rc.mobile.Trim('+');
rc.name = ordermodel.RevName;
rc.phone = ordermodel.RevPhone;
if (rc.phone != null)
rc.phone = rc.phone.Trim('+');
rc.postcode = ordermodel.RevPostCode;
rc.province = ordermodel.RevProvince;
rc.streetAddress = ordermodel.RevAddr.Replace("#", "");
ads.receiver = rc;
ads.sender = sc;
string aa = new JavaScriptSerializer().Serialize(ads);
List<declareProductDTOs> plist = new List<declareProductDTOs>();
var GoodsList = obj1.GetPrintGoodsModel(md.OrderId.Value);
if (GoodsList != null)
{
for (int i = 0; i < GoodsList.Count; i++)
{
if (i > 1)
break;
declareProductDTOs gmd = new declareProductDTOs();
string GoodsName = GoodsList[i].GoodsName;
if (GoodsName.Length > 20)
GoodsName = GoodsName.Substring(0, 20);
gmd.categoryCnDesc = GoodsName;
string GoodsENName = "";
if (GoodsList[i].SKU1 != null && GoodsList[i].SKU1 != "" && Pages.IsNatural_Number(GoodsList[i].SKU1) == false)
GoodsENName = GoodsList[i].SKU1;
if (GoodsList[i].TypeDesc != null && GoodsList[i].TypeDesc != "" && Pages.IsNatural_Number(GoodsList[i].TypeDesc) == false)
GoodsENName += GoodsList[i].TypeDesc;
if (GoodsList[i].PostionDesc != null && GoodsList[i].PostionDesc != "" && Pages.IsNatural_Number(GoodsList[i].PostionDesc) == false)
GoodsENName += GoodsList[i].PostionDesc;
if (GoodsENName == "")
{
GoodsENName = "goods";
}
if (i == 1 && GoodsList.Count > 2)
GoodsENName = GoodsENName + "...";
if (GoodsENName.Length > 58)
GoodsENName = GoodsENName.Substring(0, 58);
gmd.categoryEnDesc = GoodsENName;
gmd.hsCode = "0";
if (tempmd.hsCode != null && tempmd.hsCode != "")
gmd.hsCode = tempmd.hsCode;
if (tempmd.DeclareAmount != null)
gmd.productDeclareAmount = tempmd.DeclareAmount.Value;
else
gmd.productDeclareAmount = 10;
gmd.productId = 0;
gmd.productNum = 1;
gmd.productWeight = Convert.ToDecimal(0.2);
gmd.isContainsBattery = 0;
plist.Add(gmd);
}
}
string bb = new JavaScriptSerializer().Serialize(plist);
string error = "";
obj.Appkey = shopmodel.Appkey;
obj.DeveKey = shopmodel.DeveKey;
obj.RefreshToken = shopmodel.RefreshToken;
obj.AccessToken = shopmodel.AccessToken;
obj.RefreshTokenSaveTime = shopmodel.RefreshTokenSaveTime;
obj.AccessTokenUpdateTime = shopmodel.AccessTokenUpdateTime;
string OrderCode = md.PlatOrderCode;
warehouseService wmd = obj.createWarehouseOrder(OrderCode, "ESCROW", PostInfo, InnerPostId.ToString(), InnerName, InnerCode, bb, aa, out error);
if (wmd != null && wmd.errorCode == "1")
obj1.UpdateOrderOnline(md.OrderId.Value, InnerPostId, InnerCode, 0, PostInfo);
else
mess += md.PlatOrderCode + "创建失败" + error;
}
return mess;
}
#endregion
#region 创建速卖通线上发货
[WebMethod(EnableSession = true)]
public string Alibaba_OnlineForTM(List<DT_Order> list, int PostId, string PostInfo, int InnerPostId, string InnerName, string InnerCode, JC_OnlineTemp tempmd)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
if (list == null || list.Count == 0)
return "";
AlibabaApi obj = new AlibabaApi();
JC_Shop shopmodel = new JC_Shop();
int TempId = 0;
var obj1 = new DD_OrderData();
int ShopId = 0;
var obj2 = new BaseService();
var mlist = obj2.GetOnlineTempList(CompanyId);
if (mlist == null || mlist.Count == 0)
{
tempmd.TempName = "模板1";
tempmd.CompanyId = CompanyId;
obj2.SaveOnlineTemp(tempmd);
}
//JC_OnlineTemp tempmd = obj2.GetOnlineTempModel(TempId);
senderClass sc = new senderClass();
sc.city = tempmd.city;
sc.country = "CN";
sc.fax = "";
sc.mobile = tempmd.mobile;
sc.phone = "";
sc.postcode = tempmd.postcode;
sc.province = tempmd.province;
sc.streetAddress = tempmd.streetAddress.Replace("#", "");
sc.name = tempmd.name;
string mess = "";
string outmess = "";
string addrid = "";
foreach (var md in list)
{
if (PostInfo == md.OnlinePostId)
continue;
if (ShopId != md.ShopId.Value)
{
shopmodel = JC_ShopService.GetModel(md.ShopId.Value);
}
if (outmess != "")
{
mess += md.PlatOrderCode + ":" + outmess + ";";
continue;
}
if (shopmodel == null)
continue;
obj.Appkey = shopmodel.Appkey;
obj.DeveKey = shopmodel.DeveKey;
obj.RefreshToken = shopmodel.RefreshToken;
obj.AccessToken = shopmodel.AccessToken;
obj.RefreshTokenSaveTime = shopmodel.RefreshTokenSaveTime;
obj.AccessTokenUpdateTime = shopmodel.AccessTokenUpdateTime;
if (ShopId != md.ShopId.Value)
{
addrid = obj.getLogisticsSellerAddresses(out outmess);
}
ShopId = md.ShopId.Value;
if (outmess != "")
{
mess += md.PlatOrderCode + ":" + outmess + ";";
continue;
}
addressDTOs ads = new addressDTOs();
receiverClass rc = new receiverClass();
var ordermodel = obj1.GetOrderPrintModel(md.OrderId.Value);
rc.country = ordermodel.CountryCode;
rc.city = ordermodel.RevCity;
rc.fax = "";
rc.mobile = ordermodel.RevMoblie;
if (rc.mobile != null)
rc.mobile = rc.mobile.Trim('+');
rc.name = ordermodel.RevName;
rc.phone = ordermodel.RevPhone;
if (rc.phone != null)
rc.phone = rc.phone.Trim('+');
rc.postcode = ordermodel.RevPostCode;
rc.province = ordermodel.RevProvince;
if (addrid != "")
sc.addressId = Convert.ToInt64(addrid);
rc.streetAddress = ordermodel.RevAddr.Replace("#", "").Replace("+", " ").Replace("&", " ").Replace("/", " ");
ads.receiver = rc;
ads.sender = sc;
string aa = new JavaScriptSerializer().Serialize(ads);
List<declareProductDTOs> plist = new List<declareProductDTOs>();
var GoodsList = obj1.GetPrintGoodsModel(md.OrderId.Value);
if (GoodsList != null)
{
for (int i = 0; i < GoodsList.Count; i++)
{
if (i > 1)
break;
declareProductDTOs gmd = new declareProductDTOs();
string GoodsName = GoodsList[i].GoodsName.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " ");
if (GoodsName.Length > 20)
GoodsName = GoodsName.Substring(0, 20);
gmd.categoryCnDesc = GoodsName;
string GoodsENName = "";
if (GoodsList[i].SKU1 != null && GoodsList[i].SKU1 != "" && Pages.IsNatural_Number(GoodsList[i].SKU1) == false)
GoodsENName = GoodsList[i].SKU1;
if (GoodsList[i].TypeDesc != null && GoodsList[i].TypeDesc != "" && Pages.IsNatural_Number(GoodsList[i].TypeDesc) == false)
GoodsENName += GoodsList[i].TypeDesc;
if (GoodsList[i].PostionDesc != null && GoodsList[i].PostionDesc != "" && Pages.IsNatural_Number(GoodsList[i].PostionDesc) == false)
GoodsENName += GoodsList[i].PostionDesc;
if (GoodsENName == "")
{
GoodsENName = "goods";
}
if (i == 1 && GoodsList.Count > 2)
GoodsENName = GoodsENName + "...";
if (GoodsENName.Length > 58)
GoodsENName = GoodsENName.Substring(0, 58);
gmd.categoryEnDesc = GoodsENName;
gmd.hsCode = "0";
if (tempmd.hsCode != null && tempmd.hsCode != "")
gmd.hsCode = tempmd.hsCode;
if (tempmd.DeclareAmount != null)
gmd.productDeclareAmount = tempmd.DeclareAmount.Value;
else
gmd.productDeclareAmount = 10;
gmd.productId = 0;
gmd.productNum = 1;
gmd.productWeight = Convert.ToDecimal(0.2);
if (tempmd.IsBattery == 1)
gmd.isContainsBattery = 1;
else
gmd.isContainsBattery = 0;
plist.Add(gmd);
}
}
string bb = new JavaScriptSerializer().Serialize(plist);
string error = "";
string OrderCode = md.PlatOrderCode;
int LogisticsId = 2;
if (PostId == 79)
LogisticsId = 3;
warehouseService wmd = obj.createWarehouseOrder(OrderCode, "ESCROW", PostInfo, InnerPostId.ToString(), InnerName, InnerCode, bb, aa, out error);
if (wmd != null && wmd.errorCode == "1")
obj1.UpdateOrderOnlineForTM(md.OrderId.Value, InnerPostId, InnerCode, 0, LogisticsId, PostId);
else
{
if (wmd != null)
mess += md.PlatOrderCode + "创建失败" + error + wmd.errorDesc;
else
mess += md.PlatOrderCode + "创建失败" + error;
}
}
return mess;
}
#endregion
#region 创建速卖通线上发货(最新)
[WebMethod(EnableSession = true)]
public string Alibaba_OnlineForTMNew(List<DT_Order> list, int PostId, string PostInfo, int InnerPostId, string InnerName, string InnerCode, JC_OnlineTemp tempmd)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
if (list == null || list.Count == 0)
return "";
AlibabaApi obj = new AlibabaApi();
JC_Shop shopmodel = new JC_Shop();
int TempId = 0;
var obj1 = new DD_OrderData();
int ShopId = 0;
var obj2 = new BaseService();
var mlist = obj2.GetOnlineTempList(CompanyId);
if (mlist == null || mlist.Count == 0)
{
tempmd.TempName = "模板1";
tempmd.CompanyId = CompanyId;
obj2.SaveOnlineTemp(tempmd);
}
//JC_OnlineTemp tempmd = obj2.GetOnlineTempModel(TempId);
senderClass sc = new senderClass();
sc.city = tempmd.city;
sc.country = "CN";
sc.fax = "";
sc.mobile = tempmd.mobile;
sc.phone = "";
sc.postcode = tempmd.postcode;
sc.province = tempmd.province;
sc.streetAddress = tempmd.streetAddress.Replace("#", "");
sc.name = tempmd.name;
string mess = "";
string outmess = "";
string addrid = "";
JC_ExpressService obj3=new JC_ExpressService();
var pmd = obj3.GetExpressModel(CompanyId, PostId);
if (pmd != null)
PostInfo = pmd.customercode;
foreach (var md in list)
{
if (PostInfo == md.OnlinePostId)
continue;
if (ShopId != md.ShopId.Value)
{
shopmodel = JC_ShopService.GetModel(md.ShopId.Value);
}
if (outmess != "")
{
mess += md.PlatOrderCode + ":" + outmess + ";";
continue;
}
if (shopmodel == null)
continue;
obj.Appkey = shopmodel.Appkey;
obj.DeveKey = shopmodel.DeveKey;
obj.RefreshToken = shopmodel.RefreshToken;
obj.AccessToken = shopmodel.AccessToken;
obj.RefreshTokenSaveTime = shopmodel.RefreshTokenSaveTime;
obj.AccessTokenUpdateTime = shopmodel.AccessTokenUpdateTime;
try
{
if (ShopId != md.ShopId.Value)
{
addrid = obj.getLogisticsSellerAddresses(out outmess);
}
ShopId = md.ShopId.Value;
if (outmess != "")
{
mess += md.PlatOrderCode + ":" + outmess + "请到速卖通平台设置发货地址;";
continue;
}
}
catch(Exception ex)
{
mess += md.PlatOrderCode + ":请到速卖通平台设置发货地址;";
continue;
}
addressDTOs ads = new addressDTOs();
receiverClass rc = new receiverClass();
var ordermodel = obj1.GetOrderPrintModel(md.OrderId.Value);
rc.country = ordermodel.CountryCode;
rc.city = ordermodel.RevCity;
rc.fax = "";
rc.mobile = ordermodel.RevMoblie;
if (rc.mobile != null)
rc.mobile = rc.mobile.Trim('+');
rc.name = ordermodel.RevName;
rc.phone = ordermodel.RevPhone;
if (rc.phone != null)
rc.phone = rc.phone.Trim('+');
rc.postcode = ordermodel.RevPostCode;
rc.province = ordermodel.RevProvince;
if (addrid != "")
sc.addressId = Convert.ToInt64(addrid);
rc.streetAddress = ordermodel.RevAddr.Replace("#", "").Replace("+", " ").Replace("&", " ").Replace("/", " ");
ads.receiver = rc;
ads.sender = sc;
string aa = new JavaScriptSerializer().Serialize(ads);
List<declareProductDTOs> plist = new List<declareProductDTOs>();
var GoodsList = obj1.GetPrintGoodsModel(md.OrderId.Value);
if (GoodsList != null)
{
for (int i = 0; i < GoodsList.Count; i++)
{
if (i > 1)
break;
declareProductDTOs gmd = new declareProductDTOs();
string GoodsName = GoodsList[i].GoodsName.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " ");
if (GoodsName.Length > 20)
GoodsName = GoodsName.Substring(0, 20);
gmd.categoryCnDesc = GoodsName;
string GoodsENName = "";
if (GoodsList[i].SKU1 != null && GoodsList[i].SKU1 != "" && Pages.IsNatural_Number(GoodsList[i].SKU1) == false)
GoodsENName = GoodsList[i].SKU1;
if (GoodsList[i].TypeDesc != null && GoodsList[i].TypeDesc != "" && Pages.IsNatural_Number(GoodsList[i].TypeDesc) == false)
GoodsENName += GoodsList[i].TypeDesc;
if (GoodsList[i].PostionDesc != null && GoodsList[i].PostionDesc != "" && Pages.IsNatural_Number(GoodsList[i].PostionDesc) == false)
GoodsENName += GoodsList[i].PostionDesc;
if (GoodsENName == "")
{
GoodsENName = "goods";
}
if (i == 1 && GoodsList.Count > 2)
GoodsENName = GoodsENName + "...";
if (GoodsENName.Length > 58)
GoodsENName = GoodsENName.Substring(0, 58);
gmd.categoryEnDesc = GoodsENName;
gmd.hsCode = "0";
if (tempmd.hsCode != null && tempmd.hsCode != "")
gmd.hsCode = tempmd.hsCode;
if (tempmd.DeclareAmount != null)
gmd.productDeclareAmount = tempmd.DeclareAmount.Value;
else
gmd.productDeclareAmount = 10;
gmd.productId = 0;
gmd.productNum = 1;
gmd.productWeight = Convert.ToDecimal(0.2);
if (tempmd.IsBattery == 1)
gmd.isContainsBattery = 1;
else
gmd.isContainsBattery = 0;
plist.Add(gmd);
}
}
string bb = new JavaScriptSerializer().Serialize(plist);
string error = "";
string OrderCode = md.PlatOrderCode;
int LogisticsId = 10;
//if (PostId == 79)
// LogisticsId = 3;
warehouseService wmd = obj.createWarehouseOrder(OrderCode, "ESCROW", PostInfo, InnerPostId.ToString(), InnerName, InnerCode, bb, aa, out error);
if (wmd != null && wmd.errorCode == "1")
obj1.UpdateOrderOnlineForTM(md.OrderId.Value, InnerPostId, InnerCode, 0, LogisticsId, PostId);
else
{
if (wmd != null)
mess += md.PlatOrderCode + "创建失败" + error + wmd.errorDesc;
else
mess += md.PlatOrderCode + "创建失败" + error;
}
}
return mess;
}
#endregion
#region 创建速卖通线上发货
[WebMethod(EnableSession = true)]
public string Alibaba_OnlineForTM2(List<DT_Order> list, int PostId, string PostInfo, int InnerPostId, string InnerName, string InnerCode, JC_OnlineTemp tempmd)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
if (list == null || list.Count == 0)
return "";
AlibabaApi obj = new AlibabaApi();
JC_Shop shopmodel = new JC_Shop();
int TempId = 0;
var obj1 = new DD_OrderData();
int ShopId = 0;
var obj2 = new BaseService();
var mlist = obj2.GetOnlineTempList(CompanyId);
if (mlist == null || mlist.Count == 0)
{
tempmd.TempName = "模板1";
tempmd.CompanyId = CompanyId;
obj2.SaveOnlineTemp(tempmd);
}
//JC_OnlineTemp tempmd = obj2.GetOnlineTempModel(TempId);
senderClass sc = new senderClass();
sc.city = tempmd.city;
sc.country = "CN";
sc.fax = "";
sc.mobile = tempmd.mobile;
sc.phone = "";
sc.postcode = tempmd.postcode;
sc.province = tempmd.province;
sc.streetAddress = tempmd.streetAddress.Replace("#", "");
sc.name = tempmd.name;
string mess = "";
string outmess = "";
string addrid = "";
foreach (var md in list)
{
if (PostInfo == md.OnlinePostId)
continue;
if (ShopId != md.ShopId.Value)
{
shopmodel = JC_ShopService.GetModel(md.ShopId.Value);
addrid = obj.getLogisticsSellerAddresses(out outmess);
}
if (outmess != "")
{
mess += outmess;
continue;
}
ShopId = md.ShopId.Value;
if (shopmodel == null)
continue;
addressDTOs ads = new addressDTOs();
receiverClass rc = new receiverClass();
var ordermodel = obj1.GetOrderPrintModel(md.OrderId.Value);
rc.country = ordermodel.CountryCode;
rc.city = ordermodel.RevCity;
rc.fax = "";
rc.mobile = ordermodel.RevMoblie;
if (rc.mobile != null)
rc.mobile = rc.mobile.Trim('+');
rc.name = ordermodel.RevName;
rc.phone = ordermodel.RevPhone;
if (rc.phone != null)
rc.phone = rc.phone.Trim('+');
rc.postcode = ordermodel.RevPostCode;
rc.province = ordermodel.RevProvince;
if (addrid != "")
sc.addressId = Convert.ToInt64(addrid);
rc.streetAddress = ordermodel.RevAddr.Replace("#", "").Replace("+", " ").Replace("&", " ").Replace("/", " ");
ads.receiver = rc;
ads.sender = sc;
string aa = new JavaScriptSerializer().Serialize(ads);
List<declareProductDTOs> plist = new List<declareProductDTOs>();
var GoodsList = obj1.GetPrintGoodsModel(md.OrderId.Value);
if (GoodsList != null)
{
for (int i = 0; i < GoodsList.Count; i++)
{
if (i > 1)
break;
declareProductDTOs gmd = new declareProductDTOs();
string GoodsName = GoodsList[i].GoodsName.Replace("+", " ").Replace("&", " ").Replace("#", " ").Replace("/", " ");
if (GoodsName.Length > 20)
GoodsName = GoodsName.Substring(0, 20);
gmd.categoryCnDesc = GoodsName;
string GoodsENName = "";
if (GoodsList[i].SKU1 != null && GoodsList[i].SKU1 != "" && Pages.IsNatural_Number(GoodsList[i].SKU1) == false)
GoodsENName = GoodsList[i].SKU1;
if (GoodsList[i].TypeDesc != null && GoodsList[i].TypeDesc != "" && Pages.IsNatural_Number(GoodsList[i].TypeDesc) == false)
GoodsENName += GoodsList[i].TypeDesc;
if (GoodsList[i].PostionDesc != null && GoodsList[i].PostionDesc != "" && Pages.IsNatural_Number(GoodsList[i].PostionDesc) == false)
GoodsENName += GoodsList[i].PostionDesc;
if (GoodsENName == "")
{
GoodsENName = "goods";
}
if (i == 1 && GoodsList.Count > 2)
GoodsENName = GoodsENName + "...";
if (GoodsENName.Length > 58)
GoodsENName = GoodsENName.Substring(0, 58);
gmd.categoryEnDesc = GoodsENName;
gmd.hsCode = "0";
if (tempmd.hsCode != null && tempmd.hsCode != "")
gmd.hsCode = tempmd.hsCode;
if (tempmd.DeclareAmount != null)
gmd.productDeclareAmount = tempmd.DeclareAmount.Value;
else
gmd.productDeclareAmount = 10;
gmd.productId = 0;
gmd.productNum = 1;
gmd.productWeight = Convert.ToDecimal(0.2);
gmd.isContainsBattery = 0;
plist.Add(gmd);
}
}
if (mess != "")
return mess;
string bb = new JavaScriptSerializer().Serialize(plist);
string error = "";
obj.Appkey = shopmodel.Appkey;
obj.DeveKey = shopmodel.DeveKey;
obj.RefreshToken = shopmodel.RefreshToken;
obj.AccessToken = shopmodel.AccessToken;
obj.RefreshTokenSaveTime = shopmodel.RefreshTokenSaveTime;
obj.AccessTokenUpdateTime = shopmodel.AccessTokenUpdateTime;
string OrderCode = md.PlatOrderCode;
int LogisticsId = 2;
if (PostId == 79)
LogisticsId = 3;
warehouseService wmd = obj.createWarehouseOrder(OrderCode, "ESCROW", PostInfo, InnerPostId.ToString(), InnerName, InnerCode, bb, aa, out error);
if (wmd != null && wmd.errorCode == "1")
obj1.UpdateOrderOnlineForTM(md.OrderId.Value, InnerPostId, InnerCode, 0, LogisticsId, PostId);
else
{
if (wmd != null)
mess += md.PlatOrderCode + "创建失败" + error + wmd.errorDesc;
else
mess += md.PlatOrderCode + "创建失败" + error;
}
}
return mess;
}
#endregion
#region 创建速卖通线上发货物流单号
[WebMethod(EnableSession = true)]
public string GetOnlineTrackNo(List<DT_Order> list)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
if (list == null || list.Count == 0)
return "";
AlibabaApi obj = new AlibabaApi();
JC_Shop shopmodel = new JC_Shop();
var obj1 = new DD_OrderData();
int ShopId = 0;
var obj2 = new BaseService();
//JC_OnlineTemp tempmd = obj2.GetOnlineTempModel(TempId);
string mess = "";
foreach (var md in list)
{
if (ShopId != md.ShopId.Value)
shopmodel = JC_ShopService.GetModel(md.ShopId.Value);
ShopId = md.ShopId.Value;
if (shopmodel == null)
continue;
obj.Appkey = shopmodel.Appkey;
obj.DeveKey = shopmodel.DeveKey;
obj.RefreshToken = shopmodel.RefreshToken;
obj.AccessToken = shopmodel.AccessToken;
obj.RefreshTokenSaveTime = shopmodel.RefreshTokenSaveTime;
obj.AccessTokenUpdateTime = shopmodel.AccessTokenUpdateTime;
string error = "";
var lglist = obj.getOnlineLogisticsInfo(md.PlatOrderCode, out error);
if (lglist != null && lglist.Count > 0)
{
obj1.UpdateOrderOnlineTrackNo(md.OrderId.Value, lglist[0].internationallogisticsId);
}
else
{
mess += md.PlatOrderCode + "获取失败;";
}
//if (error != "")
// mess +=md.PlatOrderCode+ "获取失败;";
//obj.createWarehouseOrder(OrderCode, "ESCROW", PostInfo, InnerPostId.ToString(), InnerName, InnerCode, bb, aa, out mess);
}
if (mess == "")
mess = "获取成功";
else
{
mess += "请稍后再获取";
}
return mess;
}
#endregion
#region 创建速卖通线上发货物流单号
[WebMethod(EnableSession = true)]
public string GetOnlineTrackNoForTM(List<DT_Order> list)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
if (list == null || list.Count == 0)
return "";
AlibabaApi obj = new AlibabaApi();
JC_Shop shopmodel = new JC_Shop();
var obj1 = new DD_OrderData();
int ShopId = 0;
var obj3 = new DD_OrderData();
var obj2 = new BaseService();
//JC_OnlineTemp tempmd = obj2.GetOnlineTempModel(TempId);
string mess = "";
var hblist = new List<DT_Order>();
foreach (var md in list)
{
if (ShopId != md.ShopId.Value)
shopmodel = JC_ShopService.GetModel(md.ShopId.Value);
ShopId = md.ShopId.Value;
if (shopmodel == null)
continue;
if (md.JoinOrderCode != null && md.JoinOrderCode != "")
{
var hbmd = hblist.Find(n => n.JoinOrderCode == md.JoinOrderCode);
if (hbmd != null)
continue;
else
{
var hmd = new DT_Order();
hmd.JoinOrderCode = md.JoinOrderCode;
hblist.Add(hmd);
}
}
obj.Appkey = shopmodel.Appkey;
obj.DeveKey = shopmodel.DeveKey;
obj.RefreshToken = shopmodel.RefreshToken;
obj.AccessToken = shopmodel.AccessToken;
obj.RefreshTokenSaveTime = shopmodel.RefreshTokenSaveTime;
obj.AccessTokenUpdateTime = shopmodel.AccessTokenUpdateTime;
string error = "";
string logistType = "";
var lglist = obj.getOnlineLogisticsInfo(md.PlatOrderCode, out error);
if (lglist != null && lglist.Count > 0)
{
if (md.Post == 78)
{
logistType = "CPAM_WLB_CPAMNB";
}
if (md.Post == 79)
{
logistType = "YANWENJYT_WLB_CPAMNB";
}
if (md.Post == 200)
{
logistType = "SINOTRANS_AM_WLB_NB";
}
if (md.Post == 201)
{
logistType = "CAINIAO_STANDARD_TS_1731793";
}
if (md.Post == 202)
{
logistType = "CAINIAO_STANDARD_TS_1731793";
}
if (md.Post == 250)
{
logistType = "CAINIAO_PREMIUM_YANWENNB";
}
var checklg = lglist.Where(o => o.internationalLogisticsType == logistType);
if (checklg != null)
{
foreach (var q in checklg)
{
if (obj3.IsOrderTrackCode(md.OrderId.GetValueOrDefault(0), q.internationallogisticsId) > 0)
{
continue;
}
//if (obj3.IsOrderTrackCode2(md.OrderId.GetValueOrDefault(0), md.JoinOrderCode) > 0)
//{
// if (!md.ErrorInfo.Contains(q.internationallogisticsId))
// {
// obj3.SaveTrackError(md.OrderId.GetValueOrDefault(0), md.ErrorInfo + "另一个跟踪码为:" + q.internationallogisticsId);
// }
// continue;
//}
//obj1.UpdateOrderOnlineTrackNo(md.OrderId.Value, lglist[0].internationallogisticsId);
DT_TrackCodeApply Model = new DT_TrackCodeApply();
Model.TrackCode = q.internationallogisticsId.Trim();
Model.TrackCode2 = q.lpNumber.Trim() + "," + q.channelCode;
Model.GetDate = DateTime.Now;
Model.InName = Session["Name"].ToString();
if (md.JoinOrderCode != "" && md.JoinOrderCode != null)
Model.OrderCode = md.JoinOrderCode;
else
Model.OrderCode = md.PlatOrderCode;
Model.OrderId = md.OrderId.Value;
Model.PostId = md.Post;
Model.State = 1;
Model.TrackType = 1;
Model.UpdateTime = DateTime.Now;
Model.IsSpare = 0;
Model.JoinOrderCode = md.JoinOrderCode;
//obj.UpdateTrackCode(PostCode, PostId,OrderId, ErrorInfo);
obj3.SaveTrackCodeApply(Model);
}
}
}
else
{
mess += md.PlatOrderCode + "获取失败;";
}
//if (error != "")
// mess +=md.PlatOrderCode+ "获取失败;";
//obj.createWarehouseOrder(OrderCode, "ESCROW", PostInfo, InnerPostId.ToString(), InnerName, InnerCode, bb, aa, out mess);
}
if (mess == "")
mess = "获取成功";
else
{
mess += "请稍后再获取";
}
return mess;
}
#endregion
#region 创建速卖通线上发货物流单号 最新
[WebMethod(EnableSession = true)]
public string GetOnlineTrackNoForTMNew(List<DT_Order> list)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
if (list == null || list.Count == 0)
return "";
AlibabaApi obj = new AlibabaApi();
JC_Shop shopmodel = new JC_Shop();
var obj1 = new DD_OrderData();
int ShopId = 0;
var obj3 = new DD_OrderData();
var obj2 = new BaseService();
//JC_OnlineTemp tempmd = obj2.GetOnlineTempModel(TempId);
string mess = "";
var hblist = new List<DT_Order>();
var obj4 = new JC_ExpressService();
var plist = obj4.GetOlineExpressModel(10);
foreach (var md in list)
{
if (ShopId != md.ShopId.Value)
shopmodel = JC_ShopService.GetModel(md.ShopId.Value);
ShopId = md.ShopId.Value;
if (shopmodel == null)
continue;
if (md.JoinOrderCode != null && md.JoinOrderCode != "")
{
var hbmd = hblist.Find(n => n.JoinOrderCode == md.JoinOrderCode);
if (hbmd != null)
continue;
else
{
var hmd = new DT_Order();
hmd.JoinOrderCode = md.JoinOrderCode;
hblist.Add(hmd);
}
}
obj.Appkey = shopmodel.Appkey;
obj.DeveKey = shopmodel.DeveKey;
obj.RefreshToken = shopmodel.RefreshToken;
obj.AccessToken = shopmodel.AccessToken;
obj.RefreshTokenSaveTime = shopmodel.RefreshTokenSaveTime;
obj.AccessTokenUpdateTime = shopmodel.AccessTokenUpdateTime;
string error = "";
string logistType = "";
var lglist = obj.getOnlineLogisticsInfo(md.PlatOrderCode, out error);
if (lglist != null && lglist.Count > 0)
{
if (md.Post == 78)
{
logistType = "CPAM_WLB_CPAMNB";
}
if (md.Post == 79)
{
logistType = "YANWENJYT_WLB_CPAMNB";
}
if (md.Post == 200)
{
logistType = "SINOTRANS_AM_WLB_NB";
}
if (md.Post == 201)
{
logistType = "CAINIAO_STANDARD_TS_1731793";
}
if (md.Post == 202)
{
logistType = "CAINIAO_STANDARD_TS_1731793";
}
if (md.Post == 250)
{
logistType = "CAINIAO_PREMIUM_YANWENNB";
}
if (plist != null)
{
var pmd = plist.Find(n => n.ExpressID == md.Post);
if (pmd != null && pmd.customercode != null)
logistType = pmd.customercode;
}
var checklg = lglist.Where(o => o.internationalLogisticsType == logistType);
if (checklg != null)
{
foreach (var q in checklg)
{
if (obj3.IsOrderTrackCode(md.OrderId.GetValueOrDefault(0), q.internationallogisticsId) > 0)
{
continue;
}
//if (obj3.IsOrderTrackCode2(md.OrderId.GetValueOrDefault(0), md.JoinOrderCode) > 0)
//{
// if (!md.ErrorInfo.Contains(q.internationallogisticsId))
// {
// obj3.SaveTrackError(md.OrderId.GetValueOrDefault(0), md.ErrorInfo + "另一个跟踪码为:" + q.internationallogisticsId);
// }
// continue;
//}
//obj1.UpdateOrderOnlineTrackNo(md.OrderId.Value, lglist[0].internationallogisticsId);
DT_TrackCodeApply Model = new DT_TrackCodeApply();
Model.TrackCode = q.internationallogisticsId.Trim();
Model.TrackCode2 = q.lpNumber.Trim() + "," + q.channelCode;
Model.GetDate = DateTime.Now;
Model.InName = Session["Name"].ToString();
if (md.JoinOrderCode != "" && md.JoinOrderCode != null)
Model.OrderCode = md.JoinOrderCode;
else
Model.OrderCode = md.PlatOrderCode;
Model.OrderId = md.OrderId.Value;
Model.PostId = md.Post;
Model.State = 1;
Model.TrackType = 1;
Model.UpdateTime = DateTime.Now;
Model.IsSpare = 0;
Model.JoinOrderCode = md.JoinOrderCode;
//obj.UpdateTrackCode(PostCode, PostId,OrderId, ErrorInfo);
obj3.SaveTrackCodeApply(Model);
}
}
}
else
{
mess += md.PlatOrderCode + "获取失败;";
}
//if (error != "")
// mess +=md.PlatOrderCode+ "获取失败;";
//obj.createWarehouseOrder(OrderCode, "ESCROW", PostInfo, InnerPostId.ToString(), InnerName, InnerCode, bb, aa, out mess);
}
if (mess == "")
mess = "获取成功";
else
{
mess += "请稍后再获取";
}
return mess;
}
#endregion
#region 速卖通线上发货方案
[WebMethod(EnableSession = true)]
public List<logisticsService> GetOnlineLogistics(string OrderCode, int ShopId)
{
Pages.Login(this.Session);
AlibabaApi obj = new AlibabaApi();
var shopmodel = JC_ShopService.GetModel(ShopId);
if (shopmodel == null)
return null;
obj.Appkey = shopmodel.Appkey;
obj.DeveKey = shopmodel.DeveKey;
obj.RefreshToken = shopmodel.RefreshToken;
obj.AccessToken = shopmodel.AccessToken;
obj.GroupName = shopmodel.ShopName;
obj.RefreshTokenSaveTime = shopmodel.RefreshTokenSaveTime;
obj.AccessTokenUpdateTime = shopmodel.AccessTokenUpdateTime;
string mess = "";
var list = obj.getOnlineLogistics(OrderCode, out mess);
return list;
}
#endregion
#region 速卖通线上发货面单
[WebMethod(EnableSession = true)]
public string GetOnlineLogisticsPrint(List<DT_Order> list)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
if (list == null || list.Count == 0)
return "";
int ShopId = list[0].ShopId.Value;
AlibabaApi obj = new AlibabaApi();
JC_Shop shopmodel = new JC_Shop();
var obj1 = new DD_OrderData();
var obj2 = new BaseService();
shopmodel = JC_ShopService.GetModel(ShopId);
if (shopmodel == null)
return null;
obj.Appkey = shopmodel.Appkey;
obj.DeveKey = shopmodel.DeveKey;
obj.RefreshToken = shopmodel.RefreshToken;
obj.AccessToken = shopmodel.AccessToken;
obj.RefreshTokenSaveTime = shopmodel.RefreshTokenSaveTime;
obj.AccessTokenUpdateTime = shopmodel.AccessTokenUpdateTime;
var loglist = new List<Logistics>();
foreach (var md in list)
{
string TrackCode="";
if (md.TrackCode != null && md.TrackCode != "")
{
TrackCode = md.TrackCode.Replace("<br/>",",");
}
string[] tcodes=TrackCode.TrimEnd(',').Split(',');
for(int i=0;i<tcodes.Length;i++)
{
var md1 = new Logistics();
md1.internationalLogisticsId = tcodes[i];
loglist.Add(md1);
}
}
string error = "";
string trackinfo = new JavaScriptSerializer().Serialize(loglist);
string path = obj.GetPrintInfo(trackinfo, out error);
if (error != "")
return error;
//if (path != "")
//{
// foreach (var md in list)
// {
// obj1.UpdatePrintOrder(md.OrderId.Value);
// }
//}
return path;
}
#endregion
#region 速卖通线上发货方案
[WebMethod(EnableSession = true)]
public List<logisticsService> GetOnlineLogisticsList()
{
Pages.Login(this.Session);
BaseService obj = new BaseService();
var list = obj.GetOnlineLogisticsList();
return list;
}
#endregion
#region 导出订单数据
[WebMethod(EnableSession = true)]
public string ExcelOrderData(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 IsDetail, int HBOrder)
{
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
DataTable tb = GetListOrderExcel(PlatType, ShopId, DateType, SDate, EDate, TjType, Name, PrintState, MateState, MoneyState, OutDays, State, IsSku, IsError, IsDetail, HBOrder);
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("PlatOrderCode", "订单号", DbType.String, "");
listColumns.Add("ShopName", "店铺", DbType.String, "");
listColumns.Add("OrderDate", "订单日期", DbType.String, "");
listColumns.Add("InDate", "导入日期", DbType.String, "");
listColumns.Add("GoodsNum", "购买数量", DbType.String, "");
listColumns.Add("TotalPrice", "订单金额", DbType.String, "");
listColumns.Add("RevName", "收货人", DbType.String, "");
listColumns.Add("RevAddr", "收件地址", DbType.String, "");
listColumns.Add("RevPostCode", "收件邮编", DbType.String, "");
listColumns.Add("RevCity", "收件城市", DbType.String, "");
listColumns.Add("RevProvince", "收件州省", DbType.String, "");
listColumns.Add("RevPhone", "收件人电话", DbType.String, "");
listColumns.Add("RevMoblie", "收件人手机", DbType.String, "");
listColumns.Add("CountryName", "收件国家", DbType.String, "");
//listColumns.Add("GoodsName", "物品描述", DbType.String, "");
listColumns.Add("PostInfo", "物流渠道", DbType.String, "");
listColumns.Add("TrackCode", "跟踪码", DbType.String, "");
listColumns.Add("PostFee", "运费", DbType.String, "f2");
listColumns.Add("TotalWeight", "重量(克)", DbType.String, "f2");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(tb, listColumns);
}
#endregion
#region 导入重量运费
[WebMethod(EnableSession = true)]
public string ImportOrderWeight(string FileName)
{
Pages.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 (string.IsNullOrEmpty(error) == false) return error + ";请导入格式不正确";
DD_OrderData obj = new DD_OrderData();
int Num = 0;
for (int i = 0; i < tb.Rows.Count; i++)
{
string OrderCode = tb.Rows[i]["订单号"].ToString().Trim();
if (OrderCode == "" && tb.Rows[i]["重量(克)"].ToString().Trim() == "")
{
continue;
}
decimal PostFee = -1;
decimal Weight = -1;
if (OrderCode == "")
{
error += "第" + (i + 2).ToString() + " 行订单号没填<br/>";
continue;
}
if (tb.Rows[i]["运费"].ToString().Trim() != "")
{
try
{
PostFee = Convert.ToDecimal(tb.Rows[i]["运费"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的运费必须是数字<br/>";
continue;
}
}
if (tb.Rows[i]["重量(克)"].ToString().Trim() != "")
{
try
{
Weight = Convert.ToDecimal(tb.Rows[i]["重量(克)"].ToString().Trim());
}
catch (Exception ex)
{
error += "第" + (i + 2).ToString() + " 行的重量(克)必须是数字<br/>";
continue;
}
}
obj.ImportOrderWeight(OrderCode, PostFee, Weight);
Num++;
}
if (error == "")
{
error = "数据数据成功共【" + Num.ToString() + "条】;";
}
else
{
error = "数据导入成功【" + Num.ToString() + "条】;" + error;
}
return error;
}
catch (Exception e)
{
return "文件导入失败!请确定模板格式是否正确,或者重新下载模板,填写数据,重新导入!!!" + e.Message;
}
return "导入成功";
}
#endregion
#region 导入订单导出
[WebMethod(EnableSession = true)]
public Track_Excel ImportOrderTrackCode(string FileName)
{
Pages.Login(this.Session);
Track_Excel model = new Track_Excel();
if (string.IsNullOrEmpty(FileName) == true)
{
model.Error = "要导入的文件路径不能为空";
return model;
}
string ServerFileName = AppDomain.CurrentDomain.BaseDirectory + FileName;
if (System.IO.File.Exists(ServerFileName) == false)
{
model.Error = "要导入的文件路径不存在";
return model;
}
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
try
{
MicrosoftExcel excel = new MicrosoftExcel();
DataTable tb = excel.ImportExcel(ServerFileName);
string Ids = "";
string error = "";
if (tb.Columns.Contains("订单号") == false && tb.Columns.Contains("跟踪码") == false) { error = error + "导入模板必须包含 订单号或者跟踪码"; }
if (string.IsNullOrEmpty(error) == false)
if (System.IO.File.Exists(ServerFileName) == false)
{
model.Error += ";请导入格式不正确";
return model;
}
DD_OrderData obj = new DD_OrderData();
for (int i = 0; i < tb.Rows.Count; i++)
{
string OrderCode = "";
string TrackCode = "";
if (tb.Columns.Contains("订单号") == true)
OrderCode = tb.Rows[i]["订单号"].ToString().Trim();
if (tb.Columns.Contains("跟踪码") == true)
TrackCode = tb.Rows[i]["跟踪码"].ToString().Trim();
if (OrderCode == "" && TrackCode == "")
{
continue;
}
//if (OrderCode == "")
//{
// error += "第" + (i + 2).ToString() + " 行订单号没填/r/n";
// continue;
//}
var list = obj.Get_OrderTrackCodeScan(TrackCode, OrderCode);
if (list == null || list.Count == 0)
{
error += OrderCode + " " + TrackCode + " 没找到扫描记录\r\n";
continue;
}
foreach (var md in list)
{
Ids += md.Id.ToString() + ",";
}
}
//if (error == "")
//{
// error = "数据数据成功共【" + Num.ToString() + "条】;";
//}
//else
//{
// error = "数据导入成功【" + Num.ToString() + "条】;" + error;
//}
model.Error = error;
model.Ids = Ids;
}
catch (Exception e)
{
model.Error = "文件导入失败!请确定模板格式是否正确,或者重新下载模板,填写数据,重新导入!!!" + e.Message;
return model;
}
return model;
}
#endregion
#region 保存重量运费
[WebMethod(EnableSession = true)]
public string SaveOrderWeight(List<DT_Order> list)
{
Pages.Login(this.Session);
if (list != null)
{
DD_OrderData obj = new DD_OrderData();
foreach (var md in list)
{
obj.ImportOrderWeight(md.OrderId.Value, md.PostFee.Value, md.TotalWeight.Value);
}
}
return "成功";
}
#endregion
#region 查询留言
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_Leaveword>> GetListDT_Leaveword(int ShopId, DateTime? SDate, DateTime? EDate, string Content, string OrderCode, int State, int ReadState, int PageIndex, int PageSize)
{
Pages.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);
Param.Add("b.CompanyId", "=", CompanyId, DbType.Int32);
if (ReadState > -1)
Param.Add("a.isRead", "=", ReadState, DbType.Boolean);
if (ShopId > 0)
Param.Add("b.ShopId", "=", ShopId, DbType.Int32);
if (ShopId > 0)
Param.Add("a.ShopId", "=", ShopId, DbType.Int32);
if (SDate != null)
Param.Add("a.wordCreateCN", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.wordCreateCN", "<=", EDate.Value, DbType.DateTime);
if (Content != "")
{
Content = Content.Trim();
Param.Add("(a.wordContent", "like", Content, DbType.String);
Param.Add("a.senderName", "like", Content, "or", ")", DbType.String);
}
if (OrderCode != "")
Param.Add("a.orderId", "like", OrderCode.Trim(), DbType.String);
if (State == 3)
Param.Add("b.State", "=", 2, DbType.Int32);
else if (State == 4)
Param.Add("b.State", "=", 3, DbType.Int32);
else if (State > -1)
{
Param.Add("b.State", ">", 0, DbType.Int32);
Param.Add("b.PostState", "=", State, DbType.Int32);
}
else
Param.Add("b.State", ">", 0, DbType.Int32);
// Param.Add("a.OrderDate", ">=", 0, DbType.Int32);
JsonModel<List<DT_Leaveword>> resultModel = new JsonModel<List<DT_Leaveword>>();
int RowCount = 0;
string Sort = "id desc";
resultModel.DataSource = obj.GetListDT_Leaveword(Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
if (resultModel.DataSource != null)
{
var obj2 = new BaseService();
var flist = obj2.GetAliFaceImgList();
if (flist != null)
{
foreach (var md in resultModel.DataSource)
{
string content = md.wordContent;
foreach (var fmd in flist)
{
content = content.Replace(fmd.Code, "<img src='../" + fmd.ImgUrl + "'/>");
}
md.wordContent = content;
}
}
}
return resultModel;
}
#endregion
#region 查询订单留言
[WebMethod(EnableSession = true)]
public List<DT_Leaveword> GetLeavewordFromOrder(string OrderCode)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
if (OrderCode.Trim().StartsWith("H"))
OrderCode = OrderCode.Trim().Substring(1);
var list = obj.GetLeavewordFromOrder(OrderCode);
if (list != null)
{
var obj2 = new BaseService();
var flist = obj2.GetAliFaceImgList();
if (flist != null)
{
foreach (var md in list)
{
string content = md.wordContent;
foreach (var fmd in flist)
{
content = content.Replace(fmd.Code, "<img src='../" + fmd.ImgUrl + "'/>");
}
md.wordContent = content;
}
}
}
return list;
}
#endregion
#region 修改订单留言状态
[WebMethod(EnableSession = true)]
public void UpdateLeavewordState(List<DT_Leaveword> list)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
AlibabaApi obj1 = new AlibabaApi();
JC_Shop ShopModel = new JC_Shop();
if (list != null)
{
int ShopId = 0;
foreach (var md in list)
{
obj.UpdateLeavewordState(md.Id.Value);
if (ShopId != md.ShopId.Value)
ShopModel = JC_ShopService.GetModel(md.ShopId.Value);
ShopId = md.ShopId.Value;
obj1.Appkey = ShopModel.Appkey;
obj1.DeveKey = ShopModel.DeveKey;
obj1.RefreshToken = ShopModel.RefreshToken;
obj1.AccessToken = ShopModel.AccessToken;
obj1.GroupName = ShopModel.ShopName;
obj1.RefreshTokenSaveTime = ShopModel.RefreshTokenSaveTime;
obj1.AccessTokenUpdateTime = ShopModel.AccessTokenUpdateTime;
string mess = "";
obj1.UpdateWordState(md.typeId, out mess);
}
}
}
#endregion
#region 修改订单留言状态
[WebMethod(EnableSession = true)]
public void UpdateLeavewordStateForOrder(string ordercode)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
if (ordercode.Trim().StartsWith("H"))
ordercode = ordercode.Trim().Substring(1);
obj.UpdateLeavewordStateForOrder(ordercode);
var list = obj.GetLeavewordFromOrderNoRead(ordercode);
if (list != null)
{
int ShopId = 0;
AlibabaApi obj1 = new AlibabaApi();
JC_Shop ShopModel = new JC_Shop();
foreach (var md in list)
{
if (ShopId != md.ShopId.Value)
ShopModel = JC_ShopService.GetModel(md.ShopId.Value);
ShopId = md.ShopId.Value;
obj1.Appkey = ShopModel.Appkey;
obj1.DeveKey = ShopModel.DeveKey;
obj1.RefreshToken = ShopModel.RefreshToken;
obj1.AccessToken = ShopModel.AccessToken;
obj1.GroupName = ShopModel.ShopName;
obj1.RefreshTokenSaveTime = ShopModel.RefreshTokenSaveTime;
obj1.AccessTokenUpdateTime = ShopModel.AccessTokenUpdateTime;
string mess = "";
obj1.UpdateWordState(md.typeId, out mess);
}
}
}
#endregion
#region Oneword验证授权
[WebMethod(EnableSession = true)]
public string OnewordSQ(string Code, string Pwd)
{
Pages.Login(this.Session);
string URL = "http://api.oneworldexpress.cn/api/whoami";
string error = "";
string Content = CustomIO.OneWordHttpRequest(URL, "Get", Code, Pwd, null, out error);
if (string.IsNullOrEmpty(error) == false) return "验证失败";
JavaScriptSerializer JsonConvert = new JavaScriptSerializer();
OneWordResultInfo Model = JsonConvert.Deserialize<OneWordResultInfo>(Content);
if (Model != null && Model.Succeeded == true)
return "成功";
else if (Model != null && Model.Error != null)
return "验证失败;" + Model.Error.Message;
else
return "验证失败;";
}
#endregion
#region Oneword创建订单
[WebMethod(EnableSession = true)]
public string OnewordCreate(List<DT_Order> list, string WarehouseCode, string ShippingMethod, int OId, int PostId)
{
Pages.Login(this.Session);
string URL = "http://api-sbx.oneworldexpress.cn/api/parcels";
if (list == null)
return "";
string Error = "";
JC_ExpressService obj = new JC_ExpressService();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var expressmd = obj.GetExpressModel(CompanyId, PostId);
if (expressmd == null)
return "";
if (expressmd.UserCode == null || expressmd.UserCode == "" || expressmd.CheckCode == null || expressmd.CheckCode == "")
return "该物流需要api的账号和令牌";
BaseService obj2 = new BaseService();
var addrmd = new JC_PostAddress();
if (expressmd.DefaultAddr != null)
addrmd = obj2.GetAddressModel(expressmd.DefaultAddr.Value);
DD_OrderData obj1 = new DD_OrderData();
foreach (var omd in list)
{
string ErrorMessage = "";
var ordermodel = obj1.GetOrderPrintModel(omd.OrderId.Value);
OneWordInfo owd = new OneWordInfo();
owd.ReferenceId = ordermodel.PlatOrderCode;
ShippingAddress revadd = new ShippingAddress();
revadd.Province = ordermodel.RevProvince;
revadd.City = ordermodel.RevCity;
revadd.Company = "";
revadd.Country = ordermodel.RevCountry;
revadd.Contacter = ordermodel.RevName;
revadd.Email = ordermodel.RevMail;
revadd.CountryCode = ordermodel.CountryCode;
revadd.Street1 = ordermodel.RevAddr;
revadd.Street2 = "";
revadd.Street3 = "";
string tel = "";
if (ordermodel.RevMoblie != null && ordermodel.RevMoblie != "")
tel = ordermodel.RevMoblie;
else if (ordermodel.RevPhone != null && ordermodel.RevPhone != "")
tel = ordermodel.RevPhone;
revadd.Tel = tel;
revadd.Postcode = ordermodel.RevPostCode;
owd.ShippingAddress = revadd;
var glist = obj1.GetOrderGoodsDetailList(omd.OrderId.Value);
Decimal? wg = 0;
Decimal? jg = 0;
List<ItemDetails> goodslist = new List<ItemDetails>();
if (glist != null)
{
foreach (var gmd in glist)
{
ItemDetails goodsmd = new ItemDetails();
goodsmd.CaseCode = "0";
goodsmd.DeclaredNameCn = gmd.GoodsName;
goodsmd.DeclaredNameEn = "Goods";
MoneyInfo DeclaredValue = new MoneyInfo();
DeclaredValue.Code = "USD";
if (gmd.BGPrice != null)
DeclaredValue.Value = gmd.BGPrice;
else
DeclaredValue.Value = 5;
jg += DeclaredValue.Value;
goodsmd.DeclaredValue = DeclaredValue;
goodsmd.Quantity = 1;
Decimal? wg1 = Convert.ToDecimal(0.5);
if (gmd.Weight != null && gmd.Weight < 2000)
wg1 = gmd.Weight / 1000;
wg += wg1;
goodsmd.WeightInKg = wg1;
goodsmd.CaseCode = "";
goodsmd.SalesUrl = "";
goodslist.Add(goodsmd);
}
}
owd.ItemDetails = goodslist;
owd.WeightInKg = wg;
MoneyInfo TotalValue = new MoneyInfo();
TotalValue.Code = "USD";
TotalValue.Value = jg;
owd.TotalValue = TotalValue;
WeightInfo TotalVolume = new WeightInfo();
TotalVolume.Unit = "CM";
TotalVolume.Length = 10;
TotalVolume.Width = 10;
TotalVolume.Height = 1;
owd.TotalValue = TotalValue;
owd.WithBatteryType = "NOBattery";
owd.Notes = "";
owd.BatchNo = "";
owd.WarehouseCode = WarehouseCode;
owd.ShippingMethod = ShippingMethod;
owd.ItemType = "SPX";
owd.DutyPaymentMethod = "DDU";
owd.TrackingNumber = "";
owd.IsMPS = false;
owd.MPSType = "Normal";
owd.AutoConfirm = true;
ShipperInfo sendaddr = new ShipperInfo();
if (addrmd != null)
{
sendaddr.Name = addrmd.SendName;
sendaddr.Address = addrmd.street;
sendaddr.VatNo = "";
sendaddr.ContactInfo = addrmd.Phone;
}
owd.ShipperInfo = sendaddr;
string aa = new JavaScriptSerializer().Serialize(owd);
byte[] bytes = Encoding.UTF8.GetBytes(aa);
string content = CustomIO.OneWordHttpRequest(URL, "POST", expressmd.UserCode, expressmd.CheckCode, bytes, out ErrorMessage);
if (content == "")
{
Error += ordermodel.PlatOrderCode + "创建失败";
continue;
}
JavaScriptSerializer JsonConvert = new JavaScriptSerializer();
OneWordResult Model = JsonConvert.Deserialize<OneWordResult>(content);
if (Model.Succeeded != true)
{
if (Model.Error != null)
Error += ordermodel.PlatOrderCode + "创建失败,原因" + Model.Error.Message + ";";
else
Error += ordermodel.PlatOrderCode + "创建失败;";
continue;
}
if (Model.Data.TrackingNumber != null && Model.Data.TrackingNumber != "")
obj1.UpdateOrderPostOneCode(omd.OrderId.Value, PostId, OId, Model.Data.ProcessCode, Model.Data.TrackingNumber);
else
obj1.UpdateOrderPostOneCode2(omd.OrderId.Value, PostId, OId, Model.Data.ProcessCode);
omd.PostOneCode = Model.Data.ProcessCode;
omd.TrackCode = Model.Data.TrackingNumber;
}
OnewordGetTrackCode2(list, expressmd, PostId);
return Error;
}
#endregion
#region Oneword获取跟踪码
public string OnewordGetTrackCode2(List<DT_Order> list, JC_ExpressPost expressmd, int PostId)
{
string Error = "";
JC_ExpressService obj = new JC_ExpressService();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
DD_OrderData obj1 = new DD_OrderData();
foreach (var omd in list)
{
if (omd.PostOneCode == null || omd.PostOneCode == "")
continue;
else if (omd.TrackCode != null && omd.TrackCode != "")
continue;
string ErrorMessage = "";
//var ordermodel = obj1.GetOrderModel(omd.OrderId.Value);
string URL = "http://api-sbx.oneworldexpress.cn/api/parcels/" + omd.PostOneCode;
string content = CustomIO.OneWordHttpRequest(URL, "Get", expressmd.UserCode, expressmd.CheckCode, null, out ErrorMessage);
JavaScriptSerializer JsonConvert = new JavaScriptSerializer();
OneWordTrack Model = JsonConvert.Deserialize<OneWordTrack>(content);
if (content == "")
{
//Error += omd.PlatOrderCode + "获取失败";
continue;
}
if (Model.Succeeded != true)
{
//if (Model.Error != null)
// Error += omd.PlatOrderCode + "获取失败,原因" + Model.Error.Message + ";";
//else
// Error += omd.PlatOrderCode + "获取失败;";
continue;
}
if (Model.Data.TrackingNumber != null && Model.Data.TrackingNumber != "")
obj1.UpdateOrderTrackCode(omd.OrderId.Value, Model.Data.TrackingNumber);
}
return Error;
}
#endregion
#region Oneword获取跟踪码
[WebMethod(EnableSession = true)]
public string OnewordGetTrackCode(List<DT_Order> list, int PostId)
{
Pages.Login(this.Session);
if (list == null)
return "";
string Error = "";
JC_ExpressService obj = new JC_ExpressService();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var expressmd = obj.GetExpressModel(CompanyId, PostId);
if (expressmd == null)
return "";
if (expressmd.UserCode == null || expressmd.UserCode == "" || expressmd.CheckCode == null || expressmd.CheckCode == "")
return "该物流需要api的账号和令牌";
DD_OrderData obj1 = new DD_OrderData();
foreach (var omd in list)
{
string ErrorMessage = "";
var ordermodel = obj1.GetOrderModel(omd.OrderId.Value);
string URL = "http://api-sbx.oneworldexpress.cn/api/parcels/" + ordermodel.PostOneCode;
string content = CustomIO.OneWordHttpRequest(URL, "Get", expressmd.UserCode, expressmd.CheckCode, null, out ErrorMessage);
JavaScriptSerializer JsonConvert = new JavaScriptSerializer();
OneWordTrack Model = JsonConvert.Deserialize<OneWordTrack>(content);
if (content == "")
{
Error += ordermodel.PlatOrderCode + "获取失败";
continue;
}
if (Model.Succeeded != true)
{
if (Model.Error != null)
Error += ordermodel.PlatOrderCode + "获取失败,原因" + Model.Error.Message + ";";
else
Error += ordermodel.PlatOrderCode + "获取失败;";
continue;
}
if (Model.Data.TrackingNumber != null && Model.Data.TrackingNumber != "")
obj1.UpdateOrderTrackCode(omd.OrderId.Value, Model.Data.TrackingNumber);
}
return Error;
}
#endregion
#region Oneword获取面单
[WebMethod(EnableSession = true)]
public string OnewordGetPdf(List<DT_Order> list, int PostId)
{
Pages.Login(this.Session);
if (list == null)
return "";
DD_OrderData obj1 = new DD_OrderData();
string URL = "http://api-sbx.oneworldexpress.cn/api/parcels/labels?processCodes=";
foreach (var omd in list)
{
var ordermodel = obj1.GetOrderModel(omd.OrderId.Value);
if (ordermodel.PostOneCode != null)
URL += ordermodel.PostOneCode + "|";
}
URL = URL.Trim('|');
JC_ExpressService obj = new JC_ExpressService();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var expressmd = obj.GetExpressModel(CompanyId, PostId);
if (expressmd == null)
return "";
if (expressmd.UserCode == null || expressmd.UserCode == "" || expressmd.CheckCode == null || expressmd.CheckCode == "")
return "该物流需要api的账号和令牌";
string ErrorMessage = "";
string url = CustomIO.OneWordPdfHttpRequest(URL, "Get", expressmd.UserCode, expressmd.CheckCode, null, out ErrorMessage);
return url;
}
#endregion
#region Oneword修改重量
[WebMethod(EnableSession = true)]
public string OnewordUpdateWeight(List<DT_Order> list, int PostId)
{
Pages.Login(this.Session);
if (list == null)
return "";
DD_OrderData obj1 = new DD_OrderData();
JC_ExpressService obj = new JC_ExpressService();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var expressmd = obj.GetExpressModel(CompanyId, PostId);
if (expressmd == null)
return "";
if (expressmd.UserCode == null || expressmd.UserCode == "" || expressmd.CheckCode == null || expressmd.CheckCode == "")
return "该物流需要api的账号和令牌";
foreach (var omd in list)
{
var ordermodel = obj1.GetOrderModel(omd.OrderId.Value);
string URL = "";
if (ordermodel.PostOneCode != null)
URL = "http://api-sbx.oneworldexpress.cn/api/parcels/" + ordermodel.PostOneCode + "/customerWeight";
string ErrorMessage = "";
ProcessWeight owd = new ProcessWeight();
owd.ProcessCode = ordermodel.PostOneCode;
owd.WeightInKg = ordermodel.TotalWeight / 1000;
string aa = new JavaScriptSerializer().Serialize(owd);
byte[] bytes = Encoding.UTF8.GetBytes(aa);
string content = CustomIO.OneWordHttpRequest(URL, "Put", expressmd.UserCode, expressmd.CheckCode, bytes, out ErrorMessage);
if (content == "") return "";
JavaScriptSerializer JsonConvert = new JavaScriptSerializer();
OneWordResult Model = JsonConvert.Deserialize<OneWordResult>(content);
if (Model.Succeeded != true) return "";
}
return "";
}
#endregion
#region 查询oneworld渠道
[WebMethod(EnableSession = true)]
public List<ShippingMethods> GetShippingMethods()
{
Pages.Login(this.Session);
var obj = new JC_ExpressService();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var list = obj.GetShippingMethods();
return list;
}
#endregion
#region 保存店铺活动
[WebMethod(EnableSession = true)]
public int SaveShopActive(DT_ShopActive Model)
{
Pages.Login(this.Session);
DD_OrderData obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
if (Model.Id == null || Model.Id.Value == 0)
{
Model.InDate = DateTime.Now;
Model.InName = Session["Name"].ToString();
}
int GoodsId = HuoWuData.GetGoodsId(CompanyId, Model.GoodsCode);
if (GoodsId == 0)
return 0;
Model.GoodsId = GoodsId;
int Id = obj.SaveShopActive(Model);
return Id;
}
#endregion
#region 删除店铺活动
[WebMethod(EnableSession = true)]
public void DeleteShopActive(int Id)
{
Pages.Login(this.Session);
DD_OrderData obj = new DD_OrderData();
obj.DeleteShopActive(Id);
}
#endregion
#region 查询店铺活动
[WebMethod(EnableSession = true)]
public JsonModel<List<DT_ShopActive>> GetListDT_ShopActive(int ShopId, string GoodsCode, DateTime? SDate, int PageIndex, int PageSize)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
RefParameterCollection Param = new RefParameterCollection();
if (ShopId > 0)
Param.Add("ShopId", "=", ShopId, DbType.Int32);
Param.Add("(GoodsCode", "like", GoodsCode, DbType.String);
Param.Add("ActiveName", "like", GoodsCode, "or", ")", DbType.String);
if (SDate != null)
Param.Add("StartDate", ">=", SDate, DbType.DateTime);
JsonModel<List<DT_ShopActive>> resultModel = new JsonModel<List<DT_ShopActive>>();
int RowCount = 0;
string Sort = "Id desc";
resultModel.DataSource = obj.GetListDT_ShopActive(Param, PageIndex, PageSize, Sort, out RowCount);
resultModel.RowCount = RowCount;
return resultModel;
}
#endregion
#region 查询订单跟踪码
[WebMethod(EnableSession = true)]
public List<DT_TrackCodeApply> GetOrderTrackCodeList(int OrderId, string JoinOrderCode)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var list = obj.GetOrderTrackCode2(OrderId, JoinOrderCode);
return list;
}
#endregion
#region 保存跟踪码
[WebMethod(EnableSession = true)]
public string SaveTrackCode(int OrderId, int TrackType, string OrderCode, int IsSpare, int PostId, string JoinOrderCode, string trackcode,string sku,string cfzl,string cfc,string cfk,string cfg)
{
Pages.Login(this.Session);
DD_OrderData obj = new DD_OrderData();
if (PostId != 104) //荷兰邮政不验证
{
if (obj.IsOrderTrackCode(OrderId, trackcode) > 0)
return "该跟踪码已经存在";
}
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
string Name = Convert.ToString(Session["Name"]);
DT_TrackCodeApply Model = new DT_TrackCodeApply();
Model.InName = Name;
Model.TrackType = TrackType;
Model.OrderId = OrderId;
Model.IsSpare = IsSpare;
Model.TrackCode = trackcode.Trim();
Model.PostId = PostId;
Model.State = 1;
Model.GetDate = DateTime.Now;
if (JoinOrderCode != "")
Model.OrderCode = JoinOrderCode;
else
Model.OrderCode = OrderCode;
Model.IsSpare = IsSpare;
Model.JoinOrderCode = JoinOrderCode;
Model.SKU = sku;
if (string.IsNullOrEmpty(cfzl))
Model.Weight = null;
else
Model.Weight = Convert.ToDecimal(cfzl);
Model.Long = cfc;
Model.Width = cfk;
Model.Height = cfg;
obj.SaveTrackCodeApply(Model);
//if (IsSpare > -1)
//{
// obj.UpdateOrderSpare(OrderId, IsSpare);
//}
return "成功";
}
#endregion
[WebMethod(EnableSession = true)]
public DT_OrderScanModel ScanGetOrder3(string OrderCode, int IsBlank)
{
Pages.Login(base.Session);
DD_OrderData data = new DD_OrderData();
int num = Convert.ToInt32(base.Session["CompanyId"]);
DT_OrderScanModel model = new DT_OrderScanModel();
model = data.GetScanOrderModelForTM3(OrderCode.Trim().Replace(" ", ""));
decimal num2 = 0M;
decimal num3 = 0M;
if ((model != null) && (model.GoodsList != null))
{
foreach (DT_OrderScanGoods goods in model.GoodsList)
{
if (goods.Weight.HasValue)
{
num2 += goods.Weight.Value;
}
if (goods.GoodsPrice.HasValue)
{
num3 += goods.GoodsPrice.Value;
}
}
}
if (model != null)
{
model.GoodsWeight = new decimal?(num2);
model.GoodsPrice = new decimal?(num3);
}
return model;
}
[WebMethod(EnableSession = true)]
public DT_OrderModel ScanOrderPost333(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)
{
Pages.Login(base.Session);
DD_OrderData data = new DD_OrderData();
int num = Convert.ToInt32(base.Session["CompanyId"]);
int userId = Convert.ToInt32(base.Session["UserId"]);
string str = Convert.ToString(base.Session["Name"]);
DT_OrderModel model = new DT_OrderModel();
DT_TrackCodeScan scan = new DT_TrackCodeScan
{
PostId = new int?(Post),
OrderId = new int?(OrderId),
InName = str,
InDate = new DateTime?(DateTime.Now),
IsSure = 0,
PostFee = 0,
OldPostFee = 0,
Weight = new int?(Weight),
BagUserId = new int?(BagUserId),
TrackCode = TrackCode
};
if ((JoinOrderCode != null) && (JoinOrderCode != ""))
{
scan.OrderCode = JoinOrderCode;
}
else
{
scan.OrderCode = OrderCode;
}
scan.TrackId = new int?(TrackId);
scan.Count = 1;
scan.JoinOrderCode = JoinOrderCode;
scan.IsCSM = new int?(IsCSM);
data.SaveTrackCodeScan2(scan);
model.PostState = 1;
Pages.SaveLog(userId, "订单发货", scan.OrderCode + "发货扫描", OrderId);
model.PostFee = 0;
return model;
}
#region 保存售后
[WebMethod(EnableSession = true)]
public string SaveOrderSaleBack(DT_OrderSaleBack Model)
{
Pages.Login(this.Session);
DD_OrderData obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
string Name = Convert.ToString(Session["Name"]);
Model.InDate = DateTime.Now;
Model.InName = Name;
Model.InUserId = UserId;
string imgids = "";
if (Model.imglist != null)
{
foreach (var md in Model.imglist)
{
imgids += md.id+",";
}
}
if(imgids!="")
Model.ImageIds = imgids.Trim(',');
obj.SaveOrderSaleBack(Model);
//Pages.SaveLog(UserId, "订单日志", Name+"修改了售后记录", Model.OrderId.Value);
return "成功";
}
#endregion
#region 获取售后
[WebMethod(EnableSession = true)]
public DT_OrderSaleBack GetSaleBackModel(int OrderId,int SaleType)
{
Pages.Login(this.Session);
DD_OrderData obj = new DD_OrderData();
var md = obj.GetSaleBackModel(OrderId, SaleType);
if (md != null && md.ImageIds != null && md.ImageIds != "")
{
BaseService obj1=new BaseService();
var list=obj1.GetListJC_Resource(md.ImageIds.Trim(','));
md.imglist = list;
}
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{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 查询跟踪码扫描信息
[WebMethod(EnableSession = true)]
public List<DT_TrackCodeScan> Get_TrackScanList(DateTime? SDate, DateTime? EDate, int PostId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
var list = obj.Get_TrackScanList(PostId, SDate, EDate);
return list;
}
#endregion
#region 查询跟踪码扫描信息
[WebMethod(EnableSession = true)]
public int UpdateTrackScanSure(string TrackCode)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int UserId = Convert.ToInt32(Session["UserId"]);
int a = obj.UpdateTrackScanSure(TrackCode.Trim(), UserId);
return a;
}
#endregion
#region 保存空包裹
[WebMethod(EnableSession = true)]
public string SaveOrderBlank(DT_OrderBlank model)
{
Pages.Login(this.Session);
DD_OrderData obj = new DD_OrderData();
if (model.Id == 0)
{
model.InDate = DateTime.Now;
model.InName = Session["Name"].ToString();
model.State = 1;
}
BaseService obj1 = new BaseService();
var md = obj1.GetCountryCode(model.RevCountry);
string error = "";
if (md == null || md.Code == null || md.Code == "")
{
error = "购买国家对应不到,请确定国家全称或者简称填写是否正确";
}
else
{
model.CountryName = md.CountryName;
model.CountryCode = md.Code;
if (md.Code == "US" && model.RevPostCode.Length != 5)
{
error = "美国邮编必须是5位";
}
else if (md.Code == "RS" && model.RevPostCode.Length != 6)
{
error = "俄罗斯邮编必须是5位";
}
}
if (error != "")
return error;
obj.SaveOrderBlank(model);
return "成功";
}
#endregion
#region 批量保存空包裹
[WebMethod(EnableSession = true)]
public string SaveOrderBlankList(List<DT_OrderBlank> list)
{
Pages.Login(this.Session);
DD_OrderData obj = new DD_OrderData();
if (list == null)
return "";
string error = "";
foreach (var model in list)
{
if (model.Id == 0)
{
model.InDate = DateTime.Now;
model.InName = Session["Name"].ToString();
model.State = 1;
}
if (model.TrackCode != null && model.TrackCode != "")
{
if(obj.IsTrackCode(model.OrderId.Value, model.TrackCode)>0)
{
error += model.TrackCode + "跟踪码已经被其他订单使用";
}
}
BaseService obj1 = new BaseService();
var md = obj1.GetCountryCode(model.RevCountry);
if (md == null || md.Code == null || md.Code == "")
{
error += model.PlatOrderCode + "购买国家对应不到,请确定国家全称或者简称填写是否正确";
}
else
{
model.CountryName = md.CountryName;
model.CountryCode = md.Code;
//if (md.Code == "US" && model.RevPostCode.Length != 5)
//{
// error = "美国邮编必须是5位";
//}
if (md.Code == "RS" && model.RevPostCode.Length != 6)
{
error = "俄罗斯邮编必须是5位";
}
}
}
if (error != "")
return error;
foreach (var model in list)
{
obj.SaveOrderBlank(model);
}
return "成功";
}
#endregion
#region 返回空包裹对象
[WebMethod(EnableSession = true)]
public DT_OrderBlank GetOrderBlankModel(int Id)
{
Pages.Login(this.Session);
DD_OrderData obj = new DD_OrderData();
var md = obj.GetOrderBlankModel(Id);
return md;
}
#endregion
#region 删除空包裹
[WebMethod(EnableSession = true)]
public void DeleteBlankOrder(int Id)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
obj.DeleteBlankOrder(Id);
}
#endregion
#region 删除跟踪码
[WebMethod(EnableSession = true)]
public void DeleteTrackCode(int Id,int OrderId)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
obj.DeleteTrackCode(Id, OrderId);
}
#endregion
#region 删除订单
[WebMethod(EnableSession = true)]
public void DeleteOrderTrack(string OrderIds)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int InUserId = Convert.ToInt32(Session["UserId"]);
if (OrderIds != "")
{
string orsertemp= OrderIds.Trim(',');
string [] orderlist = orsertemp.Split(',');
for(int i=0;i<orderlist.Length;i++)
{
DeleteTrackCode(0,Convert.ToInt32( orderlist[i]));
}
}
}
#endregion
#region 返回订单重量
[WebMethod(EnableSession = true)]
public int GetOrderWeight(int OrderId)
{
Pages.Login(this.Session);
DD_OrderData obj = new DD_OrderData();
int a= obj.Get_OrderWeight(OrderId);
return a;
}
#endregion
#region 查询订单物流费用
[WebMethod(EnableSession = true)]
public List<DT_OrderPostFee> Get_PostFeeList(int Weight,string CountryCode)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var list = obj.Get_PostFeeList(Weight, CompanyId, CountryCode);
return list;
}
#endregion
#region 查询生成空包裹订单
[WebMethod(EnableSession = true)]
public List<DT_Order> GetListForBlank(string OrderIds)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
if (OrderIds == "")
return null;
var list = obj.GetListForBlank(OrderIds.Trim(','));
return list;
}
#endregion
#region 导出亚马逊填单
[WebMethod(EnableSession = true)]
public string ExcelYMXForTM(string Ids)
{
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
DataTable tb = obj.GetYMXOrder(Ids.Trim(','));
TableColumnCollection listColumns = new TableColumnCollection();
listColumns.Add("PlatOrderCode", "order-id", DbType.String, "");
listColumns.Add("GoodsDesc", "order-item-id", DbType.String, "");
listColumns.Add("GoodsNum", "quantity", DbType.String, "");
listColumns.Add("RQ", "ship-date", DbType.String, "");
listColumns.Add("Code", "carrier-code", DbType.String, "");
listColumns.Add("wl", "carrier-name", DbType.String, "");
listColumns.Add("TrackCode", "tracking-number", DbType.String, "");
listColumns.Add("wl", "ship-method", DbType.String, "");
MicrosoftExcel obj2 = new MicrosoftExcel();
return obj2.Export(tb, listColumns);
}
#endregion
#region 更新跟踪信息
[WebMethod(EnableSession = true)]
public void GetTrackInfo2(List<WL_PostInfo> list)
{
EubApi obj = new EubApi();
BaseService obj1 = new BaseService();
if (list != null)
{
foreach (var md in list)
{
string trackcodes = "{'guid':'','data':[{'num':'" + md.TrackCode + "'}]}";
// string ids = "";
//foreach (var md in list)
//{
// ids += md.Id + ",";
// trackcodes += "{'num':'" + md.TrackCode + "'},";
//}
//obj1.SavePostInfo4(ids.Trim(','));
//trackcodes = trackcodes.Trim(',') + "]}";
var tmodel = new TrackInfo();
tmodel = obj.PostSend3(trackcodes, "http://www.17track.net/restapi/handlertrack.ashx", "http://www.17track.net/zh-cn/track?nums=" + md.TrackCode);
//if (tmodel != null && tmodel.ret < 1 || (tmodel != null && tmodel.msg.ToLower() == "ok" && tmodel.dat != null && tmodel.dat[0].track == null))
//{
// tmodel = obj.PostSend(trackcodes, "http://www.17track.net/restapi/handlertrack.ashx");
//}
//if (tmodel != null && tmodel.ret < 1 || (tmodel != null && tmodel.msg.ToLower() == "ok" && tmodel.dat != null && tmodel.dat[0].track == null))
//{
// tmodel = obj.PostSend(trackcodes, "http://www.17track.net/restapi/handlertrack.ashx");
//}
if (tmodel != null && tmodel != null && tmodel.msg.ToLower() == "ok" && tmodel.dat != null && tmodel.dat[0].track != null)
{
var tlist = tmodel.dat;
if (tlist != null && tlist.Count > 0)
{
foreach (var tmd in tlist)
{
var model = new WL_PostInfo();
model.UpdateTime = DateTime.Now;
string postinfo = "";
string postinfo1 = "";
string postinfo2 = "";
model.State = 1;
if (tmd.track != null && tmd.track.z0 != null)
{
var z0list = tmd.track.z0;
if (z0list.a != null)
postinfo += "【" + z0list.a + "】";
if (z0list.b != null)
postinfo += "" + z0list.b + " ";
if (z0list.c != null)
postinfo += "" + z0list.c + " ";
if (z0list.d != null)
postinfo += "" + z0list.d + " ";
if (z0list.z != null)
postinfo += "" + z0list.z;
if (postinfo.ToLower().Contains("delivered")) //签收
{
if (z0list.a != null)
model.DoneDate = Convert.ToDateTime(z0list.a.Trim());
model.State = 2;
model.NowState = "成功签收";
}
}
if (tmd.track != null && tmd.track.z1 != null)
{
var z1list = tmd.track.z1;
for (int i = 0; i < z1list.Count; i++)
{
if (z1list[i].a != null)
postinfo1 += "【" + z1list[i].a + "】";
if (z1list[i].b != null)
postinfo1 += "" + z1list[i].b + " ";
if (z1list[i].c != null)
postinfo1 += "" + z1list[i].c + " ";
if (z1list[i].d != null)
postinfo1 += "" + z1list[i].d + " ";
if (z1list[i].z != null)
postinfo1 += "" + z1list[i].z;
postinfo1 += "<br/><br/>";
}
}
if (tmd.track != null && tmd.track.z2 != null)
{
var z2list = tmd.track.z2;
for (int i = 0; i < z2list.Count; i++)
{
if (z2list[i].a != null)
postinfo2 += "【" + z2list[i].a + "】";
if (z2list[i].b != null)
postinfo2 += "" + z2list[i].b + " ";
if (z2list[i].c != null)
postinfo2 += "" + z2list[i].c + " ";
if (z2list[i].d != null)
postinfo2 += "" + z2list[i].d + " ";
if (z2list[i].z != null)
postinfo2 += "" + z2list[i].z;
postinfo2 += "<br/><br/>";
}
}
model.TrackCode = tmd.no.Trim();
if (postinfo != "" && model.State == 1)
{
model.NowState = "上线";
model.State = 3;
}
model.PostInfo = postinfo;
model.PostInfo1 = postinfo1;
model.PostInfo2 = postinfo2;
obj1.SavePostInfo2(model);
}
}
}
}
}
}
#endregion
#region 更新跟踪信息
[WebMethod(EnableSession = true)]
public WL_PostInfo GetTrackInfo3(int PostId,string TrackCodes)
{
if (PostId == 1 || PostId == 6 || PostId == 86 || PostId == 87 || PostId == 105 || PostId == 106 || PostId == 130 || PostId == 134 || PostId == 135)
{
return GetEUBPostInfo(TrackCodes);
}
else
{
return GetOtherPostInfo(TrackCodes);
}
return null;
}
public WL_PostInfo GetEUBPostInfo(string TrackCodes)
{
EubApi obj = new EubApi();
BaseService obj1 = new BaseService();
string error = "";
var tlist = obj.GetTraces(TrackCodes, "cn", "HeeGrand_97998e45fd5a35c680181feb89bb3b3a", out error);
var tlist1 = obj.GetTraces(TrackCodes, "en", "HeeGrand_97998e45fd5a35c680181feb89bb3b3a", out error);
var model = new WL_PostInfo();
string postinfo = "";
string postinfo1 = "";
if (tlist != null && tlist.Count > 0)
{
model.State=3;
for (int i = tlist.Count-1; i>=0; i--)
{
if (i == tlist.Count - 1 && tlist[i].accepttime != null)
postinfo = "【" + tlist[i].accepttime.Value.ToString("yyyy-MM-dd HH:mm") + "】";
if (i == tlist.Count - 1)
postinfo += tlist[i].acceptaddress + " " + tlist[i].remark + "\n\n";
if (tlist[i].accepttime != null)
{
postinfo1 += "【" + tlist[i].accepttime.Value.ToString("yyyy-MM-dd HH:mm") + "】";
if (i == 0)
{
model.PostDate1 = tlist[i].accepttime;
model.State = 3;
model.NowState = "上线";
}
}
postinfo1 += tlist[i].acceptaddress + " " + tlist[i].remark + "\n\n";
if (postinfo1.Contains("交航") || postinfo1.Contains("经转"))
{
model.PostDate2 = tlist[i].accepttime;
model.State = 4;
model.NowState = "交航";
}
if ((postinfo1.Contains("美国") || postinfo1.Contains("英国") || postinfo1.Contains("俄罗斯") || postinfo1.Contains("澳大利亚") || postinfo1.Contains("加拿大") || postinfo1.Contains("法国") || postinfo1.Contains("沙特") || postinfo1.Contains("乌克兰") || postinfo1.Contains("以色列")) && tlist[i].accepttime != null)
{
model.PostDate3 = tlist[i].accepttime;
// if (model.State == 3 || model.State == 4)
model.State = 5;
}
if (postinfo1.Contains("妥投") && tlist[i].accepttime != null)
{
model.State = 2;
model.DoneDate = tlist[i].accepttime;
}
//if (i == tlist.Count - 1)
//{
// string remark = tlist[i].remark;
// string acceptaddress = tlist[i].acceptaddress;
// if (remark.Contains("delivery"))//妥投
// {
// model.NowState = "成功签收";
// model.DoneDate = tlist[i].accepttime.Value;
// }
// else if (acceptaddress.Contains("sorting") && (acceptaddress.Contains("sorting") || acceptaddress.Contains("america") || acceptaddress.Contains("kingdom") || acceptaddress.Contains("canada") || acceptaddress.Contains("french") || acceptaddress.Contains("russia")))//妥投
// {
// model.NowState = "成功签收";
// model.DoneDate = tlist[i].accepttime.Value;
// }
//}
}
}
string postinfo2 = "";
if (tlist1 != null && tlist1.Count > 0)
{
for (int i = tlist1.Count-1; i>=0; i--)
{
if (tlist1[i].accepttime != null)
{
postinfo2 += "【" + tlist1[i].accepttime.Value.ToString("yyyy-MM-dd HH:mm") + "】";
}
postinfo2 += tlist1[i].acceptaddress + " " + tlist1[i].remark + "\r\r";
}
}
model.PostInfo = postinfo;
model.PostInfo1 = postinfo1;
model.PostInfo2 = postinfo2;
return model;
}
public WL_PostInfo GetOtherPostInfo(string TrackCodes)
{
EubApi obj = new EubApi();
BaseService obj1 = new BaseService();
string trackcodes = "{'guid':'','data':[{'num':'" + TrackCodes + "'}]}";
var tmodel = new TrackInfo();
tmodel = obj.PostSend3(trackcodes, "http://www.17track.net/restapi/handlertrack.ashx", "http://www.17track.net/zh-cn/track?nums=" + TrackCodes);
if (tmodel != null && tmodel != null && tmodel.msg.ToLower() == "ok" && tmodel.dat != null && tmodel.dat[0].track != null)
{
var tlist = tmodel.dat;
if (tlist != null && tlist.Count > 0)
{
foreach (var tmd in tlist)
{
var model = new WL_PostInfo();
model.UpdateTime = DateTime.Now;
string postinfo = "";
string postinfo1 = "";
string postinfo2 = "";
if (tmd.track != null && tmd.track.z0 != null)
{
DateTime? date0 = null;
var z0list = tmd.track.z0;
if (z0list.a != null)
date0 = Convert.ToDateTime(z0list.a.Trim());
if (z0list.a != null)
postinfo += "【" + z0list.a + "】";
if (z0list.b != null)
postinfo += "" + z0list.b + " ";
if (z0list.c != null)
postinfo += "" + z0list.c + " ";
if (z0list.d != null)
postinfo += "" + z0list.d + " ";
if (z0list.z != null)
postinfo += "" + z0list.z;
if (tmd.track.f != null && tmd.track.f > -1)
{
model.DoneDate = date0;
model.State = 2;
}
if (model.DoneDate == null &&(postinfo.ToLower().Contains("妥投"))) //签收
{
model.DoneDate = date0;
model.State = 2;
}
}
if (tmd.track != null && tmd.track.z1 != null)
{
DateTime? date1 = null;
var z1list = tmd.track.z1;
for (int i = 0; i < z1list.Count; i++)
{
if (z1list[i].a != null)
postinfo1 += "【" + z1list[i].a + "】";
if (z1list[i].b != null)
postinfo1 += "" + z1list[i].b + " ";
if (z1list[i].c != null)
postinfo1 += "" + z1list[i].c + " ";
if (z1list[i].d != null)
postinfo1 += "" + z1list[i].d + " ";
if (z1list[i].z != null)
postinfo1 += "" + z1list[i].z;
postinfo1 += "\n\n";
if (model.PostDate2 == null && postinfo1.Contains("交航"))
{
if (z1list[i].a != null)
date1 = Convert.ToDateTime(z1list[i].a.Trim());
model.PostDate2 = date1;
}
if (model.DoneDate == null && (postinfo.ToLower().Contains("妥投"))) //签收
{
if (z1list[i].a != null)
date1 = Convert.ToDateTime(z1list[i].a.Trim());
model.DoneDate = date1;
model.State = 2;
}
if (model.PostDate1 == null && i == z1list.Count - 1)
{
if (z1list[i].a != null)
date1 = Convert.ToDateTime(z1list[i].a.Trim());
model.PostDate1 = date1;
}
}
}
if (tmd.track != null && tmd.track.z2 != null)
{
DateTime? date2 = null;
var z2list = tmd.track.z2;
for (int i = 0; i < z2list.Count; i++)
{
if (z2list[i].a != null)
postinfo2 += "【" + z2list[i].a + "】";
if (z2list[i].b != null)
postinfo2 += "" + z2list[i].b + " ";
if (z2list[i].c != null)
postinfo2 += "" + z2list[i].c + " ";
if (z2list[i].d != null)
postinfo2 += "" + z2list[i].d + " ";
if (z2list[i].z != null)
postinfo2 += "" + z2list[i].z;
postinfo2 += "\n\n";
if (model.PostDate3 == null && postinfo2.ToLower().Contains("arrival"))
{
if (z2list[i].a != null)
date2 = Convert.ToDateTime(z2list[i].a.Trim());
model.PostDate3 = date2;
}
if (model.PostDate1 == null && i == z2list.Count - 1)
{
if (z2list[i].a != null)
date2 = Convert.ToDateTime(z2list[i].a.Trim());
model.PostDate1 = date2;
}
}
}
model.TrackCode = tmd.no.Trim();
if (model.State == 2)
{
model.NowState = "成功签收";
}
else if (model.PostDate3 != null)
{
model.NowState = "到达目的国";
model.State = 5;
}
else if (model.PostDate2 != null)
{
model.NowState = "交航";
model.State = 4;
}
else if (model.PostDate1 != null)
{
model.NowState = "上线";
model.State = 3;
}
else
model.State = 1;
model.PostInfo = postinfo;
model.PostInfo1 = postinfo1;
model.PostInfo2 = postinfo2;
//obj1.SavePostInfo2(model);
return model;
//obj1.SavePostInfo2(model);
}
}
}
return null;
}
#endregion
#region 保存跟踪信息
[WebMethod(EnableSession = true)]
public int SavePostInfo(WL_PostInfo model)
{
Pages.Login(this.Session);
int a=0;
string Name = Convert.ToString(Session["Name"]);
BaseService obj1 = new BaseService();
model.InName = Name;
if (model.PostInfo != null)
model.PostInfo = model.PostInfo.Replace("\n", "<br/>");
if (model.PostInfo1 != null)
model.PostInfo1 = model.PostInfo1.Replace("\n", "<br/>");
if (model.PostInfo2 != null)
model.PostInfo2= model.PostInfo2.Replace("\n", "<br/>");
if (model.Id <= 0)
a = obj1.SavePostInfo(model);
else
a=obj1.SavePostInfo2(model);
return a;
}
#endregion
#region 查询物流跟踪信息
[WebMethod(EnableSession = true)]
public List<WL_PostInfo> GetOrderPostInfo2(int DeptId, int PlatType, int ShopId,int DateType, DateTime? SDate, DateTime? EDate, string Country, string OrderCode, string TrackCode, int OutDays, int IsDetail,int LogisticsId, int PostId, int State, int Days, int TJ)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
RefParameterCollection Param = new RefParameterCollection();
if (LogisticsId > 0)
Param.Add("c.LogisticsId", "=", LogisticsId, DbType.Int32);
if (PostId > 0)
Param.Add("a.PostId", "=", PostId, DbType.Int32);
if (DateType == 1)
{
if (SDate != null)
Param.Add("a.ScanDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.ScanDate", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 2)
{
if (SDate != null)
Param.Add("a.DoneDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.DoneDate", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 3)
{
if (SDate != null)
Param.Add("a.PostDate1", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate1", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 4)
{
if (SDate != null)
Param.Add("a.PostDate2", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate2", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 5)
{
if (SDate != null)
Param.Add("a.PostDate2", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate2", "<=", EDate, DbType.DateTime);
}
if (DeptId > 0)
Param.Add("b.DeptId", "=", DeptId, DbType.Int32);
if (PlatType > 0)
Param.Add("b.PlatType", "=", PlatType, DbType.Int32);
if (ShopId > 0)
Param.Add("a.ShopId", "=", ShopId, DbType.Int32);
//if (OrderCode.Trim() != "")
//{
// Param.Add("(a.OrderCode", "like", OrderCode.Trim(), DbType.String);
// Param.Add("a.JoinOrderCode", "like", OrderCode.Trim(), "or", ")", DbType.String);
//}
//if (TrackCode.Trim() != "")
//{
// Param.Add("a.TrackCode", "like", TrackCode.Trim(), DbType.String);
//}
if (Country.Trim() != "")
{
Param.Add("a.CountryName", "like", Country.Trim(), DbType.String);
}
List<WL_PostInfo> list = new List<WL_PostInfo>();
list = obj.GetListDT_PostInfo(Param);
return list;
}
#endregion
#region 查询物流跟踪信息
[WebMethod(EnableSession = true)]
public WL_PostInfo GetOrderPostInfo3(int DeptId, int PlatType, int ShopId, DateTime? SDate, DateTime? EDate, string Country, string OrderCode, string TrackCode, int OutDays, int IsDetail,int LogisticsId, int PostId, int State,int DateType, int Days, int TJ)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
RefParameterCollection Param = new RefParameterCollection();
if(LogisticsId > 0)
Param.Add("c.LogisticsId", "=", LogisticsId, DbType.Int32);
if (PostId > 0)
Param.Add("a.PostId", "=", PostId, DbType.Int32);
if (DateType == 1)
{
if (SDate != null)
Param.Add("a.ScanDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.ScanDate", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 2)
{
if (SDate != null)
Param.Add("a.DoneDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.DoneDate", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 3)
{
if (SDate != null)
Param.Add("a.PostDate1", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate1", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 4)
{
if (SDate != null)
Param.Add("a.PostDate2", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate2", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 5)
{
if (SDate != null)
Param.Add("a.PostDate2", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate2", "<=", EDate, DbType.DateTime);
}
if (DeptId > 0)
Param.Add("b.DeptId", "=", DeptId, DbType.Int32);
if (PlatType > 0)
Param.Add("b.PlatType", "=", PlatType, DbType.Int32);
if (ShopId > 0)
Param.Add("a.ShopId", "=", ShopId, DbType.Int32);
//if (OrderCode.Trim() != "")
//{
// Param.Add("(a.OrderCode", "like", OrderCode.Trim(), DbType.String);
// Param.Add("a.JoinOrderCode", "like", OrderCode.Trim(), "or", ")", DbType.String);
//}
//if (TrackCode.Trim() != "")
//{
// Param.Add("a.TrackCode", "like", TrackCode.Trim(), DbType.String);
//}
if (Country.Trim() != "")
{
Param.Add("a.CountryName", "like", Country.Trim(), DbType.String);
}
WL_PostInfo model= new WL_PostInfo();
model = obj.GetListDT_PostInfo2(Param);
return model;
}
#endregion
#region 查询物流跟踪信息
[WebMethod(EnableSession = true)]
public List<WL_PostInfo> GetOrderPostInfo4(int DeptId, int PlatType, int ShopId,int DateType, DateTime? SDate, DateTime? EDate, string Country, string OrderCode, string TrackCode, int OutDays, int IsDetail,int LogisticsId, int PostId, int State, int Days, int TJ)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
RefParameterCollection Param = new RefParameterCollection();
//if (LogisticsId > 0)
// Param.Add("c.LogisticsId", "=", LogisticsId, DbType.Int32);
//if (PostId > 0)
// Param.Add("a.PostId", "=", PostId, DbType.Int32);
if (State > -1)
Param.Add("a.State", "=", State, DbType.Int32);
if (DateType == 1)
{
if (SDate != null)
Param.Add("a.ScanDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.ScanDate", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 2)
{
if (SDate != null)
Param.Add("a.DoneDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.DoneDate", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 3)
{
if (SDate != null)
Param.Add("a.PostDate1", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate1", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 4)
{
if (SDate != null)
Param.Add("a.PostDate2", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate2", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 5)
{
if (SDate != null)
Param.Add("a.PostDate2", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate2", "<=", EDate, DbType.DateTime);
}
if (DeptId > 0)
Param.Add("b.DeptId", "=", DeptId, DbType.Int32);
if (PlatType > 0)
Param.Add("b.PlatType", "=", PlatType, DbType.Int32);
if (ShopId > 0)
Param.Add("a.ShopId", "=", ShopId, DbType.Int32);
//if (OrderCode.Trim() != "")
//{
// Param.Add("(a.OrderCode", "like", OrderCode.Trim(), DbType.String);
// Param.Add("a.JoinOrderCode", "like", OrderCode.Trim(), "or", ")", DbType.String);
//}
//if (TrackCode.Trim() != "")
//{
// Param.Add("a.TrackCode", "like", TrackCode.Trim(), DbType.String);
//}
if (Country.Trim() != "")
{
Param.Add("a.CountryName", "like", Country.Trim(), DbType.String);
}
List<WL_PostInfo> list = new List<WL_PostInfo>();
list = obj.GetListDT_PostInfo3(Param);
return list;
}
#endregion
#region 查询物流跟踪信息
[WebMethod(EnableSession = true)]
public List<WL_PostInfo> GetOrderPostInfo5(int DeptId, int PlatType, int ShopId,int DateType, DateTime? SDate, DateTime? EDate, string Country, string OrderCode, string TrackCode, int OutDays, int IsDetail,int LogisticsId, int PostId, int State, int Days, int TJ)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
RefParameterCollection Param = new RefParameterCollection();
//if (LogisticsId > 0)
// Param.Add("c.LogisticsId", "=", LogisticsId, DbType.Int32);
//if (PostId > 0)
// Param.Add("a.PostId", "=", PostId, DbType.Int32);
if (State > -1)
Param.Add("a.State", "=", State, DbType.Int32);
if (DateType == 1)
{
if (SDate != null)
Param.Add("a.ScanDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.ScanDate", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 2)
{
if (SDate != null)
Param.Add("a.DoneDate", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.DoneDate", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 3)
{
if (SDate != null)
Param.Add("a.PostDate1", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate1", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 4)
{
if (SDate != null)
Param.Add("a.PostDate2", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate2", "<=", EDate, DbType.DateTime);
}
else
if (DateType == 5)
{
if (SDate != null)
Param.Add("a.PostDate2", ">=", SDate, DbType.DateTime);
if (EDate != null)
Param.Add("a.PostDate2", "<=", EDate, DbType.DateTime);
}
if (DeptId > 0)
Param.Add("b.DeptId", "=", DeptId, DbType.Int32);
if (PlatType > 0)
Param.Add("b.PlatType", "=", PlatType, DbType.Int32);
if (ShopId > 0)
Param.Add("a.ShopId", "=", ShopId, DbType.Int32);
//if (OrderCode.Trim() != "")
//{
// Param.Add("(a.OrderCode", "like", OrderCode.Trim(), DbType.String);
// Param.Add("a.JoinOrderCode", "like", OrderCode.Trim(), "or", ")", DbType.String);
//}
//if (TrackCode.Trim() != "")
//{
// Param.Add("a.TrackCode", "like", TrackCode.Trim(), DbType.String);
//}
if (Country.Trim() != "")
{
Param.Add("a.CountryName", "like", Country.Trim(), DbType.String);
}
List<WL_PostInfo> list = new List<WL_PostInfo>();
list = obj.GetListDT_PostInfo4(Param);
return list;
}
#endregion
#region 查询物流跟踪信息
[WebMethod(EnableSession = true)]
public List<JC_Express> GetExpressDays()
{
Pages.Login(this.Session);
var obj = new BaseService();
var list = obj.GetExpressDays();
return list;
}
#endregion
#region 查询物流跟踪信息
[WebMethod(EnableSession = true)]
public WL_PostInfo GetPostInfoModel(int OrderId, string TrackCode)
{
Pages.Login(this.Session);
var obj = new BaseService();
var emd = obj.GetPostInfoModel(OrderId, TrackCode);
if (emd != null)
{
if (emd.PostInfo != null)
{
emd.PostInfo = emd.PostInfo.Replace("\n", "<br/>");
emd.PostInfo00 = emd.PostInfo.Replace("<br/>", "\n");
}
else
{
emd.PostInfo = "";
emd.PostInfo00 = "";
}
if (emd.PostInfo1 != null)
{
emd.PostInfo1 = emd.PostInfo1.Replace("\n", "<br/>");
emd.PostInfo11 = emd.PostInfo1.Replace("<br/>", "\n");
}
else
{
emd.PostInfo1 = "";
emd.PostInfo11 = "";
}
if (emd.PostInfo2 != null)
{
emd.PostInfo2 = emd.PostInfo2.Replace("\n", "<br/>");
emd.PostInfo22 = emd.PostInfo2.Replace("<br/>", "\n");
}
else
{
emd.PostInfo2 = "";
emd.PostInfo22 = "";
}
}
return emd;
}
#endregion
#region 保存物流标准
[WebMethod(EnableSession = true)]
public void SaveDoneDays(List<JC_Express> list)
{
Pages.Login(this.Session);
if (list != null)
{
string Name = Convert.ToString(Session["Name"]);
BaseService obj1 = new BaseService();
foreach (var md in list)
{
if (md.DoneDays == null)
md.DoneDays = 15;
obj1.SaveDoneDays(md.ExpressID.Value,md.DoneDays.Value);
}
}
}
#endregion
#region 查询物流跟踪信息
[WebMethod(EnableSession = true)]
public string GetPack(DateTime? SDate, DateTime? EDate)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
List<DT_TrackCodeScan> tclist = new List<DT_TrackCodeScan>();
tclist=obj.GetPack(SDate, EDate);
string str = "";
if (tclist!=null)
{
foreach(var q in tclist)
{
str += q.InName + " " + q.Count + "\r\n <br />";
}
}
return str;
}
#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_OrderScanMate Get_ScanMateOrder(string Code,string PostionCode)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
bool bk = BaseService.SyncLock3();
DT_OrderScanMate md1 = new DT_OrderScanMate();
Session["OrderPrint"] =null;
if (bk == false)
{
md1.Error = "当前有其他人正在操作批量库存匹配,为保证库存数据准确您暂时无法操作此功能";
return md1;
}
string InName = Session["Name"].ToString();
int UserId =Convert.ToInt32(Session["UserId"]);
int ChaseId =0;
//if(Code.Split('-').Length>0)
// ChaseId =Convert.ToInt32(Code.Split('-')[0]);
int DetailId =0;
//if(Code.Split('-').Length>1)
//DetailId =Convert.ToInt32(Code.Split('-')[1]);
//if (ChaseId == 0 || DetailId == 0)
//{
// md1.Error = "条码格式不正确";
// return md1;
//}
int Id = 0;
try
{
Id = Convert.ToInt32(Code.Trim());
}
catch
{
md1.Error = "条码格式不正确";
return md1;
}
var smd = obj.GetOrderBarCode2(Id);
if (smd == null)
{
md1.Error = "找不到该条码的数据";
return md1;
}
else
{
ChaseId = smd.ChaseId.Value;
DetailId = smd.DetailId.Value;
}
if (smd != null && smd.MateState == 2) //扫描过已入库匹配
{
md1.OrderCode = smd.OrderCode;
if (smd.OrderCode != null)
{
md1 = obj.Get_ScanMateOrder2(smd.OrderCode);
if (md1!=null&&md1.MateState == 2) //匹配
{
Session["OrderPrint"] = md1.OrderId;
}
md1.Error = "该条码已经扫描匹配过订单";
return md1;
}
}
var obj1 = new CG_ChaseData();
var md=obj.Get_ScanMateOrder(DetailId);
if(md==null)
{
md1.Error="该条码找不到可以匹配的单子";
return md1;
}
int OldInId = 0;
if (smd.InId != null && smd.InId>0)
{
OldInId = smd.InId.Value;
if (obj.IsDetailMate(OldInId) > 0)
{
md1.Error = "该条码的货物已经被别的单子匹配了";
return md1;
}
}
string OrderCode = "";
if (md != null)
{
OrderCode = md.PlatOrderCode;
if (md.JoinOrderCode != null && md.JoinOrderCode != "")
OrderCode = md.JoinOrderCode;
}
// var smd = obj.GetOrderBarCode(Code);
//else
// if (md==null&&smd != null && smd.MateState == 1) //扫描过已入库未匹配
// {
// md1.Error = "该条码找不到可以匹配的单子";
// return md1;
// }
// else
// if (md != null && smd != null && smd.MateState == 1) //扫描过已入库未匹配
// {
// obj.UpdateOrderBarCode(Code,OrderCode);
// }
//if (smd != null) //未扫描
//{
// //obj1.SaveGoodsIn(ChaseId, UserId, 0, 0, 0, DetailId, PostionCode);//入库
// HW_BarCode bmd = new HW_BarCode();
// bmd.Id = smd.Id;
// bmd.BarCode = Code;
// bmd.ChaseId = ChaseId;
// bmd.DetailId = DetailId;
// bmd.InDate = DateTime.Now;
// bmd.InName = InName;
// bmd.IsDelete = 0;
// bmd.IsScan = 1;
// if (md == null) //找不到匹配
// {
// bmd.MateState = 0;
// obj.SaveBarCode(bmd);//保存扫描记录
// //obj1.SaveGoodsIn2(ChaseId, UserId, 0, 0, 0, DetailId, PostionCode);//入库
// md1.Error = "该条码找不到可以匹配的单子";
// return md1;
// }
// else
// {
// bmd.OrderCode = OrderCode;
// bmd.MateState = 2;
// obj.SaveBarCode(bmd);//保存扫描记录
// }
//}
if (md != null)
{
if (md.GoodsList != null)
{
int Num=0;
int LeftNum=0;
int GoodsOrderId=0;
string inids = "";
foreach (var gmd in md.GoodsList)
{
inids += gmd.Id + ",";
Num+=gmd.GoodsNum.Value;
LeftNum+=gmd.GoodsNum.Value-gmd.LockNum.Value;
if(gmd.GoodsNum.Value-gmd.LockNum.Value>0)
GoodsOrderId=gmd.Id.Value;
}
if (Num == 1)//1对1匹配
{
md1 = md;
md1.Error = "";
md1.MateState = 2;
int InId = OldInId;
if (OldInId > 0) //已经入库
obj1.SaveGoodsIn3(OldInId, GoodsOrderId);
else
InId=obj1.SaveGoodsIn2(ChaseId, UserId, 0, 0, GoodsOrderId, DetailId, PostionCode);//入库
obj.UpdatePostion3(md.OrderId.Value, md.JoinOrderCode, OrderCode);//修改匹配状态
HW_BarCode bmd = new HW_BarCode();
bmd.Id = smd.Id;
bmd.ChaseId = ChaseId;
bmd.DetailId = DetailId;
bmd.InDate = DateTime.Now;
bmd.InName = InName;
bmd.IsDelete = 0;
bmd.IsScan = 1;
bmd.MateState = 2;
bmd.InId = InId;
bmd.OrderCode = OrderCode;
obj.SaveBarCode(bmd);//保存扫描记录
foreach (var gmd in md1.GoodsList)
{
gmd.LockNum = gmd.GoodsNum;
}
Session["OrderPrint"] = md.OrderId;
return md1;
}
if (LeftNum == 1) //购物车匹配
{
int InId = OldInId;
if (OldInId > 0) //已经入库
obj1.SaveGoodsIn3(OldInId, GoodsOrderId);
else InId = obj1.SaveGoodsIn2(ChaseId, UserId, 0, 0, GoodsOrderId, DetailId, PostionCode);//入库
md1=md;
md1.Error = "";
md1.MateState = 2;
string postioncode=obj.UpdatePostion(md.OrderId.Value, md.JoinOrderCode, OrderCode);//修改匹配状态
HW_BarCode bmd = new HW_BarCode();
bmd.Id = smd.Id;
bmd.ChaseId = ChaseId;
bmd.DetailId = DetailId;
bmd.InDate = DateTime.Now;
bmd.InName = InName;
bmd.IsDelete = 0;
bmd.IsScan = 1;
bmd.MateState = 2;
bmd.OrderCode = OrderCode;
bmd.InId = InId;
obj.SaveBarCode(bmd);//保存扫描记录
foreach (var gmd in md.GoodsList)
{
gmd.LockNum = gmd.GoodsNum;
}
if (postioncode!="")
md1.PotionCode = postioncode;
Session["OrderPrint"] = md.OrderId;
return md1;
}
else
{
var pmlist = obj.GetOrderMateList(inids.Trim(','));
var hwlist = new List<HW_GoodsInDetail>(); //货物占用
LeftNum = 0;
if (pmlist != null && pmlist.Count>0)
{
foreach (var gmd in md.GoodsList)
{
var pmmdlist = pmlist.FindAll(n => n.GoodsOrderId == gmd.Id && n.DetailId == gmd.DetailId);
if (pmmdlist != null)
{
foreach (var pmmd in pmmdlist)
{
if (gmd.LockNum + pmmd.Num <= gmd.GoodsNum)
{
gmd.LockNum = gmd.LockNum + pmmd.Num;
var hwinmd = new HW_GoodsInDetail();
hwinmd.DetailId = gmd.DetailId;
hwinmd.InId = pmmd.InId;
hwinmd.OrderGoodsId = gmd.Id;
hwinmd.KCNum = pmmd.Num;
hwlist.Add(hwinmd);
}
}
}
if (gmd.GoodsNum.Value - gmd.LockNum.Value > 0)
{
GoodsOrderId = gmd.Id.Value;
LeftNum += gmd.GoodsNum.Value - gmd.LockNum.Value;
}
}
}
if (hwlist != null&&hwlist.Count>0)//有库位的库存匹配
{
var kwmd = obj.GetPostionModel2(md.OrderId.Value, OrderCode,1);
if (kwmd != null && kwmd.PostionId > 0)
md.PotionCode = kwmd.PostionCode;
else
{
md1.Error = "该订单有匹配库存的货物,但没有临时货架已满,没有临时货架可以放";
return md1;
}
obj.UpdateOrderGoodsLockForTM4(md.OrderId.Value, 1, md.JoinOrderCode, hwlist);//部分匹配
foreach (var gmd in md.GoodsList)
{
if (gmd.DetailId == DetailId && gmd.LockNum < gmd.GoodsNum)
{
gmd.LockNum = gmd.LockNum + 1;
GoodsOrderId = gmd.Id.Value;
break;
}
}
if (LeftNum == 1) //加上扫描那个就完全匹配了
{
md1 = md;
md1.MateState = 4;
int InId = OldInId;
if (OldInId > 0) //已经入库
obj1.SaveGoodsIn3(OldInId, GoodsOrderId);
else InId = obj1.SaveGoodsIn2(ChaseId, UserId, 0, 0, GoodsOrderId, DetailId, PostionCode);//入库
obj.UpdatePostion4(md.OrderId.Value, md.JoinOrderCode, OrderCode);//修改匹配状态
Session["OrderPrint"] = md.OrderId;
HW_BarCode bmd = new HW_BarCode();
bmd.Id = smd.Id;
bmd.ChaseId = ChaseId;
bmd.DetailId = DetailId;
bmd.InDate = DateTime.Now;
bmd.InName = InName;
bmd.IsDelete = 0;
bmd.IsScan = 1;
bmd.MateState = 2;
bmd.InId = InId;
bmd.OrderCode = OrderCode;
obj.SaveBarCode(bmd);//保存扫描记录
return md1;
}
else
if (LeftNum > 1) //加上扫描那个还没完全匹配
{
md1.MateState = 3;
md1.PotionCode = md.PotionCode;
int InId = OldInId;
if (OldInId > 0) //已经入库
obj1.SaveGoodsIn3(OldInId, GoodsOrderId);
else InId = obj1.SaveGoodsIn2(ChaseId, UserId, 0, 0, GoodsOrderId, DetailId, PostionCode);//入库
obj.UpdatePostion2(md.OrderId.Value, md.JoinOrderCode, OrderCode, DetailId);//修改匹配状态
HW_BarCode bmd = new HW_BarCode();
bmd.Id = smd.Id;
bmd.ChaseId = ChaseId;
bmd.DetailId = DetailId;
bmd.InDate = DateTime.Now;
bmd.InName = InName;
bmd.IsDelete = 0;
bmd.IsScan = 1;
bmd.MateState = 2;
bmd.InId = InId;
bmd.OrderCode = OrderCode;
obj.SaveBarCode(bmd);//保存扫描记录
return md1;
}
}
else
{
if (LeftNum == 1)//加上扫描那个就完全匹配了
{
md1 = md;
md1.Error = "";
md1.MateState = 2;
foreach (var gmd in md1.GoodsList)
{
if (gmd.DetailId == DetailId)
{
gmd.LockNum = gmd.LockNum + 1;
GoodsOrderId = gmd.Id.Value;
break;
}
}
int InId = OldInId;
if (OldInId > 0) //已经入库
obj1.SaveGoodsIn3(OldInId, GoodsOrderId);
else InId = obj1.SaveGoodsIn2(ChaseId, UserId, 0, 0, GoodsOrderId, DetailId, PostionCode);//入库
obj.UpdatePostion3(md.OrderId.Value, md.JoinOrderCode, OrderCode);//修改匹配状态
// }
HW_BarCode bmd = new HW_BarCode();
bmd.Id = smd.Id;
bmd.ChaseId = ChaseId;
bmd.DetailId = DetailId;
bmd.InDate = DateTime.Now;
bmd.InName = InName;
bmd.IsDelete = 0;
bmd.IsScan = 1;
bmd.MateState = 2;
bmd.InId = InId;
bmd.OrderCode = OrderCode;
obj.SaveBarCode(bmd);//保存扫描记录
var kwmd = obj.GetPostionModel(md.OrderId.Value, OrderCode,2);
if (kwmd != null && kwmd.PostionId > 0)
md1.PotionCode = kwmd.PostionCode;
else
md1.PotionCode = "";
Session["OrderPrint"] = md.OrderId;
return md1;
}
else //没匹配完
{
var kwmd = obj.GetPostionModel(md.OrderId.Value, OrderCode,1);
if (kwmd != null && kwmd.PostionId > 0)
md.PotionCode = kwmd.PostionCode;
else
{
md1.Error = "购物车订单没匹配完,但没有空余货架可以放";
obj.UpdateOrderMate2(Id);
return md1;
}
md1 = md;
md1.Error = "";
md1.MateState = 1;
foreach (var gmd in md1.GoodsList)
{
if (gmd.DetailId == DetailId)
{
gmd.LockNum = gmd.LockNum + 1;
GoodsOrderId = gmd.Id.Value;
break;
}
}
int InId = OldInId;
if (OldInId > 0) //已经入库
obj1.SaveGoodsIn3(OldInId, GoodsOrderId);
else InId = obj1.SaveGoodsIn2(ChaseId, UserId, 0, 0, GoodsOrderId, DetailId, PostionCode);//入库
obj.UpdatePostion2(md.OrderId.Value, md.JoinOrderCode, OrderCode, DetailId);//修改匹配状态
// }
HW_BarCode bmd = new HW_BarCode();
bmd.Id = smd.Id;
bmd.ChaseId = ChaseId;
bmd.DetailId = DetailId;
bmd.InDate = DateTime.Now;
bmd.InName = InName;
bmd.IsDelete = 0;
bmd.IsScan = 1;
bmd.MateState = 2;
bmd.InId = InId;
bmd.OrderCode = OrderCode;
obj.SaveBarCode(bmd);//保存扫描记录
return md1;
}
}
}
}
}
return md;
}
#endregion
#region 查询扫描打印
[WebMethod(EnableSession = true)]
public DT_ChaseScan Get_ScanMateOrderPrint(List<CG_PurchaseOrder> list)
{
Pages.Login(this.Session);
//int CompanyId = Convert.ToInt32(Session["CompanyId"]);
//int UserId = Convert.ToInt32(Session["UserId"]);
//string Name = Convert.ToString(Session["Name"]);
//var obj = new CG_ChaseData();
//string Log = "";
// int Num = 0;
// var obj1 = new HuoWuData();
// HW_GoodsInRecord model = new HW_GoodsInRecord();
// model.CompanyId = CompanyId;
// model.InDate = DateTime.Now;
// model.InUserId = UserId;
// model.InName = Name;
// model.InReason = "采购入库";
// model.InCode = GetOutCode();
// model.InNum = Num;
// model.IsDelete = 0;
// model.ChaseId = ChaseId;
// var InId = obj1.SaveGoodsInRecordForTM(model);
// Log = "入库单号:" + model.InCode + "采购入库";
// foreach (var md in list)
// {
// HW_GoodsInRK rkmd = new HW_GoodsInRK();
// rkmd.DetailId = md.GoodsDetailId;
// rkmd.InId = InId;
// rkmd.InNum = md.AddNum;
// rkmd.StoreId = 0;
// rkmd.PostionCode = md.PostionCode;
// int RKId = obj1.SaveInRecordDetailForTM(rkmd);
// if (md.AddNum > 0)
// {
// obj.SaveInchaseGoodsForTM(ChaseId, UserId, md.Price, md.PostPrice, md.GoodsDetailId.Value, md.AddNum.Value, RKId, md.ErrorDesc, md.PostionCode);
// }
// }
//obj.UpdateChaseStateForTM(ChaseId, IsDH, 1);
//obj.UpdateChaseGoodsNum(ChaseId);
//foreach (var md in printlist)
//{
// if (md.PrintState == 0)
// {
// // var GoodsList = obj.GetOrderGoodsList(md.OrderId.Value);
// HW_GoodsOutRecord model = new HW_GoodsOutRecord();
// model.OutCode = GetOutCode();
// model.OutReason = "订单发货";
// model.CompanyId = CompanyId;
// model.InDate = DateTime.Now;
// model.InUserId = UserId;
// model.IsDelete = 0;
// model.OrderId = md.OrderId;
// // int Num = 0;
// model.OutNum = md.GoodsNum;
// var OutId = obj1.UpdateOrderPrint(model); //生成出库记录
// }
//}
return null;
}
#endregion
#region 查购物车匹配
[WebMethod(EnableSession = true)]
public List<HW_OrderPostion2> GetOrderPostion()
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
var list1 = obj.GetOrderPostion(4,1);
var list2 = obj.GetOrderPostion2(4,1);
// var list3 = obj.GetOrderPostion3(4);
if (list1 != null)
{
foreach (var md in list1)
{
if(list2==null)
continue;
var glist = list2.FindAll(n => n.OrderCode == md.OrderCode);
if (glist!=null)
md.GoodsList = glist;
//if (glist != null)
//{
// foreach (var md2 in glist)
// {
// if(list3==null)
// continue;
// var pmd = list3.Find(n => n.Id == md2.Id);
// if (pmd != null)
// md2.PostionCode = pmd.PostionCode;
// }
//}
}
}
return list1;
}
#endregion
#region 库存配货
[WebMethod(EnableSession = true)]
public List<HW_OrderPostion2> GetOrderPostion2()
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
var list1 = obj.GetOrderPostion(5,1);
var list2 = obj.GetOrderPostion2(5,1);
// var list3 = obj.GetOrderPostion3(4);
if (list1 != null)
{
foreach (var md in list1)
{
if (list2 == null)
continue;
var glist = list2.FindAll(n => n.OrderCode == md.OrderCode);
if (glist != null)
md.GoodsList = glist;
//if (glist != null)
//{
// foreach (var md2 in glist)
// {
// if(list3==null)
// continue;
// var pmd = list3.Find(n => n.Id == md2.Id);
// if (pmd != null)
// md2.PostionCode = pmd.PostionCode;
// }
//}
}
}
return list1;
}
#endregion
#region 库存配货
[WebMethod(EnableSession = true)]
public List<HW_OrderPostion2> GetOrderPostion3()
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
var list1 = obj.GetOrderPostion(5, 2);
var list2 = obj.GetOrderPostion2(5, 2);
// var list3 = obj.GetOrderPostion3(4);
if (list1 != null)
{
foreach (var md in list1)
{
if (list2 == null)
continue;
var glist = list2.FindAll(n => n.OrderCode == md.OrderCode);
if (glist != null)
md.GoodsList = glist;
//if (glist != null)
//{
// foreach (var md2 in glist)
// {
// if(list3==null)
// continue;
// var pmd = list3.Find(n => n.Id == md2.Id);
// if (pmd != null)
// md2.PostionCode = pmd.PostionCode;
// }
//}
}
}
return list1;
}
#endregion
#region 取消匹配
[WebMethod(EnableSession = true)]
public void UpdateMate1(List<HW_BarCode> list)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
if (list == null)
return;
foreach (var md in list)
{
obj.UpdateOrderMate(md.OrderCode);
}
}
#endregion
#region 取消匹配
[WebMethod(EnableSession = true)]
public void UpdateMate3(List<HW_BarCode> list)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
if (list == null)
return;
foreach (var md in list)
{
obj.UpdateOrderMate3(md.OrderCode);
}
}
#endregion
#region 取消匹配
[WebMethod(EnableSession = true)]
public void UpdateMate4(List<HW_BarCode> list)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
if (list == null)
return;
foreach (var md in list)
{
obj.UpdateOrderMate4(md.OrderCode);
}
}
#endregion
#region 修改跟踪码
[WebMethod(EnableSession = true)]
public void UpdateCode(string OldCode,string NewCode)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
obj.UpdateCode(OldCode, NewCode);
}
#endregion
#region 设置发货
[WebMethod(EnableSession = true)]
public string SetFBAOrderPost(List<DT_Order> list)
{
Pages.Login(this.Session);
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
string Name = Convert.ToString(Session["Name"]);
var obj1 = new HuoWuData();
DD_OrderData obj = new DD_OrderData();
List<DT_TrackCodeScan> scanlist = new List<DT_TrackCodeScan>();
foreach (var smd in list)
{
HW_GoodsOutRecord model = new HW_GoodsOutRecord();
model.OutCode = GetOutCode();
model.OutReason = "订单发货";
model.CompanyId = CompanyId;
model.InDate = DateTime.Now;
model.InUserId = UserId;
model.IsDelete = 0;
model.OrderId = smd.OrderId;
// int Num = 0;
model.OutNum = smd.GoodsNum;
var OutId = obj1.UpdateOrderPrint(model); //生成出库记录
DT_TrackCodeScan mmd = new DT_TrackCodeScan();
mmd.OrderId = smd.OrderId;
mmd.JoinOrderCode = smd.JoinOrderCode;
mmd.Weight = 0;
mmd.InDate = DateTime.Now;
mmd.PostFee = 0;
obj.SaveTrackCodeScanHWC(mmd);
}
return "成功";
}
#endregion
#region 取消匹配
[WebMethod(EnableSession = true)]
public void UpdateOrderLock()
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
obj.UpdateOrderLock();
}
#endregion
#region DHLCloseout
[WebMethod(EnableSession = true)]
public string DHLCloseout(DateTime? SDate, DateTime? EDate, int PostId, string Ids)
{
var obj2 = new DD_OrderData();
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
var obj1 = new JC_ExpressService();
JC_ExpressPost md = obj1.GetExpressModel(CompanyId, PostId);
if (EDate == null)
EDate = DateTime.Now;
DataTable tb = obj2.GetPostDataOrderForTM(Ids.Trim(','), CompanyId, PostId, SDate.Value, EDate.Value);
if (tb == null || tb.Rows.Count == 0)
return "";
DHLApi obj = new DHLApi();
closeOutRequest model = new closeOutRequest();
obj.clientId = md.client_id; //"LTExMTgwNTI4MTY=";
obj.GetTime = md.GetTime;
obj.password = md.client_secret; //"APITest1";
obj.AccessToken = md.UserCode;
obj.token_type = md.CheckCode;
hd3 hd3 = new hd3();
hd3.messageType = "CLOSEOUT";
hd3.accessToken = "";
hd3.messageDateTime = DateTime.Now.ToString("s");
hd3.messageVersion = "1.3";
hd3.messageLanguage = "en";
model.hdr = hd3;
bd3 bd3 = new bd3();
List<shipmentItems3> slist = new List<shipmentItems3>();
for (int i = 0; i < tb.Rows.Count; i++)
{
if (tb.Rows[i]["TrackCode"].ToString().StartsWith("CNAEV") == true)
continue;
shipmentItems3 smd = new shipmentItems3();
smd.shipmentID = "CNAEV543" + tb.Rows[i]["OrderId"].ToString();
smd.bagID = null;
slist.Add(smd);
}
bd3.customerAccountId = null;
bd3.pickupAccountId = md.refresh_token; //"5999999201";
bd3.soldToAccountId = md.Code; //"5999999201";
bd3.handoverID = null;
bd3.generateHandover = "Y";
bd3.handoverMethod = 1;
bd3.shipmentItems = slist;
model.bd = bd3;
var closeOut = new closeOut();
closeOut.closeOutRequest = model;
string error = "";
if (slist.Count > 0)
obj.Colse_out(closeOut, out error);
if (error == "")
return "成功";
else
return error;
}
#endregion
#region 查询扫描匹配
[WebMethod(EnableSession = true)]
public DT_ChaseScan Get_ScanMateOrder2(string Code, string PostionCode)
{
Pages.Login(this.Session);
var obj = new DD_OrderData();
string InName = Session["Name"].ToString();
int UserId = Convert.ToInt32(Session["UserId"]);
DT_ChaseScan md1 = new DT_ChaseScan();
var list = obj.Get_ScanChaseCode(Code);
if (list == null)
{
md1.Error = "该条码找不到对应的采购单";
return md1;
}
md1.ChaseList = list;
string OrderIds = "";
foreach (var md in list)
{
OrderIds += md.OrderId + ",";
}
var list2 = obj.Get_ScanOrders(OrderIds.TrimEnd(','));
md1.OrderList = list2;
if (list != null && list2 != null)
{
if (list.Count == 1 && list2.Count == 1)
{
if (list2[0].DetailId == list[0].DetailId && list[0].BuyNum >= list2[0].GoodsNum)
{
list2[0].IsPrint = 1;
list[0].GoodsNum = list2[0].GoodsNum;
list[0].IsPrint = 1;
list[0].OrderGoodsId = list2[0].OrderGoodsId;
}
else
list2[0].IsPrint = 0;
}
else
{
int IsPP = 1;
int oid = 0;
foreach (var gmd in list2)
{
var cmd = list.Find(n => n.OrderId == gmd.OrderId &&n.DetailId==gmd.DetailId&& n.BuyNum >= gmd.GoodsNum);
if (cmd == null)
{
IsPP = 0;
var omd = list2.FindAll(n => n.OrderId == gmd.OrderId);
if (omd != null)
{
foreach (var md in omd)
{
md.IsPrint = 0;
}
}
}
else
{
gmd.IsPrint = 1;
cmd.GoodsNum = gmd.GoodsNum;
cmd.IsPrint = 1;
cmd.OrderGoodsId = gmd.OrderGoodsId;
}
oid = gmd.OrderId.Value;
}
}
}
return md1;
}
#endregion
#region 查询扫描打印
[WebMethod(EnableSession = true)]
public string Get_ScanMateOrderPrint2(List<CG_PurchaseOrder> list, string PostionCode)
{
Pages.Login(this.Session);
if (list == null)
return "";
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
int UserId = Convert.ToInt32(Session["UserId"]);
string Name = Convert.ToString(Session["Name"]);
var obj = new CG_ChaseData();
var obj1 = new HuoWuData();
List<CG_PurchaseOrder> list1 = list.OrderBy(s => s.ChaseId).ToList<CG_PurchaseOrder>();
int ChaseId = 0;
foreach (var md in list1)
{
if (md.ChaseId == ChaseId)
continue;
ChaseId = md.ChaseId.Value;
HW_GoodsInRecord model = new HW_GoodsInRecord();
model.CompanyId = CompanyId;
model.InDate = DateTime.Now;
model.InUserId = UserId;
model.InName = Name;
model.InReason = "采购入库";
model.InCode = GetOutCode();
model.InNum = md.GoodsNum;
model.IsDelete = 0;
model.ChaseId = md.ChaseId;
var InId = obj1.SaveGoodsInRecordForTM(model);
// Log = "入库单号:" + model.InCode + "采购入库";
HW_GoodsInRK rkmd = new HW_GoodsInRK();
rkmd.DetailId = md.GoodsDetailId;
rkmd.InId = InId;
rkmd.InNum = md.GoodsNum;
rkmd.StoreId = 0;
rkmd.PostionCode = PostionCode;
int RKId = obj1.SaveInRecordDetailForTM(rkmd);
// if (md.PrintState == 0)
// {
// var GoodsList = obj.GetOrderGoodsList(md.OrderId.Value);
HW_GoodsOutRecord cmodel = new HW_GoodsOutRecord();
cmodel.OutCode = GetOutCode();
cmodel.OutReason = "订单发货";
cmodel.CompanyId = CompanyId;
cmodel.InDate = DateTime.Now;
cmodel.InUserId = UserId;
cmodel.IsDelete = 0;
cmodel.OrderId = md.OrderId;
// int Num = 0;
cmodel.OutNum = md.GoodsNum;
obj1.UpdateOrderPrint2(cmodel); //生成出库记录
// }
if (md.GoodsNum > 0)
{
obj.SaveInchaseGoodsForTM2(md.ChaseId.Value, UserId, md.Price, md.PostPrice, md.DetailId.Value, md.GoodsNum.Value, RKId, "", PostionCode,md.OrderGoodsId.Value, md.OrderId.Value);
}
obj.UpdateChaseStateForTM(md.ChaseId.Value, 1, 1);
obj.UpdateChaseGoodsNum(md.ChaseId.Value);
}
return null;
}
#endregion
#region 查询面单pdf
[WebMethod(EnableSession = true)]
public string Get_OrderPdfUrl(List<CG_PurchaseOrder> list,int PostId,int PostType)
{
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
if (list == null)
return "";
string OrderIds = "";
foreach (var md in list)
{
OrderIds += md.OrderId.Value.ToString() + ",";
}
DD_OrderData obj1 = new DD_OrderData();
var tlist = obj1.Get_OrderTrack(PostId, OrderIds.TrimEnd(','));
if (PostType == 1) //cne
{
string TrackCodes = "";
string URL = "http://api-sbx.oneworldexpress.cn/api/parcels/labels?processCodes=";
foreach (var omd in tlist)
{
TrackCodes += omd.TrackCode.Trim().Replace("<br/>", ",") + ",";
}
TrackCodes = TrackCodes.Trim(',');
JC_ExpressService obj = new JC_ExpressService();
var expressmd = obj.GetExpressModel(CompanyId, PostId);
if (expressmd == null)
return "";
if (expressmd.UserCode == null || expressmd.UserCode == "" || expressmd.CheckCode == null || expressmd.CheckCode == "")
return "";
string ErrorMessage = "";
string sign = NetLibrary.Safety.CryptoPublic.Md5For32(expressmd.UserCode + TrackCodes + expressmd.CheckCode);
CNE cobj = new CNE();
string url = cobj.GetLabel(expressmd.UserCode, TrackCodes, sign, out ErrorMessage);
return url;
}
else if (PostType ==2) //燕文
{
string TrackCodes = "";
foreach (var omd in tlist)
{
TrackCodes += omd.TrackCode.Trim().Replace("<br/>", ",") + ",";
}
//TrackCodes = TrackCodes.Trim(',');
TrackCodes = "<string>" + TrackCodes.Trim(',') + "</string>";
//TrackCodes += ",";
JC_ExpressService obj = new JC_ExpressService();
var expressmd = obj.GetExpressModel(CompanyId, PostId);
if (expressmd == null)
return "";
if (expressmd.UserCode == null || expressmd.UserCode == "" || expressmd.CheckCode == null || expressmd.CheckCode == "")
return "";
string ErrorMessage = "";
YanWenApi yobj = new YanWenApi();
yobj.UserCode = expressmd.UserCode;
yobj.CheckCode = expressmd.CheckCode;
string url = yobj.GetLabels2(expressmd.UserCode, TrackCodes, 0, out ErrorMessage);
return url;
}
else if (PostType == 3) //wishyou
{
List<WishPostTrack> wtlist = new List<WishPostTrack>();
foreach (var omd in tlist)
{
string tcodes = omd.TrackCode.Trim().Replace("<br/>", ",");
string[] tcode = tcodes.Split(',');
for (int i = 0; i < tcode.Length; i++)
{
if (tcode[i].Trim() != "")
{
WishPostTrack tmd = new WishPostTrack();
tmd.barcode = tcode[i].Trim();
wtlist.Add(tmd);
}
}
}
JC_ExpressService obj = new JC_ExpressService();
var expressmd = obj.GetExpressModel(CompanyId, PostId);
if (expressmd == null)
return "";
if (expressmd.UserCode == null || expressmd.UserCode == "" || expressmd.CheckCode == null || expressmd.CheckCode == "")
return "";
WishYouApi2 obj2 = new WishYouApi2();
obj2.client_id = expressmd.client_id;
obj2.ExpressId = expressmd.ExpressID;
obj2.client_id = expressmd.client_id;
obj2.client_secret = expressmd.client_secret;
obj2.redirect_uri = expressmd.redirect_uri;
obj2.refresh_token = expressmd.refresh_token;
obj2.code = expressmd.Code;
obj2.GetTime = expressmd.GetTime;
obj2.access_token = expressmd.UserCode;
string url = obj2.GetLabel(wtlist);
if (url.Contains("失败") == true)
return "";
return url;
}
else if (PostType == 4) //eub
{
StringBuilder sb = new StringBuilder();
sb.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
sb.Append("<orders xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">");
sb.Append("<printcode>01</printcode>");
sb.Append("<filetype>1</filetype>");
foreach (var omd in tlist)
{
string tcodes = omd.TrackCode.Trim().Replace("<br/>", ",");
string[] tcode = tcodes.Split(',');
for (int i = 0; i < tcode.Length; i++)
{
if (tcode[i].Trim() != "")
{
sb.Append("<order>");
sb.Append("<mailnum>" + tcode[i].Trim() + "</mailnum>");
sb.Append("</order>");
}
}
}
sb.Append("</orders>");
JC_ExpressService obj = new JC_ExpressService();
var expressmd = obj.GetExpressModel(CompanyId, PostId);
if (expressmd == null)
return "";
EubApi obj2 = new EubApi();
string error = "";
string url = obj2.GetLabel(sb.ToString(), expressmd.CheckCode, out error);
if (error != "")
return "";
return url;
}
//else if (PostType == 5) //4px
//{
// List<PX_Order> ptlist = new List<PX_Order>();
// foreach (var omd in tlist)
// {
// string tcodes = omd.TrackCode.Trim().Replace("<br/>", ",");
// string[] tcode = tcodes.Split(',');
// for (int i = 0; i < tcode.Length; i++)
// {
// if (tcode[i].Trim() != "")
// {
// PX_Order tmd = new PX_Order();
// tmd.TrackingNumber = tcode[i].Trim();
// ptlist.Add(tmd);
// }
// }
// }
// JC_ExpressService obj = new JC_ExpressService();
// var expressmd = obj.GetExpressModel(CompanyId, PostId);
// if (expressmd == null)
// return "";
// if (expressmd.CheckCode == null || expressmd.CheckCode == "")
// return "0";
// _4PXApi obj2 = new _4PXApi();
// string error = "";
// string url = obj2.GetLabel(expressmd.CheckCode, ptlist, out error);
// if (error != "")
// return "";
// return url;
//}
else if (PostType == 6) //线上
{
int UserId = Convert.ToInt32(Session["UserId"]);
int ShopId = list[0].ShopId.Value;
AlibabaApi obj = new AlibabaApi();
JC_Shop shopmodel = new JC_Shop();
var obj2 = new BaseService();
shopmodel = JC_ShopService.GetModel(ShopId);
if (shopmodel == null)
return null;
obj.Appkey = shopmodel.Appkey;
obj.DeveKey = shopmodel.DeveKey;
obj.RefreshToken = shopmodel.RefreshToken;
obj.AccessToken = shopmodel.AccessToken;
obj.RefreshTokenSaveTime = shopmodel.RefreshTokenSaveTime;
obj.AccessTokenUpdateTime = shopmodel.AccessTokenUpdateTime;
var loglist = new List<Logistics>();
foreach (var md in tlist)
{
string TrackCode = "";
if (md.TrackCode != null && md.TrackCode != "")
{
TrackCode = md.TrackCode.Replace("<br/>", ",");
}
string[] tcodes = TrackCode.TrimEnd(',').Split(',');
for (int i = 0; i < tcodes.Length; i++)
{
var md1 = new Logistics();
md1.internationalLogisticsId = tcodes[i];
loglist.Add(md1);
}
}
string error = "";
string trackinfo = new JavaScriptSerializer().Serialize(loglist);
string path = obj.GetPrintInfo(trackinfo, out error);
if (error != "")
return "";
//if (path != "")
//{
// foreach (var md in list)
// {
// obj1.UpdatePrintOrder(md.OrderId.Value);
// }
//}
return path;
}
return "";
}
#endregion
[WebMethod(EnableSession = true)]
public string GetFedexLabel(List<DT_Order> list,int PostId)
{
Pages.Login(base.Session);
if (list == null)
{
return "";
}
int CompanyId = Convert.ToInt32(Session["CompanyId"]);
string ids = "";
foreach (DT_Order order in list)
{
ids = ids + order.OrderId.ToString() + ",";
}
ids = ids.TrimEnd(',');
int companyId = Convert.ToInt32(base.Session["CompanyId"]);
OrderPrintData data = new OrderPrintData();
List<DT_OrderPrintModel> source = null;
var obj = new DD_OrderData();
if (source == null)
{
source = obj.GetOrderPrintListForFedex(ids, 0);
}
if (source == null||source.Count == 0)
{
return "";
}
BaseService obj2 = new BaseService();
var expressmd = obj2.GetExpressModel(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;
}
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 GetFedexFee2(DT_OrderModel omd, List<DT_OrderMateGoods> glist, int PostId, string PostType)
{
Pages.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(companyId, PostId);
decimal num2 = 0M;
if (glist != null)
{
foreach (DT_OrderMateGoods goods in glist)
{
decimal? nullable;
if (!(goods.Weight.HasValue && !(((nullable = goods.Weight).GetValueOrDefault() <= 0M) && nullable.HasValue)))
{
return (goods.GoodsName + "重量没填,无法计算");
}
if (goods.Width2.HasValue)
{
nullable = goods.Width2;
if (!((nullable.GetValueOrDefault() <= 0M) && nullable.HasValue) && goods.Length2.HasValue)
{
nullable = goods.Length2;
}
}
if ((((nullable.GetValueOrDefault() <= 0M) && nullable.HasValue) || !goods.Height2.HasValue) || (((nullable = goods.Height2).GetValueOrDefault() <= 0M) && nullable.HasValue))
{
return (goods.GoodsName + "长宽高没填,无法计算");
}
num2 += goods.Weight.Value * goods.GoodsNum.Value;
}
}
TradeManageNew.FedexRateNew rate = new TradeManageNew.FedexRateNew();
TradeManageNew.FedexRateNew.Key = expressModel.UserCode;
TradeManageNew.FedexRateNew.Password = expressModel.CheckCode;
TradeManageNew.FedexRateNew.AccountNumber = expressModel.client_id;
TradeManageNew.FedexRateNew.MeterNumber = expressModel.client_secret;
TradeManageNew.FedexRateNew.PayAccountNumber = expressModel.refresh_token;
TradeManageNew.FedexRateNew.HubId = expressModel.Code;
TradeManageNew.FedexFeeMdNew md = new TradeManageNew.FedexFeeMdNew
{
RevName = omd.RevName,
RevPhone = omd.RevPhone
};
if ((omd.RevPhone == null) || (omd.RevPhone == ""))
{
md.RevPhone = omd.RevMoblie;
}
md.OrderId = omd.OrderId;
md.PostType = PostType;
md.SendAddr = address.EnglishAddress;
md.SendCountry = address.countycode;
md.SendCity = address.city;
md.SendProv = address.provincecode;
md.SendPostCode = address.PostCode;
md.RevAddr = omd.RevAddr;
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(glist[0].Width2.Value).ToString();
md.Height = Math.Ceiling(glist[0].Height2.Value).ToString();
md.Lenght = Math.Ceiling(glist[0].Length2.Value).ToString();
md.Weight = new decimal?(num2);
string outError = "";
string fee = rate.GetFee(md, out outError);
if (outError != "")
{
return outError;
}
return fee;
}
[WebMethod(EnableSession = true)]
public string GetFedexFee22(DT_OrderModel omd, DT_OrderMateGoods gmd, int PostId, string PostType)
{
Pages.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(companyId, PostId);
decimal num2 = 0M;
var goods=gmd;
decimal? nullable;
if (!(goods.Weight.HasValue && !(((nullable = goods.Weight).GetValueOrDefault() <= 0M) && nullable.HasValue)))
{
return (goods.GoodsName + "重量没填,无法计算");
}
if (goods.Width2.HasValue)
{
nullable = goods.Width2;
if (!((nullable.GetValueOrDefault() <= 0M) && nullable.HasValue) && goods.Length2.HasValue)
{
nullable = goods.Length2;
}
}
if ((((nullable.GetValueOrDefault() <= 0M) && nullable.HasValue) || !goods.Height2.HasValue) || (((nullable = goods.Height2).GetValueOrDefault() <= 0M) && nullable.HasValue))
{
return (goods.GoodsName + "长宽高没填,无法计算");
}
num2 += goods.Weight.Value * goods.GoodsNum.Value;
TradeManageNew.FedexRateNew rate = new TradeManageNew.FedexRateNew();
TradeManageNew.FedexRateNew.Key = expressModel.UserCode;
TradeManageNew.FedexRateNew.Password = expressModel.CheckCode;
TradeManageNew.FedexRateNew.AccountNumber = expressModel.client_id;
TradeManageNew.FedexRateNew.MeterNumber = expressModel.client_secret;
TradeManageNew.FedexRateNew.PayAccountNumber = expressModel.refresh_token;
TradeManageNew.FedexRateNew.HubId = expressModel.Code;
TradeManageNew.FedexFeeMdNew md = new TradeManageNew.FedexFeeMdNew
{
RevName = omd.RevName,
RevPhone = omd.RevPhone
};
if ((omd.RevPhone == null) || (omd.RevPhone == ""))
{
md.RevPhone = omd.RevMoblie;
}
md.OrderId = 0;
md.OrderGoodsId = gmd.Id;
md.PostType = PostType;
md.SendAddr = address.EnglishAddress;
md.SendCountry = address.countycode;
md.SendCity = address.city;
md.SendProv = address.provincecode;
md.SendPostCode = address.PostCode;
md.RevAddr = omd.RevAddr;
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(gmd.Width2.Value).ToString();
md.Height = Math.Ceiling(gmd.Height2.Value).ToString();
md.Lenght = Math.Ceiling(gmd.Length2.Value).ToString();
md.Weight = new decimal?(num2);
string outError = "";
string fee = rate.GetFee(md, out outError);
if (outError != "")
{
return outError;
}
return fee;
}
[WebMethod(EnableSession = true)]
public string GetFedexFee22(DT_OrderFedexModel omd, decimal weight, decimal width, decimal slong, decimal height, int Uint, int PostId, string PostType)
{
Pages.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(companyId, 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 = 0;
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 void GetGoodsFee()
{
Pages.Login(base.Session);
new DD_OrderData().GetGoodsFee();
}
}
}