Ver Fonte

V1.3.2
1、添加了对MySQL的兼容

Apple há 2 semanas atrás
pai
commit
9411c2b524

+ 1 - 1
SQL/ACAServer.sql

@@ -1,4 +1,4 @@
--- Active: 1752718919967@@192.1.2.61@5236@EQM_CESHI
+-- Active: 1756343447531@@192.1.2.49@32124@eqm
 
 
 #对比项

+ 39 - 1
SQL/CreateProcedures.sqlbook

@@ -1,5 +1,6 @@
 -- SQLBook: Code
--- Active: 1752920752747@@192.1.2.61@5236@EQM_CESHI
+-- Active: 1756343447531@@192.1.2.49@32124@eqm
+-- Active: 1756343447531@@192.1.2.49@32124@eqm_ceshi
 #写入报警数据库的存储过程
 
 -- 达梦数据库
@@ -84,3 +85,40 @@ END
 END PROCEDURE
 
 
+#MySQL版
+DELIMITER $$
+CREATE PROCEDURE ACAS_InsertTwoAlarmInfo(
+    IN itemID1 INT, IN itemName1 VARCHAR(100), IN alarmType1 INT,
+    IN soundCardName1 VARCHAR(100), IN soundCardPCMName1 VARCHAR(100),
+    IN compareRoadNum1 INT, IN compareRoadName1 VARCHAR(100), IN compareRoadType1 INT,
+    IN alarmStartTime1 VARCHAR(32), IN alarmEndTime1 VARCHAR(32), IN alarmDuration1 INT,
+    IN alarmFilePath1 VARCHAR(255), IN fileAlarmStartPos1 INT, IN fileState1 INT,
+    IN itemID2 INT, IN itemName2 VARCHAR(100), IN alarmType2 INT,
+    IN soundCardName2 VARCHAR(100), IN soundCardPCMName2 VARCHAR(100),
+    IN compareRoadNum2 INT, IN compareRoadName2 VARCHAR(100), IN compareRoadType2 INT,
+    IN alarmStartTime2 VARCHAR(32), IN alarmEndTime2 VARCHAR(32), IN alarmDuration2 INT,
+    IN alarmFilePath2 VARCHAR(255), IN fileAlarmStartPos2 INT, IN fileState2 INT
+)
+BEGIN
+    DECLARE pkid INT;
+
+    INSERT INTO tACAAlarmInfo (
+        ItemID, ItemName, AlarmType, SoundCardName, SoundCardPCMName, CompareRoadNum, CompareRoadName, CompareRoadType,
+        AlarmStartTime, AlarmEndTime, AlarmDuration, AlarmFilePath, FileAlarmStartPos, FileState
+    ) VALUES (
+        itemID1, itemName1, alarmType1, soundCardName1, soundCardPCMName1, compareRoadNum1, compareRoadName1, compareRoadType1,
+        alarmStartTime1, alarmEndTime1, alarmDuration1, alarmFilePath1, fileAlarmStartPos1, fileState1
+    );
+
+    SET pkid = LAST_INSERT_ID();
+
+    INSERT INTO tACAAlarmInfo (
+        ItemID, ItemName, AlarmType, SoundCardName, SoundCardPCMName, CompareRoadNum, CompareRoadName, CompareRoadType,
+        AlarmStartTime, AlarmEndTime, AlarmDuration, AlarmFilePath, FileAlarmStartPos, MainRoadPKID, FileState
+    ) VALUES (
+        itemID2, itemName2, alarmType2, soundCardName2, soundCardPCMName2, compareRoadNum2, compareRoadName2, compareRoadType2,
+        alarmStartTime2, alarmEndTime2, alarmDuration2, alarmFilePath2, fileAlarmStartPos2, pkid, fileState2
+    );
+END $$
+DELIMITER ;
+

+ 157 - 0
SQL/CreateTable-MySQL.sqlbook

