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 { /// /// DD_OrderService 的摘要说明 /// [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> 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> resultModel = new JsonModel>(); 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", "
"); md.PostInfo00 = emd.PostInfo.Replace("
", "\n"); } else { md.PostInfo =""; md.PostInfo00 = ""; } if (emd.PostInfo1 != null) { md.PostInfo1 = emd.PostInfo1.Replace("\n", "
"); md.PostInfo11 = emd.PostInfo1.Replace("
", "\n"); } else { md.PostInfo1 = ""; md.PostInfo11 = ""; } if (emd.PostInfo2 != null) { md.PostInfo2 = emd.PostInfo2.Replace("\n", "
"); md.PostInfo22 = emd.PostInfo2.Replace("
", "\n"); } else { md.PostInfo2 = ""; md.PostInfo22 = ""; } } } } } } return resultModel; } #endregion #region 查询订单 [WebMethod(EnableSession = true)] public JsonModel> 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> resultModel = new JsonModel>(); int RowCount = 0; string Sort = "orderid desc"; string GoodsName = ""; string SKU = ""; if (TjType == 7 && Name != "") { GoodsName = Name; } else if (TjType == 8 && Name != "") { SKU = Name; } 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> 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> resultModel = new JsonModel>(); int RowCount = 0; //string Sort = "orderid desc"; string GoodsName = ""; string SKU = ""; if (TjType == 7 && Name != "") { GoodsName = Name; } else if (TjType == 8 && Name != "") { SKU = Name; } if (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(); if (md.JoinOrderCode != null && md.JoinOrderCode != "") list3 = listTrack.FindAll(n => n.OrderCode == md.JoinOrderCode); else list3 = listTrack.FindAll(n => n.OrderId == md.OrderId); if (list3 != null && list3.Count > 0) { string trackinfo = ""; string TrackCode = ""; foreach (var md1 in list3) { string blank = ""; if (md1.TrackType == 3) blank = "[空包裹]"; if (md1.Weight != null) { string dd = ""; if (md1.ScanDate != null) dd = "扫描时间:" + md1.ScanDate.Value.ToString("yyyy-MM-dd HH:mm"); trackinfo += md1.TrackCode + blank + "重量" + md1.Weight.ToString() + "g" + dd + "
"; } else trackinfo += md1.TrackCode + blank + "
"; if (TrackCode == "") TrackCode = md1.TrackCode; } md.TrackInfo = trackinfo; md.TrackCode = TrackCode; } } } } } return resultModel; } #endregion #region 查询订单 [WebMethod(EnableSession = true)] public JsonModel> 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> resultModel = new JsonModel>(); int RowCount = 0; //string Sort = "orderid desc"; string GoodsName = ""; string SKU = ""; if (TjType == 7 && Name != "") { GoodsName = Name; } else if (TjType == 8 && Name != "") { SKU = Name; } if (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(); if (md.JoinOrderCode != null && md.JoinOrderCode != "") list3 = listTrack.FindAll(n => n.OrderCode == md.JoinOrderCode); else list3 = listTrack.FindAll(n => n.OrderId == md.OrderId); if (list3 != null && list3.Count > 0) { string trackinfo = ""; string TrackCode = ""; foreach (var md1 in list3) { string blank = ""; if (md1.TrackType == 3) blank = "[空包裹]"; if (md1.Weight != null) { string dd = ""; if (md1.ScanDate != null) dd = "扫描时间:" + md1.ScanDate.Value.ToString("yyyy-MM-dd HH:mm"); trackinfo += md1.TrackCode + blank + "重量" + md1.Weight.ToString() + "g" + dd + "
"; } else trackinfo += md1.TrackCode + blank + "
"; if (TrackCode == "") TrackCode = md1.TrackCode; } md.TrackInfo = trackinfo; md.TrackCode = TrackCode; } } } } } return resultModel; } #endregion #region 查询订单 [WebMethod(EnableSession = true)] public JsonModel> 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> resultModel = new JsonModel>(); int RowCount = 0; //string Sort = "orderid desc"; string GoodsName = ""; string SKU = ""; if (TjType == 7 && Name != "") { GoodsName = Name; } else if (TjType == 8 && Name != "") { SKU = Name; } if (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(); if (md.JoinOrderCode != null && md.JoinOrderCode != "") list3 = listTrack.FindAll(n => n.OrderCode == md.JoinOrderCode); else list3 = listTrack.FindAll(n => n.OrderId == md.OrderId); if (list3 != null && list3.Count > 0) { string trackinfo = ""; string TrackCode = ""; foreach (var md1 in list3) { string blank = ""; if (md1.TrackType == 3) blank = "[空包裹]"; if (md1.Weight != null) { string dd = ""; if (md1.ScanDate != null) dd = "扫描时间:" + md1.ScanDate.Value.ToString("yyyy-MM-dd HH:mm"); trackinfo += md1.TrackCode + blank + "重量" + md1.Weight.ToString() + "g" + dd + "
"; } else trackinfo += md1.TrackCode + blank + "
"; if (TrackCode == "") TrackCode = md1.TrackCode; } md.TrackInfo = trackinfo; md.TrackCode = TrackCode; } } } } } return resultModel; } #endregion #region 查询订单 [WebMethod(EnableSession = true)] public JsonModel> 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> resultModel = new JsonModel>(); int RowCount = 0; //string Sort = "orderid desc"; string GoodsName = ""; string SKU = ""; if (TjType == 7 && Name != "") { GoodsName = Name; } else if (TjType == 8 && Name != "") { SKU = Name; } if (State == 0 || State == 2) resultModel.DataSource = 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(); if (md.JoinOrderCode != null && md.JoinOrderCode != "") list3 = listTrack.FindAll(n => n.OrderCode == md.JoinOrderCode); else list3 = listTrack.FindAll(n => n.OrderId == md.OrderId); if (list3 != null && list3.Count > 0) { string trackinfo = ""; string TrackCode = ""; foreach (var md1 in list3) { string blank = ""; if (md1.TrackType == 3) blank = "[空包裹]"; if (md1.Weight != null) { string dd = ""; if (md1.ScanDate != null) dd = "发货时间:" + md1.ScanDate.Value.ToString("yyyy-MM-dd HH:mm"); trackinfo += md1.TrackCode + blank + "重量" + md1.Weight.ToString() + "g" + dd + "
"; } else trackinfo += md1.TrackCode + blank + "
"; if (TrackCode == "") TrackCode = md1.TrackCode; } md.TrackInfo = trackinfo; md.TrackCode = TrackCode; } } } } } return resultModel; } #endregion #region 查询订单 [WebMethod(EnableSession = true)] public 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> resultModel = new JsonModel>(); int RowCount = 0; //string Sort = "orderid desc"; string GoodsName = ""; string SKU = ""; if (TjType == 7 && Name != "") { GoodsName = Name; } else if (TjType == 8 && Name != "") { SKU = Name; } if (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(); if (md.JoinOrderCode != null && md.JoinOrderCode != "") list3 = listTrack.FindAll(n => n.OrderCode == md.JoinOrderCode); else list3 = listTrack.FindAll(n => n.OrderId == md.OrderId); if (list3 != null && list3.Count > 0) { string trackinfo = ""; string TrackCode = ""; foreach (var md1 in list3) { string blank = ""; if (md1.TrackType == 3) blank = "[空包裹]"; if (md1.Weight != null) { string dd = ""; if (md1.ScanDate != null) dd = "扫描时间:" + md1.ScanDate.Value.ToString("yyyy-MM-dd HH:mm"); trackinfo += md1.TrackCode + blank + "重量" + md1.Weight.ToString() + "g" + dd + "
"; } else trackinfo += md1.TrackCode + blank + "
"; if (TrackCode == "") TrackCode = md1.TrackCode; } md.TrackInfo = trackinfo; md.TrackCode = TrackCode; } } } } } 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> resultModel = new JsonModel>(); int RowCount = 0; //string Sort = "orderid desc"; string GoodsName = ""; string SKU = ""; if (TjType == 7 && Name != "") { GoodsName = Name; } else if (TjType == 8 && Name != "") { SKU = Name; } if (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(); 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) 长(inch) 宽(inch) 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> 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> resultModel = new JsonModel>(); 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> resultModel = new JsonModel>(); //int RowCount = 0; string Sort = "orderid desc"; string GoodsName = ""; string SKU = ""; if (TjType == 7 && Name != "") { GoodsName = Name; } else if (TjType == 8 && Name != "") { SKU = Name; } 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> 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> resultModel = new JsonModel>(); int RowCount = 0; string Sort = "orderid desc"; string GoodsName = ""; string SKU = ""; if (TjType == 7 && Name != "") { GoodsName = Name; } else if (TjType == 8 && Name != "") { SKU = Name; } 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> 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> resultModel = new JsonModel>(); int RowCount = 0; string Sort = "orderid desc"; string GoodsName = ""; string SKU = ""; if (TjType == 7 && Name != "") { GoodsName = Name; } else if (TjType == 8 && Name != "") { SKU = Name; } 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> 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> resultModel = new JsonModel>(); int RowCount = 0; string Sort = "orderid desc"; string GoodsName = ""; string SKU = ""; if (TjType == 7 && Name != "") { GoodsName = Name; } else if (TjType == 8 && Name != "") { SKU = Name; } if (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> 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> resultModel = new JsonModel>(); 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 = "拆分发包:
"; 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() + "
"; 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> 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> resultModel = new JsonModel>(); int RowCount = 0; //string Sort = "orderid desc"; //if (PrintState == 0) // Sort = "orderid"; string GoodsName = ""; string Code = ""; if (GoodsInfo!= "") { GoodsName = GoodsInfo.Trim(); if (GoodsInfo.Trim().Contains(' ')) { GoodsName = GoodsInfo.Trim().Split(' ')[0].Trim(); Code = GoodsInfo.Trim().Split(' ')[1].Trim(); } } //else // if (TjType == 8 && Name != "") // { // SKU = Name; // } List orderlist = new List(); List ordertemp = new List(); if(PrintState>-1) orderlist = 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(); 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(); 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(); 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(); int count = 0; if (ordertemp != null) count = ordertemp.Count(); resultModel.RowCount = count; return resultModel; } #endregion #region 查询订单 [WebMethod(EnableSession = true)] public JsonModel> 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> resultModel = new JsonModel>(); int RowCount = 0; //string Sort = "orderid desc"; //if (PrintState == 0) // Sort = "orderid"; string GoodsName = ""; string Code = ""; if (GoodsInfo != "") { GoodsName = GoodsInfo.Trim(); if (GoodsInfo.Trim().Contains(' ')) { GoodsName = GoodsInfo.Trim().Split(' ')[0].Trim(); Code = GoodsInfo.Trim().Split(' ')[1].Trim(); } } //else // if (TjType == 8 && Name != "") // { // SKU = Name; // } List orderlist = new List(); List ordertemp = new List(); if (PrintState > -1) orderlist = 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(); 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(); 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 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(); 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(); int count = 0; if (ordertemp != null) count = ordertemp.Count(); resultModel.RowCount = count; return resultModel; } #endregion #region 查询订单 [WebMethod(EnableSession = true)] public JsonModel> 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> resultModel = new JsonModel>(); int RowCount = 0; //string Sort = "orderid desc"; //if (PrintState == 0) // Sort = "orderid"; string GoodsName = ""; string Code = ""; if (GoodsInfo != "") { GoodsName = GoodsInfo.Trim(); if (GoodsInfo.Trim().Contains(' ')) { GoodsName = GoodsInfo.Trim().Split(' ')[0].Trim(); Code = GoodsInfo.Trim().Split(' ')[1].Trim(); } } //else // if (TjType == 8 && Name != "") // { // SKU = Name; // } List orderlist = new List(); List ordertemp = new List(); if (PrintState > -1) orderlist = 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(); 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++; } } 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(); 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++; } } 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> resultModel = new JsonModel>(); int RowCount = 0; //string Sort = "orderid desc"; //if (PrintState == 0) // Sort = "orderid"; string GoodsName = ""; string Code = ""; if (GoodsInfo != "") { GoodsName = GoodsInfo.Trim(); if (GoodsInfo.Trim().Contains(' ')) { GoodsName = GoodsInfo.Trim().Split(' ')[0].Trim(); Code = GoodsInfo.Trim().Split(' ')[1].Trim(); } } //else // if (TjType == 8 && Name != "") // { // SKU = Name; // } List orderlist = new List(); List ordertemp = new List(); if (PrintState > -1) orderlist = 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(); if (Ids != "") { JC_ExpressService obj3 = new JC_ExpressService(); // var elist = obj3.GetExpressTypeList(); var plist = obj3.GetExpressList(); // var errorlist = obj.GetErrorList(Ids.Trim(',')); if (plist != null) { foreach (var md in ordertemp) { // if (errorlist != null && errorlist.Count > 0) // { // var emd = errorlist.Find(n => n.OrderId == md.OrderId); // if (emd != null) // { // md.ErrorInfo = emd.ErrorInfo; // } // } if (md.Post > 0 && plist != null && plist.Count > 0) { var emd = plist.Find(n => n.ExpressID == md.Post); if (emd != null) { md.PostInfo = emd.Name; } } } } } if (IsDetail == 0 && ordertemp != null) { if (Ids != "") { var listTrack = obj.GetTrackCodeApplyList2(Ids.Trim(',')); if (listTrack != null) { foreach (var md in ordertemp) { var list3 = new List(); if (md.JoinOrderCode != null && md.JoinOrderCode != "") list3 = listTrack.FindAll(n => n.OrderCode == md.JoinOrderCode); else list3 = listTrack.FindAll(n => n.OrderId == md.OrderId); if (list3 != null && list3.Count > 0) { string trackinfo = ""; int tcount = 0; foreach (var md1 in list3) { if (md1.TrackType < 3) { trackinfo += md1.TrackCode + ","; tcount++; } } if (IsWeight == 1 && tcount > 1 && IsError == 2) { ordertemp.Remove(md); } if (IsError == 5 && IsWeight == 1 && tcount > 1) { orderlist.Add(md); } md.TrackCode = trackinfo; } } } } } else if (IsDetail == 1 && ordertemp != null) { if (Ids != "") { var listTrack = obj.GetTrackCodeApplyList2(Ids.Trim(',')); var list1 = 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(); 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> resultModel = new JsonModel>(); int RowCount = 0; //string Sort = "orderid desc"; //if (PrintState == 0) // Sort = "orderid"; string GoodsName = ""; string Code = ""; if (GoodsInfo != "") { GoodsName = GoodsInfo.Trim(); if (GoodsInfo.Trim().Contains(' ')) { GoodsName = GoodsInfo.Trim().Split(' ')[0].Trim(); Code = GoodsInfo.Trim().Split(' ')[1].Trim(); } } //else // if (TjType == 8 && Name != "") // { // SKU = Name; // } List orderlist = new List(); List ordertemp = new List(); if (PrintState > -1) orderlist = 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(); if (Ids != "") { JC_ExpressService obj3 = new JC_ExpressService(); // var elist = obj3.GetExpressTypeList(); var plist = obj3.GetExpressList(); // var errorlist = obj.GetErrorList(Ids.Trim(',')); if (plist != null) { foreach (var md in ordertemp) { // if (errorlist != null && errorlist.Count > 0) // { // var emd = errorlist.Find(n => n.OrderId == md.OrderId); // if (emd != null) // { // md.ErrorInfo = emd.ErrorInfo; // } // } if (md.Post > 0 && plist != null && plist.Count > 0) { var emd = plist.Find(n => n.ExpressID == md.Post); if (emd != null) { md.PostInfo = emd.Name; } } } } } if (IsDetail == 0 && ordertemp != null) { if (Ids != "") { var listTrack = obj.GetTrackCodeApplyList2(Ids.Trim(',')); if (listTrack != null) { foreach (var md in ordertemp) { var list3 = new List(); if (md.JoinOrderCode != null && md.JoinOrderCode != "") list3 = listTrack.FindAll(n => n.OrderCode == md.JoinOrderCode); else list3 = listTrack.FindAll(n => n.OrderId == md.OrderId); if (list3 != null && list3.Count > 0) { string trackinfo = ""; int tcount = 0; foreach (var md1 in list3) { if (md1.TrackType < 3) { trackinfo += md1.TrackCode + ","; tcount++; } } if (IsWeight == 1 && tcount > 1 && IsError == 2) { ordertemp.Remove(md); } if (IsError == 5 && IsWeight == 1 && tcount > 1) { orderlist.Add(md); } md.TrackCode = trackinfo; } } } } } else if (IsDetail == 1 && ordertemp != null) { if (Ids != "") { var listTrack = obj.GetTrackCodeApplyList2(Ids.Trim(',')); var list1 = 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(); 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 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> 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.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> model = new JsonModel>(); 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 errorList = data.GetErrorList(str4.Trim(new char[] { ',' })); if ((errorList != null) && (errorList.Count > 0)) { using (enumerator = model.DataSource.GetEnumerator()) { Predicate 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 saleBackModelList = null; if ((IsDetail == 1) && (model.DataSource != null)) { int? trackType; if (str4 != "") { List orderGoodsList = data.GetOrderGoodsList(str4.Trim(new char[] { ',' })); List trackCodeApplyList = data.GetTrackCodeApplyList(str4.Trim(new char[] { ',' })); saleBackModelList = data.GetSaleBackModelList(str4.Trim(new char[] { ',' })); if (orderGoodsList != null) { using (enumerator = model.DataSource.GetEnumerator()) { Predicate predicate2 = null; DT_Order md; while (enumerator.MoveNext()) { md = enumerator.Current; if (predicate2 == null) { predicate2 = n => n.OrderId == md.OrderId; } List list5 = orderGoodsList.FindAll(predicate2); if (list5 != null) { md.GoodsList = list5; } } } } if (trackCodeApplyList != null) { using (enumerator = model.DataSource.GetEnumerator()) { Predicate predicate3 = null; Predicate predicate4 = null; DT_Order md; while (enumerator.MoveNext()) { md = enumerator.Current; List list6 = new List(); 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") + "
"; } string str9 = str5; str5 = str9 + apply.TrackCode + str7 + "
重量" + apply.Weight.ToString() + "g" + str8 + "
"; } else { str5 = str5 + apply.TrackCode + str7 + "
"; } if (str6 == "") { str6 = apply.TrackCode; } } md.TrackInfo = str5; md.TrackCode = str6; } } } } } decimal num3 = Convert.ToDecimal((double)6.5); List list7 = new BaseService().GetMoneyList2(); using (enumerator = model.DataSource.GetEnumerator()) { Predicate predicate5 = null; Predicate 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> 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> model = new JsonModel>(); 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 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 saleBackModelList = null; if ((IsDetail == 1) && (model.DataSource != null)) { int? trackType; if (str4 != "") { List orderGoodsList = data.GetOrderGoodsList(str4.Trim(',')); List trackCodeApplyList = data.GetTrackCodeApplyList(str4.Trim(',')); saleBackModelList = data.GetSaleBackModelList(str4.Trim(',')); if (orderGoodsList != null) { foreach (var md in model.DataSource) { List list5 = orderGoodsList.FindAll(n => n.OrderId == md.OrderId); if (list5 != null) { md.GoodsList = list5; } } } if (trackCodeApplyList != null) { foreach (var md in model.DataSource) { List list6 = new List(); if ((md.JoinOrderCode != null) && (md.JoinOrderCode != "")) { list6 = trackCodeApplyList.FindAll(n => n.OrderCode == md.JoinOrderCode); } else { list6 = trackCodeApplyList.FindAll(n => n.OrderId == md.OrderId); } if ((list6 != null) && (list6.Count > 0)) { string str5 = ""; string str6 = ""; foreach (DT_TrackCodeApply apply in list6) { string str7 = ""; trackType = apply.TrackType; if (trackType != null && trackType == 3) { str7 = "[空包裹]"; } if (apply.Weight.HasValue) { string str8 = ""; if (apply.ScanDate.HasValue) { str8 = "扫描时间:" + apply.ScanDate.Value.ToString("yyyy-MM-dd HH:mm") + "
"; } string str9 = str5; str5 = str9 + apply.TrackCode + str7 + "
重量" + apply.Weight.ToString() + "g" + str8 + "
"; } else { str5 = str5 + apply.TrackCode + str7 + "
"; } if (str6 == "") { str6 = apply.TrackCode; } } md.TrackInfo = str5; md.TrackCode = str6; } } } decimal num3 = Convert.ToDecimal((double)6.5); List 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> 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> resultModel = new JsonModel>(); int RowCount = 0; string Sort = "orderid desc"; string GoodsName = ""; string SKU = ""; if (TjType == 7 && Name != "") { GoodsName = Name; } else if (TjType == 8 && Name != "") { SKU = Name; } 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> 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> resultModel = new JsonModel>(); int RowCount = 0; string Sort = "orderid desc"; string GoodsName = ""; string SKU = ""; if (TjType == 7 && Name != "") { GoodsName = Name; } else if (TjType == 8 && Name != "") { SKU = Name; } if(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(); if(hborders!="") tlist2 = obj.Get_OrderTrackList3(hborders.Trim(',')); if (tlist != null || tlist2 != null) { foreach (var md in resultModel.DataSource) { var plist =new List(); 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> 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> resultModel = new JsonModel>(); int RowCount = 0; string Sort = "orderid desc"; string GoodsName = ""; string SKU = ""; if (TjType == 7 && Name != "") { GoodsName = Name; } else if (TjType == 8 && Name != "") { SKU = Name; } 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> 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> resultModel = new JsonModel>(); int RowCount = 0; string Sort = "orderid desc"; string GoodsName = ""; string SKU = ""; if (TjType == 7 && Name != "") { GoodsName = Name; } else if (TjType == 8 && Name != "") { SKU = Name; } 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> resultModel = new JsonModel>(); 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> 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> resultModel = new JsonModel>(); 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> 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> resultModel = new JsonModel>(); 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(); 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> 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> resultModel = new JsonModel>(); 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(); 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> 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> resultModel = new JsonModel>(); 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 = "拆分发包:
"; 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() + "
"; 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> 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> resultModel = new JsonModel>(); int RowCount = 0; //var pxlist = obj.GetLevelConfig(CompanyId, 0); // string Sort = "JoinOrderCode,PlatOrderCode"; //if (pxlist != null) //{ // Sort = ""; // foreach (var md in pxlist) // { // if (md.SortType == 1) // Sort += "a.OrderLevel desc,"; // else if (md.SortType == 2) // Sort += "a.OrderDate,"; // else if (md.SortType == 3) // Sort += "c.LevelGrade desc,"; // else if (md.SortType == 4) // Sort += "a.RMBPrice desc,"; // } //} //Sort = Sort.Trim(','); string GoodsName = ""; string SKU = ""; if (TjType == 7 && Name != "") { GoodsName = Name; } else if (TjType == 8 && Name != "") { SKU = Name; } if(ExpressState==-1) resultModel.DataSource = obj.GetListDT_OrderInfoExpressForTM(SortId, IsTrack,TCode, GoodsName, SKU, IsSku, Param, PageIndex, PageSize, Sort, out RowCount); else resultModel.DataSource = obj.GetListDT_OrderInfoExpressForTM2(SortId, IsTrack, TCode, GoodsName, SKU, IsSku, Param, PageIndex, PageSize, Sort, out RowCount); resultModel.RowCount = RowCount; string Ids = ""; if (resultModel.DataSource != null) { foreach (var md in resultModel.DataSource) { Ids += md.OrderId.ToString() + ","; } } if (Ids != "") { JC_ExpressService obj3 = new JC_ExpressService(); var elist = obj3.GetExpressTypeList(); var plist = obj3.GetExpressList(); var errorlist = obj.GetErrorList(Ids.Trim(',')); if (errorlist != null || elist != null || plist!=null) { foreach (var md in resultModel.DataSource) { if (errorlist != null && errorlist.Count>0) { var emd = errorlist.Find(n => n.OrderId == md.OrderId); if (emd != null) { md.ErrorInfo = emd.ErrorInfo; } } //if (md.LogisticsId>0&&elist != null && elist.Count > 0) //{ // var emd = elist.Find(n => n.LogisticsId == md.LogisticsId); // if (emd != null) // { // md.PostInfo = emd.LogisticsName; // } //} if (md.Post > 0 && plist != null && plist.Count > 0) { var emd = plist.Find(n => n.ExpressID == md.Post); if (emd != null) { md.LocalPost = emd.Name; } } } } } if (resultModel.DataSource != null) { if (Ids != "") { if (IsDetail == 1) { var list1 = obj.GetOrderGoodsList(Ids.Trim(',')); if (list1 != null) { foreach (var md in resultModel.DataSource) { var list2 = list1.FindAll(n => n.OrderId == md.OrderId); if (list2 != null) { md.GoodsList = list2; } } } } var listTrack = obj.GetTrackCodeApplyList(Ids.Trim(',')); if (listTrack != null) { foreach (var md in resultModel.DataSource) { List list3 = new List(); if (md.JoinOrderCode != null && md.JoinOrderCode != "") { list3 = listTrack.FindAll(n => n.OrderCode == md.JoinOrderCode); } else list3 = listTrack.FindAll(n => n.OrderId == md.OrderId); if (list3 != null && list3.Count>0) { string trackinfo = ""; string blank=""; string trackinfo1 = ""; foreach (var md1 in list3) { if(md1.TrackType==3) blank="[空包裹]"; if (md1.Weight != null) trackinfo += md1.TrackCode+blank + "重量" + md1.Weight.ToString() + "g;
"; else trackinfo += md1.TrackCode+blank + "
"; trackinfo1 = md1.TrackCode + blank + "
"; } md.TrackInfo = trackinfo; md.TrackCode = trackinfo1; } } } } } return resultModel; } #endregion #region 查询线上物流订单 [WebMethod(EnableSession = true)] public JsonModel> 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> resultModel = new JsonModel>(); 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> 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> resultModel = new JsonModel>(); 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 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 resultModel = new List(); 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 listGoods = new List(); List OutList = new List(); var Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId); if (Goodslist != null) { foreach (var goodsmd in Goodslist) { flag = false; List OutList1 = new List(); 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 listGoods = new List(); List OutList = new List(); var Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId); if (Goodslist != null) { foreach (var goodsmd in Goodslist) { flag = false; List OutList1 = new List(); 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 listGoods = new List(); List OutList = new List(); var Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId); if (Goodslist != null) { foreach (var goodsmd in Goodslist) { flag = false; List OutList1 = new List(); 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 listGoods = new List(); List OutList = new List(); var Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId); if (Goodslist != null) { foreach (var goodsmd in Goodslist) { flag = false; List OutList1 = new List(); 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 listGoods = new List(); List OutList = new List(); var Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId); if (Goodslist != null) { foreach (var goodsmd in Goodslist) { List OutList1 = new List(); 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 listGoods = new List(); List OutList = new List(); var Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId); if (Goodslist != null) { foreach (var goodsmd in Goodslist) { flag = false; List OutList1 = new List(); 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(); var hwlist2 = new List(); var hwnolist = new List(); //不够的货物 List JoinOrderList = new List(); foreach (var ordermd in orderlist) { string JoinOrderCode = ""; if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "") JoinOrderCode = ordermd.JoinOrderCode; List listGoods = new List(); List OutList = new List(); var Goodslist = new List(); if(JoinOrderCode=="") //合并订单 Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId); else Goodslist = list.FindAll(n => n.JoinOrderCode == JoinOrderCode); if(JoinOrderCode!="") { if (JoinOrderList != null && JoinOrderList.Count > 0) { var jmd = JoinOrderList.Find(n => n.JoinOrderCode == JoinOrderCode); 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(); //货物占用 var hwlist2 = new List(); var hwnolist = new List(); //不够的货物 List JoinOrderList = new List(); foreach (var ordermd in orderlist) { string JoinOrderCode = ""; if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "") JoinOrderCode = ordermd.JoinOrderCode; List listGoods = new List(); List OutList = new List(); var Goodslist = new List(); if (JoinOrderCode == "") Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId); else //合并订单 Goodslist = list.FindAll(n => n.JoinOrderCode == JoinOrderCode); if (JoinOrderCode != "") { if (JoinOrderList != null && JoinOrderList.Count > 0) { var jmd = JoinOrderList.Find(n => n.JoinOrderCode == JoinOrderCode); 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 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 mlist = new List(); if (orderlist != null && list != null && KClist != null && orderlist.Count > 0 && list.Count > 0 && KClist.Count > 0) { var hwlist2 = new List(); List JoinOrderList = new List(); 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 listGoods = new List(); List OutList = new List(); var Goodslist = new List(); if (JoinOrderCode == "") Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId); else //合并订单 Goodslist = list.FindAll(n => n.JoinOrderCode == JoinOrderCode); if (Goodslist != null && Goodslist.Count > 0) { var hwlist1 = new List(); bool qbFlag = true;//全部货物满足 bool Flag = false;//全部货物满足 foreach (var goodsmd in Goodslist) { int DDNum = goodsmd.GoodsNum.Value; int LeftNum = DDNum; var kcmdlist = KClist.FindAll(n => n.DetailId == goodsmd.DetailId && n.KCNum - n.LockNum > 0); if (kcmdlist == null || kcmdlist.Count == 0) { qbFlag = false; Flag = false; continue; } foreach (var kcmd in kcmdlist) { if (kcmd.KCNum - kcmd.LockNum >= LeftNum) { kcmd.LockNum += LeftNum; var ckmd = new DT_OrderNowKCGoods(); ckmd.OrderNum = LeftNum; ckmd.InId = kcmd.InId; ckmd.OrderId = ordermd.OrderId; ckmd.OrderGoodsId = goodsmd.Id; 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 mlist = new List(); if (orderlist != null && list != null && KClist != null && orderlist.Count > 0 && list.Count > 0 && KClist.Count > 0) { var hwlist2 = new List(); var OrderMatelist = new List(); List JoinOrderList = new List(); foreach (var ordermd in orderlist) { //if (ordermd.OrderId == 5329133) //{ // string a = ""; //} string JoinOrderCode = ""; if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "") JoinOrderCode = ordermd.JoinOrderCode; if (JoinOrderCode != "") { if (JoinOrderList != null && JoinOrderList.Count > 0) { var jmd = JoinOrderList.Find(n => n.JoinOrderCode == JoinOrderCode); DT_OrderMateKCOrder nmd = null; if (nfplist != null && nfplist.Count > 0) nmd = nfplist.Find(n => n.JoinOrderCode == JoinOrderCode); if (jmd != null || nmd != null) continue; else { var jmd1 = new DT_OrderMateKCGoods(); jmd1.JoinOrderCode = JoinOrderCode; JoinOrderList.Add(jmd1); } } else { var jmd1 = new DT_OrderMateKCGoods(); jmd1.JoinOrderCode = JoinOrderCode; JoinOrderList.Add(jmd1); } } List listGoods = new List(); List OutList = new List(); var Goodslist = new List(); if (JoinOrderCode == "") Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId); else //合并订单 Goodslist = list.FindAll(n => n.JoinOrderCode == JoinOrderCode); if (Goodslist != null && Goodslist.Count > 0) { var hwlist1 = new List(); bool qbFlag = true;//全部货物满足 bool Flag = false;//全部货物满足 foreach (var goodsmd in Goodslist) { int DDNum = goodsmd.GoodsNum.Value; int LeftNum = DDNum; var kcmdlist = KClist.FindAll(n => n.DetailId == goodsmd.DetailId && n.KCNum - n.LockNum > 0); if (kcmdlist == null || kcmdlist.Count == 0) { qbFlag = false; Flag = false; continue; } foreach (var kcmd in kcmdlist) { if (kcmd.KCNum - kcmd.LockNum >= LeftNum) { kcmd.LockNum += LeftNum; var ckmd = new DT_OrderNowKCGoods(); ckmd.OrderNum = LeftNum; ckmd.InId = kcmd.InId; ckmd.OrderId = ordermd.OrderId; ckmd.OrderGoodsId = goodsmd.Id; ckmd.StoreId = kcmd.StoreId; ckmd.PostionId = kcmd.PostionId; ckmd.DetailId = kcmd.DetailId; hwlist1.Add(ckmd); LeftNum = 0; break; } else { var ckmd = new DT_OrderNowKCGoods(); ckmd.OrderNum = kcmd.KCNum.Value - kcmd.LockNum.Value; ckmd.InId = kcmd.InId; ckmd.OrderId = ordermd.OrderId; ckmd.OrderGoodsId = goodsmd.Id; ckmd.StoreId = kcmd.StoreId; ckmd.PostionId = kcmd.PostionId; ckmd.DetailId = kcmd.DetailId; hwlist1.Add(ckmd); LeftNum = LeftNum - kcmd.KCNum.Value + kcmd.LockNum.Value; kcmd.LockNum = kcmd.KCNum; } } if (LeftNum <= 0) { Flag = true; goodsmd.IsMate = 1; } else { qbFlag = false; Flag = false; goodsmd.IsMate = 0; } } if (qbFlag == true && Flag == true) { mlist.Add(ordermd); ordermd.IsMate = 1; if (hwlist1 != null) { foreach (var hmd in hwlist1) { hwlist2.Add(hmd); } } } else { foreach (var hmd in hwlist1) { var opmd = new HW_OrderMate(); opmd.InId = hmd.InId; opmd.Num = hmd.OrderNum; opmd.DetailId = hmd.DetailId; opmd.GoodsOrderId = hmd.OrderGoodsId; opmd.StoreId = hmd.StoreId; opmd.PostionId = hmd.PostionId; OrderMatelist.Add(opmd); } hwlist1.Clear(); } } } // var olist=orderlist.FindAll(n=>n.IsMate==1); if (mlist != null) { Num = mlist.Count; //string OrderIds = ""; // string JoinOrderCodes = ""; foreach (var omd in mlist) { int OrderId = 0; string JoinOrderCode = ""; if (omd.JoinOrderCode != null && omd.JoinOrderCode != "") JoinOrderCode = omd.JoinOrderCode; else OrderId = omd.OrderId.Value; var cklist = hwlist2.FindAll(n => n.OrderId == omd.OrderId); if (cklist != null && cklist.Count > 0) 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 mlist = new List(); if (orderlist != null && list != null && KClist != null && orderlist.Count > 0 && list.Count > 0 && KClist.Count > 0) { var hwlist2 = new List(); var OrderMatelist = new List(); List JoinOrderList = new List(); foreach (var ordermd in orderlist) { //if (ordermd.OrderId == 5329133) //{ // string a = ""; //} string JoinOrderCode = ""; if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "") JoinOrderCode = ordermd.JoinOrderCode; if (JoinOrderCode != "") { if (JoinOrderList != null && JoinOrderList.Count > 0) { var jmd = JoinOrderList.Find(n => n.JoinOrderCode == JoinOrderCode); DT_OrderMateKCOrder nmd = null; if (nfplist != null && nfplist.Count > 0) nmd = nfplist.Find(n => n.JoinOrderCode == JoinOrderCode); if (jmd != null || nmd != null) continue; else { var jmd1 = new DT_OrderMateKCGoods(); jmd1.JoinOrderCode = JoinOrderCode; JoinOrderList.Add(jmd1); } } else { var jmd1 = new DT_OrderMateKCGoods(); jmd1.JoinOrderCode = JoinOrderCode; JoinOrderList.Add(jmd1); } } List listGoods = new List(); List OutList = new List(); var Goodslist = new List(); if (JoinOrderCode == "") Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId); else //合并订单 Goodslist = list.FindAll(n => n.JoinOrderCode == JoinOrderCode); if (Goodslist != null && Goodslist.Count > 0) { var hwlist1 = new List(); bool qbFlag = true;//全部货物满足 bool Flag = false;//全部货物满足 foreach (var goodsmd in Goodslist) { int DDNum = goodsmd.GoodsNum.Value; int LeftNum = DDNum; var kcmdlist = KClist.FindAll(n => n.DetailId == goodsmd.DetailId && n.KCNum - n.LockNum > 0); if (kcmdlist == null || kcmdlist.Count == 0) { qbFlag = false; Flag = false; continue; } foreach (var kcmd in kcmdlist) { if (kcmd.KCNum - kcmd.LockNum >= LeftNum) { kcmd.LockNum += LeftNum; var ckmd = new DT_OrderNowKCGoods(); ckmd.OrderNum = LeftNum; ckmd.InId = kcmd.InId; ckmd.OrderId = ordermd.OrderId; ckmd.OrderGoodsId = goodsmd.Id; ckmd.StoreId = kcmd.StoreId; ckmd.PostionId = kcmd.PostionId; ckmd.DetailId = kcmd.DetailId; hwlist1.Add(ckmd); LeftNum = 0; break; } else { var ckmd = new DT_OrderNowKCGoods(); ckmd.OrderNum = kcmd.KCNum.Value - kcmd.LockNum.Value; ckmd.InId = kcmd.InId; ckmd.OrderId = ordermd.OrderId; ckmd.OrderGoodsId = goodsmd.Id; ckmd.StoreId = kcmd.StoreId; ckmd.PostionId = kcmd.PostionId; ckmd.DetailId = kcmd.DetailId; hwlist1.Add(ckmd); LeftNum = LeftNum - kcmd.KCNum.Value + kcmd.LockNum.Value; kcmd.LockNum = kcmd.KCNum; } } if (LeftNum <= 0) { Flag = true; goodsmd.IsMate = 1; } else { qbFlag = false; Flag = false; goodsmd.IsMate = 0; } } if (qbFlag == true && Flag == true) { mlist.Add(ordermd); ordermd.IsMate = 1; if (hwlist1 != null) { foreach (var hmd in hwlist1) { hwlist2.Add(hmd); } } } else { foreach (var hmd in hwlist1) { var opmd = new HW_OrderMate(); opmd.InId = hmd.InId; opmd.Num = hmd.OrderNum; opmd.DetailId = hmd.DetailId; opmd.GoodsOrderId = hmd.OrderGoodsId; opmd.StoreId = hmd.StoreId; opmd.PostionId = hmd.PostionId; OrderMatelist.Add(opmd); } hwlist1.Clear(); } } } // var olist=orderlist.FindAll(n=>n.IsMate==1); if (mlist != null) { Num = mlist.Count; //string OrderIds = ""; // string JoinOrderCodes = ""; foreach (var omd in mlist) { int OrderId = 0; string JoinOrderCode = ""; if (omd.JoinOrderCode != null && omd.JoinOrderCode != "") JoinOrderCode = omd.JoinOrderCode; else OrderId = omd.OrderId.Value; var cklist = hwlist2.FindAll(n => n.OrderId == omd.OrderId); if (cklist != null && cklist.Count > 0) 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 mlist = new List(); if (orderlist != null && list != null && KClist != null && orderlist.Count > 0 && list.Count > 0 && KClist.Count > 0) { var hwlist2 = new List(); var OrderMatelist = new List(); List JoinOrderList = new List(); foreach (var ordermd in orderlist) { //if (ordermd.OrderId == 5329133) //{ // string a = ""; //} string JoinOrderCode = ""; if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "") JoinOrderCode = ordermd.JoinOrderCode; if (JoinOrderCode != "") { if (JoinOrderList != null && JoinOrderList.Count > 0) { var jmd = JoinOrderList.Find(n => n.JoinOrderCode == JoinOrderCode); DT_OrderMateKCOrder nmd = null; if (nfplist != null && nfplist.Count > 0) nmd = nfplist.Find(n => n.JoinOrderCode == JoinOrderCode); if (jmd != null || nmd != null) continue; else { var jmd1 = new DT_OrderMateKCGoods(); jmd1.JoinOrderCode = JoinOrderCode; JoinOrderList.Add(jmd1); } } else { var jmd1 = new DT_OrderMateKCGoods(); jmd1.JoinOrderCode = JoinOrderCode; JoinOrderList.Add(jmd1); } } List listGoods = new List(); List OutList = new List(); var Goodslist = new List(); if (JoinOrderCode == "") Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId); else //合并订单 Goodslist = list.FindAll(n => n.JoinOrderCode == JoinOrderCode); if (Goodslist != null && Goodslist.Count > 0) { var hwlist1 = new List(); bool qbFlag = true;//全部货物满足 bool Flag = false;//全部货物满足 foreach (var goodsmd in Goodslist) { int DDNum = goodsmd.GoodsNum.Value; int LeftNum = DDNum; var kcmdlist = KClist.FindAll(n => n.DetailId == goodsmd.DetailId && n.KCNum - n.LockNum > 0); if (kcmdlist == null || kcmdlist.Count == 0) { qbFlag = false; Flag = false; continue; } foreach (var kcmd in kcmdlist) { if (kcmd.KCNum - kcmd.LockNum >= LeftNum) { kcmd.LockNum += LeftNum; var ckmd = new DT_OrderNowKCGoods(); ckmd.OrderNum = LeftNum; ckmd.InId = kcmd.InId; ckmd.OrderId = ordermd.OrderId; ckmd.OrderGoodsId = goodsmd.Id; ckmd.StoreId = kcmd.StoreId; ckmd.PostionId = kcmd.PostionId; ckmd.DetailId = kcmd.DetailId; hwlist1.Add(ckmd); LeftNum = 0; break; } else { var ckmd = new DT_OrderNowKCGoods(); ckmd.OrderNum = kcmd.KCNum.Value - kcmd.LockNum.Value; ckmd.InId = kcmd.InId; ckmd.OrderId = ordermd.OrderId; ckmd.OrderGoodsId = goodsmd.Id; ckmd.StoreId = kcmd.StoreId; ckmd.PostionId = kcmd.PostionId; ckmd.DetailId = kcmd.DetailId; hwlist1.Add(ckmd); LeftNum = LeftNum - kcmd.KCNum.Value + kcmd.LockNum.Value; kcmd.LockNum = kcmd.KCNum; } } if (LeftNum <= 0) { Flag = true; goodsmd.IsMate = 1; } else { qbFlag = false; Flag = false; goodsmd.IsMate = 0; } } if (qbFlag == true && Flag == true) { mlist.Add(ordermd); ordermd.IsMate = 1; if (hwlist1 != null) { foreach (var hmd in hwlist1) { hwlist2.Add(hmd); } } } else { foreach (var hmd in hwlist1) { var opmd = new HW_OrderMate(); opmd.InId = hmd.InId; opmd.Num = hmd.OrderNum; opmd.DetailId = hmd.DetailId; opmd.GoodsOrderId = hmd.OrderGoodsId; opmd.StoreId = hmd.StoreId; opmd.PostionId = hmd.PostionId; OrderMatelist.Add(opmd); } hwlist1.Clear(); } } } // var olist=orderlist.FindAll(n=>n.IsMate==1); if (mlist != null) { Num = mlist.Count; //string OrderIds = ""; // string JoinOrderCodes = ""; foreach (var omd in mlist) { int OrderId = 0; string JoinOrderCode = ""; if (omd.JoinOrderCode != null && omd.JoinOrderCode != "") JoinOrderCode = omd.JoinOrderCode; else OrderId = omd.OrderId.Value; var cklist = hwlist2.FindAll(n => n.OrderId == omd.OrderId); if (cklist != null && cklist.Count > 0) 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(); var hwlist2 = new List(); var hwnolist = new List(); //不够的货物 List JoinOrderList = new List(); foreach (var ordermd in orderlist) { string JoinOrderCode = ""; if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "") JoinOrderCode = ordermd.JoinOrderCode; List listGoods = new List(); List OutList = new List(); var Goodslist = new List(); if (JoinOrderCode == "") Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId); else //合并订单 { Goodslist = list.FindAll(n => n.JoinOrderCode == JoinOrderCode); } if (JoinOrderCode != "") { if (JoinOrderList != null && JoinOrderList.Count > 0) { var jmd = JoinOrderList.Find(n => n.JoinOrderCode == JoinOrderCode); 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(); //货物占用 var hwlist2 = new List(); var hwnolist = new List(); //不够的货物 List JoinOrderList = new List(); foreach (var ordermd in orderlist) { string JoinOrderCode = ""; if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "") JoinOrderCode = ordermd.JoinOrderCode; List listGoods = new List(); List OutList = new List(); var Goodslist = new List(); if (JoinOrderCode == "") Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId); else //合并订单 Goodslist = list.FindAll(n => n.JoinOrderCode == JoinOrderCode); if (JoinOrderCode != "") { if (JoinOrderList != null && JoinOrderList.Count > 0) { var jmd = JoinOrderList.Find(n => n.JoinOrderCode == JoinOrderCode); DT_OrderMateKCOrder nmd =null; if(nfplist!=null&&nfplist.Count>0) nmd = nfplist.Find(n => n.JoinOrderCode == JoinOrderCode); if (jmd != null || nmd != null) continue; else { var jmd1 = new DT_OrderGoods(); jmd1.JoinOrderCode = JoinOrderCode; JoinOrderList.Add(jmd1); } } else { var jmd1 = new DT_OrderGoods(); jmd1.JoinOrderCode = JoinOrderCode; JoinOrderList.Add(jmd1); } } if (Goodslist != null) { bool Flag = false; //匹配标记 bool qbFlag = true;//全部货物满足 foreach (var goodsmd in Goodslist) { int ZYNum = 0;//占用数量 int DDNum = goodsmd.GoodsNum.Value;//订单数量 if (hwnolist != null) { var hwnodetail = hwnolist.Find(n => n.DetailId == goodsmd.DetailId); if (hwnodetail != null)//已经在没有库存记录里 { Flag = false; qbFlag = false; continue; } } if (hwlist != null) { var hwdetail = hwlist.Find(n => n.DetailId == goodsmd.DetailId); if (hwdetail != null)//已经在没有满足库存记录里 { ZYNum = hwdetail.KCNum.Value; } } var inlist = 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(); //货物占用 var hwlist2 = new List(); var hwnolist = new List(); //不够的货物 List JoinOrderList = new List(); foreach (var ordermd in orderlist) { string JoinOrderCode = ""; if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "") JoinOrderCode = ordermd.JoinOrderCode; List listGoods = new List(); List OutList = new List(); var Goodslist = new List(); if (JoinOrderCode == "") Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId); else //合并订单 Goodslist = list.FindAll(n => n.JoinOrderCode == JoinOrderCode); if (JoinOrderCode != "") { if (JoinOrderList != null && JoinOrderList.Count > 0) { var jmd = JoinOrderList.Find(n => n.JoinOrderCode == JoinOrderCode); DT_OrderMateKCOrder nmd = null; if (nfplist != null && nfplist.Count > 0) nmd = nfplist.Find(n => n.JoinOrderCode == JoinOrderCode); if (jmd != null || nmd != null) continue; else { var jmd1 = new DT_OrderGoods(); jmd1.JoinOrderCode = JoinOrderCode; JoinOrderList.Add(jmd1); } } else { var jmd1 = new DT_OrderGoods(); jmd1.JoinOrderCode = JoinOrderCode; JoinOrderList.Add(jmd1); } } if (Goodslist != null) { bool Flag = false; //匹配标记 bool qbFlag = true;//全部货物满足 foreach (var goodsmd in Goodslist) { int ZYNum = 0;//占用数量 int DDNum = goodsmd.GoodsNum.Value;//订单数量 if (hwnolist != null) { var hwnodetail = hwnolist.Find(n => n.DetailId == goodsmd.DetailId); if (hwnodetail != null)//已经在没有库存记录里 { Flag = false; qbFlag = false; continue; } } if (hwlist != null) { var hwdetail = hwlist.Find(n => n.DetailId == goodsmd.DetailId); if (hwdetail != null)//已经在没有满足库存记录里 { ZYNum = hwdetail.KCNum.Value; } } var inlist = 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(); //货物占用 var hwlist2 = new List(); var hwnolist = new List(); //不够的货物 List JoinOrderList = new List(); foreach (var ordermd in orderlist) { string JoinOrderCode = ""; if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "") JoinOrderCode = ordermd.JoinOrderCode; List listGoods = new List(); List OutList = new List(); var Goodslist = new List(); if (JoinOrderCode == "") Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId); else //合并订单 Goodslist = list.FindAll(n => n.JoinOrderCode == JoinOrderCode); if (JoinOrderCode != "") { if (JoinOrderList != null && JoinOrderList.Count > 0) { var jmd = JoinOrderList.Find(n => n.JoinOrderCode == JoinOrderCode); DT_OrderMateKCOrder nmd = null; if (nfplist != null && nfplist.Count > 0) nmd = nfplist.Find(n => n.JoinOrderCode == JoinOrderCode); if (jmd != null || nmd != null) continue; else { var jmd1 = new DT_OrderGoods(); jmd1.JoinOrderCode = JoinOrderCode; JoinOrderList.Add(jmd1); } } else { var jmd1 = new DT_OrderGoods(); jmd1.JoinOrderCode = JoinOrderCode; JoinOrderList.Add(jmd1); } } if (Goodslist != null) { bool Flag = false; //匹配标记 bool qbFlag = true;//全部货物满足 foreach (var goodsmd in Goodslist) { int ZYNum = 0;//占用数量 int DDNum = goodsmd.GoodsNum.Value;//订单数量 if (hwnolist != null) { var hwnodetail = hwnolist.Find(n => n.DetailId == goodsmd.DetailId); if (hwnodetail != null)//已经在没有库存记录里 { Flag = false; qbFlag = false; continue; } } if (hwlist != null) { var hwdetail = hwlist.Find(n => n.DetailId == goodsmd.DetailId); if (hwdetail != null)//已经在没有满足库存记录里 { ZYNum = hwdetail.KCNum.Value; } } var inlist = 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 = "拆分发包:
"; 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() + "
"; 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 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 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 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 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 ListModel = new List(); 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 GetOrderPrint(List 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 ListModel = new List(); 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 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 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(); 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 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 GetOrderJHDPrint(List 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 ListModel = new List(); 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 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 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 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 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(); 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 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 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 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 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 GoodsList, List 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 GoodsList, List 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 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 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 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 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 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 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 ListGoods = new List(); 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 ListGoods = new List(); 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 ListGoods = new List(); 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 ListGoods = new List(); 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 ListGoods = new List(); 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 ListGoods = new List(); 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 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 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 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 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 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> 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> resultModel = new JsonModel>(); 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> 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> resultModel = new JsonModel>(); 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 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 plist = new List(); 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 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 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> 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> resultModel = new JsonModel>(); 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(); if (md.JoinOrderCode != null && md.JoinOrderCode != "") list3 = listTrack.FindAll(n => n.OrderCode == md.JoinOrderCode); else list3 = listTrack.FindAll(n => n.OrderId == md.OrderId); if (list3 != null && list3.Count > 0) { string trackinfo = ""; string TrackCode = ""; foreach (var md1 in list3) { string blank = ""; if (md1.TrackType == 3) blank = "[空包裹]"; if (md1.Weight != null) { string dd = ""; if (md1.ScanDate != null) dd = "扫描时间:" + md1.ScanDate.Value.ToString("yyyy-MM-dd HH:mm"); trackinfo += md1.TrackCode + blank + "重量" + md1.Weight.ToString() + "g" + dd + "
"; } else trackinfo += md1.TrackCode + blank + "
"; if (TrackCode == "") TrackCode = md1.TrackCode; } md.TrackInfo = trackinfo; md.TrackCode = TrackCode; } } } } } return resultModel; } #endregion #region 声明ebay发货 [WebMethod(EnableSession = true)] public void ebay_TrackBack(List 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 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 list1, List 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 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 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 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 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 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 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 OrderList =new List(); int Num = 0; int PlatId = 0; var smd = JC_ShopService.GetModel(ShopId); PlatId = smd.PlatType.Value; for (int i = 0; i < tb.Rows.Count; i++) { DT_ExcelOrderInfo md = new DT_ExcelOrderInfo(); string OrderCode = tb.Rows[i]["订单号"].ToString().Trim(); if (OrderCode == "") { error += "第" + (i + 2).ToString() + " 行的订单号没填
"; 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() + " 行的价格必须是数字
"; 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() + " 行的收货人姓名没填
"; continue; } md.RevAddr = tb.Rows[i]["收货地址"].ToString().Trim(); if (md.RevAddr == "") { error += "第" + (i + 2).ToString() + " 行的收货地址没填
"; 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 Glist = new List(); var GoodsModel = new DT_OrderExcelGoods(); if (tb.Rows[i]["数量"].ToString().Trim() == "") { error += "第" + (i + 2).ToString() + " 行的数量没填
"; continue; } else { try { GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["数量"].ToString().Trim()); } catch (Exception ex) { error += "第" + (i + 2).ToString() + " 行的数量必须是数字
"; continue; } } GoodsModel.SKU = tb.Rows[i]["SKU 信息"].ToString().Trim(); if (GoodsModel.SKU == "") { error += "第" + (i + 2).ToString() + " 行的SKU 信息没填
"; continue; } md.GoodsNum =GoodsModel.GoodsNum; GoodsModel.GoodsName = 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 OrderList = new List(); int Num = 0; int PlatId = 0; var smd = JC_ShopService.GetModel(ShopId); PlatId = smd.PlatType.Value; for (int i = 0; i < tb.Rows.Count; i++) { DT_ExcelOrderInfo md = new DT_ExcelOrderInfo(); string PlatOrderCode = tb.Rows[i]["purchase_order"].ToString().Trim(); if (PlatOrderCode == "") { error += "第" + (i + 2).ToString() + " 行的purchase_order没填
"; 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() + " 行的价格必须是数字
"; 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没填
"; 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没填
"; 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 Glist = new List(); var GoodsModel = new DT_OrderExcelGoods(); if (tb.Rows[i]["quantity"].ToString().Trim() == "") { error += "第" + (i + 2).ToString() + " 行的quantity没填
"; continue; } else { try { GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["quantity"].ToString().Trim()); } catch (Exception ex) { error += "第" + (i + 2).ToString() + " 行的数量必须是数字
"; continue; } } GoodsModel.SKU = tb.Rows[i]["vendor_sku"].ToString().Trim(); if (GoodsModel.SKU == "") { error += "第" + (i + 2).ToString() + " 行的SKU 信息没填
"; 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 OrderList = new List(); int Num = 0; int PlatId = 0; var smd = JC_ShopService.GetModel(ShopId); PlatId = smd.PlatType.Value; for (int i = 0; i < tb.Rows.Count; i++) { DT_ExcelOrderInfo md = new DT_ExcelOrderInfo(); string PlatOrderCode = tb.Rows[i]["order number"].ToString().Trim(); if (PlatOrderCode == "") { // error += "第" + (i + 2).ToString() + " 行的order number没填
"; continue; } md.PlatOrderCode = PlatOrderCode; md.OrderCode = PlatOrderCode; md.PlatId = PlatId; md.ShopId = ShopId; if (tb.Rows[i]["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() + " 行的价格必须是数字
"; 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没填
"; 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没填
"; 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 Glist = new List(); var GoodsModel = new DT_OrderExcelGoods(); if (tb.Rows[i]["quantity"].ToString().Trim() == "") { error += "第" + (i + 2).ToString() + " 行的quantity没填
"; continue; } else { try { GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["quantity"].ToString().Trim()); } catch (Exception ex) { error += "第" + (i + 2).ToString() + " 行的数量必须是数字
"; continue; } } GoodsModel.SKU = tb.Rows[i]["sku"].ToString().Trim(); if (GoodsModel.SKU == "") { error += "第" + (i + 2).ToString() + " 行的sku 信息没填
"; continue; } md.GoodsNum = GoodsModel.GoodsNum; GoodsModel.GoodsName = 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 OrderList = new List(); int Num = 0; int PlatId = 0; var smd = JC_ShopService.GetModel(ShopId); PlatId = smd.PlatType.Value; for (int i = 0; i < tb.Rows.Count; i++) { DT_ExcelOrderInfo md = new DT_ExcelOrderInfo(); md.StoreId = StoreId; string PlatOrderCode = tb.Rows[i]["order-id"].ToString().Trim(); if (PlatOrderCode == "") { // error += "第" + (i + 2).ToString() + " 行的order number没填
"; continue; } md.PlatOrderCode = PlatOrderCode; md.OrderCode = PlatOrderCode; md.PlatId = PlatId; md.ShopId = ShopId; if (tb.Rows[i]["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() + " 行的价格必须是数字
"; 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没填
"; 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没填
"; 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 Glist = new List(); var GoodsModel = new DT_OrderExcelGoods(); if (tb.Rows[i]["quantity-purchased"].ToString().Trim() == "") { // error += "第" + (i + 2).ToString() + " 行的quantity没填
"; // continue; GoodsModel.GoodsNum = 1; } else { try { GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["quantity-purchased"].ToString().Trim()); } catch (Exception ex) { error += "第" + (i + 2).ToString() + " 行的数量必须是数字
"; continue; } } GoodsModel.SKU = tb.Rows[i]["sku"].ToString().Trim(); if (GoodsModel.SKU == "") { error += "第" + (i + 2).ToString() + " 行的sku 信息没填
"; continue; } md.GoodsNum = GoodsModel.GoodsNum; GoodsModel.GoodsName = GoodsModel.SKU; GoodsModel.GoodsPrice = md.TotalPrice; 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 OrderList = new List(); int Num = 0; int PlatId = 0; var smd = JC_ShopService.GetModel(ShopId); PlatId = smd.PlatType.Value; for (int i = 0; i < tb.Rows.Count; i++) { DT_ExcelOrderInfo md = new DT_ExcelOrderInfo(); string PlatOrderCode = tb.Rows[i]["订单号"].ToString().Trim(); if (PlatOrderCode == "") { // error += "第" + (i + 2).ToString() + " 行的order number没填
"; continue; } md.PlatOrderCode = PlatOrderCode; md.OrderCode = PlatOrderCode; md.PlatId = PlatId; md.ShopId = ShopId; if (tb.Rows[i]["订单金额$"].ToString().Trim() == "") { md.TotalPrice = 0; } else { try { md.TotalPrice = Convert.ToDecimal(tb.Rows[i]["订单金额$"].ToString().Trim()); } catch (Exception ex) { error += "第" + (i + 2).ToString() + " 行的价格必须是数字
"; continue; } } int PayState = 1; int OrderState = 1; md.OrderDate = DateTime.Now; md.PayDate = DateTime.Now; md.PayState = PayState; md.OrderState = OrderState; md.RevName = tb.Rows[i]["收件人"].ToString().Trim(); if (md.RevName == "") { error += "第" + (i + 2).ToString() + " 行的收件人没填
"; continue; } //md.OrderName = tb.Rows[i]["sales_order"].ToString().Trim(); md.RevAddr = tb.Rows[i]["地址1"].ToString().Trim() + " " + tb.Rows[i]["地址2"].ToString().Trim(); if (md.RevAddr == "") { error += "第" + (i + 2).ToString() + " 行的地址1没填
"; continue; } try { if (tb.Rows[i]["订单日期"].ToString().Trim() != "") md.OrderDate = Convert.ToDateTime(tb.Rows[i]["订单日期"].ToString().Trim()); else md.OrderDate = DateTime.Today; } catch (Exception ex) { md.OrderDate = DateTime.Today; } md.PayDate = DateTime.Today; md.RevPostCode = tb.Rows[i]["邮编"].ToString().Trim().Replace("'", ""); if (md.RevPostCode == "") md.RevPostCode = "12345"; md.RevProvince = tb.Rows[i]["省州"].ToString().Trim(); md.RevCity = tb.Rows[i]["城市"].ToString().Trim(); if (md.RevProvince == null || md.RevProvince == "") md.RevProvince = md.RevCity; md.RevPhone = tb.Rows[i]["电话"].ToString().Trim().Replace("'", "").Replace("+", "").Replace("+", "").Replace("(", "").Replace(")", "").Replace(" ", ""); md.CustomID = ""; md.RevMoblie = tb.Rows[i]["电话"].ToString().Trim().Replace("'", "").Replace("+", "").Replace("+", "").Replace("(", "").Replace(")", "").Replace(" ", ""); md.LeaveWord = ""; md.TrackCode = ""; md.RevCountry = "US"; md.MoneyCode = "USD"; md.CompanyId = CompanyId; md.InUserId = UserId; List Glist = new List(); var GoodsModel = new DT_OrderExcelGoods(); if (tb.Rows[i]["数量"].ToString().Trim() == "") { // error += "第" + (i + 2).ToString() + " 行的quantity没填
"; // continue; GoodsModel.GoodsNum = 1; } else { try { GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["数量"].ToString().Trim()); } catch (Exception ex) { error += "第" + (i + 2).ToString() + " 行的数量必须是数字
"; continue; } } GoodsModel.SKU = tb.Rows[i]["sku"].ToString().Trim(); if (GoodsModel.SKU == "") { error += "第" + (i + 2).ToString() + " 行的sku 信息没填
"; continue; } md.GoodsNum = GoodsModel.GoodsNum; GoodsModel.GoodsName = GoodsModel.SKU; GoodsModel.GoodsPrice = md.TotalPrice; if (OrderList != null) { var omd = OrderList.Find(n => n.PlatOrderCode == PlatOrderCode); if (omd != null)//相同订单号 sku合并 { omd.GoodsList.Add(GoodsModel); continue; } } 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(); //货物占用 var hwlist2 = new List(); var hwnolist = new List(); //不够的货物 List JoinOrderList = new List(); foreach (var ordermd in orderlist) { string JoinOrderCode = ""; if (ordermd.JoinOrderCode != null && ordermd.JoinOrderCode != "") JoinOrderCode = ordermd.JoinOrderCode; List listGoods = new List(); List OutList = new List(); var Goodslist = new List(); if (JoinOrderCode == "") Goodslist = list.FindAll(n => n.OrderId == ordermd.OrderId); else //合并订单 Goodslist = list.FindAll(n => n.JoinOrderCode == JoinOrderCode); if (JoinOrderCode != "") { if (JoinOrderList != null && JoinOrderList.Count > 0) { var jmd = JoinOrderList.Find(n => n.JoinOrderCode == JoinOrderCode); DT_OrderMateKCOrder nmd = null; if (nfplist != null && nfplist.Count > 0) nmd = nfplist.Find(n => n.JoinOrderCode == JoinOrderCode); if (jmd != null || nmd != null) continue; else { var jmd1 = new DT_OrderGoods(); jmd1.JoinOrderCode = JoinOrderCode; JoinOrderList.Add(jmd1); } } else { var jmd1 = new DT_OrderGoods(); jmd1.JoinOrderCode = JoinOrderCode; JoinOrderList.Add(jmd1); } } if (Goodslist != null) { bool Flag = false; //匹配标记 bool qbFlag = true;//全部货物满足 foreach (var goodsmd in Goodslist) { int ZYNum = 0;//占用数量 int DDNum = goodsmd.GoodsNum.Value;//订单数量 if (hwnolist != null) { var hwnodetail = hwnolist.Find(n => n.DetailId == goodsmd.DetailId); if (hwnodetail != null)//已经在没有库存记录里 { Flag = false; qbFlag = false; continue; } } if (hwlist != null) { var hwdetail = hwlist.Find(n => n.DetailId == goodsmd.DetailId); if (hwdetail != null)//已经在没有满足库存记录里 { ZYNum = hwdetail.KCNum.Value; } } var inlist = 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 OrderList = new List(); int Num = 0; int PlatId = 0; var smd = JC_ShopService.GetModel(ShopId); PlatId = smd.PlatType.Value; for (int i = 0; i < tb.Rows.Count; i++) { DT_ExcelOrderInfo md = new DT_ExcelOrderInfo(); string PlatOrderCode = tb.Rows[i]["Name"].ToString().Trim(); string OrderName = PlatOrderCode; if (PlatOrderCode == "") { error += "第" + (i + 2).ToString() + " 行的Name没填
"; 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() + " 行的价格必须是数字
"; // 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没填
"; 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没填
"; 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 Glist = new List(); var GoodsModel = new DT_OrderExcelGoods(); if (tb.Rows[i]["item quantity"].ToString().Trim() == "") { error += "第" + (i + 2).ToString() + " 行的quantity没填
"; continue; } else { try { GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["item quantity"].ToString().Trim()); } catch (Exception ex) { error += "第" + (i + 2).ToString() + " 行的数量必须是数字
"; continue; } } GoodsModel.SKU = tb.Rows[i]["SKU"].ToString().Trim(); if (GoodsModel.SKU == "") { error += "第" + (i + 2).ToString() + " 行的SKU 信息没填
"; continue; } md.GoodsNum = GoodsModel.GoodsNum; GoodsModel.GoodsName = 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 OrderList = new List(); int Num = 0; int PlatId = 0; var smd = JC_ShopService.GetModel(ShopId); PlatId = smd.PlatType.Value; for (int i = 0; i < tb.Rows.Count; i++) { DT_ExcelOrderInfo md = new DT_ExcelOrderInfo(); string PlatOrderCode = tb.Rows[i]["purchase_order"].ToString().Trim(); string OrderName = PlatOrderCode; if (PlatOrderCode == "") { error += "第" + (i + 2).ToString() + " 行的purchase_order没填
"; 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() + " 行的价格必须是数字
"; // 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没填
"; 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没填
"; 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() + " 行的价格必须是数字
"; 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 Glist = new List(); var GoodsModel = new DT_OrderExcelGoods(); if (tb.Rows[i]["quantity"].ToString().Trim() == "") { error += "第" + (i + 2).ToString() + " 行的quantity没填
"; continue; } else { try { GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["quantity"].ToString().Trim()); } catch (Exception ex) { error += "第" + (i + 2).ToString() + " 行的数量必须是数字
"; continue; } } GoodsModel.SKU = tb.Rows[i]["vendor_sku"].ToString().Trim(); if (GoodsModel.SKU == "") { error += "第" + (i + 2).ToString() + " 行的vendor_sku 信息没填
"; 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 OrderList = new List(); int Num = 0; int PlatId = 0; var smd = JC_ShopService.GetModel(ShopId); PlatId = smd.PlatType.Value; for (int i = 0; i < tb.Rows.Count; i++) { DT_ExcelOrderInfo md = new DT_ExcelOrderInfo(); string PlatOrderCode = tb.Rows[i]["Order Id"].ToString().Trim(); string OrderName = PlatOrderCode; if (PlatOrderCode == "") { error += "第" + (i + 2).ToString() + " 行的Order Id没填
"; 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() + " 行的价格必须是数字
"; // 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没填
"; 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没填
"; 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() + " 行的价格必须是数字
"; 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 Glist = new List(); var GoodsModel = new DT_OrderExcelGoods(); if (tb.Rows[i]["Quantity"].ToString().Trim() == "") { error += "第" + (i + 2).ToString() + " 行的Quantity没填
"; continue; } else { try { GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["Quantity"].ToString().Trim()); } catch (Exception ex) { error += "第" + (i + 2).ToString() + " 行的数量必须是数字
"; continue; } } GoodsModel.SKU = tb.Rows[i]["SKU"].ToString().Trim(); if (GoodsModel.SKU == "") { error += "第" + (i + 2).ToString() + " 行的SKU 信息没填
"; continue; } md.GoodsNum = GoodsModel.GoodsNum; GoodsModel.GoodsName = 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 OrderList = new List(); int Num = 0; int PlatId = 0; var smd = JC_ShopService.GetModel(ShopId); PlatId = smd.PlatType.Value; for (int i = 0; i < tb.Rows.Count; i++) { DT_ExcelOrderInfo md = new DT_ExcelOrderInfo(); string PlatOrderCode = tb.Rows[i]["Order Id"].ToString().Trim(); string OrderName = PlatOrderCode; if (PlatOrderCode == "") { error += "第" + (i + 2).ToString() + " 行的Order Id没填
"; 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() + " 行的价格必须是数字
"; // 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没填
"; 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没填
"; 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() + " 行的价格必须是数字
"; 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 Glist = new List(); var GoodsModel = new DT_OrderExcelGoods(); if (tb.Rows[i]["Quantity"].ToString().Trim() == "") { error += "第" + (i + 2).ToString() + " 行的Quantity没填
"; continue; } else { try { GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["Quantity"].ToString().Trim()); } catch (Exception ex) { error += "第" + (i + 2).ToString() + " 行的数量必须是数字
"; continue; } } GoodsModel.SKU = tb.Rows[i]["SKU"].ToString().Trim(); if (GoodsModel.SKU == "") { error += "第" + (i + 2).ToString() + " 行的SKU 信息没填
"; continue; } md.GoodsNum = GoodsModel.GoodsNum; GoodsModel.GoodsName = 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(); 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(); 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(); 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(); 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(); 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(); 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 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() + " 行的订单编号没填
"; 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(); } md.PlatId = 5; md.ShopId = ShopId; var GoodsModel = new DT_OrderExcelGoods(); GoodsModel.CompanyId = CompanyId; if (tb.Rows[i]["数量"].ToString().Trim() == "") { error += "第" + (i + 2).ToString() + " 行的数量没填
"; continue; } else { try { GoodsModel.GoodsNum = Convert.ToInt32(tb.Rows[i]["数量"].ToString().Trim()); } catch (Exception ex) { error += "第" + (i + 2).ToString() + " 行的数量必须是数字
"; continue; } } if (tb.Rows[i]["单价(元)"].ToString().Trim() == "") { error += "第" + (i + 2).ToString() + " 行的单价(元)没填
"; continue; } else { try { GoodsModel.GoodsPrice = Convert.ToDecimal(tb.Rows[i]["单价(元)"].ToString().Trim()); } catch (Exception ex) { error += "第" + (i + 2).ToString() + " 行的单价(元)必须是数字
"; continue; } } GoodsModel.SKU = tb.Rows[i]["货号"].ToString().Trim(); if (GoodsModel.SKU == "") { error += "第" + (i + 2).ToString() + " 行的货号没填
"; 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() + " 行的实付款(元)没填
"; continue; } else { try { md.TotalPrice = Convert.ToDecimal(tb.Rows[i]["实付款(元)"].ToString().Trim()); } catch (Exception ex) { error += "第" + (i + 2).ToString() + " 行的实付款(元)必须是数字
"; 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() + " 行的订单付款时间必须是日期格式
"; 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() + " 行的订单创建时间必须是日期格式
"; 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() + " 行的收货人姓名没填
"; continue; } md.RevAddr = tb.Rows[i]["收货地址"].ToString().Trim(); if (md.RevAddr == "") { error += "第" + (i + 2).ToString() + " 行的收货地址没填
"; 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() + " 行的订单编号没填
"; continue; } if (tb2.Rows[i]["买家实际支付金额"].ToString().Trim() == "") { error += "第" + (i + 2).ToString() + " 行的买家实际支付金额没填
"; continue; } else { try { md.TotalPrice = Convert.ToDecimal(tb2.Rows[i]["买家实际支付金额"].ToString().Trim()); } catch (Exception ex) { error += "第" + (i + 2).ToString() + " 行的买家实际支付金额必须是数字
"; 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() + " 行的订单付款时间必须是日期格式
"; 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() + " 行的订单创建时间必须是日期格式
"; 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() + " 行的收货人姓名没填
"; 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() + " 行的收货地址没填
"; 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 GoodsList = new List(); 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 + " 订单的购买数量没填
"; continue; } else { try { GoodsModel.GoodsNum = Convert.ToInt32(row[j]["购买数量"].ToString().Trim()); } catch (Exception ex) { error += "第" + md.OrderCode + " 订单的购买数量必须是数字
"; continue; } } if (row[j]["价格"].ToString().Trim() == "") { error += "第" + md.OrderCode + " 订单的价格没填
"; continue; } else { try { GoodsModel.GoodsPrice = Convert.ToDecimal(row[j]["价格"].ToString().Trim()); } catch (Exception ex) { error += "第" + md.OrderCode + " 订单的价格必须是数字
"; continue; } } GoodsModel.SKU = row[j]["商家编码"].ToString().Trim(); if (GoodsModel.SKU == "") { error += "第" + md.OrderCode + " 订单的商家编码没填
"; 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 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 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 OrderGoods = new List(); List OutList = new List(); 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 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 plist = new List(); 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 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 plist = new List(); 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 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 plist = new List(); 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 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 plist = new List(); 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 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 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(); 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 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(); 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 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 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(); foreach (var md in list) { string TrackCode=""; if (md.TrackCode != null && md.TrackCode != "") { TrackCode = md.TrackCode.Replace("
",","); } string[] tcodes=TrackCode.TrimEnd(',').Split(','); for(int i=0;i 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() + " 行订单号没填
"; continue; } if (tb.Rows[i]["运费"].ToString().Trim() != "") { try { PostFee = Convert.ToDecimal(tb.Rows[i]["运费"].ToString().Trim()); } catch (Exception ex) { error += "第" + (i + 2).ToString() + " 行的运费必须是数字
"; continue; } } if (tb.Rows[i]["重量(克)"].ToString().Trim() != "") { try { Weight = Convert.ToDecimal(tb.Rows[i]["重量(克)"].ToString().Trim()); } catch (Exception ex) { error += "第" + (i + 2).ToString() + " 行的重量(克)必须是数字
"; 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 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> 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> resultModel = new JsonModel>(); 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, ""); } md.wordContent = content; } } } return resultModel; } #endregion #region 查询订单留言 [WebMethod(EnableSession = true)] public List 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, ""); } md.wordContent = content; } } } return list; } #endregion #region 修改订单留言状态 [WebMethod(EnableSession = true)] public void UpdateLeavewordState(List 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(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 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 goodslist = new List(); 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(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 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(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 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(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 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 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(content); if (Model.Succeeded != true) return ""; } return ""; } #endregion #region 查询oneworld渠道 [WebMethod(EnableSession = true)] public List 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> 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> resultModel = new JsonModel>(); 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 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 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 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 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 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 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 += "

