diff --git a/.gitignore b/.gitignore
index 01fc3d0..1fbd59b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
/PVDEMCS/.vs
/PVDEMCS/PVDEMCS/bin/Debug
-/PVDEMCS/PVDEMCS/obj
\ No newline at end of file
+/PVDEMCS/PVDEMCS/obj
+/PVDEMCS/PVDEMCS/bin/Release
diff --git a/PVDEMCS/.vs/PVDEMCS/DesignTimeBuild/.dtbcache.v2 b/PVDEMCS/.vs/PVDEMCS/DesignTimeBuild/.dtbcache.v2
index d440baa..bce281d 100644
Binary files a/PVDEMCS/.vs/PVDEMCS/DesignTimeBuild/.dtbcache.v2 and b/PVDEMCS/.vs/PVDEMCS/DesignTimeBuild/.dtbcache.v2 differ
diff --git a/PVDEMCS/.vs/PVDEMCS/v17/.suo b/PVDEMCS/.vs/PVDEMCS/v17/.suo
index 02a7cf2..a22e2cc 100644
Binary files a/PVDEMCS/.vs/PVDEMCS/v17/.suo and b/PVDEMCS/.vs/PVDEMCS/v17/.suo differ
diff --git a/PVDEMCS/PVDEMCS/Controllers/DeviceController.cs b/PVDEMCS/PVDEMCS/Controllers/DeviceController.cs
index 1097bc3..8eb1571 100644
--- a/PVDEMCS/PVDEMCS/Controllers/DeviceController.cs
+++ b/PVDEMCS/PVDEMCS/Controllers/DeviceController.cs
@@ -6,6 +6,7 @@ using Microsoft.AspNetCore.Mvc.RazorPages;
using PVDEMCS.Common;
using PVDEMCS.Common.Constant;
using PVDEMCS.Devices;
+using PVDEMCS.Devices.Impl;
using PVDEMCS.Services;
using PVDEMCS.Services.Models;
using SharpCompress.Common;
@@ -59,7 +60,7 @@ namespace PVDEMCS.Controllers
/// 是否启用
/// ///
[HttpGet]
- public Result> GetDeviceInfoList(string deviceCode, string deviceName, bool? activated = false)
+ public Result> GetDeviceInfoList(string deviceCode, string deviceName, bool? activated = null)
{
var result = _deviceService.GetDeviceInfoList(deviceCode, deviceName, activated);
if (result.IsSuccess)
@@ -72,11 +73,14 @@ namespace PVDEMCS.Controllers
[NonAction]
private void GetDeviceIsConnected(List list)
{
- if (list.IsNullOrEmpty() && !_deviceRun.GetDeviceIsConnected.IsNullOrEmpty())
+ if (!list.IsNullOrEmpty() && !_deviceRun.GetDeviceIsConnected.IsNullOrEmpty())
{
foreach (var item in list)
{
- item.isConnected = _deviceRun.GetDeviceIsConnected[item.DeviceCode];
+ if (_deviceRun.GetDeviceIsConnected.Keys.Contains(item.DeviceCode))
+ {
+ item.isConnected = _deviceRun.GetDeviceIsConnected[item.DeviceCode];
+ }
}
}
}
diff --git a/PVDEMCS/PVDEMCS/Controllers/EquipmentRecordController.cs b/PVDEMCS/PVDEMCS/Controllers/EquipmentRecordController.cs
index 900898b..c7996b0 100644
--- a/PVDEMCS/PVDEMCS/Controllers/EquipmentRecordController.cs
+++ b/PVDEMCS/PVDEMCS/Controllers/EquipmentRecordController.cs
@@ -29,7 +29,7 @@ namespace PVDEMCS.Controllers
#region 设备状态记录
///
- /// 获取设备状态记录分页列表
+ /// 获取设备状态记录分页列表(分钟)
///
/// 设备Id
/// 设备名称
@@ -48,7 +48,7 @@ namespace PVDEMCS.Controllers
}
///
- /// 获取设备状态记录列表
+ /// 获取设备状态记录列表(分钟)
///
/// 设备Id
/// 设备名称
@@ -60,7 +60,7 @@ namespace PVDEMCS.Controllers
[HttpGet]
public Result> GetEquipmentRecordList(string equipmentId, string equipmentName, string equipmentCode, string equipmentType, DateTime? begTime, DateTime? endTime)
{
- var result = _equipmentRecordService.GetEquipmentRecordList(equipmentId,equipmentName, equipmentCode, equipmentType, begTime, endTime);
+ var result = _equipmentRecordService.GetEquipmentRecordList(equipmentId, equipmentName, equipmentCode, equipmentType, begTime, endTime);
return result;
}
@@ -73,12 +73,12 @@ namespace PVDEMCS.Controllers
/// 设备状态,运行:Run,待机:Stop,报警:Alarm
/// 记录时间
///
- [HttpPost]
- public Result AddUpdateEquipmentRecord(string equipmentId, string state, DateTime dateTime)
- {
- var result = _equipmentRecordService.AddUpdateEquipmentRecord(equipmentId, state, dateTime);
- return result;
- }
+ //[HttpPost]
+ //public Result AddUpdateEquipmentRecord(string equipmentId, string state, DateTime dateTime)
+ //{
+ // var result = _equipmentRecordService.AddUpdateEquipmentRecord(equipmentId, state, dateTime);
+ // return result;
+ //}
/////
///// 进行设备状态记录统计(日统计)
@@ -97,7 +97,7 @@ namespace PVDEMCS.Controllers
#region 设备记录统计
///
- /// 获取设备状态记录统计(日)分页列表
+ /// 获取设备状态记录统计(日)分页列表(分钟)
///
/// 设备名称
/// 设备编号
@@ -114,7 +114,7 @@ namespace PVDEMCS.Controllers
}
///
- /// 获取设备状态记录统计(日)列表
+ /// 获取设备状态记录统计(日)列表(分钟)
///
/// 设备名称
/// 设备编号
@@ -129,7 +129,7 @@ namespace PVDEMCS.Controllers
}
///
- /// 获取设备状态记录统计分页列表
+ /// 获取设备状态记录统计分页列表(小时)
///
/// 设备名称
/// 设备编号
@@ -155,7 +155,7 @@ namespace PVDEMCS.Controllers
}
///
- /// 获取设备状态记录统计列表
+ /// 获取设备状态记录统计列表(小时)
///
/// 设备名称
/// 设备编号
@@ -179,7 +179,7 @@ namespace PVDEMCS.Controllers
}
///
- /// 根据设备Id获取记录统计
+ /// 根据设备Id获取记录统计(小时)
///
/// 设备Id
///
@@ -233,7 +233,7 @@ namespace PVDEMCS.Controllers
var equimentTypeTotal = equipments.Content.GroupBy(f => new { f.EquipmentType, f.State }).Select(f => new
{
equipmentType = f.Key.EquipmentType,
- State = f.Key,
+ State = f.Key.State,
count = f.Count()
}).ToList();
var equimentTypes = new string[] { EquipmentType.Balzers, EquipmentType.CemeCon, EquipmentType.Ionbond };
@@ -243,20 +243,20 @@ namespace PVDEMCS.Controllers
equipmentStateView.EquipmentType = type;
if (equimentTypeTotal.Count > 0)
{
- alarm = allTotal.Where(f => f.State == EquipmentState.Alarm).FirstOrDefault();
- if (!alarm.IsNullOrEmpty())
+ var alarmType = equimentTypeTotal.Where(f => f.State == EquipmentState.Alarm && f.equipmentType == type).FirstOrDefault();
+ if (!alarmType.IsNullOrEmpty())
{
- equipmentStateView.Alarm = alarm.count;
+ equipmentStateView.Alarm = alarmType.count;
}
- run = allTotal.Where(f => f.State == EquipmentState.Run).FirstOrDefault();
- if (!run.IsNullOrEmpty())
+ var runType = equimentTypeTotal.Where(f => f.State == EquipmentState.Run && f.equipmentType == type).FirstOrDefault();
+ if (!runType.IsNullOrEmpty())
{
- equipmentStateView.Run = run.count;
+ equipmentStateView.Run = runType.count;
}
- stop = allTotal.Where(f => f.State == EquipmentState.Stop).FirstOrDefault();
- if (!stop.IsNullOrEmpty())
+ var stopType = equimentTypeTotal.Where(f => f.State == EquipmentState.Stop && f.equipmentType == type).FirstOrDefault();
+ if (!stopType.IsNullOrEmpty())
{
- equipmentStateView.Stop = stop.count;
+ equipmentStateView.Stop = stopType.count;
}
}
ret.Add(equipmentStateView);
@@ -278,7 +278,7 @@ namespace PVDEMCS.Controllers
}
///
- /// 获取设备状态记录月统计
+ /// 获取设备状态记录月统计(小时)
///
///
[HttpGet]
diff --git a/PVDEMCS/PVDEMCS/Devices/IPLCCommunicationService.cs b/PVDEMCS/PVDEMCS/Devices/IPLCCommunicationService.cs
index 08e6538..a671483 100644
--- a/PVDEMCS/PVDEMCS/Devices/IPLCCommunicationService.cs
+++ b/PVDEMCS/PVDEMCS/Devices/IPLCCommunicationService.cs
@@ -20,7 +20,7 @@ namespace PVDEMCS.Devices
///
/// 是否已连接
///
- bool isConnected { get; }
+ bool IsConnected { get; }
#region 同步
///
diff --git a/PVDEMCS/PVDEMCS/Devices/Impl/DeviceMonitor.cs b/PVDEMCS/PVDEMCS/Devices/Impl/DeviceMonitor.cs
index b3ee022..66e32a7 100644
--- a/PVDEMCS/PVDEMCS/Devices/Impl/DeviceMonitor.cs
+++ b/PVDEMCS/PVDEMCS/Devices/Impl/DeviceMonitor.cs
@@ -1,5 +1,6 @@
using Masuit.Tools;
using PVDEMCS.Common;
+using PVDEMCS.Common.Log;
using PVDEMCS.Devices;
using PVDEMCS.Services.Models;
using System.Security.Cryptography;
@@ -25,7 +26,7 @@ namespace PVDEMCS.Devices.Impl
///
/// PLC 点位改变触发
///
- public event EventHandler PointChnage;
+ public event EventHandler PointChange;
///
/// 获取错误相信
@@ -46,7 +47,7 @@ namespace PVDEMCS.Devices.Impl
///
/// 间隔时间
///
- public int Interval { get; set; } = 1000;
+ public int Interval { get; set; } = 2000;
public IPLCCommunicationService PLCCommunicationService
{
get
@@ -58,11 +59,11 @@ namespace PVDEMCS.Devices.Impl
///
/// 连接状态
///
- public bool isConnected
+ public bool IsConnected
{
get
{
- return plcCommunicationService.isConnected;
+ return plcCommunicationService.IsConnected;
}
}
@@ -138,7 +139,7 @@ namespace PVDEMCS.Devices.Impl
{
plcCommunicationService = new S7CommunicationService(deviceInfo.Protocol);
}
- if (!plcCommunicationService.isConnected)
+ if (!plcCommunicationService.IsConnected)
{
var result = await plcCommunicationService.ConnectionAsync(deviceInfo.Host, deviceInfo.Port);
if (!result.IsSuccess)
@@ -146,7 +147,9 @@ namespace PVDEMCS.Devices.Impl
ErrorMessage?.Invoke(this, "开始PLC连接失败:" + result.Message);
return await Task.FromResult(false);
}
+
isRun = true;
+ $"PLC控制器:{deviceInfo.DeviceCode}连接成功".WriteInfoLog();
}
return await Task.FromResult(true);
}
@@ -156,7 +159,7 @@ namespace PVDEMCS.Devices.Impl
///
public async Task StopAsync()
{
- if (plcCommunicationService.isConnected)
+ if (plcCommunicationService.IsConnected)
{
var result = await plcCommunicationService.ColseConnectionAsyn();
if (!result.IsSuccess)
@@ -179,9 +182,9 @@ namespace PVDEMCS.Devices.Impl
{
lock (lockObj)
{
- if (Points.Count > 0 && isRun)
+ if (Points.Count > 0 && isRun && plcCommunicationService.IsConnected)
{
- Parallel.ForEach(devicePoints, async point =>
+ devicePoints.ForEach(async point =>
{
await CallDevicePoint(point);
});
@@ -199,7 +202,7 @@ namespace PVDEMCS.Devices.Impl
///
private async Task CallDevicePoint(DevicePoint point)
{
- var type = point.DataType;
+ var type = Type.GetType(point.DataType);
var plcService = plcCommunicationService;
//Boolean
if (type.Equals(typeof(bool)))
@@ -266,7 +269,8 @@ namespace PVDEMCS.Devices.Impl
if (point.ObjectValue == null || !point.ObjectValue.Equals(result.Content))
{
point.ObjectValue = result.Content;
- PointChnage?.Invoke(this, point);
+ PointChange?.Invoke(this, point);
+ $"点位发生变更:{point.ToJsonString()}".WriteInfoLog();
}
}
else
diff --git a/PVDEMCS/PVDEMCS/Devices/Impl/DeviceRun.cs b/PVDEMCS/PVDEMCS/Devices/Impl/DeviceRun.cs
index 6557313..f0a12f8 100644
--- a/PVDEMCS/PVDEMCS/Devices/Impl/DeviceRun.cs
+++ b/PVDEMCS/PVDEMCS/Devices/Impl/DeviceRun.cs
@@ -46,7 +46,7 @@ namespace PVDEMCS.Devices.Impl
{
get
{
- return monitors.ToDictionary(f => f.DeviceCode, f => f.isConnected);
+ return monitors.ToDictionary(f => f.DeviceCode, f => f.IsConnected);
}
}
@@ -66,15 +66,16 @@ namespace PVDEMCS.Devices.Impl
foreach (var device in devices)
{
var deviceMonitor = new DeviceMonitor(device);
- var devicePoints = deviceService.GetDevicePointList(device.DeviceName);
+ var devicePoints = deviceService.GetDevicePointList(device.Id, activated: true);
if (devicePoints.IsSuccess && devicePoints.Content.Count > 0)
{
deviceMonitor.Load(devicePoints.Content.ToArray());
}
deviceMonitor.ErrorMessage += DeviceMonitor_ErrorMessage;
- deviceMonitor.PointChnage += DeviceMonitor_PointChnage; ;
+ deviceMonitor.PointChange += DeviceMonitor_PointChnage; ;
monitors.Add(deviceMonitor);
Task task = deviceMonitor.StartAsync();
+ ($"PLC控制器:{device.DeviceCode},开始启动...").WriteInfoLog();
}
}
}
@@ -94,7 +95,7 @@ namespace PVDEMCS.Devices.Impl
private void TaskRun()
{
//监控设备连接
- Task.Run(() =>
+ Task.Run(() =>
{
while (true)
{
@@ -111,9 +112,17 @@ namespace PVDEMCS.Devices.Impl
{
while (true)
{
- RunEquipmentRecord();
+ try
+ {
+ RunEquipmentRecord();
- Thread.Sleep(1000);
+ Thread.Sleep(3000);
+ }
+ catch (Exception ex)
+ {
+ ex.WriteErrorLog();
+ }
+
}
});
@@ -122,14 +131,22 @@ namespace PVDEMCS.Devices.Impl
{
while (true)
{
- equipmentRecordService.RunEquipmentRecordDayTotal(DateTime.Now);
+ try
+ {
+ equipmentRecordService.RunEquipmentRecordDayTotal(DateTime.Now);
- Thread.Sleep(1000 * 60);
+ Thread.Sleep(1000 * 60);
+ }
+ catch (Exception ex)
+ {
+ ex.WriteErrorLog();
+ }
+
}
});
//设备记录统计
- Task.Run(() =>
+ Task.Run(() =>
{
while (true)
{
@@ -142,50 +159,60 @@ namespace PVDEMCS.Devices.Impl
//记录设备数据
private void RunEquipmentRecord()
{
- foreach (var monitor in monitors)
+ try
{
- if (!monitor.IsRun)
+ foreach (var monitor in monitors)
{
- continue;
- }
- var points = monitor.Points;
- if (!points.IsNullOrEmpty())
- {
- continue;
- }
+ if (!monitor.IsRun)
+ {
+ continue;
+ }
+ var points = monitor.Points;
+ if (points.IsNullOrEmpty())
+ {
+ continue;
+ }
- var equipmentIds = points.Select(f => f.EquipmentId).Distinct();
- foreach (var id in equipmentIds)
- {
- var list = points.Where(f => f.EquipmentId == id).ToList();
- if (list.Count >= 2)
+ var equipmentIds = points.Select(f => f.EquipmentId).Distinct();
+ foreach (var id in equipmentIds)
{
- var startStop = list.Where(f => f.ActionType == ActionType.StartStop).FirstOrDefault();
- var fault = list.Where(f => f.ActionType == ActionType.Fault).FirstOrDefault();
- if (!startStop.IsNullOrEmpty() &&
- !fault.IsNullOrEmpty() &&
- !startStop.ObjectValue.IsNullOrEmpty() &&
- !fault.ObjectValue.IsNullOrEmpty())
+ var list = points.Where(f => f.EquipmentId == id).ToList();
+ if (list.Count >= 2)
{
- var state = EquipmentState.Run;
-
- if (fault.GetValue())
+ var startStop = list.Where(f => f.ActionType == ActionType.StartStop).FirstOrDefault();
+ var fault = list.Where(f => f.ActionType == ActionType.Fault).FirstOrDefault();
+ if (!startStop.IsNullOrEmpty() &&
+ !fault.IsNullOrEmpty() &&
+ !startStop.ObjectValue.IsNullOrEmpty() &&
+ !fault.ObjectValue.IsNullOrEmpty())
{
- state = EquipmentState.Alarm;
+ var state = EquipmentState.Run;
+
+ if (fault.GetValue())
+ {
+ state = EquipmentState.Alarm;
+ }
+ else if (!startStop.GetValue())
+ {
+ state = EquipmentState.Stop;
+ }
+ equipmentRecordService.AddUpdateEquipmentRecord(id, state, DateTime.Now);
}
- else if (!startStop.GetValue())
- {
- state = EquipmentState.Stop;
- }
- equipmentRecordService.AddUpdateEquipmentRecord(id, state, DateTime.Now);
}
}
}
+
+
+ }
+ catch (Exception ex)
+ {
+ ex.WriteErrorLog();
}
}
private void DeviceMonitor_PointChnage(object sender, DevicePoint e)
{
+
}
private void DeviceMonitor_ErrorMessage(object sender, string e)
diff --git a/PVDEMCS/PVDEMCS/Devices/Impl/S7CommunicationService.cs b/PVDEMCS/PVDEMCS/Devices/Impl/S7CommunicationService.cs
index efbfaa4..cd4c51b 100644
--- a/PVDEMCS/PVDEMCS/Devices/Impl/S7CommunicationService.cs
+++ b/PVDEMCS/PVDEMCS/Devices/Impl/S7CommunicationService.cs
@@ -28,7 +28,7 @@ namespace PVDEMCS.Devices.Impl
///
/// 是否已连接
///
- public bool isConnected { get; private set; }
+ public bool IsConnected { get; private set; }
public S7CommunicationService(string deviceProtocol)
{
@@ -75,7 +75,7 @@ namespace PVDEMCS.Devices.Impl
var result = ConvertResult(operateResult);
if (result.IsSuccess)
{
- isConnected = true;
+ IsConnected = true;
}
return result;
}
@@ -89,7 +89,7 @@ namespace PVDEMCS.Devices.Impl
var result = ConvertResult(operateResult);
if (result.IsSuccess)
{
- isConnected = false;
+ IsConnected = false;
}
return result;
}
@@ -290,7 +290,7 @@ namespace PVDEMCS.Devices.Impl
var result = ConvertResult(operateResult);
if (operateResult.IsSuccess)
{
- isConnected = true;
+ IsConnected = true;
}
return result;
}
@@ -304,7 +304,7 @@ namespace PVDEMCS.Devices.Impl
var result = ConvertResult(operateResult);
if (operateResult.IsSuccess)
{
- isConnected = false;
+ IsConnected = false;
}
return result;
}
diff --git a/PVDEMCS/PVDEMCS/Nlog.config b/PVDEMCS/PVDEMCS/Nlog.config
index 8bb9f59..752d919 100644
--- a/PVDEMCS/PVDEMCS/Nlog.config
+++ b/PVDEMCS/PVDEMCS/Nlog.config
@@ -1,21 +1,32 @@
-
+
+
+
+
-
-
+
-
-
+
-
-
+
-
-
-
+
\ No newline at end of file
diff --git a/PVDEMCS/PVDEMCS/Program.cs b/PVDEMCS/PVDEMCS/Program.cs
index 1595a31..39b5519 100644
--- a/PVDEMCS/PVDEMCS/Program.cs
+++ b/PVDEMCS/PVDEMCS/Program.cs
@@ -38,11 +38,13 @@ builder.AddAutofacExt();
var app = builder.Build();
// Configure the HTTP request pipeline.
-if (app.Environment.IsDevelopment())
-{
- app.UseSwagger();
- app.UseSwaggerUI();
-}
+//if (app.Environment.IsDevelopment())
+//{
+
+//}
+
+app.UseSwagger();
+app.UseSwaggerUI();
//ʹÿ
app.UseCors("CorsPolicy");
@@ -55,14 +57,14 @@ app.MapControllers();
app.Lifetime.ApplicationStarted.Register(() =>
{
- var deviceRun = app.Services.GetService();
-
- deviceRun.Run();
-
var logService = app.Services.GetService();
LogExtensions.Load(logService);
+ var deviceRun = app.Services.GetService();
+
+ deviceRun.Run();
+
//var equipmentList = app.Services.GetService();
//var equipmentRecord = app.Services.GetService();
//var ids = equipmentList.GetEquipmentList().Content.Select(f => f.Id).ToList();
diff --git a/PVDEMCS/PVDEMCS/Properties/PublishProfiles/FolderProfile.pubxml.user b/PVDEMCS/PVDEMCS/Properties/PublishProfiles/FolderProfile.pubxml.user
index 6b2f62e..bc73f22 100644
--- a/PVDEMCS/PVDEMCS/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/PVDEMCS/PVDEMCS/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<_PublishTargetUrl>D:\Source\PVDEMCS\PVDEMCS\PVDEMCS\bin\Release\net6.0\publish\
- True|2023-11-04T01:50:29.5867049Z;
+ True|2023-11-06T12:18:02.9796262Z;True|2023-11-06T17:16:40.7384677+08:00;True|2023-11-06T17:10:54.2886424+08:00;True|2023-11-06T15:15:13.8945359+08:00;True|2023-11-06T14:37:56.4570851+08:00;True|2023-11-04T09:50:29.5867049+08:00;
\ No newline at end of file
diff --git a/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecord.cs b/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecord.cs
index b4ebd4d..c6eead0 100644
--- a/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecord.cs
+++ b/PVDEMCS/PVDEMCS/Services/Models/EquipmentRecord.cs
@@ -47,5 +47,22 @@ public partial class EquipmentRecord
///
public DateTime EndTime { get; set; }
+ ///
+ /// 累计时长(分钟)
+ ///
+ public decimal TimeTotal
+ {
+ get
+ {
+ var val = (EndTime - StartTime).TotalMinutes;
+ if (val > 0)
+ {
+ return Math.Round(Convert.ToDecimal(val),2);
+ }
+
+ return 0;
+ }
+ }
+
}
\ No newline at end of file
diff --git a/SQL/device_info.sql b/SQL/device_info.sql
new file mode 100644
index 0000000..f4e1a89
--- /dev/null
+++ b/SQL/device_info.sql
@@ -0,0 +1,51 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server : 127.0.0.1
+ Source Server Type : MySQL
+ Source Server Version : 80034
+ Source Host : 127.0.0.1:3306
+ Source Schema : pvdemcs
+
+ Target Server Type : MySQL
+ Target Server Version : 80034
+ File Encoding : 65001
+
+ Date: 06/11/2023 14:34:17
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for device_info
+-- ----------------------------
+DROP TABLE IF EXISTS `device_info`;
+CREATE TABLE `device_info` (
+ `id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+ `device_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '控制器编号',
+ `device_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '控制器名称',
+ `activated` bit(1) NOT NULL DEFAULT b'1' COMMENT '控制器状态,1:启用,0:停用',
+ `protocol` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '控制器协议:PLC',
+ `host` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '控制器主机地址',
+ `port` int NOT NULL COMMENT '控制器主机端口',
+ `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
+ `create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建者',
+ `create_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
+ `update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '修改者',
+ `update_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
+ `delete_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '删除者',
+ `delete_at` datetime NULL DEFAULT NULL COMMENT '删除时间',
+ `is_delete` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'PLC控制器' ROW_FORMAT = DYNAMIC;
+
+-- ----------------------------
+-- Records of device_info
+-- ----------------------------
+INSERT INTO `device_info` VALUES ('1139430641660118767', 'PLC01', '第一涂层室', b'1', 'S7_200Smart', '192.168.10.10', 102, '11', '1', '2023-10-31 15:56:48', '1', '2023-10-31 15:56:48', NULL, NULL, b'0');
+INSERT INTO `device_info` VALUES ('1139430641660448768', 'PLC02', '第二涂层室', b'1', 'S7_200Smart', '192.168.10.11', 102, '', '1', '2023-11-01 22:03:29', '1', '2023-11-01 22:03:29', NULL, NULL, b'0');
+INSERT INTO `device_info` VALUES ('1139430642223779840', 'PLC03', '第三涂层室', b'1', 'S7_200Smart', '192.168.10.12', 102, '', '1', '2023-11-01 22:05:46', '1', '2023-11-01 22:05:46', NULL, NULL, b'0');
+INSERT INTO `device_info` VALUES ('1139430642336751616', 'PLC04', '第四涂层室', b'1', 'S7_200Smart', '192.168.10.13', 102, '', '1', '2023-11-01 22:06:14', '1', '2023-11-01 22:06:14', NULL, NULL, b'0');
+
+SET FOREIGN_KEY_CHECKS = 1;
diff --git a/SQL/device_point.sql b/SQL/device_point.sql
new file mode 100644
index 0000000..3472e68
--- /dev/null
+++ b/SQL/device_point.sql
@@ -0,0 +1,103 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server : 127.0.0.1
+ Source Server Type : MySQL
+ Source Server Version : 80034
+ Source Host : 127.0.0.1:3306
+ Source Schema : pvdemcs
+
+ Target Server Type : MySQL
+ Target Server Version : 80034
+ File Encoding : 65001
+
+ Date: 06/11/2023 14:34:26
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for device_point
+-- ----------------------------
+DROP TABLE IF EXISTS `device_point`;
+CREATE TABLE `device_point` (
+ `id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+ `device_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '控制器Id',
+ `equipment_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备Id',
+ `point_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '点位编号',
+ `point_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '点位名称',
+ `address` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'S7 数据存储地址,直连 存储区地址',
+ `data_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '数据类型',
+ `action_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '点位所属动作,启动停止:StartStop;故障:Fault',
+ `activated` bit(1) NOT NULL DEFAULT b'1' COMMENT 'PLC 点位是否启用 (1 启用, 0 禁用)',
+ `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
+ `create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建者',
+ `create_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
+ `update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '修改者',
+ `update_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
+ `is_delete` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+ `delete_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '删除者',
+ `delete_at` datetime NULL DEFAULT NULL COMMENT '删除时间',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'PLC点位' ROW_FORMAT = DYNAMIC;
+
+-- ----------------------------
+-- Records of device_point
+-- ----------------------------
+INSERT INTO `device_point` VALUES ('1139430648069140480', '1139430641660118767', '1139430644207226880', '1#StartStop', '1#运行/停止', 'V100.0', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 22:29:33', '1', '2023-11-01 22:29:33', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430648383094784', '1139430641660118767', '1139430644207226880', '1#Fault', '1#故障', 'V100.1', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 22:30:50', '1', '2023-11-01 22:30:50', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430649144586240', '1139430641660118767', '1139430644299513856', '2#StartStop', '2#运行/停止', 'V100.2', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 22:33:56', '1', '2023-11-01 22:33:56', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430649359810560', '1139430641660118767', '1139430644299513856', '2#Fault', '2#故障', 'V100.3', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 22:34:48', '1', '2023-11-01 22:34:48', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430651389554688', '1139430641660118767', '1139430644740755456', '3#StartStop', '3#运行/停止', 'V100.4', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 22:43:04', '1', '2023-11-01 22:43:04', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430651534348288', '1139430641660118767', '1139430644740755456', '3#Fault', '3#故障', 'V100.5', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 22:43:39', '1', '2023-11-01 22:43:39', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430651830673408', '1139430641660118767', '1139430644373970944', '4#StartStop', '4#运行/停止', 'V100.6', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 22:44:52', '1', '2023-11-01 22:44:52', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430651936321536', '1139430641660118767', '1139430644373970944', '4#Fault', '4#故障', 'V100.7', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 22:45:18', '1', '2023-11-01 22:45:18', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430652538703872', '1139430641660118767', '1139430644415823872', '5#StartStop', '5#运行/停止', 'V101.0', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 22:47:45', '1', '2023-11-01 22:47:45', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430652834844672', '1139430641660118767', '1139430644415823872', '5#Fault', '5#故障', 'V101.1', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 22:48:57', '1', '2023-11-01 22:48:57', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430653154721792', '1139430641660118767', '1139430644789067776', '6#StartStop', '6#运行/停止', 'V101.2', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 22:50:15', '1', '2023-11-01 22:50:15', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430653293719552', '1139430641660118767', '1139430644789067776', '6#Fault', '6#故障', 'V101.3', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 22:50:49', '1', '2023-11-01 22:50:49', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430653565784064', '1139430641660118767', '1139430644475174912', '7#StartStop', '7#运行/停止', 'V101.4', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 22:51:55', '1', '2023-11-01 22:51:55', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430653695045632', '1139430641660118767', '1139430644475174912', '7#Fault', '7#故障', 'V101.5', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 22:52:27', '1', '2023-11-01 22:52:27', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430653912072192', '1139430641660118767', '1139430644855181312', '8#StartStop', '8#运行/停止', 'V101.6', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 22:53:20', '1', '2023-11-01 22:53:20', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430654035652608', '1139430641660118767', '1139430644855181312', '8#Fault', '8#故障', 'V101.7', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 22:53:50', '1', '2023-11-01 22:53:50', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430654315429888', '1139430641660118767', '1139430644904493056', '10#StartStop', '10#运行/停止', 'V102.0', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 22:54:58', '1', '2023-11-01 22:54:58', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430654377500672', '1139430641660118767', '1139430644904493056', '10#Fault', '10#故障', 'V102.1', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 22:55:14', '1', '2023-11-01 22:55:14', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430654608003072', '1139430641660118767', '1139430644494802944', '27#StartStop', '27#运行/停止', 'V102.2', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 22:56:10', '1', '2023-11-01 22:56:10', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430654678110208', '1139430641660118767', '1139430644494802944', '27#Fault', '27#故障', 'V102.3', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 22:56:27', '1', '2023-11-01 22:56:27', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430655076130816', '1139430641660448768', '1139430644963524608', '11#StartStop', '11#运行/停止', 'V100.0', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 22:58:04', '1', '2023-11-01 22:58:04', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430655186042880', '1139430641660448768', '1139430644963524608', '11#Fault', '11#故障', 'V100.1', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 22:58:31', '1', '2023-11-01 22:58:31', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430655586398208', '1139430641660448768', '1139430644997632000', '14#StartStop', '14#运行/停止', 'V100.2', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 23:00:09', '1', '2023-11-01 23:00:09', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430655924822016', '1139430641660448768', '1139430644997632000', '14#Fault', '14#故障', 'V100.3', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 23:01:31', '1', '2023-11-01 23:01:31', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430656266252288', '1139430641660448768', '1139430645041299456', '15#StartStop', '15#运行/停止', 'V100.4', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 23:02:55', '1', '2023-11-01 23:02:55', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430656341700608', '1139430641660448768', '1139430645041299456', '15#Fault', '15#故障', 'V100.5', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 23:03:13', '1', '2023-11-01 23:03:13', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430656716185600', '1139430641660448768', '1139430645079994368', '17#StartStop', '17#运行/停止', 'V100.6', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 23:04:44', '1', '2023-11-01 23:04:44', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430656809283584', '1139430641660448768', '1139430645079994368', '17#Fault', '17#故障', 'V100.7', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 23:05:07', '1', '2023-11-01 23:05:07', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430657076408320', '1139430641660448768', '1139430645119148032', '18#StartStop', '18#运行/停止', 'V101.0', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 23:06:12', '1', '2023-11-01 23:06:12', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430657259327488', '1139430641660448768', '1139430645119148032', '18#Fault', '18#故障', 'V101.1', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 23:06:57', '1', '2023-11-01 23:06:57', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430657605267456', '1139430641660448768', '1139430645193863168', '20#StartStop', '20#运行/停止', 'V101.2', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 23:08:22', '1', '2023-11-01 23:08:22', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430657710931968', '1139430641660448768', '1139430645193863168', '20#Fault', '20#故障', 'V101.3', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 23:08:47', '1', '2023-11-01 23:08:47', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430658076295168', '1139430641660448768', '1139430645247967232', '21#StartStop', '21#运行/停止', 'V101.4', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 23:10:17', '1', '2023-11-01 23:10:17', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430658207510528', '1139430641660448768', '1139430645247967232', '21#Fault', '21#故障', 'V101.5', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 23:10:49', '1', '2023-11-01 23:10:49', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430658412503040', '1139430641660448768', '1139430645280845824', '22#StartStop', '22#运行/停止', 'V101.6', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 23:11:39', '1', '2023-11-01 23:11:39', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430658496438272', '1139430641660448768', '1139430645280845824', '22#Fault', '22#故障', 'V101.7', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 23:11:59', '1', '2023-11-01 23:11:59', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430658817884160', '1139430642223779840', '1139430645508157440', '9#StartStop', '9#运行/停止', 'V100.0', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 23:13:18', '1', '2023-11-01 23:13:18', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430658905145344', '1139430642223779840', '1139430645508157440', '9#Fault', '9#故障', 'V100.1', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 23:13:39', '1', '2023-11-01 23:13:39', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430659161649152', '1139430642223779840', '1139430645547446272', '12#StartStop', '12#运行/停止', 'V100.2', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 23:14:42', '1', '2023-11-01 23:14:42', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430659252658176', '1139430642223779840', '1139430645547446272', '12#Fault', '12#故障', 'V100.3', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 23:15:04', '1', '2023-11-01 23:15:04', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430659591573504', '1139430642223779840', '1139430645575229440', '13#StartStop', '13#运行/停止', 'V100.4', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 23:16:26', '1', '2023-11-01 23:16:26', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430659657920512', '1139430642223779840', '1139430645575229440', '13#Fault', '13#故障', 'V100.5', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 23:16:43', '1', '2023-11-01 23:16:43', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430659835154432', '1139430642223779840', '1139430645601857536', '16#StartStop', '16#运行/停止', 'V100.6', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 23:17:26', '1', '2023-11-01 23:17:26', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430659901124608', '1139430642223779840', '1139430645601857536', '16#Fault', '16#故障', 'V100.7', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 23:17:42', '1', '2023-11-01 23:17:42', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430660127326208', '1139430642223779840', '1139430645630369792', '19#StartStop', '19#运行/停止', 'V101.0', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 23:18:37', '1', '2023-11-01 23:18:37', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430660250324992', '1139430642223779840', '1139430645630369792', '19#Fault', '19#故障', 'V101.1', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 23:19:07', '1', '2023-11-01 23:19:07', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430660545531904', '1139430642223779840', '1139430645318582272', '23#StartStop', '23#运行/停止', 'V101.2', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 23:20:19', '1', '2023-11-01 23:20:19', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430660641312768', '1139430642223779840', '1139430645318582272', '23#Fault', '23#故障', 'V101.3', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 23:20:43', '1', '2023-11-01 23:20:43', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430661001457664', '1139430642336751616', '1139430645348077568', '24#StartStop', '24#运行/停止', 'V100.0', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 23:22:11', '1', '2023-11-01 23:22:11', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430661088616448', '1139430642336751616', '1139430645348077568', '24#Fault', '24#故障', 'V100.1', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 23:22:32', '1', '2023-11-01 23:22:32', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430661257043968', '1139430642336751616', '1139430645381705728', '25#StartStop', '25#运行/停止', 'V100.2', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 23:23:13', '1', '2023-11-01 23:23:13', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430661344280576', '1139430642336751616', '1139430645381705728', '25#Fault', '25#故障', 'V100.3', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 23:23:34', '1', '2023-11-01 23:23:34', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430661591023616', '1139430642336751616', '1139430645415247872', '26#StartStop', '26#运行/停止', 'V100.4', 'System.Boolean', 'StartStop', b'1', '', '1', '2023-11-01 23:24:35', '1', '2023-11-01 23:24:35', b'0', NULL, NULL);
+INSERT INTO `device_point` VALUES ('1139430661655056384', '1139430642336751616', '1139430645415247872', '26#Fault', '26#故障', 'V100.5', 'System.Boolean', 'Fault', b'1', '', '1', '2023-11-01 23:24:50', '1', '2023-11-01 23:24:50', b'0', NULL, NULL);
+
+SET FOREIGN_KEY_CHECKS = 1;
diff --git a/SQL/equipment_info.sql b/SQL/equipment_info.sql
new file mode 100644
index 0000000..5aa1edc
--- /dev/null
+++ b/SQL/equipment_info.sql
@@ -0,0 +1,73 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server : 127.0.0.1
+ Source Server Type : MySQL
+ Source Server Version : 80034
+ Source Host : 127.0.0.1:3306
+ Source Schema : pvdemcs
+
+ Target Server Type : MySQL
+ Target Server Version : 80034
+ File Encoding : 65001
+
+ Date: 06/11/2023 15:27:27
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for equipment_info
+-- ----------------------------
+DROP TABLE IF EXISTS `equipment_info`;
+CREATE TABLE `equipment_info` (
+ `id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+ `equipment_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备编码',
+ `equipment_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备名称',
+ `equipment_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备类型:Ionbond,Balzers,Cemecon',
+ `activated` bit(1) NOT NULL DEFAULT b'1' COMMENT '设备状态,1:启用,0:停用',
+ `ordrNo` int NULL DEFAULT 0 COMMENT '排序号',
+ `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
+ `create_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '创建者',
+ `create_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
+ `update_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '修改者',
+ `update_at` datetime NULL DEFAULT NULL COMMENT '修改时间',
+ `is_delete` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+ `delete_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '删除者',
+ `delete_at` datetime NULL DEFAULT NULL COMMENT '删除时间',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '设备信息' ROW_FORMAT = Dynamic;
+
+-- ----------------------------
+-- Records of equipment_info
+-- ----------------------------
+INSERT INTO `equipment_info` VALUES ('1139430644207226880', '1#', '1#|CemeCon', 'CemeCon', b'1', 14, '第一涂层室', '1', '2023-11-01 22:13:51', '1', '2023-11-01 22:13:51', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430644299513856', '2#', '2#|CemeCon', 'CemeCon', b'1', 10, '第一涂层室', '1', '2023-11-01 22:14:13', '1', '2023-11-01 22:14:13', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430644373970944', '4#', '4#|CemeCon', 'CemeCon', b'1', 8, '第一涂层室', '1', '2023-11-01 22:14:31', '1', '2023-11-01 22:14:31', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430644415823872', '5#', '5#|CemeCon', 'CemeCon', b'1', 6, '第一涂层室', '1', '2023-11-01 22:14:41', '1', '2023-11-01 22:14:41', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430644475174912', '7#', '7#|CemeCon', 'CemeCon', b'1', 4, '第一涂层室', '1', '2023-11-01 22:14:56', '1', '2023-11-01 22:14:56', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430644494802944', '27#', '27#|CemeCon', 'CemeCon', b'1', 2, '第一涂层室', '1', '2023-11-01 22:15:01', '1', '2023-11-01 22:15:01', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430644740755456', '3#', '3#|Balzers', 'Balzers', b'1', 3, '第一涂层室', '1', '2023-11-01 22:16:01', '1', '2023-11-01 22:16:01', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430644789067776', '6#', '6#|Balzers', 'Balzers', b'1', 7, '第一涂层室', '1', '2023-11-01 22:16:13', '1', '2023-11-01 22:16:13', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430644855181312', '8#', '8#|Balzers', 'Balzers', b'1', 9, '第一涂层室', '1', '2023-11-01 22:16:29', '1', '2023-11-01 22:16:29', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430644904493056', '10#', '10#|Balzers', 'Balzers', b'1', 13, '第一涂层室', '1', '2023-11-01 22:16:41', '1', '2023-11-01 22:16:41', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430644963524608', '11#', '11#|Balzers', 'Balzers', b'1', 6, '第二涂层室', '1', '2023-11-01 22:16:55', '1', '2023-11-01 22:16:55', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430644997632000', '14#', '14#|Balzers', 'Balzers', b'1', 14, '第二涂层室', '1', '2023-11-01 22:17:04', '1', '2023-11-01 22:17:04', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430645041299456', '15#', '15#|Balzers', 'Balzers', b'1', 10, '第二涂层室', '1', '2023-11-01 22:17:14', '1', '2023-11-01 22:17:14', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430645079994368', '17#', '17#|Balzers', 'Balzers', b'1', 1, '第二涂层室', '1', '2023-11-01 22:17:24', '1', '2023-11-01 22:17:24', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430645119148032', '18#', '18#|Balzers', 'Balzers', b'1', 2, '第二涂层室', '1', '2023-11-01 22:17:33', '1', '2023-11-01 22:17:33', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430645193863168', '20#', '20#|Balzers', 'Balzers', b'1', 5, '第二涂层室', '1', '2023-11-01 22:17:51', '1', '2023-11-01 22:17:51', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430645247967232', '21#', '21#|Balzers', 'Balzers', b'1', 9, '第二涂层室', '1', '2023-11-01 22:18:05', '1', '2023-11-01 22:18:05', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430645280845824', '22#', '22#|Balzers', 'Balzers', b'1', 13, '第二涂层室', '1', '2023-11-01 22:18:13', '1', '2023-11-01 22:18:13', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430645318582272', '23#', '23#|Balzers', 'Balzers', b'1', 14, '第三涂层室', '1', '2023-11-01 22:18:22', '1', '2023-11-01 22:18:22', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430645348077568', '24#', '24#|Balzers', 'Balzers', b'1', 3, '第四涂层室', '1', '2023-11-01 22:18:29', '1', '2023-11-01 22:18:29', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430645381705728', '25#', '25#|Balzers', 'Balzers', b'1', 5, '第四涂层室', '1', '2023-11-01 22:18:37', '1', '2023-11-01 22:18:37', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430645415247872', '26#', '26#|Balzers', 'Balzers', b'1', 7, '第四涂层室', '1', '2023-11-01 22:18:45', '1', '2023-11-01 22:18:45', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430645508157440', '9#', '9#|Ionbond', 'Ionbond', b'1', 1, '第三涂层室', '1', '2023-11-01 22:19:08', '1', '2023-11-01 22:19:08', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430645547446272', '12#', '12#|Ionbond', 'Ionbond', b'1', 5, '第三涂层室', '1', '2023-11-01 22:19:18', '1', '2023-11-01 22:19:18', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430645575229440', '13#', '13#|Ionbond', 'Ionbond', b'1', 9, '第三涂层室', '1', '2023-11-01 22:19:25', '1', '2023-11-01 22:19:25', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430645601857536', '16#', '16#|Ionbond', 'Ionbond', b'1', 13, '第三涂层室', '1', '2023-11-01 22:19:31', '1', '2023-11-01 22:19:31', b'0', NULL, NULL);
+INSERT INTO `equipment_info` VALUES ('1139430645630369792', '19#', '19#|Ionbond', 'Ionbond', b'1', 4, '第三涂层室', '1', '2023-11-01 22:19:38', '1', '2023-11-01 22:19:38', b'0', NULL, NULL);
+
+SET FOREIGN_KEY_CHECKS = 1;
diff --git a/SQL/sys_config.sql b/SQL/sys_config.sql
new file mode 100644
index 0000000..a6716aa
--- /dev/null
+++ b/SQL/sys_config.sql
@@ -0,0 +1,48 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server : 127.0.0.1
+ Source Server Type : MySQL
+ Source Server Version : 80034
+ Source Host : 127.0.0.1:3306
+ Source Schema : pvdemcs
+
+ Target Server Type : MySQL
+ Target Server Version : 80034
+ File Encoding : 65001
+
+ Date: 06/11/2023 14:35:01
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for sys_config
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_config`;
+CREATE TABLE `sys_config` (
+ `id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '参数主键',
+ `config_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '' COMMENT '参数名称',
+ `config_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '' COMMENT '参数键名',
+ `config_value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '' COMMENT '参数键值',
+ `config_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT 'N' COMMENT '系统内置(Y是 N否)',
+ `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注',
+ `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '' COMMENT '创建者',
+ `create_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
+ `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '' COMMENT '更新者',
+ `update_at` datetime NULL DEFAULT NULL COMMENT '更新时间',
+ `is_delete` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+ `delete_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '删除者',
+ `delete_at` datetime NULL DEFAULT NULL COMMENT '删除时间',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '参数配置表' ROW_FORMAT = DYNAMIC;
+
+-- ----------------------------
+-- Records of sys_config
+-- ----------------------------
+INSERT INTO `sys_config` VALUES ('1139430640712261632', 'Ionbond开炉时间', 'Ionbond', '200', 'Y', '', '1', '2023-11-01 21:59:37', '1', '2023-11-01 21:59:37', b'0', NULL, NULL);
+INSERT INTO `sys_config` VALUES ('1139430640965279744', 'Balzers开炉时间', 'Balzers', '200', 'Y', '', '1', '2023-11-01 22:00:39', '1', '2023-11-01 22:00:39', b'0', NULL, NULL);
+INSERT INTO `sys_config` VALUES ('1139430641060597760', 'CemeCon开炉时间', 'CemeCon', '300', 'Y', '', '1', '2023-11-01 22:01:02', '1', '2023-11-01 22:01:02', b'0', NULL, NULL);
+
+SET FOREIGN_KEY_CHECKS = 1;
diff --git a/SQL/sys_user.sql b/SQL/sys_user.sql
new file mode 100644
index 0000000..6f7b8bc
--- /dev/null
+++ b/SQL/sys_user.sql
@@ -0,0 +1,54 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server : 127.0.0.1
+ Source Server Type : MySQL
+ Source Server Version : 80034
+ Source Host : 127.0.0.1:3306
+ Source Schema : pvdemcs
+
+ Target Server Type : MySQL
+ Target Server Version : 80034
+ File Encoding : 65001
+
+ Date: 06/11/2023 14:35:10
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for sys_user
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_user`;
+CREATE TABLE `sys_user` (
+ `id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '用户ID',
+ `dept_id` bigint NULL DEFAULT NULL COMMENT '部门ID',
+ `user_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '用户账号',
+ `nick_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '用户昵称',
+ `user_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '00' COMMENT '用户类型(00系统用户)',
+ `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '' COMMENT '用户邮箱',
+ `phonenumber` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '' COMMENT '手机号码',
+ `sex` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)',
+ `avatar` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '' COMMENT '头像地址',
+ `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '' COMMENT '密码',
+ `activated` bit(1) NULL DEFAULT b'1' COMMENT '帐号状态(1:启用,0:停用)',
+ `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '备注',
+ `login_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '' COMMENT '最后登录IP',
+ `login_date` datetime NULL DEFAULT NULL COMMENT '最后登录时间',
+ `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '' COMMENT '创建者',
+ `create_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
+ `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT '' COMMENT '更新者',
+ `update_at` datetime NULL DEFAULT NULL COMMENT '更新时间',
+ `is_delete` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
+ `delete_by` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '删除者',
+ `delete_at` datetime NULL DEFAULT NULL COMMENT '删除时间',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '用户信息表' ROW_FORMAT = DYNAMIC;
+
+-- ----------------------------
+-- Records of sys_user
+-- ----------------------------
+INSERT INTO `sys_user` VALUES ('1139431320438677504', NULL, 'admin', 'admin', 'admin', '', '', '1', '', '0HN/nOGAJC/ri0W4pEtXj7U/mtZtlLfVTLRjbzC8Usg=', b'1', '', '', '2023-11-03 12:01:10', '1', '2023-11-03 20:05:26', '1', '2023-11-03 20:08:09', b'0', NULL, NULL);
+
+SET FOREIGN_KEY_CHECKS = 1;