@@ -0,0 +1,157 @@
+-- SQLBook: Code
+-- Active: 1756343447531@@192.1.2.49@32124@eqm
+-- Active: 1756343447531@@192.1.2.49@32124@eqm_ceshi
+
+#存储对比项的表格 tACACompareItems
+#对比项的对比通道表 tACACompareItemRoad
+
+#创建 tACACompareItems
+CREATE TABLE tACACompareItems (
+    ItemID INT PRIMARY KEY AUTO_INCREMENT COMMENT '对比项ID',
+    ItemName VARCHAR(64) NOT NULL COMMENT '对比项名称',
+    ItemEnable TINYINT(1) NOT NULL DEFAULT 1 COMMENT '对比项是否启用',
+    RoadCount INT DEFAULT 0 COMMENT '对比通道数',
+    SilentEnable TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否启用静音',
+    SilentThreshold INT DEFAULT 0 COMMENT '静音阈值',
+    SilentDuration INT DEFAULT 0 COMMENT '静音持续时间',
+    SilentSensitivity INT DEFAULT 0 COMMENT '静音灵敏度',
+    OverloadEnable TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否启用过载',
+    OverloadThreshold INT DEFAULT 0 COMMENT '过载阈值',
+    OverloadDuration INT DEFAULT 0 COMMENT '过载持续时间',
+    OverloadSensitivity INT DEFAULT 0 COMMENT '过载灵敏度',
+    PhaseEnable TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否启用反相',
+    PhaseThreshold DOUBLE DEFAULT 0 COMMENT '反相阈值',
+    PhaseDuration INT DEFAULT 0 COMMENT '反相持续时间',
+    PhaseSensitivity INT DEFAULT 0 COMMENT '反相灵敏度'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='ACA对比项表';
+
+
+-- SQLBook: Code
+-- Active: 1756343447531@@192.1.2.49@32124@eqm
+-- Active: 1756343447531@@192.1.2.49@32124@eqm_ceshi
+
+#删除 tACACompareItems
+DROP TABLE IF EXISTS tACACompareItems;
+
+#删除 tACACompareItemRoad
+DROP TABLE IF EXISTS tACACompareItemRoad;
+
+#删除 tACASystemConfig
+DROP TABLE IF EXISTS tACASystemConfig;
+
+#删除 tACADetectPeriod
+DROP TABLE IF EXISTS tACADetectPeriod;
+
+#删除 tACAAlarmInfo
+DROP TABLE IF EXISTS tACAAlarmInfo;
+
+#删除 tACARecordFile
+DROP TABLE IF EXISTS tACARecordFile;
+
+#删除 tACASoundCardPCMChannels
+DROP TABLE IF EXISTS tACASoundCardPCMChannels;
+-- SQLBook: Code
+
+#创建 tACACompareItemRoad
+#这里设置了级联删除,当 tACACompareItems 表中的某个对比项被删除时,tACACompareItemRoad 中对应的通道也会被删除。
+CREATE TABLE tACACompareItemRoad (
+    ItemID INT NOT NULL COMMENT '对比项ID',
+    RoadNum INT NOT NULL COMMENT '通道编号,1是主通道,其他对比通道依次向后排',
+    RoadName VARCHAR(64) NOT NULL COMMENT '通道名称',
+    RoadRecordEnable TINYINT(1) NOT NULL DEFAULT 1 COMMENT '通道录音是否启用',
+    SoundCardName VARCHAR(64) COMMENT '声卡名称',
+    SoundCardPCMName VARCHAR(64) NOT NULL DEFAULT '0' COMMENT '声卡PCM通道名称,使用这个名称打开录音',
+    ChannelID INT COMMENT '频道ID',
+    ChannelName VARCHAR(64) COMMENT '频道名称',
+    PRIMARY KEY (ItemID, RoadNum),
+    FOREIGN KEY (ItemID) REFERENCES tACACompareItems(ItemID) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='对比项通道表';
+
+-- SQLBook: Code
+#创建ACA的系统配置表,使用Key获取存储的值,值内容是一个JOSN字符串
+CREATE TABLE tACASystemConfig (
+    PKID INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
+    ConfigKey VARCHAR(64) NOT NULL UNIQUE COMMENT '配置键',
+    ConfigValue TEXT NOT NULL COMMENT '配置值,存储为JSON字符串',
+    UpdateTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '配置更新时间',
+    ConfigDesc VARCHAR(256) COMMENT '配置描述'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='ACA系统配置表';
+-- SQLBook: Code
+#创建检测计划表格
+CREATE TABLE tACADetectPeriod (
+    ItemID INT NOT NULL COMMENT '对比项ID',
+    IsDetect TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否检测,1表示检测日期,0表示非检测日期',
+    WeekType INT NOT NULL COMMENT '检测计划的星期,1-7表示周一到周日,8表示特殊日期,也就是非检测日',
+    CDate VARCHAR(32) COMMENT '检测计划的日期',
+    TimeStart VARCHAR(32) NOT NULL COMMENT '检测计划的开始时间',
+    TimeEnd VARCHAR(32) NOT NULL COMMENT '检测计划的结束时间',
+    ApplySlient TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否应用静音检测',
+    ApplyOverload TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否应用超载检测',
+    ApplyPhase TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否应用反相检测',
+    ApplyNoise TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否应用噪音检测',
+    FOREIGN KEY (ItemID) REFERENCES tACACompareItems(ItemID) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='检测计划表';
+
+CREATE INDEX idx_tACADetectPeriod_ItemID ON tACADetectPeriod (ItemID);
+-- SQLBook: Code
+
+#创建报警记录表
+CREATE TABLE tACAAlarmInfo (
+    PKID INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
+    ItemID INT NOT NULL COMMENT '对比项ID',
+    ItemName VARCHAR(64) NOT NULL COMMENT '对比项名称',
+    AlarmType INT NOT NULL COMMENT '报警类型,1-静音,2-过载,3-反相,4-不一致,5-噪音',
+    SoundCardName VARCHAR(64) COMMENT '声卡名称',
+    SoundCardPCMName VARCHAR(64) NOT NULL COMMENT '声卡PCM通道名称',
+    CompareRoadNum INT NOT NULL COMMENT '对比通道编号',
+    CompareRoadName VARCHAR(64) COMMENT '对比通道名称',
+    CompareRoadType INT COMMENT '通道类型:1、主输出,2、空收,3、主输出空收',
+    AlarmStartTime TIMESTAMP(6) COMMENT '报警开始时间 (格式:YYYY-MM-DD HH:MM:SS)',
+    AlarmEndTime TIMESTAMP(6) COMMENT '报警结束时间 (格式:YYYY-MM-DD HH:MM:SS)',
+    AlarmDuration INT COMMENT '报警持续时间(秒数)',
+    AlarmFilePath VARCHAR(256) COMMENT '报警录音文件路径',
+    FileAlarmStartPos INT COMMENT '在报警录音文件中报警开始的时间',
+    MainRoadPKID INT COMMENT '主通道的PKID',
+    FileState INT DEFAULT 0 COMMENT '报警文件状态,1-录音中,2-已录音,3-已删除'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='ACA报警记录表';
+
+CREATE INDEX idx_tACAAlarmInfo_ItemID ON tACAAlarmInfo (ItemID);
+CREATE INDEX idx_tACAAlarmInfo_AlarmType ON tACAAlarmInfo (AlarmType);
+CREATE INDEX idx_tACAAlarmInfo_CompareRoadNum ON tACAAlarmInfo (CompareRoadNum);
+CREATE INDEX idx_tACAAlarmInfo_AlarmStartTime ON tACAAlarmInfo (AlarmStartTime);
+CREATE INDEX idx_tACAAlarmInfo_AlarmEndTime ON tACAAlarmInfo (AlarmEndTime);
+-- SQLBook: Code
+#创建记录录音文件的表格
+CREATE TABLE tACARecordFile (
+    PKID INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
+    ItemID INT NOT NULL COMMENT '对比项ID',
+    ItemName VARCHAR(64) NOT NULL COMMENT '对比项名称',
+    ItemRoadNum INT NOT NULL COMMENT '通道编号',
+    ItemRoadName VARCHAR(64) NOT NULL COMMENT '通道名称',
+    SoundCardName VARCHAR(64) NOT NULL COMMENT '声卡名称',
+    SoundCardPCMName VARCHAR(64) NOT NULL COMMENT '声卡PCM通道编号',
+    FileStartTime TIMESTAMP(6) NOT NULL COMMENT '录音开始时间 (格式:YYYY-MM-DD HH:MM:SS)',
+    FileEndTime TIMESTAMP(6) NOT NULL COMMENT '录音结束时间 (格式: YYYY-MM-DD HH:MM:SS)',
+    FileDuration INT NOT NULL COMMENT '录音文件持续时间(秒数)',
+    FilePath VARCHAR(256) NOT NULL COMMENT '录音文件路径',
+    FileState INT DEFAULT 0 COMMENT '录音文件状态,0-未知状态,1-正在录音,2-录音完成,3-文件已删除'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='ACA录音文件记录表';
+
+CREATE INDEX idx_tACARecordFile_ItemID ON tACARecordFile (ItemID);
+CREATE INDEX idx_tACARecordFile_ItemRoadNum ON tACARecordFile (ItemRoadNum);
+CREATE INDEX idx_tACARecordFile_FileStartTime ON tACARecordFile (FileStartTime);
+CREATE INDEX idx_tACARecordFile_FileEndTime ON tACARecordFile (FileEndTime);
+CREATE INDEX idx_tACARecordFile_FileDuration ON tACARecordFile (FileDuration);
+-- SQLBook: Code
+-- Active: 1756343447531@@192.1.2.49@32124@eqm
+-- Active: 1756343447531@@192.1.2.49@32124@mysql
+#创建存储声卡PCM通道的表格
+CREATE TABLE tACASoundCardPCMChannels (
+    PKID INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
+    SoundCardName VARCHAR(64) NOT NULL COMMENT '声卡名称',
+    PCMName VARCHAR(64) NOT NULL COMMENT 'PCM通道名称',
+    PCMDesc VARCHAR(256) NOT NULL COMMENT 'PCM通道描述',
+    IOID VARCHAR(32) COMMENT '输入输出标识,表示这个PCM通道是输入还是输出',
+    SoundCardNum INT COMMENT '声卡编号',
+    SoundCardRoadNum INT COMMENT '声卡通道编号'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='存储声卡PCM通道信息的表格';

+ 1 - 1
SettingLibrary/setinfomanager.cpp

@@ -196,7 +196,7 @@ void SetInfoManager::setDefaultCompareItem()
     defaultItem.paramOverload.isEnable = true;          // 过载检测默认开启
     defaultItem.paramOverload.threshold.nThreshold = 4; // 过载检测默认
     defaultItem.paramOverload.nLen = 30;                // 过载检测默认长度
-    defaultItem.paramOverload.nSensitivity = 20;        // 过载检测
+    defaultItem.paramOverload.nSensitivity = 22;        // 过载检测
 
     defaultItem.paramPhase.isEnable = true;             // 反相检测默认开启
     defaultItem.paramPhase.threshold.dThreshold = 0.75; // 反相检测默认阈值

+ 2 - 1
show1/widget.cpp

@@ -33,7 +33,8 @@ Widget::Widget(QWidget *parent) :
     initData.strWebAddr = "http://192.1.3.133:31000/v6/";
 
     // initData.strDBID = "cf6b57fa3d9841e22c3c897e6b8e66b8";       /* 达梦数据库 */
-    initData.strDBID = "3b8889a0d58b8d71affc04bc27d14e42";          /* GBase */
+    // initData.strDBID = "3b8889a0d58b8d71affc04bc27d14e42";          /* GBase */
+    initData.strDBID = "a75e46623562077b76334a2e02616747";       /* MySQL */
 
     DoInit(&initData);
     // 创建窗口