diff --git a/WcsMain/AppEntity/SystemData/AppConfigEntity.cs b/WcsMain/AppEntity/SystemData/AppConfigEntity.cs
index 0a7a4d0..397ea2b 100644
--- a/WcsMain/AppEntity/SystemData/AppConfigEntity.cs
+++ b/WcsMain/AppEntity/SystemData/AppConfigEntity.cs
@@ -21,34 +21,6 @@ public class AppConfigEntity
public string? WcsId { get; set; }
- /***************************** API信息 *************************************/
-
- ///
- /// Wms 的根地址
- ///
- [ConfigKey("WmsBaseApiAddress")]
- public string? WmsBaseAddressApiAddress { get; set; }
-
- ///
- /// 请求入库的地址
- ///
- [ConfigKey("ApplyEnterApiAddress")]
- public string? ApplyEnterApiAddress { get; set;}
-
- ///
- /// 发送 Wms 任务状态
- ///
- [ConfigKey("SendWmsTaskStatusApiAddress")]
- public string? SendWmsTaskStatusApiAddress { get; set; }
-
- ///
- /// 上报载具到达
- ///
- [ConfigKey("VehicleArriveApiAddress")]
- public string? VehicleArriveApiAddress { get; set; }
-
-
-
/****************************** 功能配置 ******************************/
diff --git a/WcsMain/Business/CommonAction/SendWmsTaskStatus.cs b/WcsMain/Business/CommonAction/SendWmsTaskStatus.cs
index 723544a..fbd8b0a 100644
--- a/WcsMain/Business/CommonAction/SendWmsTaskStatus.cs
+++ b/WcsMain/Business/CommonAction/SendWmsTaskStatus.cs
@@ -3,6 +3,7 @@ using WcsMain.Common;
using WcsMain.DataBase.Dao;
using WcsMain.DataBase.TableEntity;
using WcsMain.Enum;
+using WcsMain.ExtendMethod;
using WcsMain.Plugins;
using WcsMain.WcsAttribute.AutoFacAttribute;
@@ -52,7 +53,7 @@ public class SendWmsTaskStatus(AppWmsTaskDao wmsTaskDao, WmsWebApiPost wmsWebApi
};
for (int i = 1; i <= count; i++)
{
- var response = wmsWebApiPost.HttpPost(request, CommonData.AppConfig.SendWmsTaskStatusApiAddress ?? "");
+ var response = wmsWebApiPost.HttpPost(request, CommonData.AppApiBaseInfos.GetAddress("SendWmsTaskStatusApiAddress") ?? "");
if (!response.IsSend)
{
ConsoleLog.Error($"【异常】发送WMS[任务异常]失败,发送次数:{i},任务号:{wmsTask.TaskId},参考信息:{response.RequestException?.Message}");
@@ -110,7 +111,7 @@ public class SendWmsTaskStatus(AppWmsTaskDao wmsTaskDao, WmsWebApiPost wmsWebApi
};
for (int i = 1; i <= count; i++)
{
- var response = wmsWebApiPost.HttpPost(request, CommonData.AppConfig.SendWmsTaskStatusApiAddress ?? "");
+ var response = wmsWebApiPost.HttpPost(request, CommonData.AppApiBaseInfos.GetAddress("SendWmsTaskStatusApiAddress") ?? "");
if (!response.IsSend)
{
ConsoleLog.Error($"【异常】发送WMS[取货位置无货]失败,发送次数:{i},任务号:{wmsTask.TaskId},参考信息:{response.RequestException?.Message}");
@@ -168,7 +169,7 @@ public class SendWmsTaskStatus(AppWmsTaskDao wmsTaskDao, WmsWebApiPost wmsWebApi
};
for (int i = 1; i <= count; i++)
{
- var response = wmsWebApiPost.HttpPost(request, CommonData.AppConfig.SendWmsTaskStatusApiAddress ?? "");
+ var response = wmsWebApiPost.HttpPost(request, CommonData.AppApiBaseInfos.GetAddress("SendWmsTaskStatusApiAddress") ?? "");
if (!response.IsSend)
{
ConsoleLog.Error($"【异常】发送WMS[卸货位置有货]失败,发送次数:{i},任务号:{wmsTask.TaskId},参考信息:{response.RequestException?.Message}");
@@ -227,7 +228,7 @@ public class SendWmsTaskStatus(AppWmsTaskDao wmsTaskDao, WmsWebApiPost wmsWebApi
};
for (int i = 1; i <= count; i++)
{
- var response = wmsWebApiPost.HttpPost(request, CommonData.AppConfig.SendWmsTaskStatusApiAddress ?? "");
+ var response = wmsWebApiPost.HttpPost(request, CommonData.AppApiBaseInfos.GetAddress("SendWmsTaskStatusApiAddress") ?? "");
if (!response.IsSend)
{
ConsoleLog.Error($"【异常】发送WMS[开始执行]失败,发送次数:{i},任务号:{wmsTask.TaskId},参考信息:{response.RequestException?.Message}");
@@ -285,7 +286,7 @@ public class SendWmsTaskStatus(AppWmsTaskDao wmsTaskDao, WmsWebApiPost wmsWebApi
};
for (int i = 1; i <= count; i++)
{
- var response = wmsWebApiPost.HttpPost(request, CommonData.AppConfig.SendWmsTaskStatusApiAddress ?? "");
+ var response = wmsWebApiPost.HttpPost(request, CommonData.AppApiBaseInfos.GetAddress("SendWmsTaskStatusApiAddress") ?? "");
if (!response.IsSend)
{
ConsoleLog.Error($"【异常】发送WMS[任务完成]失败,发送次数:{i},任务号:{wmsTask.TaskId},参考信息:{response.RequestException?.Message}");
diff --git a/WcsMain/Business/Convey/HistoryDataHandler/HisGetData/LoginGetData.cs b/WcsMain/Business/Convey/HistoryDataHandler/HisGetData/LoginGetData.cs
index c8f2ab8..31cf38a 100644
--- a/WcsMain/Business/Convey/HistoryDataHandler/HisGetData/LoginGetData.cs
+++ b/WcsMain/Business/Convey/HistoryDataHandler/HisGetData/LoginGetData.cs
@@ -48,7 +48,7 @@ public class LoginGetData(WmsWebApiPost wmsWebApiPost) : IBaseGetData
}
/* 发送 WMS 请求入库 */
ApplyInRequest applyInRequest = new(area, code, msg);
- var postResult = wmsWebApiPost.HttpPost(applyInRequest, CommonData.AppConfig.ApplyEnterApiAddress ?? "");
+ var postResult = wmsWebApiPost.HttpPost(applyInRequest, CommonData.AppApiBaseInfos.GetAddress("ApplyEnterApiAddress") ?? "");
if(!postResult.IsSend || postResult.ResponseEntity == default)
{
ConsoleLog.Exception($"【异常】注册口:{area} 箱码:{msg} 请求入库发生异常,异常信息:{postResult.RequestException}");
diff --git a/WcsMain/Common/CommonData.cs b/WcsMain/Common/CommonData.cs
index 490f087..2174c79 100644
--- a/WcsMain/Common/CommonData.cs
+++ b/WcsMain/Common/CommonData.cs
@@ -46,6 +46,12 @@ public static class CommonData
///
[NotNull]
public static List? AppConveyStands { get; set; }
+
+ ///
+ /// 基础 api 资料
+ ///
+ [NotNull]
+ public static List? AppApiBaseInfos { get; set; }
///
diff --git a/WcsMain/DataBase/Dao/AppApiBaseInfoDao.cs b/WcsMain/DataBase/Dao/AppApiBaseInfoDao.cs
new file mode 100644
index 0000000..6cd2c93
--- /dev/null
+++ b/WcsMain/DataBase/Dao/AppApiBaseInfoDao.cs
@@ -0,0 +1,28 @@
+using WcsMain.Common;
+using WcsMain.DataBase.TableEntity;
+using WcsMain.WcsAttribute.AutoFacAttribute;
+
+namespace WcsMain.DataBase.Dao;
+
+[Component]
+public class AppApiBaseInfoDao
+{
+ ///
+ /// 查询所有信息
+ ///
+ ///
+ public List? Query()
+ {
+ try
+ {
+ var sqlFuc = CommonTool.DbServe.Queryable();
+ return sqlFuc.ToList();
+ }
+ catch (Exception e)
+ {
+ _ = e;
+ return default;
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/WcsMain/DataBase/TableEntity/AppApiBaseInfo.cs b/WcsMain/DataBase/TableEntity/AppApiBaseInfo.cs
new file mode 100644
index 0000000..cc73d26
--- /dev/null
+++ b/WcsMain/DataBase/TableEntity/AppApiBaseInfo.cs
@@ -0,0 +1,48 @@
+using SqlSugar;
+
+namespace WcsMain.DataBase.TableEntity;
+
+///
+/// API 基础资料表
+///
+[SugarTable("tbl_app_api_base_info")]
+public class AppApiBaseInfo
+{
+ ///
+ /// API 键
+ ///
+ [SugarColumn(ColumnName = "api_key", IsPrimaryKey = true)]
+ public string? ApiKey { get; set; }
+
+ ///
+ /// 系统名称
+ ///
+ [SugarColumn(ColumnName = "system_name")]
+ public string? SystemName { get; set; }
+
+ ///
+ /// 地址类型
+ ///
+ [SugarColumn(ColumnName = "address_type")]
+ public int? AddressType { get; set; }
+
+ ///
+ /// 地址值
+ ///
+ [SugarColumn(ColumnName = "address")]
+ public string? Address { get; set; }
+
+ ///
+ /// API 名称
+ ///
+ [SugarColumn(ColumnName = "api_name")]
+ public string? ApiName { get; set; }
+
+ ///
+ /// 备注
+ ///
+ [SugarColumn(ColumnName = "remark")]
+ public string? Remark { get; set; }
+
+
+}
\ No newline at end of file
diff --git a/WcsMain/ExtendMethod/AppApiBaseInfoExtendMethod.cs b/WcsMain/ExtendMethod/AppApiBaseInfoExtendMethod.cs
new file mode 100644
index 0000000..83079a1
--- /dev/null
+++ b/WcsMain/ExtendMethod/AppApiBaseInfoExtendMethod.cs
@@ -0,0 +1,19 @@
+using WcsMain.DataBase.TableEntity;
+
+namespace WcsMain.ExtendMethod;
+
+public static class AppApiBaseInfoExtendMethod
+{
+ ///
+ /// 根据键名查找一个api地址
+ ///
+ ///
+ ///
+ ///
+ public static string? GetAddress(this List? baseData, string apiKey)
+ {
+ var baseInfo = baseData?.Find(f => f.ApiKey == apiKey);
+ return baseInfo?.Address;
+ }
+
+}
\ No newline at end of file
diff --git a/WcsMain/Plugins/WmsWebApiPost.cs b/WcsMain/Plugins/WmsWebApiPost.cs
index 97f01a5..b3391a4 100644
--- a/WcsMain/Plugins/WmsWebApiPost.cs
+++ b/WcsMain/Plugins/WmsWebApiPost.cs
@@ -1,6 +1,7 @@
using ApiTool;
using WcsMain.Business.CommonAction;
using WcsMain.Common;
+using WcsMain.ExtendMethod;
using WcsMain.WcsAttribute.AutoFacAttribute;
namespace WcsMain.Plugins;
@@ -14,6 +15,6 @@ public class WmsWebApiPost : WebApiPost
public WmsWebApiPost(WMSApiResponseAction wmsApiResponseAction)
{
SetResponseAction(wmsApiResponseAction.WMSApiResponse);
- SetBaseUrl(CommonData.AppConfig.WmsBaseAddressApiAddress ?? "");
+ SetBaseUrl(CommonData.AppApiBaseInfos.GetAddress("WmsBaseApiAddress") ?? "");
}
}
diff --git a/WcsMain/Properties/launchSettings.json b/WcsMain/Properties/launchSettings.json
index bcadfed..56995f6 100644
--- a/WcsMain/Properties/launchSettings.json
+++ b/WcsMain/Properties/launchSettings.json
@@ -12,7 +12,7 @@
"WcsMain": {
"commandName": "Project",
"dotnetRunMessages": true,
- "launchBrowser": true,
+ "launchBrowser": false,
"launchUrl": "swagger",
"applicationUrl": "http://localhost:890",
"environmentVariables": {
diff --git a/WcsMain/StartAction/ServiceStart.cs b/WcsMain/StartAction/ServiceStart.cs
index 520c16a..3b82dde 100644
--- a/WcsMain/StartAction/ServiceStart.cs
+++ b/WcsMain/StartAction/ServiceStart.cs
@@ -19,7 +19,7 @@ namespace WcsMain.StartAction;
[Component]
public class ServiceStart(WcsCirculation wcsCirculation, ConnectPLCs connectPLCs, SocketOperation socketOperation,
AppStackerDao appStackerDao, AppLocationDao appLocationDao, AppConfigDao appConfigDao, ConnectPlcServe connectPlcServe,
- ConnectOprServe connectOprServe, AppElTagLocationDao appElTagBaseDao, AppConveyStandDao conveyStandDao)
+ ConnectOprServe connectOprServe, AppElTagLocationDao appElTagBaseDao, AppConveyStandDao conveyStandDao, AppApiBaseInfoDao appApiBaseInfoDao)
{
private static string _errMsg = string.Empty;
@@ -29,10 +29,12 @@ public class ServiceStart(WcsCirculation wcsCirculation, ConnectPLCs connectPLCs
public void LoadingData()
{
LoadingConfig(); // 加载数据库中的配置项 (config 表)
+ LoadApiBaseInfo(); // 加载API基础资料
LoadingStackerData(); // 加载数据库中的堆垛机信息
LoadingLocationData(); // 加载数据库中的库位信息
LoadElTagBase(); // 加载电子标签基础资料
LoadConveyStand(); // 加载输送线站台基础资料
+
if (!string.IsNullOrEmpty(_errMsg))
{
@@ -52,13 +54,13 @@ public class ServiceStart(WcsCirculation wcsCirculation, ConnectPLCs connectPLCs
CreatePlcClient(); // 连接 PLC 客户端
CreateSocketClient(); // Socket客户端
ConnectOprServe(); // 连接 Opr 电子标签客户端
- CreateCieculateTask();// 创建并启用定时器
+ CreateCirculateTask();// 创建并启用定时器
}
///
/// 创建并连接 Plc
///
- public void CreatePlcClient()
+ private void CreatePlcClient()
{
if (CommonData.AppConfig.UseConnectPlc == "1") // 1 表示允许连接PLC
{
@@ -69,7 +71,7 @@ public class ServiceStart(WcsCirculation wcsCirculation, ConnectPLCs connectPLCs
///
/// 创建并运行 Socket 客户端 ---- 待更新
///
- public void CreateSocketClient()
+ private void CreateSocketClient()
{
if (CommonData.AppConfig.UseSocket == "1") // 1 表示允许开启Socket
{
@@ -80,7 +82,7 @@ public class ServiceStart(WcsCirculation wcsCirculation, ConnectPLCs connectPLCs
///
/// 连接Opr电子标签客户端
///
- public void ConnectOprServe()
+ private void ConnectOprServe()
{
if (CommonData.AppConfig.UseOpr == "1") // 1 表示允许连接电子标签
{
@@ -101,7 +103,7 @@ public class ServiceStart(WcsCirculation wcsCirculation, ConnectPLCs connectPLCs
///
/// 创建并启用定时器
///
- public void CreateCieculateTask()
+ private void CreateCirculateTask()
{
if (CommonData.AppConfig.UseCirculation == "1") // 1 表示允许开启 定时器
{
@@ -121,7 +123,7 @@ public class ServiceStart(WcsCirculation wcsCirculation, ConnectPLCs connectPLCs
///
/// 加载数据库内的 Config 配置信息
///
- public void LoadingConfig()
+ private void LoadingConfig()
{
if (!string.IsNullOrEmpty(_errMsg)) return;
//ConsoleLog.Info("正在加载数据库配置信息...");
@@ -153,10 +155,28 @@ public class ServiceStart(WcsCirculation wcsCirculation, ConnectPLCs connectPLCs
CommonData.AppConfig = appConfigEntity;
}
+ ///
+ /// 加载API基础资料
+ ///
+ private void LoadApiBaseInfo()
+ {
+ if (!string.IsNullOrEmpty(_errMsg)) return;
+ //ConsoleLog.Info("正在加载API配置信息...");
+ List? appApiBaseInfos = appApiBaseInfoDao.Query();
+ if (appApiBaseInfos == default)
+ {
+ _errMsg = "加载API配置信息失败,请检查数据库服务器连接是否正常";
+ CommonData.AppApiBaseInfos = [];
+ return;
+ }
+ CommonData.AppApiBaseInfos = appApiBaseInfos;
+ }
+
+
///
/// 加载堆垛机数据
///
- public void LoadingStackerData()
+ private void LoadingStackerData()
{
if (!string.IsNullOrEmpty(_errMsg)) return;
//ConsoleLog.Info("正在加载堆垛机参数信息...");
@@ -174,7 +194,7 @@ public class ServiceStart(WcsCirculation wcsCirculation, ConnectPLCs connectPLCs
///
/// 加载库位信息
///
- public void LoadingLocationData()
+ private void LoadingLocationData()
{
if (!string.IsNullOrEmpty(_errMsg)) return;
//ConsoleLog.Info("正在加载库位信息...");
@@ -191,7 +211,7 @@ public class ServiceStart(WcsCirculation wcsCirculation, ConnectPLCs connectPLCs
///
/// 加载电子标签基础资料
///
- public void LoadElTagBase()
+ private void LoadElTagBase()
{
if (!string.IsNullOrEmpty(_errMsg)) return;
//ConsoleLog.Info("正在电子标签基础资料信息...");
@@ -209,7 +229,7 @@ public class ServiceStart(WcsCirculation wcsCirculation, ConnectPLCs connectPLCs
///
/// 加载输送线站台基础资料信息
///
- public void LoadConveyStand()
+ private void LoadConveyStand()
{
if (!string.IsNullOrEmpty(_errMsg)) return;
//ConsoleLog.Info("正在加载输送线基础资料信息...");