diff --git a/TradeManageNew/DataNew.cs b/TradeManageNew/DataNew.cs index a908a81..85e8e1f 100644 --- a/TradeManageNew/DataNew.cs +++ b/TradeManageNew/DataNew.cs @@ -7071,6 +7071,71 @@ end } #endregion + + + #region 返回扫描订单Model(退货中间步骤) xsx + public static DT_OrderScanModel GetScanOrderModelForReturnMid_250203(string OrderCode, string OrderCode1, string OrderCode2, string OrderCode3, string OrderCode4, string OrderCode5, int UserId) + { + DT_OrderScanModel model = null; + string tsql = @" +--declare @OrderCode nvarchar(50),@OrderCode2 nvarchar(50) +--set @OrderCode='1Z266E819066489986' +declare @TrackCode nvarchar(50),@OrderId int,@JoinOrderCode nvarchar(50),@TrackId int,@MateState int,@PrintState int,@State int,@OrderState int,@PostId int,@DetailId int,@num int,@OldPostionCode nvarchar(50),@PostInfo nvarchar(50) +set @OrderId=0 +select top 1 @TrackCode=a.tracking_id,@PostInfo=return_carrier,@PostId=0,@OrderId=a.OrderId,@OrderCode=b.PlatOrderCode,@JoinOrderCode=JoinOrderCode,@PrintState=PrintState,@MateState=MateState,@State=b.State,@TrackId=a.Id,@OrderState=isnull(ScanState,0),@DetailId=a.DetailId,@num=a.return_quantity,@OldPostionCode=a.OldPostionCode from DT_OrderReturn a +inner join DT_OrderInfo b on a.OrderId=b.OrderId + where isnull(a.ScanState,0)=0 and (tracking_id=@OrderCode or tracking_id=@OrderCode1 or tracking_id=@OrderCode2 or tracking_id=@OrderCode3 or tracking_id=@OrderCode4 or tracking_id=@OrderCode5) order by Id desc + +declare @WorkDesc nvarchar(50),@storeId int +select @WorkDesc=WorkDesc from JC_UserInfo where UserId=@UserId +set @storeId=6 +if @WorkDesc='东仓' +begin +set @storeId=11 +end +set @OldPostionCode='LS' + +if @OrderId>0 +begin +select top 1 a.OrderId,a.PostState,a.OrderId,a.PlatOrderCode,TrackCode=@TrackCode,b.TotalWeight,b.PostFee,b.RevName,b.RevCountry,b.RevAddr,b.RevPhone,RevFax=b.RevPostCode,b.Post,b.CountryCode,WeightRate=20,a.State,a.JoinOrderCode,TrackId=@TrackId,a.PrintDate,b.ErrorInfo,s.ShopName,OrderState=@OrderState,PostInfo=@PostInfo,OrderName=@OldPostionCode from DT_OrderInfo a +inner join DT_OrderXXInfo b on a.OrderId=b.OrderId +inner join dbo.JC_Shop s ON a.ShopId=s.ShopId +where a.OrderId=@OrderId + +select Id=b.DetailId,GoodsName=c.GoodsEnglisgName,c.GoodsCode,GoodsOldCode=b.SKU1,b.TypeCode,b.TypeDesc,Weight=case when c.Weight2 is not null and c.Weight2>0 then c.Weight2*0.0625 else isnull(c.Weight,0)*0.0022046 end,GoodsPrice=b.Price,GoodsNum=@num,TrackCode=@TrackCode,FirstImgUrl='' from DT_OrderGoods a +inner join HW_GoodsDetail b on a.DetailId=b.DetailId +inner join HW_GoodsInfo c on b.GoodsId=c.GoodsId +where a.OrderId=@OrderId and a.DetailId=@DetailId + +select TrackCode='LS',TrackCode2='LS',TrackType=2 +end + +"; + Database db = DatabaseFactory.CreateDatabase(); + DbCommand cmd = db.GetSqlStringCommand(tsql); + db.AddInParameter(cmd, "@UserId", DbType.Int32, UserId); + db.AddInParameter(cmd, "@OrderCode", DbType.String, OrderCode); + db.AddInParameter(cmd, "@OrderCode1", DbType.String, OrderCode1); + db.AddInParameter(cmd, "@OrderCode2", DbType.String, OrderCode2); + db.AddInParameter(cmd, "@OrderCode3", DbType.String, OrderCode3); + db.AddInParameter(cmd, "@OrderCode4", DbType.String, OrderCode4); + db.AddInParameter(cmd, "@OrderCode5", DbType.String, OrderCode5); + DataSet tb = db.ExecuteDataSet(cmd); + if (tb != null) + { + if (tb.Tables.Count > 0 && tb.Tables[0].Rows.Count > 0) model = tb.Tables[0].Rows[0].ToModel(); + if (tb.Tables.Count > 1) + model.GoodsList = tb.Tables[1].ToList(); + if (tb.Tables.Count > 2) + model.TrackList = tb.Tables[2].ToList(); + } + + + return model; + } + #endregion + + #region 返回扫描订单Model public static DT_OrderScanModel GetScanOrderModelForReturnFinal(string OrderCode, string OrderCode2, int UserId) { diff --git a/TradeManageNew/OuterService/ShageService.ashx.cs b/TradeManageNew/OuterService/ShageService.ashx.cs index 6314925..e7883e6 100644 --- a/TradeManageNew/OuterService/ShageService.ashx.cs +++ b/TradeManageNew/OuterService/ShageService.ashx.cs @@ -536,33 +536,89 @@ namespace TradeManageNew.OuterService GetData model = JsonConvert.DeserializeObject(ResponseContent); if (model != null && model.Code != "") { - model.Code = model.Code.Replace("\u0002", "").Replace("\n", ""); + + string originalSearchValue = model.Code; + model.Code = model.Code.Replace("\u0002", "").Replace("\u001d", "").Replace("\n", "").Replace(" ", ""); + string Code2 = model.Code; + string Code3 = model.Code; + string Code4 = model.Code; + string Code5 = model.Code; - if (model.Code.Length > 26 && model.Code.Substring(8, 2) == "92") + + if (model.Code.Length == 30 && model.Code.Substring(8, 2) == "92") { + Code4 = model.Code.Substring(10); + } + if (model.Code.Length == 33 && model.Code.Substring(0, 2) == "96") + { + Code4 = model.Code.Substring(21); + } + if (originalSearchValue.Length == 34 && string.IsNullOrWhiteSpace(Code4)) + { + Code4 = originalSearchValue.Substring(22); + } + + if (model.Code.Length > 26 && model.Code.Substring(8, 2) == "92") + { + Code3 = model.Code.Substring(8); model.Code = model.Code.Substring(10); } - else - if (model.Code.Length > 20 && model.Code.Substring(0, 2) == "92") + else if (model.Code.Length == 30 && model.Code.Substring(8, 2) == "92")//USPS 420809239261290359305328471212 系统61290359305328471212 { + Code3 = model.Code; + model.Code = model.Code.Substring(10); + } + else if (model.Code.Length == 34 && model.Code.Substring(8, 2) == "92")//D-UPS 4207102492612903033602543475000211 + { + Code3 = model.Code; + model.Code = model.Code.Substring(8); + } + else if (model.Code.Length == 34 && model.Code.Substring(12, 2) == "92")//USPS 4204485791309200190368766508341877 420531051910 9200190368766508349767 + { + Code3 = model.Code; + model.Code = model.Code.Substring(12); + } + else if (model.Code.Length > 20 && model.Code.Substring(0, 2) == "92") + { + Code3 = model.Code; model.Code = model.Code.Substring(2); } else if (model.Code.Length > 20 && model.Code.Substring(0, 2) == "94") { - + Code3 = model.Code; model.Code = model.Code; } + else if (model.Code.Length > 22 && model.Code.Substring(0, 2) == "96") + { + Code3 = model.Code; + int startIndex = 22; // 开始索引 + int length = 12; // 子字符串的长度 + + + model.Code = model.Code.Substring(startIndex, length); + } + else if (model.Code.Length > 20 && model.Code.Substring(8, 2) == "94") + { + //示例:420926479400111206204134325488(USPS) + Code3 = model.Code.Substring(8); + model.Code = model.Code.Substring(10); + } + else if (Code2.Length > 20 && Code2.Substring(8, 2) == "94") + { + Code3 = Code2.Substring(8); + model.Code = Code2.Substring(10); + } else if (model.Code.Length > 12) { + Code3 = model.Code.Substring(model.Code.Length - 12); model.Code = model.Code.Substring(model.Code.Length - 12); } - int UserId = model.UserId; - var ordermodel = DataNew.GetScanOrderModelForReturnMid(model.Code, Code2, UserId); + var ordermodel = DataNew.GetScanOrderModelForReturnMid_250203(model.Code, originalSearchValue, Code2, Code3, Code4, Code5, UserId); Sync_ReturnModel ReturnModel = new Sync_ReturnModel(); if (ordermodel != null && ordermodel.GoodsList != null)