From 6aa034c0c53cc7d49302dea596864fc61c705dda Mon Sep 17 00:00:00 2001
From: chengsc <Demo@DESKTOP-CPA90BF>
Date: 星期五, 01 十一月 2024 18:56:43 +0800
Subject: [PATCH] 修改问题
---
Wms/Utility/Tools/HttpHelper.cs | 16 ++
Wms/Wms/appsettings.json | 2
Wms/WMS.IBLL/IPdaServer/IPdaAsnServer.cs | 4
Wms/Wms/Tools/ApiUrlConfig.cs | 9 +
Wms/Wms/Controllers/PdaAsnController.cs | 12 +
Wms/Model/InterFaceModel/HttpModel.cs | 165 +++++++++++++++++++++++
Wms/WMS.BLL/SysServer/Token.cs | 92 +++++++++++++
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs | 74 +++++++++-
8 files changed, 352 insertions(+), 22 deletions(-)
diff --git a/Wms/Model/InterFaceModel/HttpModel.cs b/Wms/Model/InterFaceModel/HttpModel.cs
index bb9669c..8ae086a 100644
--- a/Wms/Model/InterFaceModel/HttpModel.cs
+++ b/Wms/Model/InterFaceModel/HttpModel.cs
@@ -850,20 +850,181 @@
#region FuMa-Model
/// <summary>
- /// 鍙戦�佹帴鏀惰祴鐮佺郴缁熸帴鍙e弬鏁扮殑model
+ /// 鎺ユ敹璧嬬爜绯荤粺鎺ュ彛杩斿洖鐨勫弬鏁� model
/// </summary>
public class FuMaModel
{
/// <summary>
/// 鐘舵�佺爜 0 鎴愬姛 -1澶辫触
/// </summary>
- public int Success { get; set; }
+ public bool IsSuccess { get; set; }
/// <summary>
/// 淇℃伅璇︽儏
/// </summary>
public string Message { get; set; }
}
+ /// <summary>
+ /// 鑾峰彇绠辩爜淇℃伅鍙傛暟Model
+ /// </summary>
+ public class FuMaGetBoxModel:FuMaModel
+ {
+ /// <summary>
+ /// 浜у搧淇℃伅
+ /// </summary>
+ public ProductModel Product { get; set; }
+ /// <summary>
+ /// 绠辨敮淇℃伅
+ /// </summary>
+ public List<BarcodesModel> Barcodes { get; set; }
+ /// <summary>
+ /// 鍖呰姣斾緥
+ /// </summary>
+ public string PkgRatio { get; set; }
+ /// <summary>
+ /// 鏁寸灏忓寘瑁呮暟閲�
+ /// </summary>
+ public decimal BoxItemQty { get; set; }
+ /// <summary>
+ /// 鐗╂枡缂栫爜
+ /// </summary>
+ public string MaterialNum { get; set; }
+ /// <summary>
+ /// 鏍囧噯閲嶉噺
+ /// </summary>
+ public decimal StandarWeight { get; set; }
+ /// <summary>
+ /// 浜х嚎鍚嶇О
+ /// </summary>
+ public string LineName { get; set; }
+ /// <summary>
+ /// 杞﹂棿鍚嶇О
+ /// </summary>
+ public string WorkShop { get; set; }
+ /// <summary>
+ /// 璐熻矗浜�
+ /// </summary>
+ public string HeadMan { get; set; }
+
+ }
+ public class ProductModel
+ {
+ /// <summary>
+ /// 浜у搧缂栧彿
+ /// </summary>
+ public string ProductCode { get; set; }
+ /// <summary>
+ /// 浜у搧鍚嶇О
+ /// </summary>
+ public string ProductName { get; set; }
+ public int SubtypeId { get; set; }
+ /// <summary>
+ /// 瀛愮被缂栫爜
+ /// </summary>
+ public string SubType { get; set; }
+ public string Type { get; set; }
+ /// <summary>
+ /// 瑙勬牸
+ /// </summary>
+ public string Spec { get; set; }
+ /// <summary>
+ /// 鍖呰瑙勬牸
+ /// </summary>
+ public string PackageSpec { get; set; }
+ /// <summary>
+ /// 鍖呰鍗曚綅
+ /// </summary>
+ public string PackUnit { get; set; }
+ public string PhysicDetailType { get; set; }
+ public bool IsSpecial { get; set; }
+ public bool Is789 { get; set; }
+ /// <summary>
+ /// 鎵瑰噯鏂囧彿
+ /// </summary>
+ public string AuthorizedNo { get; set; }
+ public List<string> PkgRatio { get; set; }
+
+ }
+
+ public class BarcodesModel
+ {
+ /// <summary>
+ /// 绠卞彿/鏀彿
+ /// </summary>
+ public string Barcode { get; set; }
+
+ /// <summary>
+ ///
+ /// </summary>
+ public int ScanTaskId { get; set; }
+ /// <summary>
+ /// 鐢熶骇鎵瑰彿
+ /// </summary>
+ public string BatchNo { get; set; }
+
+ /// <summary>
+ /// 鎷肩鍚庣殑鎵瑰彿
+ /// </summary>
+ public string MixedBatchNo { get; set; }
+ /// <summary>
+ /// 鍖呰绾у埆
+ /// </summary>
+ public string Level { get; set; }
+ /// <summary>
+ ///
+ /// </summary>
+ public string ParentBarcode { get; set; }
+
+ /// <summary>
+ /// 鐘舵�侊紝鏁寸銆侀浂绠便�佹嫾绠�
+ /// </summary>
+ public string Status { get; set; }
+ /// <summary>
+ /// 绠卞唴灏忓寘瑁呮暟閲�
+ /// </summary>
+ public string BoxItemQty { get; set; }
+ /// <summary>
+ ///
+ /// </summary>
+ public string ScanTime { get; set; }
+ /// <summary>
+ ///
+ /// </summary>
+ public string MixedScanTime { get; set; }
+ /// <summary>
+ ///
+ /// </summary>
+ public string MixedTaskId { get; set; }
+ /// <summary>
+ /// 鐗╂祦鍙�
+ /// </summary>
+ public string LogisticsNum { get; set; }
+ /// <summary>
+ /// 鍖呰浜�
+ /// </summary>
+ public string PackageMan { get; set; }
+ /// <summary>
+ /// 鎵樼洏鐮�
+ /// </summary>
+ public string PalletCode { get; set; }
+ /// <summary>
+ /// 鐢熶骇鏃ユ湡
+ /// </summary>
+ public string ProductionDate { get; set; }
+ /// <summary>
+ /// 鏈夋晥鏈熻嚦
+ /// </summary>
+ public string ExpirationDate { get; set; }
+ /// <summary>
+ /// 瀹為檯閲嶉噺
+ /// </summary>
+ public decimal Weight { get; set; }
+ /// <summary>
+ /// 绠卞唴浠舵暟
+ /// </summary>
+ public int MinLevelCount { get; set; }
+ }
+
#endregion
}
diff --git a/Wms/Utility/Tools/HttpHelper.cs b/Wms/Utility/Tools/HttpHelper.cs
index 28bef60..2f7b637 100644
--- a/Wms/Utility/Tools/HttpHelper.cs
+++ b/Wms/Utility/Tools/HttpHelper.cs
@@ -65,17 +65,29 @@
}
}
- public static string DoGet(string url, Dictionary<string, string> paramDic = null, Dictionary<string, string> headerDic = null)
+ public static string DoGet(string url, string str, string logStr, Dictionary<string, string> paramDic = null, Dictionary<string, string> headerDic = null)
{
var paramString = GetUrlParamString(paramDic);
var request = GetHttpWebRequest(url + paramString, headerDic, "GET");
request.ContentType = "application/json";
+ //log璺緞
+ var logStr2 = $@".\log\{str}\{logStr}" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
try
{
- return GetResponseString(request);
+
+
+ //璁板綍log
+ LogFile.SaveLogToFile($"{str}锛�( {paramString} ),", logStr2);
+ var requestData = GetResponseString(request);
+ //璁板綍log
+ LogFile.SaveLogToFile($"{str}鍙嶉锛�( {requestData} ),", logStr2);
+ return requestData;
}
catch (WebException ex)
{
+
+ //璁板綍log
+ LogFile.SaveLogToFile($"{str}鍙嶉锛�( {ex.Message} ),", logStr2);
throw ex;
}
}
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
index 47e501b..7519147 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -1869,19 +1869,73 @@
////绋嬪簭姝e紡鍙戝竷鍚庢斁寮�
//var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
- //var response = HttpHelper.DoPost(url, jsonData, "鑾峰彇绠辩爜淇℃伅", "璧嬬爜");
+ ////var response = HttpHelper.DoGet(url, jsonData, "鑾峰彇绠辩爜淇℃伅", "璧嬬爜");
//var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
////瑙f瀽杩斿洖鏁版嵁
- //var fuMaModel = JsonConvert.DeserializeObject<FuMaModel>(response);
- //if (fuMaModel.Success == 0)
+ //var fuMaModel = JsonConvert.DeserializeObject<FuMaGetBoxModel>(response);
+ //if (fuMaModel.IsSuccess)
//{
+ // //璧嬬爜杩斿洖淇℃伅鎴愬姛鐘舵��
+ // if (fuMaModel.Product == null || fuMaModel.Barcodes.Count == 0)
+ // {
+ // throw new Exception("浜у搧淇℃伅鎴栫鏀俊鎭负绌�");
+ // }
+ // foreach (var item in fuMaModel.Barcodes)
+ // {
+ // if (item.Barcode != boxNo)
+ // {
+ // throw new Exception("鑾峰彇淇℃伅涓嶄竴鑷�");
+ // }
+
+ // var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == fuMaModel.Product.ProductCode);
+ // if (sku == null)
+ // {
+ // throw new Exception("鏈煡璇㈠埌绠辩爜涓殑鐗╂枡淇℃伅");
+ // }
+ // //var boxInfo = new BllBoxInfo()
+ // //{
+ // // ASNNo = "",
+ // // //ASNDetailNo = 0,
+ // // OrderCode = "",
+ // // //BindNo = 0,
+ // // BoxNo = item.BoxNo,
+ // // BoxNo2 = item.BoxNo2,
+ // // BoxNo3 = item.Barcode,
+ // // PalletNo = "",
+ // // Qty = item.Qty,
+ // // FullQty = item.FullQty,
+ // // Status = "0",
+ // // SkuNo = item.SkuNo,
+ // // SkuName = sku.SkuName,
+ // // LotNo = item.LotNo,
+ // // LotText = item.LotText,
+ // // SupplierLot = item.SupplierLot,
+ // // ProductionTime = item.ProductionTime,
+ // // ExpirationTime = item.ExpirationTime,
+ // // //CompleteTime = comTime,
+ // // InspectMark = item.InspectMark,
+ // // BitBoxMark = item.BitBoxMark,
+ // // InspectStatus = item.InspectStatus,
+ // // Origin = "璧嬬爜",
+ // // Standard = item.Standard,
+ // // PackageStandard = item.PackageStandard,
+ // // StoreTime = item.StoreTime,
+ // // QtyOrd = item.QtyOrd,
+ // // QtyCount = item.QtyCount,
+ // // CreateUser = 0,
+ // // CreateTime = comTime,
+ // //};
+ // //list.Add(boxInfo);
+ // }
+ // Db.Insertable(list).ExecuteCommand();
//}
- //if (fuMaModel.Success == -1)
+ //else
//{
+ // //璧嬬爜杩斿洖淇℃伅澶辫触鐘舵��
// throw new Exception($"璧嬬爜绯荤粺杩斿洖鐘舵�佸紓甯革細{fuMaModel.Message}");
- //}
+ //}
#endregion
}
@@ -1896,7 +1950,7 @@
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
- public List<BoxInfoDto> GetBindBoxInfos(BoxInfoVm model)
+ public List<BoxInfoDto> GetBindBoxInfos(BoxInfoVm model, string url)
{
try
{
@@ -1916,7 +1970,7 @@
var count = Db.Queryable<BllBoxInfo>().Count(m => m.IsDel == "0" && m.Status == "0" && m.BoxNo == model.BoxNo);
if (count == 0)
{
- GetBoxInfoByFuMa(model.BoxNo, ""); //浠庤祴鐮佺郴缁熻幏鍙栫鐮佷俊鎭�
+ GetBoxInfoByFuMa(model.BoxNo, url); //浠庤祴鐮佺郴缁熻幏鍙栫鐮佷俊鎭�
}
}
}
@@ -1953,7 +2007,7 @@
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
- public List<BoxInfoDto> GetBindBoxInfo2s(BoxInfoVm model)
+ public List<BoxInfoDto> GetBindBoxInfo2s(BoxInfoVm model, string url)
{
try
{
@@ -2019,8 +2073,8 @@
}
else
{
- // GetBoxInfoByFuMa(model.BoxNo3, ""); //浠庤祴鐮佺郴缁熻幏鍙栫鐮佷俊鎭�
- }
+ GetBoxInfoByFuMa(model.BoxNo3, url); //浠庤祴鐮佺郴缁熻幏鍙栫鐮佷俊鎭�
+ }
}
}
}
diff --git a/Wms/WMS.BLL/SysServer/Token.cs b/Wms/WMS.BLL/SysServer/Token.cs
index b73c03f..6f21cf1 100644
--- a/Wms/WMS.BLL/SysServer/Token.cs
+++ b/Wms/WMS.BLL/SysServer/Token.cs
@@ -59,7 +59,7 @@
};
#endregion
- #region 閫氳繃鎺ュ彛鍙戦�佽嚦erp 鎴� mes
+ #region 閫氳繃鎺ュ彛鍙戦�佽嚦mes
//绯荤粺瀵规帴鍚庢斁寮�
var jsonData = JsonConvert.SerializeObject(data);
@@ -105,5 +105,95 @@
return "";
}
}
+
+ /// <summary>
+ /// 鑾峰彇璧嬬爜token浠ょ墝
+ /// </summary>
+ /// <param name="url">鑾峰彇璧嬬爜token浠ょ墝</param>
+ /// <returns></returns>
+ public string GetFuMaToken(string url)
+ {
+ try
+ {
+ var str = "";
+
+ //棣栧厛鍒ゆ柇绯荤粺鍐呮槸鍚︽湁token鍊硷紝鏁堟湡鏄惁澶辨晥
+ var sysToken = Db.Queryable<SysToken>().First(m => m.IsDel == "0" && m.SystemName == "FuMa");
+ if (sysToken != null && !string.IsNullOrWhiteSpace(sysToken.Token) && sysToken.ExpireTime > DateTime.Now)
+ {
+ str = sysToken.Token;
+ return str; //杩斿洖token鍊�
+ }
+ return str;
+ //#region 鑾峰彇鏂扮殑浠ょ墝
+ ////瀵规帴鏃舵洿鏀硅矾寰�
+ //var user = MesConfig.MesUser;
+ //var pass = MesConfig.MesPassWord;
+ //var secretKey = Md5Tools.CalcMd5(pass);
+ //var nonce = Guid.NewGuid().ToString("N");
+ //var timestamp = DateTimeOffset.Now.ToUnixTimeSeconds().ToString();
+
+ //var info = new string[] { user, secretKey, nonce, timestamp };
+ //Array.Sort(info, string.CompareOrdinal); //ASCII鎺掑簭
+ //var miyao = string.Join("", info); //鏁扮粍杞崲鎴愬瓧绗︿覆
+ //var sign = Md5Tools.CalcMd5(miyao); //绛惧悕
+
+ //var data = new
+ //{
+ // user = user,
+ // nonce = nonce,
+ // timestamp = timestamp,
+ // sign = sign,
+ // jwt = true, //鏄惁杩斿洖JWT浠ょ墝
+ //};
+ //#endregion
+
+ //#region 閫氳繃鎺ュ彛鍙戦�佽嚦璧嬬爜
+ ////绯荤粺瀵规帴鍚庢斁寮�
+ //var jsonData = JsonConvert.SerializeObject(data);
+
+ //var response = HttpHelper.DoPost(url, jsonData, "FuMa鐢宠鑾峰彇浠ょ墝", "Fuma");
+
+ //var obj = JsonConvert.DeserializeObject<MesTokenModel>(response);//瑙f瀽杩斿洖鏁版嵁
+
+ //if (obj.status != "success")
+ //{
+ // throw new Exception("涓婁紶澶辫触" + obj.message);
+ //}
+ //else
+ //{
+ // var token = obj.Data.token;
+ // var expireTime = obj.Data.expire_time;
+ // var time = DateTime.Now.AddMilliseconds(double.Parse(expireTime));
+ // if (sysToken == null)//娣诲姞
+ // {
+ // var addToken = new SysToken()
+ // {
+ // SystemName = "MES",
+ // Token = token,
+ // ExpireTime = time,
+ // CreateUser = 0
+ // };
+ // Db.Insertable(addToken).ExecuteCommand();
+ // return token;
+ // }
+ // else //淇敼
+ // {
+ // sysToken.Token = token;
+ // sysToken.ExpireTime = time;
+ // sysToken.UpdateTime = DateTime.Now;
+ // Db.Updateable(sysToken).ExecuteCommand();
+ // return token;
+ // }
+ //}
+
+ //#endregion
+ }
+ catch (Exception)
+ {
+ return "";
+ }
+ }
+
}
}
diff --git a/Wms/WMS.IBLL/IPdaServer/IPdaAsnServer.cs b/Wms/WMS.IBLL/IPdaServer/IPdaAsnServer.cs
index fcc6f1c..2fcd357 100644
--- a/Wms/WMS.IBLL/IPdaServer/IPdaAsnServer.cs
+++ b/Wms/WMS.IBLL/IPdaServer/IPdaAsnServer.cs
@@ -77,9 +77,9 @@
void GetBoxInfoByFuMa(string boxNo, string url);
// 鏍规嵁绠辩爜鑾峰彇鏍囩绠辩爜淇℃伅
- List<BoxInfoDto> GetBindBoxInfos(BoxInfoVm model);
+ List<BoxInfoDto> GetBindBoxInfos(BoxInfoVm model, string url);
// 鏍规嵁绠辩爜鑾峰彇鏍囩鏈�灏忚拷婧爜淇℃伅
- List<BoxInfoDto> GetBindBoxInfo2s(BoxInfoVm model);
+ List<BoxInfoDto> GetBindBoxInfo2s(BoxInfoVm model,string url);
//鏍规嵁鍗曟嵁鍙疯幏鍙栧崟鎹槑缁嗗垪琛�
List<ArrivalNoticeDetailDto> GetBindArrivalNoticeDetails(ArrivalNoticeVm model);
diff --git a/Wms/Wms/Controllers/PdaAsnController.cs b/Wms/Wms/Controllers/PdaAsnController.cs
index 44647ca..977d562 100644
--- a/Wms/Wms/Controllers/PdaAsnController.cs
+++ b/Wms/Wms/Controllers/PdaAsnController.cs
@@ -1,10 +1,12 @@
锘縰sing Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
+using Microsoft.Extensions.Options;
using Model.ModelVm;
using Model.ModelVm.BllAsnVm;
using Model.ModelVm.PdaVm;
using System;
using System.Security.Claims;
+using Wms.Tools;
using WMS.Entity.BllAsnEntity;
using WMS.IBLL.IPdaServer;
@@ -17,10 +19,12 @@
{
#region 渚濊禆娉ㄥ叆
private readonly IPdaAsnServer _PdaAsnSvc;
+ private readonly ApiUrlConfig _config; //鎺ュ彛浜や簰璺緞
- public PdaAsnController(IPdaAsnServer pdaAsnSvc)
+ public PdaAsnController(IPdaAsnServer pdaAsnSvc, IOptions<ApiUrlConfig> setting)
{
- _PdaAsnSvc = pdaAsnSvc;
+ _PdaAsnSvc = pdaAsnSvc;
+ _config = setting.Value;
}
#endregion
@@ -524,7 +528,7 @@
{
try
{
- var models = _PdaAsnSvc.GetBindBoxInfos(model);
+ var models = _PdaAsnSvc.GetBindBoxInfos(model, _config.BoxHost + _config.FuMaGetBoxUrl);
return Ok(new { code = 0, msg = "鏍囩绠辩爜淇℃伅", data = models });
}
@@ -544,7 +548,7 @@
{
try
{
- var models = _PdaAsnSvc.GetBindBoxInfo2s(model);
+ var models = _PdaAsnSvc.GetBindBoxInfo2s(model, _config.BoxHost + _config.FuMaGetBoxUrl);
return Ok(new { code = 0, msg = "鏍囩绠辩爜淇℃伅", data = models });
}
diff --git a/Wms/Wms/Tools/ApiUrlConfig.cs b/Wms/Wms/Tools/ApiUrlConfig.cs
index e219376..74d62d2 100644
--- a/Wms/Wms/Tools/ApiUrlConfig.cs
+++ b/Wms/Wms/Tools/ApiUrlConfig.cs
@@ -67,6 +67,15 @@
#endregion
+ #region 璧嬬爜绯荤粺
+
+ /// <summary>
+ /// 鑾峰彇绠辩爜淇℃伅
+ /// </summary>
+ public string FuMaGetBoxUrl { get; set; }
+
+ #endregion
+
#region 涓嬫父绯荤粺
/// <summary>
diff --git a/Wms/Wms/appsettings.json b/Wms/Wms/appsettings.json
index 2f6ab74..653ce2d 100644
--- a/Wms/Wms/appsettings.json
+++ b/Wms/Wms/appsettings.json
@@ -44,7 +44,7 @@
"MesBeiLiaoUrl": "/port/mes/service/mes/save_morder_feedback", //澶囨枡鍙嶉(鍘熸枡澶囨枡鍒扮敓浜ц溅闂寸紦瀛樺尯)
"MesGetTokenUrl": "/port/mes/service/system/sign_login", //鑾峰彇浠ょ墝
// 璧嬬爜
-
+ "FuMaGetBoxUrl": "/port/mes/service/system/sign_login", //鑾峰彇璧嬬爜绠辩爜淇℃伅
// AGV
"GenAgvSchedulingTask": "http://IP:PORT/rcms/services/rest/hikRpcService/genAgvSchedulingTask", //鐢熸垚浠诲姟鍗曟帴鍙�
--
Gitblit v1.8.0