using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Newtonsoft.Json;
using NetLibrary.Log;
using System.IO;
using TradeModel;
using NetLibrary;
using Org.BouncyCastle.Utilities.Encoders;
using System.Drawing;
namespace TradeManageNew.OuterService
{
///
/// ShageService 的摘要说明
///
public class ShageService : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string UserCode = context.Request.QueryString["UserCode"];
string Method = context.Request.QueryString["Method"];
string Ver = context.Request.QueryString["Ver"];
// JavaScriptSerializer jsonconvert = new JavaScriptSerializer();
SyncDataModel md = new SyncDataModel();
md.Result = "";
string content2 = "";
try
{
StreamReader sr = new StreamReader(context.Request.InputStream);
string ResponseContent = sr.ReadToEnd();
ErrorFollow.TraceWrite("协议", "", ResponseContent);
if (string.IsNullOrEmpty(UserCode) == true || string.IsNullOrEmpty(Method) == true || string.IsNullOrEmpty(Ver) == true)
{
md.Code = "101";
md.Result = "缺少参数或者参数不正确,请确保有如下UserCode,Method,Ver参数";
content2 = JsonConvert.SerializeObject(md);
context.Response.Write(content2);
return;
}
if (Ver == "1.0")
{
if (string.IsNullOrEmpty(ResponseContent) == true)
{
md.Code = "104";
md.Result = "提交数据不能为空";
content2 = JsonConvert.SerializeObject(md);
context.Response.Write(content2);
return;
}
if (Method == "UserLogin")
{
UserLogin model =JsonConvert.DeserializeObject(ResponseContent);
if (model != null)
{
//获取用户数据
var ListUserInfo = DataNew.PdaLogin(model.UserName.Replace("\u0002", "").Replace("\n", ""), model.Password.Replace("\u0002", "").Replace("\n", ""));
if (ListUserInfo != null)
{
md.Code = "100";
md.Result = "Success";
md.Data = JsonConvert.SerializeObject(ListUserInfo);
}
else
{
md.Code = "400";
md.Result = "user non-existent";
md.Data = null;
}
}
else
{
//获取用户数据
// var ListUserInfo = BaseService.GetListSyncUserInfo(model.CompanyID);
md.Code = "400";
md.Result = "Data transmission error";
md.Data = null;
}
}
if (Method == "UserScan")
{
UserLogin model =JsonConvert.DeserializeObject(ResponseContent);
if (model != null)
{
//获取用户数据
var ListUserInfo = DataNew.PdaSacnLogin(model.UserCode.Replace("\u0002", ""));
if (ListUserInfo != null)
{
md.Code = "100";
md.Result = "Success";
md.Data = JsonConvert.SerializeObject(ListUserInfo);
}
else
{
md.Code = "400";
md.Result = "user non-existent";
md.Data = null;
}
}
else
{
//获取用户数据
// var ListUserInfo = BaseService.GetListSyncUserInfo(model.CompanyID);
md.Code = "400";
md.Result = "Data transmission error";
md.Data = null;
}
}
if (Method == "OrderScanNew")
{
GetData model =JsonConvert.DeserializeObject(ResponseContent);
if (model != null && model.Code != "")
{
model.Code = model.Code.Replace("\u0002", "").Replace("\n", "");
string Code2 = model.Code;
if (model.Code.Length > 26 && model.Code.Substring(8, 2) == "92")
{
model.Code = model.Code.Substring(10);
}
else
if (model.Code.Length > 20 && model.Code.Substring(0, 2) == "92")
{
model.Code = model.Code.Substring(2);
}
else if (model.Code.Length > 20 && model.Code.Substring(0, 2) == "94")
{
model.Code = model.Code;
}
else if (model.Code.Length > 12)
{
model.Code = model.Code.Substring(model.Code.Length - 12);
}
var ordermodel = DataNew.GetScanOrderModelForTM4(model.Code, Code2);
Sync_OrderScanModel OrderScanModel = new Sync_OrderScanModel();
if (ordermodel != null && ordermodel.GoodsList != null)
{
OrderScanModel.OrderId = ordermodel.OrderId.Value;
OrderScanModel.OrderCode = ordermodel.PlatOrderCode;
if (ordermodel.PrintDate != null)
OrderScanModel.PrintDate = ordermodel.PrintDate.Value.ToString("yyyy-MM-dd HH:mm");
if (ordermodel.PostDate != null)
OrderScanModel.PostDate = ordermodel.PostDate.Value.ToString("yyyy-MM-dd HH:mm");
OrderScanModel.RevName = ordermodel.RevName;
OrderScanModel.RevAddr = ordermodel.RevProvince + " " + ordermodel.RevAddr;
OrderScanModel.ShopName = ordermodel.ShopName;
OrderScanModel.PostInfo = ordermodel.PostInfo;
OrderScanModel.PostCode = ordermodel.RevFax;
OrderScanModel.TrackCode = ordermodel.TrackCode;
var glist = new List();
foreach (var goods in ordermodel.GoodsList)
{
Sync_OrderScanGoods gmd = new Sync_OrderScanGoods();
gmd.Id = 0;
gmd.GoodsCode = goods.GoodsCode;
gmd.GoodsNum = goods.GoodsNum.Value;
gmd.SKU = goods.GoodsOldCode;
gmd.GoodsName = goods.GoodsName;
if (goods.Weight != null)
gmd.Weight = goods.Weight.Value;
else
gmd.Weight = 0;
glist.Add(gmd);
}
OrderScanModel.GoodsList = glist;
if (ordermodel.PostDate == null)
{
DT_TrackCodeScan snd = new DT_TrackCodeScan();
snd.OrderId = ordermodel.OrderId;
snd.JoinOrderCode = ordermodel.JoinOrderCode;
snd.OrderCode = ordermodel.PlatOrderCode;
snd.TrackCode = ordermodel.TrackCode;
snd.ScanUserId = model.UserId;
snd.SureUserId = model.SureUserId;
DataNew.SaveTrackCodeScan2(snd);
}
if (ordermodel.ErrorInfo != null && ordermodel.ErrorInfo != "")
{
OrderScanModel.ResultInfo = "Shipment not allowed " + ordermodel.ErrorInfo;
md.Code = "400";
md.Result = OrderScanModel.ResultInfo;
md.Data = JsonConvert.SerializeObject(OrderScanModel);
}
else if (ordermodel.PostDate != null)
{
md.Code = "400";
md.Result = "Repeated scanning";
md.Data = JsonConvert.SerializeObject(OrderScanModel);
DT_TrackCodeScan snd = new DT_TrackCodeScan();
snd.OrderId = ordermodel.OrderId;
snd.JoinOrderCode = ordermodel.JoinOrderCode;
snd.OrderCode = ordermodel.PlatOrderCode;
snd.TrackCode = ordermodel.TrackCode;
snd.ScanUserId = model.UserId;
snd.SureUserId = model.SureUserId;//拣货人
DataNew.SaveTrackCodeScan5(snd);
}
else if (OrderScanModel != null)
{
OrderScanModel.ResultInfo = "Scan Success";
md.Code = "100";
md.Result = OrderScanModel.ResultInfo;
md.Data = JsonConvert.SerializeObject(OrderScanModel);
}
}
else
{
md.Code = "400";
md.Result = "Tracking No non-existent";
md.Data = null;
}
}
else
{
//获取用户数据
// var ListUserInfo = BaseService.GetListSyncUserInfo(model.CompanyID);
md.Code = "400";
md.Result = "Data transmission error";
md.Data = null;
}
}
if (Method == "OrderScan")
{
GetData model =JsonConvert.DeserializeObject(ResponseContent);
if (model != null&&model.Code!="")
{
model.Code = model.Code.Replace("\u0002", "").Replace("\n", "");
string Code2 = model.Code;
if (model.Code.Length > 26 && model.Code.Substring(8, 2) == "92")
{
model.Code = model.Code.Substring(10);
}
else
if (model.Code.Length > 20 && model.Code.Substring(0, 2) == "92")
{
model.Code = model.Code.Substring(2);
}
else if (model.Code.Length > 20 && model.Code.Substring(0, 2) == "94")
{
model.Code = model.Code;
}
else if (model.Code.Length >12)
{
model.Code = model.Code.Substring(model.Code.Length - 12);
}
var ordermodel = DataNew.GetScanOrderModelForTM4(model.Code, Code2);
Sync_OrderScanModel OrderScanModel = new Sync_OrderScanModel();
if (ordermodel != null && ordermodel.GoodsList != null)
{
OrderScanModel.OrderId = ordermodel.OrderId.Value;
OrderScanModel.OrderCode = ordermodel.PlatOrderCode;
if (ordermodel.PrintDate != null)
OrderScanModel.PrintDate = ordermodel.PrintDate.Value.ToString("yyyy-MM-dd HH:mm");
if (ordermodel.PostDate != null)
OrderScanModel.PostDate = ordermodel.PostDate.Value.ToString("yyyy-MM-dd HH:mm");
OrderScanModel.RevName = ordermodel.RevName;
OrderScanModel.RevAddr = ordermodel.RevProvince + " " + ordermodel.RevAddr;
OrderScanModel.ShopName = ordermodel.ShopName;
OrderScanModel.PostInfo = ordermodel.PostInfo;
OrderScanModel.PostCode = ordermodel.RevFax;
OrderScanModel.TrackCode = ordermodel.TrackCode;
var glist = new List();
foreach (var goods in ordermodel.GoodsList)
{
Sync_OrderScanGoods gmd = new Sync_OrderScanGoods();
gmd.Id = 0;
gmd.GoodsCode = goods.GoodsCode;
gmd.GoodsNum = goods.GoodsNum.Value;
gmd.SKU = goods.GoodsOldCode;
gmd.GoodsName = goods.GoodsName;
if (goods.Weight != null)
gmd.Weight = goods.Weight.Value;
else
gmd.Weight = 0;
glist.Add(gmd);
}
OrderScanModel.GoodsList = glist;
if (ordermodel.PostDate== null)
{
DT_TrackCodeScan snd = new DT_TrackCodeScan();
snd.OrderId = ordermodel.OrderId;
snd.JoinOrderCode = ordermodel.JoinOrderCode;
snd.OrderCode = ordermodel.PlatOrderCode;
snd.TrackCode = ordermodel.TrackCode;
snd.ScanUserId = model.UserId;
DataNew.SaveTrackCodeScan(snd);
}
if (ordermodel.ErrorInfo != null && ordermodel.ErrorInfo != "")
{
OrderScanModel.ResultInfo = "Shipment not allowed " + ordermodel.ErrorInfo;
md.Code = "400";
md.Result = OrderScanModel.ResultInfo;
md.Data = JsonConvert.SerializeObject(OrderScanModel);
}
else if (ordermodel.PostDate != null)
{
md.Code = "400";
md.Result = "Repeated scanning";
md.Data = JsonConvert.SerializeObject(OrderScanModel);
}
else if (OrderScanModel != null)
{
OrderScanModel.ResultInfo = "Scan Success";
md.Code = "100";
md.Result = OrderScanModel.ResultInfo;
md.Data = JsonConvert.SerializeObject(OrderScanModel);
}
}
else
{
md.Code = "400";
md.Result = "Tracking No non-existent";
md.Data = null;
}
}
else
{
//获取用户数据
// var ListUserInfo = BaseService.GetListSyncUserInfo(model.CompanyID);
md.Code = "400";
md.Result = "Data transmission error";
md.Data = null;
}
}
if (Method == "OrderReturnMid")//退货中间状态
{
GetData model = JsonConvert.DeserializeObject(ResponseContent);
if (model != null && model.Code != "")
{
model.Code = model.Code.Replace("\u0002", "").Replace("\n", "");
string Code2 = model.Code;
if (model.Code.Length > 26 && model.Code.Substring(8, 2) == "92")
{
model.Code = model.Code.Substring(10);
}
else
if (model.Code.Length > 20 && model.Code.Substring(0, 2) == "92")
{
model.Code = model.Code.Substring(2);
}
else if (model.Code.Length > 20 && model.Code.Substring(0, 2) == "94")
{
model.Code = model.Code;
}
else if (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);
Sync_ReturnModel ReturnModel = new Sync_ReturnModel();
if (ordermodel != null && ordermodel.GoodsList != null)
{
ReturnModel.OrderId = ordermodel.OrderId.Value;
if (ordermodel.OrderId.Value == 0)
{
ReturnModel.OrderCode = "";
ReturnModel.PrintDate = "";
ReturnModel.PostDate = "";
ReturnModel.RevName = "";
ReturnModel.RevAddr = "";
ReturnModel.ShopName = "";
ReturnModel.PostInfo = "";
ReturnModel.PostCode = "";
ReturnModel.TrackCode = "";
ReturnModel.OrderDate = "";
ReturnModel.PostionCode = "";
}
else
{
if (ordermodel.OrderDate != null)
ReturnModel.OrderDate = ordermodel.OrderDate.Value.ToString("yyyy-MM-dd HH:mm");
ReturnModel.OrderCode = ordermodel.PlatOrderCode;
if (ordermodel.PrintDate != null)
ReturnModel.PrintDate = ordermodel.PrintDate.Value.ToString("yyyy-MM-dd HH:mm");
if (ordermodel.PostDate != null)
ReturnModel.PostDate = ordermodel.PostDate.Value.ToString("yyyy-MM-dd HH:mm");
ReturnModel.RevName = ordermodel.RevName;
ReturnModel.RevAddr = ordermodel.RevProvince + " " + ordermodel.RevAddr;
ReturnModel.ShopName = ordermodel.ShopName;
ReturnModel.PostInfo = ordermodel.PostInfo;
ReturnModel.PostCode = ordermodel.RevFax;
ReturnModel.TrackCode = ordermodel.TrackCode;
ReturnModel.PostionCode = ordermodel.OrderName;
}
var glist = new List();
foreach (var goods in ordermodel.GoodsList)
{
Sync_ReturnGoods gmd = new Sync_ReturnGoods();
gmd.Id = goods.Id.Value;
gmd.GoodsCode = goods.GoodsCode;
gmd.GoodsNum = goods.GoodsNum.Value;
gmd.SKU = goods.GoodsOldCode;
gmd.GoodsName = goods.GoodsName;
if (goods.Weight != null)
gmd.Weight = goods.Weight.Value;
else
gmd.Weight = 0;
glist.Add(gmd);
}
ReturnModel.GoodsList = glist;
if (ordermodel.TrackList != null)
{
var plist = new List();
foreach (var pmd in ordermodel.TrackList)
{
Sync_ReturnPostion ppmd = new Sync_ReturnPostion();
ppmd.PostionType = pmd.TrackType;
ppmd.PostionCode = pmd.TrackCode;
ppmd.PostionName = pmd.TrackCode2;
plist.Add(ppmd);
}
ReturnModel.PostionList = plist;
}
md.Code = "100";
md.Result = "Success";
md.Data = JsonConvert.SerializeObject(ReturnModel);
}
else
{
if((Code2.StartsWith("9") && Code2.Length==22) || (Code2.StartsWith("1Z") && Code2.Length==18) || (Code2.StartsWith("7") && Code2.Length==12) || (Code2.StartsWith("2") && Code2.Length==12) || (Code2.StartsWith("6") && Code2.Length == 20) || model.Code.Length>=12)
{
//var userInfo = DataNew.GetUserInfoByUserId(model.UserId);
////记录到快递跟踪码临时表,等操作人员填好数据之后,同步到DT_OrderReturn表
//DataNew.AddOrderReturnTrackingIdForScan(model.Code, model.UserId, userInfo == null ? "" : userInfo.WorkDesc);
//md.Code = "400";
//md.Result = "Tracking No non-existent,Recorded on the Order Return TrackingId page, waiting for staff to process";
//md.Data = null;
var ordRe = DataNew.GetDT_OrderReturnByTrackId(model.Code, Code2);
if (ordRe == null)
{
var userInfo = DataNew.GetUserInfoByUserId(model.UserId);
//记录到快递跟踪码临时表,等操作人员填好数据之后,同步到DT_OrderReturn表
var id = DataNew.AddOrderReturnTrackingIdForScanReturnID(model.Code,Code2, model.UserId, userInfo == null ? "" : userInfo.WorkDesc);
if (id == 0)
{
md.Code = "400";
md.Result = "Tracking No non-existent,Recorded Fail";
md.Data = id.ToString();
}
else
{
md.Code = "400";
md.Result = "Tracking No non-existent,Recorded on the Order Return TrackingId page, waiting for staff to process";
md.Data = id.ToString();
}
}
else
{
md.Code = "400";
md.Result = "Tracking No has been scanned";
md.Data = null;
}
}
else
{
md.Code = "400";
md.Result = "Tracking No error, not belonging to Fedex, UPS, USPS";
md.Data = null;
}
}
}
else
{
//获取用户数据
// var ListUserInfo = BaseService.GetListSyncUserInfo(model.CompanyID);
md.Code = "400";
md.Result = "Data transmission error";
md.Data = null;
}
}
if(Method== "OrderReturnMidNew")
{
GetData model = JsonConvert.DeserializeObject(ResponseContent);
if (model != null && model.Code != "")
{
model.Code = model.Code.Replace("\u0002", "").Replace("\n", "");
string Code2 = model.Code;
if (model.Code.Length > 26 && model.Code.Substring(8, 2) == "92")
{
model.Code = model.Code.Substring(10);
}
else
if (model.Code.Length > 20 && model.Code.Substring(0, 2) == "92")
{
model.Code = model.Code.Substring(2);
}
else if (model.Code.Length > 20 && model.Code.Substring(0, 2) == "94")
{
model.Code = model.Code;
}
else if (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);
Sync_ReturnModel ReturnModel = new Sync_ReturnModel();
if (ordermodel != null && ordermodel.GoodsList != null)
{
ReturnModel.OrderId = ordermodel.OrderId.Value;
if (ordermodel.OrderId.Value == 0)
{
ReturnModel.OrderCode = "";
ReturnModel.PrintDate = "";
ReturnModel.PostDate = "";
ReturnModel.RevName = "";
ReturnModel.RevAddr = "";
ReturnModel.ShopName = "";
ReturnModel.PostInfo = "";
ReturnModel.PostCode = "";
ReturnModel.TrackCode = "";
ReturnModel.OrderDate = "";
ReturnModel.PostionCode = "";
}
else
{
if (ordermodel.OrderDate != null)
ReturnModel.OrderDate = ordermodel.OrderDate.Value.ToString("yyyy-MM-dd HH:mm");
ReturnModel.OrderCode = ordermodel.PlatOrderCode;
if (ordermodel.PrintDate != null)
ReturnModel.PrintDate = ordermodel.PrintDate.Value.ToString("yyyy-MM-dd HH:mm");
if (ordermodel.PostDate != null)
ReturnModel.PostDate = ordermodel.PostDate.Value.ToString("yyyy-MM-dd HH:mm");
ReturnModel.RevName = ordermodel.RevName;
ReturnModel.RevAddr = ordermodel.RevProvince + " " + ordermodel.RevAddr;
ReturnModel.ShopName = ordermodel.ShopName;
ReturnModel.PostInfo = ordermodel.PostInfo;
ReturnModel.PostCode = ordermodel.RevFax;
ReturnModel.TrackCode = ordermodel.TrackCode;
ReturnModel.PostionCode = ordermodel.OrderName;
}
var glist = new List();
foreach (var goods in ordermodel.GoodsList)
{
Sync_ReturnGoods gmd = new Sync_ReturnGoods();
gmd.Id = goods.Id.Value;
gmd.GoodsCode = goods.GoodsCode;
gmd.GoodsNum = goods.GoodsNum.Value;
gmd.SKU = goods.GoodsOldCode;
gmd.GoodsName = goods.GoodsName;
if (goods.Weight != null)
gmd.Weight = goods.Weight.Value;
else
gmd.Weight = 0;
glist.Add(gmd);
}
ReturnModel.GoodsList = glist;
if (ordermodel.TrackList != null)
{
var plist = new List();
foreach (var pmd in ordermodel.TrackList)
{
Sync_ReturnPostion ppmd = new Sync_ReturnPostion();
ppmd.PostionType = pmd.TrackType;
ppmd.PostionCode = pmd.TrackCode;
ppmd.PostionName = pmd.TrackCode2;
plist.Add(ppmd);
}
ReturnModel.PostionList = plist;
}
md.Code = "100";
md.Result = "Success";
md.Data = JsonConvert.SerializeObject(ReturnModel);
}
else
{
if ((Code2.StartsWith("9") && Code2.Length == 22) || (Code2.StartsWith("1Z") && Code2.Length == 18) || (Code2.StartsWith("7") && Code2.Length == 12) || (Code2.StartsWith("2") && Code2.Length == 12) || (Code2.StartsWith("6") && Code2.Length == 20) || model.Code.Length>=12)
{
var ordRe = DataNew.GetDT_OrderReturnByTrackId(model.Code, Code2);
if (ordRe==null)
{
var userInfo = DataNew.GetUserInfoByUserId(model.UserId);
//记录到快递跟踪码临时表,等操作人员填好数据之后,同步到DT_OrderReturn表
var id = DataNew.AddOrderReturnTrackingIdForScanReturnID(model.Code,Code2, model.UserId, userInfo == null ? "" : userInfo.WorkDesc);
if(id==0)
{
md.Code = "400";
md.Result = "Tracking No non-existent,Recorded Fail";
md.Data = id.ToString();
}
else
{
md.Code = "404";
md.Result = "Tracking No non-existent,Recorded on the Order Return TrackingId page, waiting for staff to process";
md.Data = id.ToString();
}
}
else
{
md.Code = "400";
md.Result = "Tracking No has been scanned";
md.Data = null;
}
}
else
{
md.Code = "400";
md.Result = "Tracking code error, not belonging to Fedex, UPS, USPS";
md.Data = null;
}
}
}
else
{
//获取用户数据
// var ListUserInfo = BaseService.GetListSyncUserInfo(model.CompanyID);
md.Code = "400";
md.Result = "Data transmission error";
md.Data = null;
}
}
if(Method== "OrderReturnMidPhoto")
{
var model = JsonConvert.DeserializeObject(ResponseContent);
if (string.IsNullOrEmpty(model.Photo))
{
md.Code = "400";
md.Result = "Please upload express pictures";
md.Data = null;
}
else
{
string guid = Guid.NewGuid().ToString("N");
string photo1 = AppDomain.CurrentDomain.BaseDirectory + "attached/hwcreturn/" + guid + ".png";
string photo11 = "/attached/hwcreturn/" + guid + ".png";
//CustomIO.SetImage(photo1, model.Photo);
string message = "";
if(!UploadImage(photo1, model.Photo, out message))
{
md.Code = "400";
md.Result = "Upload Fail,Please try again";
md.Data = null;
}
else
{
var isSucc = DataNew.UploadPhotoOrderReturnTrackingId(model.ID, photo11);
if (isSucc == 1)
{
md.Code = "100";
md.Result = "Success";
md.Data = null;
}
else
{
md.Code = "400";
md.Result = "Fail,Please rescan the tracking code";
md.Data = null;
}
}
}
}
if (Method == "OrderReturn")//退货
{
GetData model =JsonConvert.DeserializeObject(ResponseContent);
if (model != null && model.Code != "")
{
model.Code = model.Code.Replace("\u0002", "").Replace("\n", "");
string Code2 = model.Code;
if (model.Code.Length > 26 && model.Code.Substring(8, 2) == "92")
{
model.Code = model.Code.Substring(10);
}
else
if (model.Code.Length > 20 && model.Code.Substring(0, 2) == "92")
{
model.Code = model.Code.Substring(2);
}
else if (model.Code.Length > 20 && model.Code.Substring(0, 2) == "94")
{
model.Code = model.Code;
}
else if (model.Code.Length > 12)
{
model.Code = model.Code.Substring(model.Code.Length - 12);
}
int UserId = model.UserId;
var ordermodel = DataNew.GetScanOrderModelForReturnFinal(model.Code, Code2, UserId);
Sync_ReturnModel ReturnModel = new Sync_ReturnModel();
if (ordermodel != null && ordermodel.GoodsList != null)
{
ReturnModel.OrderId = ordermodel.OrderId.Value;
if (ordermodel.OrderId.Value == 0)
{
ReturnModel.OrderCode = "";
ReturnModel.PrintDate = "";
ReturnModel.PostDate = "";
ReturnModel.RevName = "";
ReturnModel.RevAddr = "";
ReturnModel.ShopName = "";
ReturnModel.PostInfo = "";
ReturnModel.PostCode = "";
ReturnModel.TrackCode = "";
ReturnModel.OrderDate = "";
ReturnModel.PostionCode = "";
}
else
{
if (ordermodel.OrderDate != null)
ReturnModel.OrderDate = ordermodel.OrderDate.Value.ToString("yyyy-MM-dd HH:mm");
ReturnModel.OrderCode = ordermodel.PlatOrderCode;
if (ordermodel.PrintDate != null)
ReturnModel.PrintDate = ordermodel.PrintDate.Value.ToString("yyyy-MM-dd HH:mm");
if (ordermodel.PostDate != null)
ReturnModel.PostDate = ordermodel.PostDate.Value.ToString("yyyy-MM-dd HH:mm");
ReturnModel.RevName = ordermodel.RevName;
ReturnModel.RevAddr = ordermodel.RevProvince + " " + ordermodel.RevAddr;
ReturnModel.ShopName = ordermodel.ShopName;
ReturnModel.PostInfo = ordermodel.PostInfo;
ReturnModel.PostCode = ordermodel.RevFax;
ReturnModel.TrackCode = ordermodel.TrackCode;
ReturnModel.PostionCode = ordermodel.OrderName;
}
var glist = new List();
foreach (var goods in ordermodel.GoodsList)
{
Sync_ReturnGoods gmd = new Sync_ReturnGoods();
gmd.Id = goods.Id.Value;
gmd.GoodsCode = goods.GoodsCode;
gmd.GoodsNum = goods.GoodsNum.Value;
gmd.SKU = goods.GoodsOldCode;
gmd.GoodsName = goods.GoodsName;
if (goods.Weight != null)
gmd.Weight = goods.Weight.Value;
else
gmd.Weight = 0;
glist.Add(gmd);
}
ReturnModel.GoodsList = glist;
if (ordermodel.TrackList != null)
{
var plist = new List();
foreach (var pmd in ordermodel.TrackList)
{
Sync_ReturnPostion ppmd = new Sync_ReturnPostion();
ppmd.PostionType = pmd.TrackType;
ppmd.PostionCode = pmd.TrackCode;
ppmd.PostionName = pmd.TrackCode2;
plist.Add(ppmd);
}
ReturnModel.PostionList = plist;
}
md.Code = "100";
md.Result = "Success";
md.Data = JsonConvert.SerializeObject(ReturnModel);
}
else
{
md.Code = "400";
md.Result = "Tracking No non-existent";
md.Data = null;
}
}
else
{
//获取用户数据
// var ListUserInfo = BaseService.GetListSyncUserInfo(model.CompanyID);
md.Code = "400";
md.Result = "Data transmission error";
md.Data = null;
}
}
if (Method == "OrderReturnold")//退货
{
GetData model =JsonConvert.DeserializeObject(ResponseContent);
if (model != null && model.Code != "")
{
model.Code = model.Code.Replace("\u0002", "").Replace("\n", "");
string Code2 = model.Code;
if (model.Code.Length > 26 && model.Code.Substring(8, 2) == "92")
{
model.Code = model.Code.Substring(10);
}
else
if (model.Code.Length > 20 && model.Code.Substring(0, 2) == "92")
{
model.Code = model.Code.Substring(2);
}
else if (model.Code.Length > 20 && model.Code.Substring(0, 2) == "94")
{
model.Code = model.Code;
}
else if (model.Code.Length > 12)
{
model.Code = model.Code.Substring(model.Code.Length - 12);
}
var ordermodel = DataNew.GetScanOrderModelForTM5(model.Code, Code2);
Sync_ReturnModel ReturnModel = new Sync_ReturnModel();
if (ordermodel != null && ordermodel.GoodsList != null)
{
ReturnModel.OrderId = ordermodel.OrderId.Value;
if (ordermodel.OrderId.Value == 0)
{
ReturnModel.OrderCode = "";
ReturnModel.PrintDate = "";
ReturnModel.PostDate = "";
ReturnModel.RevName = "";
ReturnModel.RevAddr = "";
ReturnModel.ShopName = "";
ReturnModel.PostInfo = "";
ReturnModel.PostCode = "";
ReturnModel.TrackCode = "";
ReturnModel.OrderDate = "";
}
else
{
if (ordermodel.OrderDate != null)
ReturnModel.OrderDate = ordermodel.OrderDate.Value.ToString("yyyy-MM-dd HH:mm");
ReturnModel.OrderCode = ordermodel.PlatOrderCode;
if (ordermodel.PrintDate != null)
ReturnModel.PrintDate = ordermodel.PrintDate.Value.ToString("yyyy-MM-dd HH:mm");
if (ordermodel.PostDate != null)
ReturnModel.PostDate = ordermodel.PostDate.Value.ToString("yyyy-MM-dd HH:mm");
ReturnModel.RevName = ordermodel.RevName;
ReturnModel.RevAddr = ordermodel.RevProvince + " " + ordermodel.RevAddr;
ReturnModel.ShopName = ordermodel.ShopName;
ReturnModel.PostInfo = ordermodel.PostInfo;
ReturnModel.PostCode = ordermodel.RevFax;
ReturnModel.TrackCode = ordermodel.TrackCode;
}
var glist = new List();
foreach (var goods in ordermodel.GoodsList)
{
Sync_ReturnGoods gmd = new Sync_ReturnGoods();
gmd.Id = goods.Id.Value;
gmd.GoodsCode = goods.GoodsCode;
gmd.GoodsNum = goods.GoodsNum.Value;
gmd.SKU = goods.GoodsOldCode;
gmd.GoodsName = goods.GoodsName;
if (goods.Weight != null)
gmd.Weight = goods.Weight.Value;
else
gmd.Weight = 0;
glist.Add(gmd);
}
ReturnModel.GoodsList = glist;
md.Code = "100";
md.Result = "Success";
md.Data = JsonConvert.SerializeObject(ReturnModel);
}
else
{
md.Code = "400";
md.Result = "Tracking No non-existent";
md.Data = null;
}
}
else
{
//获取用户数据
// var ListUserInfo = BaseService.GetListSyncUserInfo(model.CompanyID);
md.Code = "400";
md.Result = "Data transmission error";
md.Data = null;
}
}
if (Method == "ReturnSaveMid")//退货中间状态
{
Sync_ReturnGoodsSave model = JsonConvert.DeserializeObject(ResponseContent);
if (model != null)
{
int returnid = 0;
foreach (var gmd in model.GoodsList)
{
DT_BackGoodsNew backmodel = new DT_BackGoodsNew();
backmodel.PostionCode = model.StoreCode;
backmodel.OrderId = model.OrderId;
backmodel.InUserId = model.UserId;
backmodel.Num = gmd.GoodsNum;
backmodel.TrackCode = model.TrackCode;
backmodel.OrderCode = model.OrderCode;
backmodel.InType = model.InType;
if (model.InType == 1)
backmodel.GoodsState = 1;
else if (model.InType == 3)
backmodel.GoodsState = 3;
else if (model.InType == 2)
backmodel.GoodsState = 6;
backmodel.DetailId = gmd.GoodsId;
if (model.OrderId > 0)
backmodel.State = 1;
else
backmodel.State = 0;
backmodel.InDate = DateTime.Now;
if (model.Photo1 != null && model.Photo1 != "")
{
string guid = Guid.NewGuid().ToString("N");
string photo1 = AppDomain.CurrentDomain.BaseDirectory + "attached/hwcreturn/" + guid + ".png";
string photo11 = "/attached/hwcreturn/" + guid + ".png";
CustomIO.SetImage(photo1, model.Photo1);
backmodel.ImgUrl = photo11;
}
if (model.Photo2 != null && model.Photo2 != "")
{
string guid2 = Guid.NewGuid().ToString("N");
string photo2 = AppDomain.CurrentDomain.BaseDirectory + "attached/hwcreturn/" + guid2 + ".png";
string photo22 = "/attached/hwcreturn/" + guid2 + ".png";
CustomIO.SetImage(photo2, model.Photo2);
backmodel.ImgUrl2 = photo22;
}
if (model.Photo3 != null && model.Photo3 != "")
{
string guid3 = Guid.NewGuid().ToString("N");
string photo3 = AppDomain.CurrentDomain.BaseDirectory + "attached/hwcreturn/" + guid3 + ".png";
string photo33 = "/attached/hwcreturn/" + guid3 + ".png";
CustomIO.SetImage(photo3, model.Photo3);
backmodel.ImgUrl3 = photo33;
}
returnid = DataNew.SaveBackGoodsInReturnMid(backmodel);
if (returnid <= 0)
break;
}
if (returnid > 0)
{
md.Code = "100";
md.Result = "Success";
md.Data = "";
}
else if (returnid == -1)
{
md.Code = "400";
md.Result = "This code goods Operation record already exists";
md.Data = null;
}
else
{
md.Code = "400";
md.Result = "Storage Location non-existent";
md.Data = null;
}
}
else
{
//获取用户数据
// var ListUserInfo = BaseService.GetListSyncUserInfo(model.CompanyID);
md.Code = "400";
md.Result = "Data transmission error";
md.Data = null;
}
}
if (Method == "ReturnSave")//退货
{
Sync_ReturnGoodsSave model =JsonConvert.DeserializeObject(ResponseContent);
if (model != null)
{
int returnid = 0;
foreach (var gmd in model.GoodsList)
{
DT_BackGoodsNew backmodel = new DT_BackGoodsNew();
backmodel.PostionCode = string.IsNullOrEmpty(model.StoreCode) ? "" : model.StoreCode;
backmodel.OrderId = model.OrderId;
backmodel.InUserId = model.UserId;
backmodel.Num = gmd.GoodsNum;
backmodel.TrackCode = string.IsNullOrEmpty(model.TrackCode) ? "" : model.TrackCode;
backmodel.OrderCode = string.IsNullOrEmpty(model.OrderCode) ? "" : model.OrderCode;
backmodel.InType = model.InType;
if (model.InType == 1)
backmodel.GoodsState = 1;
else if (model.InType == 3)
backmodel.GoodsState = 3;
else if (model.InType == 2)
backmodel.GoodsState = 6;
backmodel.DetailId = gmd.GoodsId;
if (model.OrderId > 0)
backmodel.State = 1;
else
backmodel.State = 0;
backmodel.InDate = DateTime.Now;
if (model.Photo1 != null && model.Photo1 != "")
{
string guid = Guid.NewGuid().ToString("N");
string photo1 = AppDomain.CurrentDomain.BaseDirectory + "attached/hwcreturn/" + guid + ".png";
string photo11 = "/attached/hwcreturn/" + guid + ".png";
CustomIO.SetImage(photo1, model.Photo1);
backmodel.ImgUrl = photo11;
}
else
{
backmodel.ImgUrl = "";
}
if (model.Photo2 != null && model.Photo2 != "")
{
string guid2 = Guid.NewGuid().ToString("N");
string photo2 = AppDomain.CurrentDomain.BaseDirectory + "attached/hwcreturn/" + guid2 + ".png";
string photo22 = "/attached/hwcreturn/" + guid2 + ".png";
CustomIO.SetImage(photo2, model.Photo2);
backmodel.ImgUrl2 = photo22;
}
if (model.Photo3 != null && model.Photo3 != "")
{
string guid3 = Guid.NewGuid().ToString("N");
string photo3 = AppDomain.CurrentDomain.BaseDirectory + "attached/hwcreturn/" + guid3 + ".png";
string photo33 = "/attached/hwcreturn/" + guid3 + ".png";
CustomIO.SetImage(photo3, model.Photo3);
backmodel.ImgUrl3= photo33;
}
returnid = DataNew.SaveBackGoodsInReturn(backmodel);
if (returnid <= 0)
break;
}
if (returnid > 0)
{
md.Code = "100";
md.Result = "Success";
md.Data = "";
}
else if (returnid == -1)
{
md.Code = "400";
md.Result = "This code goods Operation record already exists";
md.Data = null;
}
else
{
md.Code = "400";
md.Result = "Storage Location non-existent";
md.Data = null;
}
}
else
{
//获取用户数据
// var ListUserInfo = BaseService.GetListSyncUserInfo(model.CompanyID);
md.Code = "400";
md.Result = "Data transmission error";
md.Data = null;
}
}
if (Method == "ReturnSaveold")//退货
{
Sync_ReturnGoodsSave model =JsonConvert.DeserializeObject(ResponseContent);
if (model != null)
{
int returnid = 0;
foreach(var gmd in model.GoodsList)
{
DT_BackGoodsNew backmodel = new DT_BackGoodsNew();
backmodel.PostionCode = model.StoreCode;
backmodel.OrderId = model.OrderId;
backmodel.InUserId = model.UserId;
backmodel.Num = gmd.GoodsNum;
backmodel.TrackCode = model.TrackCode;
backmodel.OrderCode = model.OrderCode;
backmodel.InType = model.InType;
if (model.InType == 1)
backmodel.GoodsState = 1;
else if (model.InType == 3)
backmodel.GoodsState = 3;
else if (model.InType == 2)
backmodel.GoodsState = 6;
backmodel.DetailId = gmd.GoodsId;
if(model.OrderId>0)
backmodel.State = 1;
else
backmodel.State = 0;
backmodel.InDate = DateTime.Now;
if(model.Photo1!=null&&model.Photo1!="")
{
string guid=Guid.NewGuid().ToString("N");
string photo1= AppDomain.CurrentDomain.BaseDirectory+"attached/hwcreturn/" +guid+".png";
string photo11 = "/attached/hwcreturn/" + guid + ".png";
CustomIO.SetImage(photo1, model.Photo1);
backmodel.ImgUrl = photo11;
}
if (model.Photo2 != null && model.Photo2 != "")
{
string guid2 = Guid.NewGuid().ToString("N");
string photo2 = AppDomain.CurrentDomain.BaseDirectory+"attached/hwcreturn/" + guid2 + ".png";
string photo22 = "/attached/hwcreturn/" + guid2 + ".png";
CustomIO.SetImage(photo2, model.Photo2);
backmodel.ImgUrl2 = photo22;
}
if (model.Photo3 != null && model.Photo3 != "")
{
string guid3 = Guid.NewGuid().ToString("N");
string photo3 = AppDomain.CurrentDomain.BaseDirectory+ "attached/hwcreturn/" + guid3 + ".png";
string photo33 = "/attached/hwcreturn/" + guid3 + ".png";
CustomIO.SetImage(photo3, model.Photo3);
backmodel.ImgUrl2 = photo33;
}
returnid=DataNew.SaveBackGoodsIn(backmodel);
if (returnid <= 0)
break;
}
if (returnid >0)
{
md.Code = "100";
md.Result = "Success";
md.Data = "";
}
else if (returnid ==-1)
{
md.Code = "400";
md.Result = "This code goods Operation record already exists";
md.Data = null;
}
else
{
md.Code = "400";
md.Result = "Storage Location non-existent";
md.Data = null;
}
}
else
{
//获取用户数据
// var ListUserInfo = BaseService.GetListSyncUserInfo(model.CompanyID);
md.Code = "400";
md.Result = "Data transmission error";
md.Data = null;
}
}
if (Method == "UploadImage")
{
OrderReturnMidPhotoModel model = JsonConvert.DeserializeObject(ResponseContent);
try
{
if (model.Photo != null && model.Photo != "")
{
string guid = Guid.NewGuid().ToString("N");
string photo1 = AppDomain.CurrentDomain.BaseDirectory + "attached/hwcreturn/" + guid + ".png";
string photo11 = "/attached/hwcreturn/" + guid + ".png";
CustomIO.SetImage(photo1, model.Photo);
md.Code = "100";
md.Result = photo11;
md.Data = null;
}
else
{
md.Code = "400";
md.Result = "Data transmission error";
md.Data = null;
}
}
catch (Exception e)
{
md.Code = "400";
md.Result = "Upload Image Fail";
md.Data = null;
}
}
if (Method == "ReturnSaveNew")
{
Sync_ReturnGoodsSave model = JsonConvert.DeserializeObject(ResponseContent);
if (model != null)
{
int returnid = 0;
foreach (var gmd in model.GoodsList)
{
DT_BackGoodsNew backmodel = new DT_BackGoodsNew();
backmodel.PostionCode = string.IsNullOrEmpty(model.StoreCode) ? "" : model.StoreCode;
backmodel.OrderId = model.OrderId;
backmodel.InUserId = model.UserId;
backmodel.Num = gmd.GoodsNum;
backmodel.TrackCode = string.IsNullOrEmpty(model.TrackCode) ? "" : model.TrackCode;
backmodel.OrderCode = string.IsNullOrEmpty(model.OrderCode) ? "" : model.OrderCode;
backmodel.InType = model.InType;
if (model.InType == 1)
backmodel.GoodsState = 1;
else if (model.InType == 3)
backmodel.GoodsState = 3;
else if (model.InType == 2)
backmodel.GoodsState = 6;
backmodel.DetailId = gmd.GoodsId;
if (model.OrderId > 0)
backmodel.State = 1;
else
backmodel.State = 0;
backmodel.InDate = DateTime.Now;
backmodel.ImgUrl = string.IsNullOrEmpty(model.Photo1) ? "" : model.Photo1;
backmodel.ImgUrl2 = string.IsNullOrEmpty(model.Photo2) ? "" : model.Photo2;
backmodel.ImgUrl3 = string.IsNullOrEmpty(model.Photo3) ? "" : model.Photo3;
backmodel.ImgUrl4 = string.IsNullOrEmpty(model.Photo4) ? "" : model.Photo4;
backmodel.ImgUrl5 = string.IsNullOrEmpty(model.Photo5) ? "" : model.Photo5;
returnid = DataNew.SaveBackGoodsInReturn(backmodel);
if (returnid <= 0)
break;
}
if (returnid > 0)
{
md.Code = "100";
md.Result = "Success";
md.Data = "";
}
else if (returnid == -1)
{
md.Code = "400";
md.Result = "This code goods Operation record already exists";
md.Data = null;
}
else
{
md.Code = "400";
md.Result = "Storage Location non-existent";
md.Data = null;
}
}
else
{
//获取用户数据
// var ListUserInfo = BaseService.GetListSyncUserInfo(model.CompanyID);
md.Code = "400";
md.Result = "Data transmission error";
md.Data = null;
}
}
if(Method== "ReturnSaveMidNew")
{
Sync_ReturnGoodsSave model = JsonConvert.DeserializeObject(ResponseContent);
if (model != null)
{
int returnid = 0;
foreach (var gmd in model.GoodsList)
{
DT_BackGoodsNew backmodel = new DT_BackGoodsNew();
backmodel.PostionCode = model.StoreCode;
backmodel.OrderId = model.OrderId;
backmodel.InUserId = model.UserId;
backmodel.Num = gmd.GoodsNum;
backmodel.TrackCode = model.TrackCode;
backmodel.OrderCode = model.OrderCode;
backmodel.InType = model.InType;
if (model.InType == 1)
backmodel.GoodsState = 1;
else if (model.InType == 3)
backmodel.GoodsState = 3;
else if (model.InType == 2)
backmodel.GoodsState = 6;
backmodel.DetailId = gmd.GoodsId;
if (model.OrderId > 0)
backmodel.State = 1;
else
backmodel.State = 0;
backmodel.InDate = DateTime.Now;
backmodel.ImgUrl = string.IsNullOrEmpty(model.Photo1) ? "" : model.Photo1;
backmodel.ImgUrl2 = string.IsNullOrEmpty(model.Photo2) ? "" : model.Photo2;
backmodel.ImgUrl3 = string.IsNullOrEmpty(model.Photo3) ? "" : model.Photo3;
backmodel.ImgUrl4 = string.IsNullOrEmpty(model.Photo4) ? "" : model.Photo4;
backmodel.ImgUrl5 = string.IsNullOrEmpty(model.Photo5) ? "" : model.Photo5;
returnid = DataNew.SaveBackGoodsInReturnMid(backmodel);
if (returnid <= 0)
break;
}
if (returnid > 0)
{
md.Code = "100";
md.Result = "Success";
md.Data = "";
}
else if (returnid == -1)
{
md.Code = "400";
md.Result = "This code goods Operation record already exists";
md.Data = null;
}
else
{
md.Code = "400";
md.Result = "Storage Location non-existent";
md.Data = null;
}
}
else
{
//获取用户数据
// var ListUserInfo = BaseService.GetListSyncUserInfo(model.CompanyID);
md.Code = "400";
md.Result = "Data transmission error";
md.Data = null;
}
}
}
}
catch (Exception ex)
{
md.Code = "104";
md.Result = ex.Message;
}
content2 = JsonConvert.SerializeObject(md);
ErrorFollow.TraceWrite("返回值", "", content2);
context.Response.Write(content2);
}
public bool UploadImage(string filePath, string ImageBase64,out string message)
{
try
{
char[] array = ImageBase64.ToCharArray();
var photo = Convert.FromBase64CharArray(array, 0, array.Length);
MemoryStream memoryStream = new MemoryStream(photo);
Image image = Image.FromStream(memoryStream, useEmbeddedColorManagement: true);
image.Save(filePath, image.RawFormat);
memoryStream.Dispose();
image.Dispose();
message = "";
return true;
}
catch (Exception ex)
{
message = ex.Message;
return false;
}
}
public bool IsReusable
{
get
{
return false;
}
}
public class UserLogin
{
public string UserName { get; set; }
public string Password { get; set; }
public string UserCode { get; set; }
}
public class UserModel
{
public string Name { get; set; }
public int UserId { get; set; }
}
public class SyncDataModel
{
public string Result { get; set; }
public string Code { get; set; }
public string Data { get; set; }
}
///
/// 传入参数
///
public class GetData
{
public string Code { get; set; }
public int UserId { get; set; }
public int SureUserId { get; set; }
}
///
/// 扫描返回
///
public class Sync_OrderScanModel
{
public int OrderId { get; set; }
public string OrderCode { get; set; }
public string OrderDate { get; set; }
public string PostDate { get; set; }
public string PrintDate { get; set; }
public string PostInfo { get; set; }
public string PostCode { get; set; }
public string RevAddr { get; set; }
public string RevName { get; set; }
public string ShopName { get; set; }
public string TrackCode { get; set; }
public string ResultInfo { get; set; }
public List GoodsList { get; set; }
}
public class Sync_OrderScanGoods
{
public int Id { get; set; }
public string GoodsCode { get; set; }
public string GoodsName { get; set; }
public int GoodsNum { get; set; }
public string SKU { get; set; }
public string TypeDesc { get; set; }
public decimal Weight { get; set; }
}
///
/// 退货返回
///
public class Sync_ReturnModel
{
public int OrderId { get; set; }
public string OrderCode { get; set; }
public string OrderDate { get; set; }
public string PostDate { get; set; }
public string PrintDate { get; set; }
public string PostInfo { get; set; }
public string PostCode { get; set; }
public string PostionCode { get; set; }
public string RevAddr { get; set; }
public string RevName { get; set; }
public string ShopName { get; set; }
public string TrackCode { get; set; }
public string ResultInfo { get; set; }
public List GoodsList { get; set; }
public List PostionList { get; set; }
}
public class Sync_ReturnPostion
{
///
/// 库位类型 operationtype=restore 的时候 对应 库位类型1
///
public Int32? PostionType { get; set; }
///
/// 库位编号
///
public string PostionCode { get; set; }
///
/// 库位
///
public string PostionName { get; set; }
}
public class Sync_ReturnGoods
{
public int Id { get; set; }
public string GoodsCode { get; set; }
public string GoodsName { get; set; }
public int GoodsNum { get; set; }
public string SKU { get; set; }
public string TypeDesc { get; set; }
public decimal Weight { get; set; }
}
///
/// 入库提交
///
public class Sync_ReturnGoodsSave
{
///
/// 1 直接入库 2 没外包装 3 报废
///
public int InType { get; set; }
///
/// 入库库位
///
public string StoreCode { get; set; }
public string OrderCode { get; set; }
public string TrackCode { get; set; }
public int UserId { get; set; }
public int OrderId { get; set; }
///
/// Base64
///
public string Photo1 { get; set; }
///
/// Base64
///
public string Photo2 { get; set; }
///
/// Base64
///
public string Photo3 { get; set; }
public string Photo4 { get; set; }
public string Photo5 { get; set; }
public List GoodsList { get; set; }
}
public class Sync_ReturnGoodsSaveDetail
{
public int GoodsId { get; set; }
public int GoodsNum { get; set; }
}
///
/// 第一次扫描不到跟踪码保存图片
///
public class OrderReturnMidPhotoModel
{
public int ID { get; set; }
public string Photo { get; set; }
}
}
}