Эх сурвалжийг харах

add:nats修改设备校准时间

zoie 2 сар өмнө
parent
commit
291168c925

+ 65 - 0
Nats/Nats.go

@@ -571,4 +571,69 @@ func NatsInit() {
 		b, _ := msgpack.Marshal(&t_R)
 		_ = lib.Nats.Publish(m.Reply, b)
 	})
+
+	// 发布-订阅 修改设备校准时间
+	_, _ = lib.Nats.QueueSubscribe("Cold_UpdateDevice_CalibrationTime", "Cold_UpdateDevice_CalibrationTime", func(m *nats.Msg) {
+		logs.Debug(fmt.Sprintf("Cold_UpdateDevice_CalibrationTime message: %s\n", string(m.Data)))
+
+		type T_Req struct {
+			T_sn              string
+			T_CalibrationTime string
+		}
+		type T_R struct {
+			Code int16       `xml:"Code"`
+			Msg  string      `xml:"Msg"`
+			Data interface{} `xml:"Data"` // 泛型
+		}
+
+		var t_R T_R
+		var t_req T_Req
+
+		err := msgpack.Unmarshal(m.Data, &t_req)
+		if err != nil {
+			t_R.Code = 202
+			t_R.Msg = "Unmarshal error"
+			b, _ := msgpack.Marshal(&t_R)
+			_ = lib.Nats.Publish(m.Reply, b)
+			return
+		}
+
+		device, err := Device.Read_Device_ByT_sn(t_req.T_sn)
+
+		if err != nil {
+			if err.Error() == "record not found" {
+				t_R.Code = 202
+				t_R.Msg = "SN不存在"
+				b, _ := msgpack.Marshal(&t_R)
+				_ = lib.Nats.Publish(m.Reply, b)
+				return
+			}
+			t_R.Code = 202
+			t_R.Msg = "查询失败"
+			b, _ := msgpack.Marshal(&t_R)
+			_ = lib.Nats.Publish(m.Reply, b)
+			return
+		}
+
+		// 校准时间
+		CalibrationTime, CalibrationTime_is := lib.DateStrToDate(t_req.T_CalibrationTime)
+		if CalibrationTime_is {
+			device.T_CalibrationTime = CalibrationTime
+		}
+
+		if is := Device.Update_Device(device, "T_CalibrationTime"); !is {
+			t_R.Code = 202
+			t_R.Msg = "修改校准时间失败"
+			b, _ := msgpack.Marshal(&t_R)
+			_ = lib.Nats.Publish(m.Reply, b)
+			return
+		}
+
+		t_R.Code = 200
+		t_R.Msg = "ok"
+		b, _ := msgpack.Marshal(&t_R)
+		_ = lib.Nats.Publish(m.Reply, b)
+		return
+
+	})
 }

+ 51 - 0
Nats/NatsServer/NatsColdVerify.go

@@ -0,0 +1,51 @@
+package NatsServer
+
+import (
+	"Cold_Api/controllers/lib"
+	"errors"
+	"github.com/beego/beego/v2/core/logs"
+	"github.com/vmihailenco/msgpack/v5"
+	"time"
+)
+
+func Update_Task_BySN(T_sn string, T_CalibrationTime time.Time) error {
+
+	type T_Req struct {
+		T_sn              string `xml:"T_sn"`
+		T_CalibrationTime string `xml:"T_CalibrationTime"`
+	}
+
+	v := T_Req{
+		T_sn:              T_sn,
+		T_CalibrationTime: T_CalibrationTime.Format("2006-01-02 15:04:05"),
+	}
+	logs.Debug("Nats =>", lib.FuncName(), v)
+
+	b, err := msgpack.Marshal(&v)
+	if err != nil {
+		return err
+	}
+
+	msg, err := lib.Nats.Request("ColdVerify_Server_Update_Task_BySN", b, 3*time.Second)
+	if err != nil {
+		return err
+	}
+
+	type T_R struct {
+		Code int16       `xml:"Code"`
+		Msg  string      `xml:"Msg"`
+		Data interface{} `xml:"Data"`
+	}
+	var t_R T_R
+
+	err = msgpack.Unmarshal(msg.Data, &t_R)
+	if err != nil {
+		return err
+	}
+	if t_R.Code != 200 {
+		return errors.New(t_R.Msg)
+	}
+
+	return nil
+
+}

+ 21 - 0
README.md

@@ -0,0 +1,21 @@
+# ColdVerify_server
+
+冷链3.0系统
+
+## 项目部署
+
+### 1、修改配置文件
+conf/app.conf
+
+### 2、打包linux二进制包
+GOOS=linux GOARCH=amd64 go build Cold_Api.go
+
+### 3、启动服务
+./Cold_Api
+
+### 4、导入基础数据到数据库
+conf/menu.sql
+conf/sql.sql
+conf/product_type.sql
+conf/warning_type.sql
+

+ 298 - 0
conf/api.sql