"; } } 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 += "

"; } } 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", "
"); if (model.PostInfo1 != null) model.PostInfo1 = model.PostInfo1.Replace("\n", "
"); if (model.PostInfo2 != null) model.PostInfo2= model.PostInfo2.Replace("\n", "
"); if (model.Id <= 0) a = obj1.SavePostInfo(model); else a=obj1.SavePostInfo2(model); return a; } #endregion #region 查询物流跟踪信息 [WebMethod(EnableSession = true)] public List 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 list = new List(); 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 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 list = new List(); list = obj.GetListDT_PostInfo3(Param); return list; } #endregion #region 查询物流跟踪信息 [WebMethod(EnableSession = true)] public List 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 list = new List(); list = obj.GetListDT_PostInfo4(Param); return list; } #endregion #region 查询物流跟踪信息 [WebMethod(EnableSession = true)] public List 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", "
"); emd.PostInfo00 = emd.PostInfo.Replace("
", "\n"); } else { emd.PostInfo = ""; emd.PostInfo00 = ""; } if (emd.PostInfo1 != null) { emd.PostInfo1 = emd.PostInfo1.Replace("\n", "
"); emd.PostInfo11 = emd.PostInfo1.Replace("
", "\n"); } else { emd.PostInfo1 = ""; emd.PostInfo11 = ""; } if (emd.PostInfo2 != null) { emd.PostInfo2 = emd.PostInfo2.Replace("\n", "
"); emd.PostInfo22 = emd.PostInfo2.Replace("
", "\n"); } else { emd.PostInfo2 = ""; emd.PostInfo22 = ""; } } return emd; } #endregion #region 保存物流标准 [WebMethod(EnableSession = true)] public void SaveDoneDays(List 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 tclist = new List(); tclist=obj.GetPack(SDate, EDate); string str = ""; if (tclist!=null) { foreach(var q in tclist) { str += q.InName + " " + q.Count + "\r\n
"; } } 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(); //货物占用 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 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 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 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 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 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 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 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 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 scanlist = new List(); 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 slist = new List(); 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 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 list1 = list.OrderBy(s => s.ChaseId).ToList(); 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 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("
", ",") + ","; } 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("
", ",") + ","; } //TrackCodes = TrackCodes.Trim(','); TrackCodes = "" + TrackCodes.Trim(',') + ""; //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 wtlist = new List(); foreach (var omd in tlist) { string tcodes = omd.TrackCode.Trim().Replace("
", ","); 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(""); sb.Append(""); sb.Append("01"); sb.Append("1"); foreach (var omd in tlist) { string tcodes = omd.TrackCode.Trim().Replace("
", ","); string[] tcode = tcodes.Split(','); for (int i = 0; i < tcode.Length; i++) { if (tcode[i].Trim() != "") { sb.Append(""); sb.Append("" + tcode[i].Trim() + ""); sb.Append(""); } } } sb.Append("
"); 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 ptlist = new List(); // foreach (var omd in tlist) // { // string tcodes = omd.TrackCode.Trim().Replace("
", ","); // 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(); foreach (var md in tlist) { string TrackCode = ""; if (md.TrackCode != null && md.TrackCode != "") { TrackCode = md.TrackCode.Replace("
", ","); } 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 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 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 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(); } } }