|
@@ -3,6 +3,7 @@ using Microsoft.AspNetCore.Mvc;
|
|
|
using System.Drawing;
|
|
using System.Drawing;
|
|
|
using System.Text;
|
|
using System.Text;
|
|
|
using YSAI.Core.data;
|
|
using YSAI.Core.data;
|
|
|
|
|
+using YSAI.Core.@interface.only;
|
|
|
using YSAI.Opc.ua.client;
|
|
using YSAI.Opc.ua.client;
|
|
|
using YSAI.Unility;
|
|
using YSAI.Unility;
|
|
|
using static System.Net.Mime.MediaTypeNames;
|
|
using static System.Net.Mime.MediaTypeNames;
|
|
@@ -14,7 +15,7 @@ namespace YSAI.Manage.Controllers
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
[ApiController]
|
|
[ApiController]
|
|
|
[Route("api/[controller]/[action]")]
|
|
[Route("api/[controller]/[action]")]
|
|
|
- public class DaqLibOperateController : Controller
|
|
|
|
|
|
|
+ public class DaqLibOperateController : Controller,IManage
|
|
|
{
|
|
{
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 配置
|
|
/// 配置
|
|
@@ -42,13 +43,8 @@ namespace YSAI.Manage.Controllers
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
- /// <summary>
|
|
|
|
|
- /// 配置内容示例
|
|
|
|
|
- /// </summary>
|
|
|
|
|
- /// <returns>统一返回结果</returns>
|
|
|
|
|
[HttpGet]
|
|
[HttpGet]
|
|
|
- public IActionResult Sample()
|
|
|
|
|
|
|
+ public async Task<IActionResult> Sample()
|
|
|
{
|
|
{
|
|
|
Address address = JsonTool.StringToJsonEntity<Address>(FileTool.FileToString("Sample.json"));
|
|
Address address = JsonTool.StringToJsonEntity<Address>(FileTool.FileToString("Sample.json"));
|
|
|
AddressManage addressManage = new AddressManage();
|
|
AddressManage addressManage = new AddressManage();
|
|
@@ -60,13 +56,8 @@ namespace YSAI.Manage.Controllers
|
|
|
return File(System.Text.Encoding.Default.GetBytes(new List<AddressManage> { addressManage, addressManage, addressManage, addressManage, addressManage, addressManage }.ToJson().JsonFormatting()), "application/octet-stream");
|
|
return File(System.Text.Encoding.Default.GetBytes(new List<AddressManage> { addressManage, addressManage, addressManage, addressManage, addressManage, addressManage }.ToJson().JsonFormatting()), "application/octet-stream");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /// <summary>
|
|
|
|
|
- /// 上传配置
|
|
|
|
|
- /// </summary>
|
|
|
|
|
- /// <param name="ConfigFile">配置文件</param>
|
|
|
|
|
- /// <returns>统一返回结果</returns>
|
|
|
|
|
[HttpPost]
|
|
[HttpPost]
|
|
|
- public async Task<IActionResult> Setting(IFormFile? ConfigFile)
|
|
|
|
|
|
|
+ public async Task<OperateResult> Setting(IFormFile? ConfigFile)
|
|
|
{
|
|
{
|
|
|
//开始记录运行时间
|
|
//开始记录运行时间
|
|
|
operateResult.Depart("Setting");
|
|
operateResult.Depart("Setting");
|
|
@@ -74,7 +65,7 @@ namespace YSAI.Manage.Controllers
|
|
|
{
|
|
{
|
|
|
if (ConfigFile == null || ConfigFile.Length == 0)
|
|
if (ConfigFile == null || ConfigFile.Length == 0)
|
|
|
{
|
|
{
|
|
|
- return Ok(operateResult.Break("Setting", false, "请选择要上传的文件"));
|
|
|
|
|
|
|
+ return operateResult.Break("Setting", false, "请选择要上传的文件");
|
|
|
}
|
|
}
|
|
|
if (!System.IO.File.Exists(configPath))
|
|
if (!System.IO.File.Exists(configPath))
|
|
|
{
|
|
{
|
|
@@ -86,26 +77,21 @@ namespace YSAI.Manage.Controllers
|
|
|
await ConfigFile.CopyToAsync(stream);
|
|
await ConfigFile.CopyToAsync(stream);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- return Ok(operateResult.Break("Setting", true));
|
|
|
|
|
|
|
+ return operateResult.Break("Setting", true);
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
- return Ok(operateResult.Break("Setting", false, "配置文件已存在,请执行修改配置接口"));
|
|
|
|
|
|
|
+ return operateResult.Break("Setting", false, "配置文件已存在,请执行修改配置接口");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
catch (Exception ex)
|
|
catch (Exception ex)
|
|
|
{
|
|
{
|
|
|
- return Ok(operateResult.Break("Setting", false, $"设置配置异常:{ex.Message}"));
|
|
|
|
|
|
|
+ return operateResult.Break("Setting", false, $"设置配置异常:{ex.Message}");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /// <summary>
|
|
|
|
|
- /// 修改配置,将重新初始化库操作函数
|
|
|
|
|
- /// </summary>
|
|
|
|
|
- /// <param name="ConfigFile">配置文件</param>
|
|
|
|
|
- /// <returns>统一返回结果</returns>
|
|
|
|
|
[HttpPost]
|
|
[HttpPost]
|
|
|
- public async Task<IActionResult> Update(IFormFile? ConfigFile)
|
|
|
|
|
|
|
+ public async Task<OperateResult> Update(IFormFile? ConfigFile)
|
|
|
{
|
|
{
|
|
|
//开始记录运行时间
|
|
//开始记录运行时间
|
|
|
operateResult.Depart("Update");
|
|
operateResult.Depart("Update");
|
|
@@ -113,7 +99,7 @@ namespace YSAI.Manage.Controllers
|
|
|
{
|
|
{
|
|
|
if (ConfigFile == null || ConfigFile.Length == 0)
|
|
if (ConfigFile == null || ConfigFile.Length == 0)
|
|
|
{
|
|
{
|
|
|
- return Ok(operateResult.Break("Update", false, "请选择要上传的文件"));
|
|
|
|
|
|
|
+ return operateResult.Break("Update", false, "请选择要上传的文件");
|
|
|
}
|
|
}
|
|
|
//判断文件夹是否存在,不存在则创建
|
|
//判断文件夹是否存在,不存在则创建
|
|
|
FileTool.GetPathFolderPath(configPath,true);
|
|
FileTool.GetPathFolderPath(configPath,true);
|
|
@@ -121,20 +107,16 @@ namespace YSAI.Manage.Controllers
|
|
|
{
|
|
{
|
|
|
await ConfigFile.CopyToAsync(stream);
|
|
await ConfigFile.CopyToAsync(stream);
|
|
|
}
|
|
}
|
|
|
- return Ok(operateResult.Break("Update", true));
|
|
|
|
|
|
|
+ return operateResult.Break("Update", true);
|
|
|
}
|
|
}
|
|
|
catch (Exception ex)
|
|
catch (Exception ex)
|
|
|
{
|
|
{
|
|
|
- return Ok(operateResult.Break("Update", false, $"修改配置异常:{ex.Message}"));
|
|
|
|
|
|
|
+ return operateResult.Break("Update", false, $"修改配置异常:{ex.Message}");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /// <summary>
|
|
|
|
|
- /// 通过上传的配置进行初始化
|
|
|
|
|
- /// </summary>
|
|
|
|
|
- /// <returns></returns>
|
|
|
|
|
[HttpPost]
|
|
[HttpPost]
|
|
|
- public IActionResult Init()
|
|
|
|
|
|
|
+ public async Task<OperateResult> Init()
|
|
|
{
|
|
{
|
|
|
//开始记录运行时间
|
|
//开始记录运行时间
|
|
|
operateResult.Depart("Init");
|
|
operateResult.Depart("Init");
|
|
@@ -142,11 +124,11 @@ namespace YSAI.Manage.Controllers
|
|
|
{
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
- return Ok(operateResult.Break("Init", true));
|
|
|
|
|
|
|
+ return operateResult.Break("Init", true);
|
|
|
}
|
|
}
|
|
|
catch (Exception ex)
|
|
catch (Exception ex)
|
|
|
{
|
|
{
|
|
|
- return Ok(operateResult.Break("Init", false, $"初始化异常:{ex.Message}"));
|
|
|
|
|
|
|
+ return operateResult.Break("Init", false, $"初始化异常:{ex.Message}");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -158,52 +140,70 @@ namespace YSAI.Manage.Controllers
|
|
|
/// <param name="SN">库实例SN</param>
|
|
/// <param name="SN">库实例SN</param>
|
|
|
/// <returns>统一返回结果</returns>
|
|
/// <returns>统一返回结果</returns>
|
|
|
[HttpPost]
|
|
[HttpPost]
|
|
|
- public IActionResult On(string Name, string SN)
|
|
|
|
|
|
|
+ public async Task<OperateResult> On(string Name, string SN)
|
|
|
{
|
|
{
|
|
|
- return Ok();
|
|
|
|
|
|
|
+ //开始记录运行时间
|
|
|
|
|
+ operateResult.Depart("On");
|
|
|
|
|
+ try
|
|
|
|
|
+ {
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ return operateResult.Break("On", true);
|
|
|
|
|
+ }
|
|
|
|
|
+ catch (Exception ex)
|
|
|
|
|
+ {
|
|
|
|
|
+ return operateResult.Break("On", false, $"打开异常:{ex.Message}");
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- /// <summary>
|
|
|
|
|
- /// 关闭
|
|
|
|
|
- /// </summary>
|
|
|
|
|
- /// <param name="Name">库名称</param>
|
|
|
|
|
- /// <param name="SN">库实例SN</param>
|
|
|
|
|
- /// <returns>统一返回结果</returns>
|
|
|
|
|
[HttpPost]
|
|
[HttpPost]
|
|
|
- public IActionResult Off(string Name, string SN)
|
|
|
|
|
|
|
+ public async Task<OperateResult> Off(string Name, string SN)
|
|
|
{
|
|
{
|
|
|
- return Ok();
|
|
|
|
|
|
|
+ //开始记录运行时间
|
|
|
|
|
+ operateResult.Depart("Off");
|
|
|
|
|
+ try
|
|
|
|
|
+ {
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ return operateResult.Break("Off", true);
|
|
|
|
|
+ }
|
|
|
|
|
+ catch (Exception ex)
|
|
|
|
|
+ {
|
|
|
|
|
+ return operateResult.Break("Off", false, $"关闭异常:{ex.Message}");
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- /// <summary>
|
|
|
|
|
- /// 读取
|
|
|
|
|
- /// </summary>
|
|
|
|
|
- /// <param name="Name">库名称</param>
|
|
|
|
|
- /// <param name="SN">库实例SN</param>
|
|
|
|
|
- /// <param name="AddressName">地址</param>
|
|
|
|
|
- /// <returns>统一返回结果</returns>
|
|
|
|
|
|
|
+
|
|
|
[HttpPost]
|
|
[HttpPost]
|
|
|
- public IActionResult Read(string Name, string SN, string AddressName)
|
|
|
|
|
|
|
+ public async Task<OperateResult> Read(string Name, string SN, string AddressName)
|
|
|
{
|
|
{
|
|
|
- return Ok();
|
|
|
|
|
|
|
+ //开始记录运行时间
|
|
|
|
|
+ operateResult.Depart("Read");
|
|
|
|
|
+ try
|
|
|
|
|
+ {
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ return operateResult.Break("Read", true);
|
|
|
|
|
+ }
|
|
|
|
|
+ catch (Exception ex)
|
|
|
|
|
+ {
|
|
|
|
|
+ return operateResult.Break("Read", false, $"读取异常:{ex.Message}");
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- /// <summary>
|
|
|
|
|
- /// 写入
|
|
|
|
|
- /// </summary>
|
|
|
|
|
- /// <param name="Name">库名称</param>
|
|
|
|
|
- /// <param name="SN">库实例SN</param>
|
|
|
|
|
- /// <param name="AddressName">地址</param>
|
|
|
|
|
- /// <param name="Value">值</param>
|
|
|
|
|
- /// <returns>统一返回结果</returns>
|
|
|
|
|
|
|
+
|
|
|
[HttpPost]
|
|
[HttpPost]
|
|
|
- public IActionResult Write(string Name, string SN, string AddressName, string Value)
|
|
|
|
|
|
|
+ public async Task<OperateResult> Write(string Name, string SN, string AddressName, string Value)
|
|
|
{
|
|
{
|
|
|
- return Ok();
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ //开始记录运行时间
|
|
|
|
|
+ operateResult.Depart("Write");
|
|
|
|
|
+ try
|
|
|
|
|
+ {
|
|
|
|
|
|
|
|
- [HttpGet]
|
|
|
|
|
- public OperateResult Test()
|
|
|
|
|
- {
|
|
|
|
|
- operateResult.Depart("Test");
|
|
|
|
|
- return operateResult.Break("Test", true, "测试成功");
|
|
|
|
|
|
|
+
|
|
|
|
|
+ return operateResult.Break("Write", true);
|
|
|
|
|
+ }
|
|
|
|
|
+ catch (Exception ex)
|
|
|
|
|
+ {
|
|
|
|
|
+ return operateResult.Break("Write", false, $"写入异常:{ex.Message}");
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|