@@ -0,0 +1,298 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : cold_baota
+ Source Server Type    : MySQL
+ Source Server Version : 80025 (8.0.25-220701)
+ Source Host           : 127.0.0.1:40306
+ Source Schema         : cold
+
+ Target Server Type    : MySQL
+ Target Server Version : 80025 (8.0.25-220701)
+ File Encoding         : 65001
+
+ Date: 13/09/2024 09:22:16
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for api
+-- ----------------------------
+DROP TABLE IF EXISTS `api`;
+CREATE TABLE `api` (
+  `ID` int NOT NULL AUTO_INCREMENT,
+  `t__menu__id` int DEFAULT NULL,
+  `t_name` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
+  `t_uri` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
+  `t_method` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
+  `t_enable` int NOT NULL DEFAULT '1',
+  PRIMARY KEY (`ID`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=281 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC;
+
+-- ----------------------------
+-- Records of api
+-- ----------------------------
+BEGIN;
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (1, 2, '权限列表', '/Power/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (2, 3, '查询权限', '/Power/Get', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (3, 4, '添加权限', '/Power/Add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (4, 4, '权限列表', '/Power/List_All', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (5, 4, '报警类型列表', '/WarningType/List_All', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (6, 4, '菜单列表', '/Menu/List_All', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (7, 5, '编辑权限', '/Power/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (8, 5, '查询权限', '/Power/Get', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (9, 6, '删除权限', '/Power/Del', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (10, 7, '报警列表', '/DeviceWarning/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (11, 7, '报警类型列表', '/WarningType/Power_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (12, 8, '批量处理', '/DeviceWarning/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (13, 9, '编辑报警', '/DeviceWarning/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (14, 10, '删除报警', '/DeviceWarning/Del', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (15, 11, '处理记录', '/DeviceWarning/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (16, 12, '内部用户列表', '/Admin/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (17, 13, '添加内部用户', '/Admin/Add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (18, 13, '权限所有列表', '/Power/List_All', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (19, 14, '编辑内部用户', '/Admin/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (20, 14, '权限所有列表', '/Power/List_All', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (21, 15, '删除内部用户', '/Admin/Del', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (22, 16, '已绑定公司列表', '/Admin/CompanyBind_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (23, 16, '公司列表', '/Company/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (24, 16, '添加公司绑定', '/Admin/CompanyBind_Add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (25, 16, '删除公司绑定', '/Admin/CompanyBind_Del', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (26, 17, '设备版本列表', '/ProductUpgrade/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (27, 17, '设备版本产品型号列表', '/ProductUpgrade/T_model_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (28, 18, '添加设备版本', '/ProductUpgrade/Add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (29, 19, '删除设备版本', '/ProductUpgrade/Del', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (30, 21, '用户绑定公司列表', '/Company/Tree', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (31, 22, '添加公司', '/Company/Add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (32, 23, '添加分公司', '/Company/Add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (33, 24, '编辑公司', '/Company/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (34, 25, '删除公司', '/Company/Del', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (35, 27, '用户列表', '/User/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (36, 28, '添加用户', '/User/Add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (37, 28, '权限所有列表', '/Power/List_All', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (38, 29, '编辑用户', '/User/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (39, 29, '权限所欲列表', '/Power/List_All', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (40, 30, '删除用户', '/User/Del', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (41, 32, '设备列表', '/Device/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (42, 32, '传感器列表', '/DeviceSensor/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (43, 33, '添加设备', '/Device/Add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (44, 39, '设备类型所有列表', '/DeviceSensorType/List_All', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (45, 34, '设备参数列表', '/Device/Parameter_Get', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (46, 101, '设备参数列表', '/Device/Parameter_Get', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (47, 102, '修改设备参数', '/Device/Parameter_Pu', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (48, 103, '获取设备', '/Device/Get', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (49, 105, '删除设备', '/Device/Del', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (50, 107, '同步传感器', '/Device/Read_DeviceSensorParameter', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (51, 31, '设备参数记录', '/Device/Parameter_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (52, 36, '传感器列表', '/DeviceSensor/Parameter_Get', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (53, 37, '传感器列表', '/DeviceSensor/Parameter_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (54, 38, '修改传感器参数', '/DeviceSensor/Parameter_Pu', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (55, 39, '修改传感器', '/DeviceSensor/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (60, 45, '传感器参数列表', '/DeviceSensor/Parameter_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (61, 46, '设备日志', '/Device/Log', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (62, 47, '设备重启/关机', '/Device/RestartShutdown', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (63, 48, '报警列表', '/DeviceWarning/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (64, 48, '报警类型列表', '/WarningType/Power_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (65, 49, '编辑报警', '/DeviceWarning/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (66, 50, '编辑报警', '/DeviceWarning/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (67, 51, '删除报警', '/DeviceWarning/Del', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (68, 52, '报警列表', '/DeviceWarning/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (69, 53, '设备报警导出Excel', '/DeviceWarning/ToExcel', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (70, 54, '设备分类列表', '/Class/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (71, 55, '添加设备分类', '/Class/Add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (72, 56, '编辑设备分类', '/Class/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (73, 57, '删除设备分类', '/Class/Del', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (74, 58, '已绑定设备分类传感器列表', '/Device/DeviceClassBind_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (75, 58, '设备列表', '/Device/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (76, 58, '传感器列表', '/DeviceSensor/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (77, 58, '添加设备分类绑定', '/Class/Bind_Add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (78, 58, '删除设备分类绑定', '/Class/Bind_Del', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (79, 61, '报警策略列表', '/Notice/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (80, 62, '添加报警策略', '/Notice/Add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (81, 63, '编辑报警策略', '/Notice/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (82, 63, '报警通知用户列表', '/Notice/User_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (83, 64, '删除报警策略', '/Notice/Del', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (84, 65, '已绑定报警策略的传感器列表', '/Device/DeviceNoticeBind_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (85, 65, '设备列表', '/Device/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (86, 65, '传感器列表', '/DeviceSensor/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (87, 65, '添加报警策略绑定', '/Notice/Bind_Add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (88, 65, '删除报警策略绑定', '/Notice/Bind_Del', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (89, 69, '传感器列表', '/Data/Device_Sensor_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (90, 69, '设备分类列表', '/Class/All', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (91, 70, '传感器列表', '/Data/Device_Sensor_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (92, 70, '设备数据列表', '/Data/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (93, 70, '设备分类列表', '/Class/All', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (94, 71, '设备数据导出Excel', '/Data/Excel', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (95, 72, '设备数据下载PDF', '/Data/PDF', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (96, 73, '传感器列表', '/Data/Device_Sensor_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (97, 73, '设备数据列表', '/Data/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (98, 73, '设备分类列表', '/Class/All', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (99, 74, '传感器列表', '/Data/Device_Sensor_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (100, 74, '设备分类列表', '/Class/All', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (101, 79, '用户工单列表', '/WorkOrder/User_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (102, 80, '添加工单', '/WorkOrder/Add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (103, 81, '查询工单', '/WorkOrder/Get', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (104, 82, '编辑工单', '/WorkOrder/Up', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (105, 83, '工单列表', '/WorkOrder/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (106, 84, '查询工单', '/WorkOrder/Get', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (107, 85, '删除工单', '/WorkOrder/Del', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (108, 86, '个人信息', '/User/Info', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (109, 86, '修改个人信息', '/User/Post', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (110, 88, '系统日志', '/System/LogsList', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (111, 88, '系统日志分类', '/System/LogsClass', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (112, 89, '用户日志', '/System/UserLogsClass', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (113, 89, '用户日志分类', '/System/UserLogsList', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (114, 91, '订单列表', '/GoodsOrder/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (115, 92, '添加订单', '/GoodsOrder/Add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (116, 93, '编辑订单', '/GoodsOrder/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (117, 94, '删除订单', '/GoodsOrder/Del', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (118, 95, '下载PDF', '/GoodsOrder/PDF', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (119, 108, '传感器列表', '/DeviceSensor/Manage_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (120, 109, '修改传感器参数', '/DeviceSensor/Parameter_Pu', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (121, 110, '修改传感器参数', '/DeviceSensor/Parameter_Pu', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (122, 111, '修改传感器参数', '/DeviceSensor/Parameter_Pu', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (123, 112, '修改传感器参数', '/DeviceSensor/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (124, 26, '进入公司', '/Company/Entry', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (125, 113, '版本升级列表', '/ProductUpgrade/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (126, 114, '设备版本升级', '/Device/ProductUpgrade', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (127, 118, '修改设备', '/Device/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (128, 120, '修改传感器参数', '/DeviceSensor/Parameter_Pu', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (142, 65, '传感器类型列表', '/Class/All', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (143, 57, '传感器类型列表', '/Class/All', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (144, 63, '获取报警策略', '/Notice/Get', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (145, 106, '远程启停', '/Device/DeviceTask_Post', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (146, 74, '任务列表', '/Device/DeviceTask_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (147, 74, '传感器数据', '/Data/Device_Sensor_Data', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (148, 32, '获取设备', '/Device/Get', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (149, 121, '设备数据备份列表', '/Data/BackUp', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (150, 121, '数倍数据备份PDF', '/Data/BackUp_PDF', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (151, 117, '流量池', '/Flow_Pool', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (152, 63, '重置报警策略通知机制', '/Notice/Reset_Mechanism', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (153, 122, '执行数据源', '/DataSource', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (154, 122, '数据源列表', '/DataSource/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (155, 122, '添加数据源', '/DataSource/Add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (156, 122, '修改数据源', '/DataSource/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (157, 122, '删除数据源', '/DataSource/Del', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (158, 123, '小程序-报警-传感器列表', '/DeviceWarning/DeviceSensor_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (159, 123, '小程序-主机列表', '/Device/Applet_Stat_View2', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (160, 123, '小程序-传感器列表-view1', '/DeviceSensor/Applet_List_View1', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (161, 123, '小程序-传感器列表-view2', '/DeviceSensor/Applet_List_View2', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (162, 123, '小程序-传感器类型列表', '/DeviceSensorType/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (164, 123, '小程序-数据打印', '/Data/DeviceSensor_Data_Print', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (165, 123, '小程序-公司列表', '/Company/Tree', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (166, 123, '小程序-任务列表', '/Device/DeviceTask_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (167, 123, '小程序-进入公司', '/Company/Entry', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (168, 123, '小程序-添加设备', '/Device/Add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (169, 37, '传感器类型列表', '/DeviceSensorType/List_All', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (170, 123, '小程序-获取设备', '/Device/Applet_Get', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (171, 124, '公司数字孪生', '/Company/DigitalTwin', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (172, 125, '公司报警统计', '/Company/Warning', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (173, 126, '公司充值', '/Company/Pay', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (174, 128, '设备报警率列表', '/WarningRate/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (175, 129, '设备报警率列表', '/WarningRate/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (176, 128, '管理员用户列表', '/Admin/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (177, 74, '最新一条任务数据', '/Data/Device_Sensor_Data_Real', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (178, 130, '公司报警列表', '/CompanyWarning/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (179, 130, '报警类型列表', '/WarningType/Power_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (180, 131, '编辑报警', '/DeviceWarning/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (181, 132, '编辑报警', '/DeviceWarning/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (182, 133, '删除报警', '/DeviceWarning/Del', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (183, 134, '报警列表', '/DeviceWarning/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (184, 135, '设备报警导出Excel', '/CompanyWarning/ToExcel', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (185, 136, '传感器列表', '/Data/Company_Device_Sensor_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (186, 136, '设备分类列表', '/Class/Company_All', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (187, 137, '已绑定主机列表', '/User/Bind_Device_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (188, 137, '未绑定主机列表', '/User/Unbind_Device_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (189, 137, '用户绑定主机', '/User/Bind_Device', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (190, 137, '用户解绑主机', '/User/Unbind_Device', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (191, 73, '图表展示下载PDF', '/Data/ChartShow_PDF', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (192, 215, '公司记账扣费', '/Company/Pay', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (193, 216, '同步主机参数', '/Device/Parameter_Sync', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (194, 217, '修改传感器参数', '/DeviceSensor/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (195, 91, '设备列表', '/Device/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (196, 219, '动环控制-设备管理列表', '/Cold_Monitor/Device/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (197, 219, '动环控制-添加设备管理', '/Cold_Monitor/Device/Add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (198, 219, '动环控制-修改设备管理', '/Cold_Monitor/Device/Pu', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (199, 219, '动环控制-删除设备管理', '/Cold_Monitor/Device/Delete', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (200, 219, '动环控制-控制组列表', '/Cold_Monitor/ControlGroup/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (201, 219, '动环控制-添加控制组', '/Cold_Monitor/ControlGroup/Add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (202, 219, '动环控制-编辑控制组', '/Cold_Monitor/ControlGroup/Pu', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (203, 219, '动环控制-删除控制组', '/Cold_Monitor/ControlGroup/Delete', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (204, 220, '冷链运输物流-订单列表', '/clodLogistic/api/v1/manage/order/page', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (205, 220, '冷链运输物流-订单详情', '/clodLogistic/api/v1/manage/order/detail', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (206, 220, '冷链运输物流-物流详情', '/clodLogistic/api/v1/manage/order/logistic', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (207, 220, '冷链运输物流-派单', '/clodLogistic/api/v1/manage/order/assign', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (208, 220, '冷链运输物流-仓库列表', '/clodLogistic/api/v1/manage/warehouse/page', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (209, 220, '冷链运输物流-添加仓库', '/clodLogistic/api/v1/manage/warehouse/add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (210, 220, '冷链运输物流-修改仓库', '/clodLogistic/api/v1/manage/warehouse/update', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (211, 220, '冷链运输物流-仓库订单', '/clodLogistic/api/v1/manage/warehouse/orderPage', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (212, 220, '冷链运输物流-车辆列表', '/clodLogistic/api/v1/manage/car/page', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (213, 220, '冷链运输物流-添加车辆', '/clodLogistic/api/v1/manage/car/add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (214, 220, '冷链运输物流-修改车辆', '/clodLogistic/api/v1/manage/car/update', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (215, 220, '冷链运输物流-既往司机', '/clodLogistic/api/v1/manage/car/driverLog', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (216, 220, '获取进入后的公司详情', '/Company/Get', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (217, 123, '远程启停', '/Device/DeviceTask_Post', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (218, 130, '公司报警列表2', '/CompanyWarning/List2', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (219, 7, '报警列表2', '/DeviceWarning/List2', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (220, 11, '处理记录2', '/DeviceWarning/List2', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (221, 48, '报警列表2', '/DeviceWarning/List2', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (222, 52, '报警列表2', '/DeviceWarning/List2', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (223, 134, '报警列表2', '/DeviceWarning/List2', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (224, 53, '设备报警导出Excel2', '/DeviceWarning/ToExcel2', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (225, 135, '设备报警导出Excel2', '/CompanyWarning/ToExcel2', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (230, 231, '弃用设备-设备列表', '/Device/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (231, 231, '弃用设备-传感器列表', '/DeviceSensor/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (232, 232, '弃用设备-添加设备', '/Device/Add', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (233, 239, '弃用设备-设备类型所有列表', '/DeviceSensorType/List_All', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (234, 233, '弃用设备-设备参数列表', '/Device/Parameter_Get', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (235, 234, '弃用设备-设备参数列表', '/Device/Parameter_Get', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (236, 280, '弃用设备-修改设备参数', '/Device/Parameter_Pu', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (237, 281, '弃用设备-获取设备', '/Device/Get', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (238, 230, '弃用设备-设备参数记录', '/Device/Parameter_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (239, 236, '弃用设备-传感器列表', '/DeviceSensor/Parameter_Get', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (240, 237, '弃用设备-传感器列表', '/DeviceSensor/Parameter_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (241, 238, '弃用设备-修改传感器参数', '/DeviceSensor/Parameter_Pu', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (242, 239, '弃用设备-修改传感器', '/DeviceSensor/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (243, 245, '弃用设备-传感器参数列表', '/DeviceSensor/Parameter_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (244, 246, '弃用设备-设备日志', '/Device/Log', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (245, 247, '弃用设备-设备重启/关机', '/Device/RestartShutdown', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (246, 248, '弃用设备-报警列表', '/DeviceWarning/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (247, 248, '弃用设备-报警类型列表', '/WarningType/Power_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (248, 249, '弃用设备-编辑报警', '/DeviceWarning/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (249, 250, '弃用设备-编辑报警', '/DeviceWarning/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (250, 251, '弃用设备-删除报警', '/DeviceWarning/Del', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (251, 252, '弃用设备-报警列表', '/DeviceWarning/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (252, 253, '弃用设备-设备报警导出Excel', '/DeviceWarning/ToExcel', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (253, 270, '弃用设备-传感器列表', '/Data/Device_Sensor_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (254, 270, '弃用设备-设备数据列表', '/Data/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (255, 270, '弃用设备-设备分类列表', '/Class/All', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (256, 271, '弃用设备-设备数据导出Excel', '/Data/Excel', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (257, 272, '弃用设备-设备数据下载PDF', '/Data/PDF', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (258, 273, '弃用设备-传感器列表', '/Data/Device_Sensor_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (259, 273, '弃用设备-设备数据列表', '/Data/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (260, 273, '弃用设备-设备分类列表', '/Class/All', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (261, 283, '弃用设备-传感器列表', '/DeviceSensor/Manage_List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (262, 292, '弃用设备-修改传感器参数', '/DeviceSensor/Parameter_Pu', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (263, 293, '弃用设备-修改传感器参数', '/DeviceSensor/Parameter_Pu', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (264, 294, '弃用设备-修改传感器参数', '/DeviceSensor/Parameter_Pu', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (265, 295, '弃用设备-修改传感器参数', '/DeviceSensor/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (266, 284, '弃用设备-版本升级列表', '/ProductUpgrade/List', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (267, 291, '弃用设备-设备版本升级', '/Device/ProductUpgrade', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (268, 285, '弃用设备-修改设备', '/Device/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (269, 287, '弃用设备-修改传感器参数', '/DeviceSensor/Parameter_Pu', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (270, 282, '弃用设备-远程启停', '/Device/DeviceTask_Post', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (271, 231, '弃用设备-获取设备', '/Device/Get', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (272, 288, '弃用设备-设备数据备份列表', '/Data/BackUp', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (273, 288, '弃用设备-数倍数据备份PDF', '/Data/BackUp_PDF', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (274, 237, '弃用设备-传感器类型列表', '/DeviceSensorType/List_All', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (275, 273, '弃用设备-图表展示下载PDF', '/Data/ChartShow_PDF', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (276, 290, '弃用设备-同步主机参数', '/Device/Parameter_Sync', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (277, 296, '弃用设备-修改传感器参数', '/DeviceSensor/Edit', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (278, 248, '弃用设备-报警列表2', '/DeviceWarning/List2', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (279, 252, '弃用设备-报警列表2', '/DeviceWarning/List2', 'POST', 1);
+INSERT INTO `api` (`ID`, `t__menu__id`, `t_name`, `t_uri`, `t_method`, `t_enable`) VALUES (280, 253, '弃用设备-设备报警导出Excel2', '/DeviceWarning/ToExcel2', 'POST', 1);
+COMMIT;
+
+SET FOREIGN_KEY_CHECKS = 1;

+ 11 - 41
conf/app.conf

@@ -7,53 +7,23 @@ copyrequestbody = true
 Version = "/v3"
 
 # # Nats
-NatsServer_Url = "127.0.0.1:43422"
+NatsServer_Url = "203.34.49.130:4222"
 
 # Mysql
-MysqlServer_UrlPort = "127.0.0.1:40306"
+MysqlServer_UrlPort = "203.34.49.130:3306"
 MysqlServer_Database = "cold"
 MysqlServer_Username = "cold"
-MysqlServer_Password = "yjwyEckZS7rE5H!"
+MysqlServer_Password = "yjwyEckZS7rE5H"
 MysqlServer_MaxIdleConnections = 100
 MysqlServer_MaxOpenConnections = 200
 MysqlServer_Debug = true
 
 
 # Redis
-Redis_address = "127.0.0.1:43379"
-Redis_password = ""
+Redis_address = "203.34.49.130:6379"
+Redis_password = "redis_GGRi8f"
 Redis_dbNum = "1"
 
-# Nats
-# NatsServer_Url = "175.178.229.79:4222"
-#
-# # Mysql 线上
-# MysqlServer_UrlPort = "175.178.229.79:30306"
-# MysqlServer_Database = "cold"
-# MysqlServer_Username = "root"
-# MysqlServer_Password = "root"
-# MysqlServer_MaxIdleConnections = 100
-# MysqlServer_MaxOpenConnections = 200
-#
-# # Redis
-# Redis_address = "175.178.229.79:30379"
-# Redis_password = ""
-# Redis_dbNum = "1"
-
-# # Mysql
-# MysqlServer_UrlPort = "47.111.15.17:3360"
-# MysqlServer_Database = "cold"
-# MysqlServer_Username = "cold"
-# MysqlServer_Password = "W5kjJ66Zz3Pb4CdK"
-# MysqlServer_MaxIdleConnections = 100
-# MysqlServer_MaxOpenConnections = 200
-# MysqlServer_Debug = true
-#
-# # Redis
-# Redis_address = "47.111.15.17:6379"
-# Redis_password = ""
-# Redis_dbNum = "1"
-
 
 # 静态资源
 Qiniu_AccessKey = "-8ezB_d-8-eUFTMvhOGbGzgeQRPeKQnaQ3DBcUxo"
@@ -64,17 +34,17 @@ Qiniu_Url = "https://coldoss.coldbaozhida.com/"
 # Panel
 Panel_url = "http://127.0.0.1:6204/Cold_Panel"
 
+# 不验证登录的接口
 FilterExcludeURL = /Login_verification,/Data/List,/WxPay/Notify,/Data/Company_key_Device_Sensor_List,/docking/Real_Data,/docking/Note_Data,/Company/Transport/List,/DeviceSensor/List_BySN
-# 小程序 冷链验证 /Data/List
-# 小程序接口 /DeviceWarning/DeviceSensor_List,/Device/Applet_Stat_View2,/DeviceSensor/Applet_List_View1,/DeviceSensor/Applet_List_View2,/DeviceSensorType/List,/Device/DeviceTask_Post
+# 只验证登录不验证权限的接口
 FilterOnlyLoginCheckURL = /Menu/List,/User/Info,/User/Home,/User/Post,/UpFileToken,/User/WxQRCode,/Company/Get,/DataSource,/Company/Bill_Excel,/WarningSend/List,/WxPay/Get_QRCode,/WxPay/GetOrderState,/WarningHandle/List,/DeviceWarning/List_Count
 
 
-MqttIds = mqttjxit,mqttlodr,mqttyuht
-MqttServer_id = "mqttjxit"
+MqttIds = tmqttjxit
+MqttServer_id = "tmqttjxit"
 
 Weixin_PwdKey = "7Nt9sJb1Xy0PoQrEl3Df5Zv2Cg6AhRkT"
-Weixin_Notify = "https://cold.coldbaozhida.com/api/WxPay/Notify"
+Weixin_Notify = ""
 
 
 # 日志配置
@@ -91,5 +61,5 @@ slow_threshold = 200
 # 每个文件保存的最大行数
 maxlines = 10000
 
-# 使用新的告警查询方式
+# 使用新的告警查询方式,修改为true后弃用设备报禁信息将在弃用菜单内才能查询
 UseNewWarningQuery = false

+ 65 - 0
conf/app_prod.conf

@@ -0,0 +1,65 @@
+appname = Cold_Api
+HTTPPort = 6200
+runmode = prod
+EnableDocs = true
+copyrequestbody = true
+
+Version = "/v3"
+
+# # Nats
+NatsServer_Url = "127.0.0.1:43422"
+
+# Mysql
+MysqlServer_UrlPort = "127.0.0.1:40306"
+MysqlServer_Database = "cold"
+MysqlServer_Username = "cold"
+MysqlServer_Password = "yjwyEckZS7rE5H!"
+MysqlServer_MaxIdleConnections = 100
+MysqlServer_MaxOpenConnections = 200
+MysqlServer_Debug = true
+
+
+# Redis
+Redis_address = "127.0.0.1:43379"
+Redis_password = ""
+Redis_dbNum = "1"
+
+
+# 静态资源
+Qiniu_AccessKey = "-8ezB_d-8-eUFTMvhOGbGzgeQRPeKQnaQ3DBcUxo"
+Qiniu_SecretKey = "KFhkYxTAJ2ZPN3ZS3euTsfWk8-C92rKgkhAMkDRN"
+Qiniu_BUCKET = "coldoss"
+Qiniu_Url = "https://coldoss.coldbaozhida.com/"
+
+# Panel
+Panel_url = "http://127.0.0.1:6204/Cold_Panel"
+
+# 不验证登录的接口
+FilterExcludeURL = /Login_verification,/Data/List,/WxPay/Notify,/Data/Company_key_Device_Sensor_List,/docking/Real_Data,/docking/Note_Data,/Company/Transport/List,/DeviceSensor/List_BySN
+# 只验证登录不验证权限的接口
+FilterOnlyLoginCheckURL = /Menu/List,/User/Info,/User/Home,/User/Post,/UpFileToken,/User/WxQRCode,/Company/Get,/DataSource,/Company/Bill_Excel,/WarningSend/List,/WxPay/Get_QRCode,/WxPay/GetOrderState,/WarningHandle/List,/DeviceWarning/List_Count
+
+
+MqttIds = mqttjxit,mqttlodr,mqttyuht
+MqttServer_id = "mqttjxit"
+
+Weixin_PwdKey = "7Nt9sJb1Xy0PoQrEl3Df5Zv2Cg6AhRkT"
+Weixin_Notify = "https://cold.coldbaozhida.com/api/WxPay/Notify"
+
+
+# 日志配置
+# 0-控制台输出 1-文件输出 2-文件和控制台输出
+adapter_type = 0
+# 文件最多保存多少天
+maxdays = 7
+# 日志级别 (0-紧急 1-报警 2-严重错误 3-错误 4-警告 5-注意 6-信息 7-调试)
+level = 7
+# SQL日志级别 (1-静音 2-错误 3-警告 4-信息). 注意: sql日志只在level大于等于5级别才会输出。
+sqlloglevel = 4
+# 慢SQL阈值(毫秒)。慢SQL会在sqlloglevel大于等于3时输出。
+slow_threshold = 200
+# 每个文件保存的最大行数
+maxlines = 10000
+
+# 使用新的告警查询方式,修改为true后弃用设备报禁信息将在弃用菜单内才能查询
+UseNewWarningQuery = false

+ 209 - 0
conf/menu.sql

@@ -0,0 +1,209 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : cold_baota
+ Source Server Type    : MySQL
+ Source Server Version : 80025 (8.0.25-220701)
+ Source Host           : 127.0.0.1:40306
+ Source Schema         : cold
+
+ Target Server Type    : MySQL
+ Target Server Version : 80025 (8.0.25-220701)
+ File Encoding         : 65001
+
+ Date: 13/09/2024 09:22:26
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for menu
+-- ----------------------------
+DROP TABLE IF EXISTS `menu`;
+CREATE TABLE `menu` (
+  `ID` int NOT NULL AUTO_INCREMENT,
+  `t_mid` int DEFAULT NULL,
+  `t_name` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `t_permission` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `t_sort` int DEFAULT NULL,
+  `t_pid` int NOT NULL DEFAULT '0',
+  `t_icon` varchar(256) DEFAULT NULL,
+  `t__state` int NOT NULL DEFAULT '1',
+  `t_type` varchar(256) DEFAULT NULL,
+  PRIMARY KEY (`ID`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=297 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC;
+
+-- ----------------------------
+-- Records of menu
+-- ----------------------------
+BEGIN;
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (1, 0, '管理员管理', 'AdminManagement', 0, 0, 'icon-guanliyuan', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (2, 1, '权限管理', 'RightsManagement', 0, 0, 'icon-quanxianpeizhi', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (4, 2, '新增', 'Power:Add', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (5, 2, '编辑', 'Power:Edit', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (6, 2, '删除', 'Power:Del', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (7, 1, '报警预警', 'Warning', 0, 0, 'icon-baojing', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (8, 7, '批量处理', 'Warning:BatchHandle', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (9, 7, '处理', 'Warning:Handle', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (10, 7, '删除', 'Warning:Del', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (11, 7, '记录', 'Warning:Record', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (12, 1, '内部用户管理', 'Admin', 0, 0, 'icon-ic_user_zx', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (13, 12, '新增人员', 'Admin:Add', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (14, 12, '编辑', 'Admin:Edit', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (15, 12, '删除', 'Admin:Del', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (16, 12, '绑定', 'AdminCompany:Bind', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (17, 1, '设备版本升级管理', 'UpgradedVersion', 0, 0, 'icon-shengji', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (18, 17, '新增版本', 'Upgraded:Add', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (19, 17, '删除', 'Upgraded:Del', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (20, 0, '公司管理', 'companyManagement', 2, 0, 'icon-yonghu', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (21, 20, '公司管理', 'Company', 0, 0, 'icon-yonghu', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (22, 21, '新增公司\r', 'Company:Add', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (23, 21, '添加分公司\r', 'Company:Filiale', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (24, 21, '编辑\r', 'Company:Edit', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (25, 21, '删除\r', 'Company:Del', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (26, 21, '进入', 'Company:Visit', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (27, 20, '用户管理', 'userManagement', 0, 1, 'icon-User-f--', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (28, 27, '新增用户', 'User:Add', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (29, 27, '编辑', 'User:Edit', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (30, 27, '删除', 'User:Del', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (31, 0, '设备管理', 'equipmentManagement', 3, 1, 'icon-shebei', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (32, 31, '主机管理', 'management', 1, 1, 'icon-shebei', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (33, 32, '新增', 'Device:Add', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (34, 32, '主机设置', 'Device:Setup', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (35, 101, '主机参数记录', 'Device:ParameterList', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (36, 32, '设备设置', 'DeviceSensor:Setup', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (37, 36, '传感器参数', 'DeviceSensor:Parameter', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (38, 37, '立即配置', 'DeviceSensor:ParameterPu', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (39, 36, '传感器配置', 'DeviceSensor:Config', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (45, 37, '设备参数记录', 'DeviceSensor:ParameterList', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (46, 32, '主机日志', 'Device:Log', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (47, 32, '重启/关机', 'Device:RestartShutdown', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (48, 31, '设备报警', 'callthepolice', 3, 1, 'icon-baojing', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (49, 48, '批量处理', 'Device:Warning:DatchHandle', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (50, 48, '处理', 'Device:Warning:Handle', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (51, 48, '删除', 'Device:Warning:Del', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (52, 48, '记录', 'Device:Warning:Record', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (53, 48, '导出Excel', 'Device:Warning:Excel', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (54, 31, '设备分类', 'DeviceClass', 4, 1, 'icon-ziyuan', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (55, 54, '新增分类', 'DeviceClass:Add', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (56, 54, '编辑', 'DeviceClass:Edit', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (57, 54, '删除', 'DeviceClass:Del', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (58, 54, '绑定', 'DeviceClass:Bind', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (61, 31, '报警策略', 'WarningStrategy', 5, 1, 'icon-baojingjilu', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (62, 61, '新增策略', 'DeviceNotice:Add', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (63, 61, '编辑', 'DeviceNotice:Edit', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (64, 61, '删除', 'DeviceNotice:Del', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (65, 64, '绑定', 'DeviceNotice:Bind', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (68, 0, '数据展示', 'dataDisplay', 4, 1, 'icon--tubiao', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (69, 68, '实时数据', 'realtime', 0, 1, 'icon-zhexiantu', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (70, 68, '数据展示', 'dataShow', 0, 1, 'icon-shujukanban', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (71, 70, '导出Excel', 'dataShow:Excel', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (72, 70, '下载PDF', 'dataShow:PDF', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (73, 68, '图表展示', 'chartShow', 0, 1, 'icon-24gl-chartPie', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (74, 68, '轨迹展示', 'mapShow', 0, 1, 'icon-caidanlan-renshi-yuangongdingweiguiji', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (75, 68, '智慧大屏', 'Wisdomscreen', 0, 1, 'icon-zhushujushenqing-shujufenxi-02', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (76, 68, '平面图', 'floorplan', 0, 1, 'icon-xiangmupingmiantu', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (77, 68, '3D全景大屏', 'DataView3d', 0, 1, 'icon-3D', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (78, 0, '系统管理', 'systemManagement', 5, 0, 'icon-shezhi', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (79, 78, '工单系统', 'WorkOrderUser', 0, 1, 'icon-gongdanguanli', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (80, 79, '新增', 'WorkOrder:User:Add', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (81, 79, '查看', 'WorkOrder:User:Get', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (82, 79, '已解决', 'WorkOrder:User:Handle', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (83, 78, '工单系统(内部)', 'WorkOrder', 0, 0, 'icon-wodegongdan', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (84, 83, '查看', 'WorkOrder:Get', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (85, 83, '删除', 'WorkOrder:Del', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (86, 78, '个人信息', 'personal', 0, 0, 'icon-changyongxinxi', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (88, 78, '系统日志', 'logs', 0, 0, 'icon-gongdanguanli', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (89, 78, '操作日志', 'operation', 0, 0, 'icon-chaoqigongdan', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (90, 0, '工具箱', 'ToolSystem', 6, 0, 'icon-fenlei', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (91, 90, '订单管理', 'Theorder', 0, 1, 'icon-dingdanyichenggong', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (92, 91, '新增订单', 'GoodsOrder:Add', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (93, 91, '编辑', 'GoodsOrder:Edit', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (94, 91, '删除', 'GoodsOrder:Del', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (95, 91, 'PDF下载', 'GoodsOrder:Pdf', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (96, 90, '生成图表', 'generatechart', 0, 0, 'icon--tubiao', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (101, 34, '主机参数', 'Device:Parameter', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (102, 101, '立即配置', 'Device:ParameterPu', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (103, 34, '主机配置', 'Device:Config', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (106, 32, '远程启停', 'Device:StopRecord', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (108, 31, '设备管理', 'equipment', 2, 1, 'icon-shujukanban', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (109, 108, '报警范围', 'DeviceSensor:Warning', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (110, 108, '预警范围', 'DeviceSensor:Enprel', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (111, 108, '启/停', 'DeviceSensor:En', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (112, 108, '数据展示', 'DeviceSensor:Datashow', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (113, 32, '版本升级', 'Device:UpgradedVersion', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (114, 113, '立即升级', 'Device:ProductUpgrade_list', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (115, 0, '首页', 'home', -999, 0, 'icon-shouye', 2, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (116, 115, '工作台', 'workbench', 0, 0, 'icon-shouye', 2, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (117, 0, '流量池', 'Workbench:FlowPool', -999, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (118, 103, '立即配置', 'Device:Pu', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (119, 39, '立即配置', 'DeviceSensor:Pu', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (120, 108, '空库', 'DeviceSensor:Free', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (121, 70, '备份数据', 'dataShow:Backup', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (122, 1, '数据源管理', 'dataSource', 0, 0, 'icon-zhexiantu', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (123, 0, '小程序', 'Applet', -998, 0, NULL, 1, 'A');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (124, 21, '数字孪生', 'Company:DigitalTwin', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (125, 21, '报警统计', 'Company:Warning', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (126, 21, '充值', 'Company:Pay', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (127, 0, '绩效管理', 'PerfManagement', 1, 0, 'icon-24gl-chartPie', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (128, 127, '绩效管理', 'Perf', 0, 0, 'icon-yingyongbangding', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (129, 127, '我的绩效', 'MyPerf', 0, 0, 'icon-ziyuan', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (130, 20, '设备报警', 'companyCallthepolice', 3, 1, 'icon-baojing', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (131, 130, '批量处理', 'Company:Warning:DatchHandle', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (132, 130, '处理', 'Company:Warning:Handle', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (133, 130, '删除', 'Company:Warning:Del', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (134, 130, '记录', 'Company:Warning:Record', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (135, 130, '导出Excel', 'Company:Warning:Excel', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (136, 20, '实时数据', 'companyRealtime', 4, 1, 'icon-zhexiantu', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (137, 27, '绑定主机', 'User:BindDevice', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (214, 73, '下载PDF', 'chartShow:PDF', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (215, 21, '记账扣费', 'Company:Charging', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (216, 32, '同步参数', 'Device:SyncParameter', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (217, 108, '类型选择', 'DeviceSensor:TypeSelection', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (218, 90, '出入库管理平台', 'StockInOut', 0, 0, 'icon-chaoqigongdan', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (219, 90, '动环监控', 'MovingRingMonitoring', 0, 0, 'icon-fenlei', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (220, 90, '冷链物流运输', 'CCLogistic', NULL, 0, 'icon-a-011_lenglianyunshu', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (230, 0, '弃用设备', 'abandonDeviceEquipmentManagement', 3, 1, 'icon-qiyong', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (231, 230, '主机管理', 'abandonDeviceManagement', 1, 1, 'icon-shebei', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (232, 231, '新增', 'AbandonDevice:Add', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (233, 231, '主机设置', 'AbandonDevice:Setup', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (234, 233, '主机参数', 'AbandonDevice:Parameter', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (235, 234, '主机参数记录', 'AbandonDevice:ParameterList', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (236, 231, '设备设置', 'AbandonDeviceSensor:Setup', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (237, 236, '传感器参数', 'AbandonDeviceSensor:Parameter', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (238, 237, '立即配置', 'AbandonDeviceSensor:ParameterPu', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (239, 236, '传感器配置', 'AbandonDeviceSensor:Config', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (245, 237, '设备参数记录', 'AbandonDeviceSensor:ParameterList', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (246, 231, '主机日志', 'AbandonDevice:Log', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (247, 231, '重启/关机', 'AbandonDevice:RestartShutdown', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (248, 230, '设备报警', 'abandonDeviceCallthepolice', 3, 1, 'icon-baojing', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (249, 248, '批量处理', 'AbandonDevice:Warning:DatchHandle', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (250, 248, '处理', 'AbandonDevice:Warning:Handle', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (251, 248, '删除', 'AbandonDevice:Warning:Del', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (252, 248, '记录', 'AbandonDevice:Warning:Record', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (253, 248, '导出Excel', 'AbandonDevice:Warning:Excel', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (270, 230, '数据展示', 'abandonDeviceDataShow', 4, 1, 'icon-shujukanban', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (271, 270, '导出Excel', 'AbandonDeviceDataShow::Excel', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (272, 270, '下载PDF', 'AbandonDeviceDataShow::PDF', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (273, 230, '图表展示', 'abandonDeviceChartShow', 5, 1, 'icon-24gl-chartPie', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (280, 234, '立即配置', 'AbandonDevice:ParameterPu', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (281, 233, '主机配置', 'AbandonDevice:Config', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (282, 231, '远程启停', 'AbandonDevice:StopRecord', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (283, 230, '设备管理', 'abandonDeviceEquipment', 2, 1, 'icon-shujukanban', 1, 'M');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (284, 231, '版本升级', 'AbandonDevice:UpgradedVersion', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (285, 281, '立即配置', 'AbandonDevice:Pu', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (286, 239, '立即配置', 'AbandonDeviceSensor:Pu', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (287, 283, '空库', 'AbandonDeviceSensor:Free', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (288, 270, '备份数据', 'AbandonDeviceDataShow::Backup', 0, 0, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (289, 273, '下载PDF', 'AbandonDeviceChartShow:PDF', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (290, 231, '同步参数', 'AbandonDevice:SyncParameter', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (291, 284, '立即升级', 'AbandonDevice:ProductUpgrade_list', 0, 1, NULL, 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (292, 283, '报警范围', 'AbandonDeviceSensor:Warning', 0, 1, '', 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (293, 283, '预警范围', 'AbandonDeviceSensor:Enprel', 0, 1, '', 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (294, 283, '启/停', 'AbandonDeviceSensor:En', 0, 1, '', 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (295, 283, '数据展示', 'AbandonDeviceSensor:Datashow', 0, 1, '', 1, 'B');
+INSERT INTO `menu` (`ID`, `t_mid`, `t_name`, `t_permission`, `t_sort`, `t_pid`, `t_icon`, `t__state`, `t_type`) VALUES (296, 283, '类型选择', 'AbandonDeviceSensor:TypeSelection', 0, 1, '', 1, 'B');
+COMMIT;
+
+SET FOREIGN_KEY_CHECKS = 1;

+ 57 - 0
conf/product_type.sql

@@ -0,0 +1,57 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : cold_baota
+ Source Server Type    : MySQL
+ Source Server Version : 80025 (8.0.25-220701)
+ Source Host           : 127.0.0.1:40306
+ Source Schema         : cold
+
+ Target Server Type    : MySQL
+ Target Server Version : 80025 (8.0.25-220701)
+ File Encoding         : 65001
+
+ Date: 13/09/2024 09:22:45
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for product_type
+-- ----------------------------
+DROP TABLE IF EXISTS `product_type`;
+CREATE TABLE `product_type` (
+  `ID` int NOT NULL AUTO_INCREMENT,
+  `t_name` varchar(256) DEFAULT NULL,
+  `t_model` varchar(256) DEFAULT NULL,
+  PRIMARY KEY (`ID`)
+) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- ----------------------------
+-- Records of product_type
+-- ----------------------------
+BEGIN;
+INSERT INTO `product_type` (`ID`, `t_name`, `t_model`) VALUES (1, '验证工具LoRa', 'M1');
+INSERT INTO `product_type` (`ID`, `t_name`, `t_model`) VALUES (2, 'YZ100N', 'YZ100N');
+INSERT INTO `product_type` (`ID`, `t_name`, `t_model`) VALUES (3, 'YZ200G', 'YZ200G');
+INSERT INTO `product_type` (`ID`, `t_name`, `t_model`) VALUES (4, '库房采集器(高配版)RS485(NB-Iot)', 'KF100N');
+INSERT INTO `product_type` (`ID`, `t_name`, `t_model`) VALUES (5, '库房采集器(标准版)RS485', 'KF100B');
+INSERT INTO `product_type` (`ID`, `t_name`, `t_model`) VALUES (6, '库房采集器(黑白版)RS485', 'KF200L');
+INSERT INTO `product_type` (`ID`, `t_name`, `t_model`) VALUES (7, '冰箱采集器(数码管版)4G-Cat.1', 'BX200GSE');
+INSERT INTO `product_type` (`ID`, `t_name`, `t_model`) VALUES (8, '冰箱采集器(黑白版)4G-Cat.1', 'BX200GBL');
+INSERT INTO `product_type` (`ID`, `t_name`, `t_model`) VALUES (9, '保温箱采集器V14G-Cat.1', 'BW100');
+INSERT INTO `product_type` (`ID`, `t_name`, `t_model`) VALUES (10, '运输采集器V14G-Cat.1/GPS', 'YD100');
+INSERT INTO `product_type` (`ID`, `t_name`, `t_model`) VALUES (11, '保温箱采集器V24G-Cat.1', 'BW200');
+INSERT INTO `product_type` (`ID`, `t_name`, `t_model`) VALUES (12, '运输采集器V2	4G-Cat.1/GPS', 'YD200');
+INSERT INTO `product_type` (`ID`, `t_name`, `t_model`) VALUES (13, '新管理主机TCP/4G/WiFi (旧)', 'MD100');
+INSERT INTO `product_type` (`ID`, `t_name`, `t_model`) VALUES (14, '小管理主机4G-Cat.1/RS485', 'MD200G');
+INSERT INTO `product_type` (`ID`, `t_name`, `t_model`) VALUES (15, '市电报警器', 'MP200G');
+INSERT INTO `product_type` (`ID`, `t_name`, `t_model`) VALUES (16, '冰箱采集器(移动端版)', 'BX100');
+INSERT INTO `product_type` (`ID`, `t_name`, `t_model`) VALUES (17, '库房采集器(移动端版)', 'KF100');
+INSERT INTO `product_type` (`ID`, `t_name`, `t_model`) VALUES (18, '冰箱采集器(wifi版)', 'BX100W');
+INSERT INTO `product_type` (`ID`, `t_name`, `t_model`) VALUES (19, '新管理主机TCP/4G/WiFi ', 'MD300G');
+INSERT INTO `product_type` (`ID`, `t_name`, `t_model`) VALUES (20, '温湿度记录仪WiFi', 'KF200W');
+COMMIT;
+
+SET FOREIGN_KEY_CHECKS = 1;

+ 69 - 0
conf/warning_type.sql

@@ -0,0 +1,69 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : cold_baota
+ Source Server Type    : MySQL
+ Source Server Version : 80025 (8.0.25-220701)
+ Source Host           : 127.0.0.1:40306
+ Source Schema         : cold
+
+ Target Server Type    : MySQL
+ Target Server Version : 80025 (8.0.25-220701)
+ File Encoding         : 65001
+
+ Date: 13/09/2024 09:26:47
+*/
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for warning_type
+-- ----------------------------
+DROP TABLE IF EXISTS `warning_type`;
+CREATE TABLE `warning_type` (
+  `ID` int NOT NULL AUTO_INCREMENT,
+  `t_name` varchar(256) DEFAULT NULL,
+  `t__tips` longtext,
+  `t__notice` int NOT NULL DEFAULT '0',
+  PRIMARY KEY (`ID`)
+) ENGINE=InnoDB AUTO_INCREMENT=1015 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- ----------------------------
+-- Records of warning_type
+-- ----------------------------
+BEGIN;
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (1, '温度超上限报警', '温度超上限报警,1,1,0,0,99999,0,0,0,0,0,0,0,0,1,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (2, '温度超下限报警', '温度超下限报警,1,1,0,0,99999,0,0,0,0,0,0,0,0,1,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (3, '温度恢复正常', '温度恢复正常,0,1,0,0,99999,0,0,0,0,0,0,0,0,1,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (4, '湿度超上限报警', '湿度超上限报警,1,1,0,0,99999,0,0,0,0,0,0,0,0,1,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (5, '湿度超下限报警', '湿度超下限报警,1,1,0,0,99999,0,0,0,0,0,0,0,0,1,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (6, '湿度恢复正常', '湿度恢复正常,0,1,0,0,99999,0,0,0,0,0,0,0,0,1,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (7, '温度超上限预警', '温度超上限预警,0,1,0,0,99999,0,0,0,0,0,0,0,0,0,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (8, '温度超下限预警', '温度超下限预警,0,1,0,0,99999,0,0,0,0,0,0,0,0,0,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (9, '温度预警恢复正常', '温度预警恢复正常,0,1,0,0,99999,0,0,0,0,0,0,0,0,0,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (10, '湿度超上限预警', '湿度超上限预警,0,1,0,0,99999,0,0,0,0,0,0,0,0,0,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (11, '湿度超下限预警', '湿度超下限预警,0,1,0,0,99999,0,0,0,0,0,0,0,0,0,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (12, '湿度预警恢复正常', '湿度预警恢复正常,0,1,0,0,99999,0,0,0,0,0,0,0,0,0,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (101, '主机报警', '主机报警,0,1,0,0,99999,0,0,0,0,0,0,0,0,0,0,0,0|', 0);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (102, '操作日志', '操作日志,0,1,0,0,99999,0,0,0,0,0,0,0,0,0,0,0,0|', 0);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (103, '普通日志', '普通日志,0,1,0,0,99999,0,0,0,0,0,0,0,0,0,0,0,0|', 0);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (109, '市电断电报警', '市电断电报警,0,1,0,0,99999,0,0,0,0,0,0,0,0,0,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (110, '市电已恢复', '市电已恢复,0,1,0,0,99999,0,0,0,0,0,0,0,0,0,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (111, '电池电量低报警', '电池电量低报警,0,1,0,0,99999,0,0,0,0,0,0,0,0,0,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (112, '电池电量恢复', '电池电量恢复,0,1,0,0,99999,0,0,0,0,0,0,0,0,0,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (113, '传感器故障报警', '传感器故障报警,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (114, '传感器恢复', '传感器恢复,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (115, '开始监测任务', '开始监测任务,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (116, '中途打印任务', '中途打印任务,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (117, '结束监测任务', '结束监测任务,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (1001, '设备状态异常', '设备状态异常,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (1002, '用户余额通知', '用户余额通知,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (1003, '用户消息通知', '用户消息通知,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0|', 1);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (1011, '报警策略异常', '报警策略异常,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0|', 0);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (1012, '传感器数据异常', '传感器数据异常,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0|', 0);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (1013, '系统预警通知', '系统预警通知,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0|', 0);
+INSERT INTO `warning_type` (`ID`, `t_name`, `t__tips`, `t__notice`) VALUES (1014, '运维预警通知', '运维预警通知,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0|', 0);
+COMMIT;
+
+SET FOREIGN_KEY_CHECKS = 1;

+ 2 - 0
controllers/Device.go

@@ -221,6 +221,8 @@ func (c *DeviceController) Device_Edit() {
 	if CalibrationTime_is {
 		Device_r.T_CalibrationTime = CalibrationTime
 		clos = append(clos, "T_CalibrationTime")
+		// 同步冷链验证校准到期时间
+		NatsServer.Update_Task_BySN(T_SN, CalibrationTime)
 	}
 
 	// 巡检时间