|
|
using Newtonsoft.Json;using Newtonsoft.Json.Linq;using NFine.Data.Extensions;using NFine.Domain._03_Entity.SRM;using NFine.Repository;using System;using System.Collections.Generic;using System.Configuration;using System.Data;using System.Linq;using System.Text;using System.Threading.Tasks;
namespace NFine.Application.WMS{ public class ICSAPISendApp : RepositoryFactory<ICSVendor> { private static string userId = ConfigurationManager.ConnectionStrings["userId"].ConnectionString; private static string password = ConfigurationManager.ConnectionStrings["password"].ConnectionString; private static string OCMUrl = ConfigurationManager.ConnectionStrings["OCMUrl"].ConnectionString;
/// <summary>
/// 重新上传(咖博士)
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public string Upload(string ids) { string msg = ""; try { string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode; string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName; string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; ids = ids.TrimEnd(','); string updatesql=string.Empty; //获取需要重新上传的数据
string sql = $"SELECT ID,URL,Param FROM ICSAPI WHERE ID in ({ids}) AND Status='0' AND WorkPoint='{WorkPoint}' ;"; var dt = SqlHelper.CmdExecuteDataTable(sql); if (dt.Rows.Count<=0) { throw new Exception("请选择上传失败的数据!"); } for (int i=0;i< dt.Rows.Count;i++) { string id = dt.Rows[i]["ID"].ToString(); string url = dt.Rows[i]["URL"].ToString(); string param = dt.Rows[i]["Param"].ToString(); string newID = PublicMethod.GetNewid(); //获取token
//string token=GetTokenInfermation();
string token = "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ7XCJwcm9maWxlXCI6e1wiYWJqdHlwZVwiOlwiMDAxXCIsXCJjX29ialwiOlwiYWRtaW5cIixcImlzRmlyc3RMb2dpblwiOlwiTlwiLFwicHJpbWVyS2V5XCI6XCJXTVNhZG1pblwiLFwiY19wZXJfbjFcIjpcIueuoeeQhuWRmFwiLFwiY191c2VyXCI6XCJXTVNhZG1pblwiLFwiY19lbnRcIjo2NjIsXCJjX29ianR5cGVcIjpcIjFcIixcImNfbGFuY19uMVwiOlwi566A5L2T5Lit5paHXCIsXCJhYmptdGVsXCI6XCIzMTNcIixcImNfbGFuZ1wiOlwiemhfQ05cIixcImNfb3JnXCI6XCIxMDAwMDFcIixcImNfY3VyclwiOlwiQ05ZXCIsXCJjX2RlcHRcIjpcIkNGMDAwMFwiLFwiY191c2VyX24xXCI6XCJXTVNhZG1pblwiLFwiY19wZXJcIjpcImFkbWluXCIsXCJjX29yZ19uMVwiOlwi5ZKW5Y2a5aOr546v5aKDXCJ9fSIsImlhdCI6MTczMDQ1MTM0NywianRpIjoiYWM1YmJiM2EtNWYyZi00YzY1LWE1NWYtNTVkYTA3MTRmNTdlIn0.QzMtW4hL7VlBzPl0tz3FfbU-KMFuLvsKYUhYc6nsZNUlA94_utMjRSyZWw5arKbXfm1Ntk99wgpMMojP8KZQbA"; System.Net.WebHeaderCollection webHeader = new System.Net.WebHeaderCollection(); webHeader.Add("Token", token); webHeader.Add("program-code", "fxdi055"); #region 分销接口
string resultStr = PublicMethod.HttpPost("销售出库", url, param, webHeader); var resultData = (JObject)JsonConvert.DeserializeObject(resultStr); string status = "0"; string oldStatus = "2"; if (resultData["statusDescription"].ToString() == "OK" && Convert.ToBoolean(resultData["response"]["success"])) { status = "1"; oldStatus = "3"; } #endregion
updatesql += $"INSERT INTO [ICSAPI] ([ID],[SourceID], [Url], [Token], [Param], [Result], [Status], [MUSER], [MUSERName], [MTIME], [WorkPoint]) VALUES ('{newID}','{id}', '{url}', '{token}', '{param}', '{resultStr}', '{status}', '{MUSER}', '{MUSERNAME}', GETDATE(), '{WorkPoint}');" + $"UPDATE ICSAPI SET SourceID='{newID}',Status='{oldStatus}' WHERE ID='{id}' "; } int count=SqlHelper.CmdExecuteNonQuery(updatesql); if (count <= 0) { msg = $"更新数据失败"; }
} catch (Exception ex) { msg = ex.Message; }
return msg; }
/// <summary>
/// 获取token的方法
/// </summary>
/// <returns></returns>
public static string GetTokenInfermation() { try { var Input = new { param = new { userId, password, ent = 662, language = "zh_CN", scend = false, ati = "" } }; string Inputstr = JsonConvert.SerializeObject(Input); string resultStr = PublicMethod.HttpPost("销售出库获取Token", OCMUrl + "A/ILoginService/login", Inputstr); JObject resultData = (JObject)JsonConvert.DeserializeObject(resultStr); if (resultData["statusDescription"].ToString() == "OK") { return resultData["response"]["token"].ToString(); } else { throw new Exception("获取Tocken失败"); } } catch (System.Net.WebException ex) { throw new Exception(ex.Message); } } }}
|