HM-SPMS/platform/common/database/initscript/iscs6000_func_MySQL.sql

9202 lines
499 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TI_ACCUML
AFTER INSERT
ON accuml FOR EACH ROW
BEGIN
/*
* 触发器命名规则
* 命名规则,数据库表格:数据库名.表名,小写
* 局部变量驼峰写法,
* 列名:大写加下划线
*/
/*
* 生成Acc后,
* 1,自动生成Acc_limit_info的记录,
* 2,ANALOG_MAP_TO_FES中添加一条记录
*/
IF COALESCE(NEW.IS_LIMIT,0) <> 0 THEN
IF COALESCE(NEW.POINT_TP_NAME,'') = '' THEN
INSERT INTO accuml_limit_info (
TAG_NAME, LOCATION_ID, SUB_SYSTEM, LIMIT_TYPE, LIMIT_NUM, LIMIT_UP1, LIMIT_LOW1, LIMIT_UP2, LIMIT_LOW2, LIMIT_UP3, LIMIT_LOW3, CROSS_PERCENT, RETURN_PERCENT, CROSS_TIME, ALARM_PRIORITY, PIC_NAME, ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, POINT_TP_NAME)
VALUES (
NEW.TAG_NAME, NEW.LOCATION_ID, NEW.SUB_SYSTEM, '1', '1', 0, 0, 0, 0, 0, 0, 5, 5, 0, 1, '', 5, 0, 1, 0, 0, NEW.POINT_TP_NAME
);
ELSE
INSERT INTO accuml_limit_info (
TAG_NAME, LOCATION_ID, SUB_SYSTEM, LIMIT_TYPE, LIMIT_NUM, LIMIT_UP1, LIMIT_LOW1, LIMIT_UP2, LIMIT_LOW2, LIMIT_UP3, LIMIT_LOW3, CROSS_PERCENT, RETURN_PERCENT, CROSS_TIME, ALARM_PRIORITY, PIC_NAME, ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, POINT_TP_NAME) SELECT
NEW.TAG_NAME, NEW.LOCATION_ID, NEW.SUB_SYSTEM, LIMIT_TYPE, LIMIT_NUM, LIMIT_UP1, LIMIT_LOW1, LIMIT_UP2, LIMIT_LOW2, LIMIT_UP3, LIMIT_LOW3, CROSS_PERCENT, RETURN_PERCENT, 0, ALARM_PRIORITY, '', ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, NEW.POINT_TP_NAME
FROM accuml_temp_define WHERE TAG_NAME=NEW.POINT_TP_NAME ;
END IF;
END IF;
IF COALESCE(NEW.IS_SAMPLE,0) <> 0 THEN
INSERT INTO sample_define (
TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, DEVICE_TAG, POINT_TYPE, SAMPLE_PERIOD, SAMPLE_DEADBAND, VALUE, STATUS, UPDATE_TIME) VALUES
( NEW.TAG_NAME, NEW.DESCRIPTION, NEW.LOCATION_ID, NEW.SUB_SYSTEM, NEW.DEVICE, NEW.POINT_TYPE, NEW.SAMPLE_PERIOD,NEW.SAMPLE_DEADBAND, 0, 0, 0 );
END IF;
IF COALESCE(NEW.POINT_TP_NAME,'') = '' THEN
INSERT INTO accuml_map_to_fes (
KEY_ID_TAG, LOCATION_ID, SUB_SYSTEM, RTU_TAG, DOT_NO, BASE, COEFF, RANGE_UP, RANGE_LOW, IS_FILTER, PERCENT, DEV_TYPE, POINT_TP_NAME, DESCRIPTION)
VALUES (
concat('accuml' , '.' , NEW.TAG_NAME), NEW.LOCATION_ID, NEW.SUB_SYSTEM, NEW.RTU_TAG , '-1', '0', '1',99999999999999.9, 0, 1, 20, NEW.DEV_TYPE,NEW.POINT_TP_NAME,NEW.DESCRIPTION
);
ELSE
INSERT INTO accuml_map_to_fes (
KEY_ID_TAG, LOCATION_ID, SUB_SYSTEM, RTU_TAG, DOT_NO, BASE, COEFF, RANGE_UP, RANGE_LOW, IS_FILTER, PERCENT, DEV_TYPE, POINT_TP_NAME, DESCRIPTION)
SELECT
concat('accuml' , '.' , NEW.TAG_NAME), NEW.LOCATION_ID, NEW.SUB_SYSTEM, NEW.RTU_TAG , '-1', '0', '1', RANGE_UP,RANGE_LOW, IS_FILTER, PERCENT, NEW.DEV_TYPE,NEW.POINT_TP_NAME,NEW.DESCRIPTION
FROM accuml_temp_define WHERE TAG_NAME=NEW.POINT_TP_NAME;
END IF;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'accuml', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('accuml'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TU_ACCUML
AFTER UPDATE
ON accuml FOR EACH ROW
BEGIN
#limit变不limit
IF COALESCE(OLD.IS_LIMIT,0) != 0 AND COALESCE(NEW.IS_LIMIT,0) = 0
THEN
BEGIN
DELETE FROM accuml_limit_info WHERE TAG_NAME=OLD.TAG_NAME;
END;
#limit变limit
ELSEIF COALESCE(OLD.IS_LIMIT,0) = 0 AND COALESCE(NEW.IS_LIMIT,0) != 0
THEN
BEGIN
IF COALESCE(NEW.POINT_TP_NAME,'') = '' THEN
INSERT INTO accuml_limit_info (
TAG_NAME, LOCATION_ID, SUB_SYSTEM, LIMIT_TYPE, LIMIT_NUM, LIMIT_UP1, LIMIT_LOW1, LIMIT_UP2, LIMIT_LOW2, LIMIT_UP3, LIMIT_LOW3, CROSS_PERCENT, RETURN_PERCENT, CROSS_TIME, ALARM_PRIORITY, PIC_NAME, ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, POINT_TP_NAME)
VALUES (
NEW.TAG_NAME, NEW.LOCATION_ID, NEW.SUB_SYSTEM, '1', '1', 0, 0, 0, 0, 0, 0, 5, 5, 0, 1, '', 5, 0, 1, 0, 0, NEW.POINT_TP_NAME
);
ELSE
INSERT INTO accuml_limit_info (
TAG_NAME, LOCATION_ID, SUB_SYSTEM, LIMIT_TYPE, LIMIT_NUM, LIMIT_UP1, LIMIT_LOW1, LIMIT_UP2, LIMIT_LOW2, LIMIT_UP3, LIMIT_LOW3, CROSS_PERCENT, RETURN_PERCENT, CROSS_TIME, ALARM_PRIORITY, PIC_NAME, ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, POINT_TP_NAME) SELECT
NEW.TAG_NAME, NEW.LOCATION_ID, NEW.SUB_SYSTEM, LIMIT_TYPE, LIMIT_NUM, LIMIT_UP1, LIMIT_LOW1, LIMIT_UP2, LIMIT_LOW2, LIMIT_UP3, LIMIT_LOW3, CROSS_PERCENT, RETURN_PERCENT, 0, ALARM_PRIORITY, '', ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, NEW.POINT_TP_NAME
FROM accuml_temp_define WHERE TAG_NAME=NEW.POINT_TP_NAME ;
END IF;
END;
#limit表
ELSE
BEGIN
IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.LOCATION_ID <> OLD.LOCATION_ID OR NEW.SUB_SYSTEM<>OLD.SUB_SYSTEM OR NEW.POINT_TP_NAME <> OLD.POINT_TP_NAME
THEN
BEGIN
UPDATE accuml_limit_info
SET
accuml_limit_info.TAG_NAME = NEW.TAG_NAME,
accuml_limit_info.LOCATION_ID = NEW.LOCATION_ID,
accuml_limit_info.SUB_SYSTEM = NEW.SUB_SYSTEM,
accuml_limit_info.POINT_TP_NAME = NEW.POINT_TP_NAME
WHERE accuml_limit_info.TAG_NAME = OLD.TAG_NAME;
END;
END IF;
END;
END IF;
#sample变成不采样
IF COALESCE(OLD.IS_SAMPLE,0) != 0 AND COALESCE(NEW.IS_SAMPLE,0) = 0
THEN
BEGIN
DELETE FROM sample_define WHERE TAG_NAME= OLD.TAG_NAME ;
END;
#
ELSEIF COALESCE(OLD.IS_SAMPLE,0) = 0 AND COALESCE(NEW.IS_SAMPLE,0) != 0
THEN
BEGIN
INSERT INTO sample_define (
TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, DEVICE_TAG, POINT_TYPE, SAMPLE_PERIOD, SAMPLE_DEADBAND, VALUE, STATUS, UPDATE_TIME) VALUES
(NEW.TAG_NAME, NEW.DESCRIPTION, NEW.LOCATION_ID, NEW.SUB_SYSTEM, NEW.DEVICE, NEW.POINT_TYPE, NEW.SAMPLE_PERIOD,NEW.SAMPLE_DEADBAND, 0, 0, 0 );
END;
#
ELSE
BEGIN
IF NEW.TAG_NAME<>OLD.TAG_NAME OR NEW.DESCRIPTION<>OLD.DESCRIPTION OR NEW.LOCATION_ID<>OLD.LOCATION_ID OR NEW.SUB_SYSTEM<>OLD.SUB_SYSTEM
OR NEW.DEVICE<>OLD.DEVICE OR NEW.POINT_TYPE<>OLD.POINT_TYPE OR NEW.SAMPLE_PERIOD<>OLD.SAMPLE_PERIOD OR NEW.SAMPLE_DEADBAND<>OLD.SAMPLE_DEADBAND
THEN
BEGIN
UPDATE sample_define
SET
sample_define.TAG_NAME = NEW.TAG_NAME ,
sample_define.DESCRIPTION = NEW.DESCRIPTION ,
sample_define.LOCATION_ID = NEW.LOCATION_ID ,
sample_define.SUB_SYSTEM = NEW.SUB_SYSTEM ,
sample_define.DEVICE_TAG = NEW.DEVICE,
sample_define.POINT_TYPE = NEW.POINT_TYPE ,
sample_define.SAMPLE_PERIOD = NEW.SAMPLE_PERIOD ,
sample_define.SAMPLE_DEADBAND = NEW.SAMPLE_DEADBAND
WHERE TAG_NAME= OLD.TAG_NAME;
END;
END IF;
END;
END IF;
IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.LOCATION_ID <> OLD.LOCATION_ID OR NEW.SUB_SYSTEM <> OLD.SUB_SYSTEM OR NEW.RTU_TAG <> OLD.RTU_TAG
OR NEW.DEV_TYPE <> OLD.DEV_TYPE OR NEW.POINT_TP_NAME <> OLD.POINT_TP_NAME OR NEW.DESCRIPTION <> OLD.DESCRIPTION
THEN
BEGIN
UPDATE accuml_map_to_fes SET
KEY_ID_TAG = concat('accuml' , '.' , NEW.TAG_NAME),
LOCATION_ID =NEW.LOCATION_ID,
SUB_SYSTEM = NEW.SUB_SYSTEM,
RTU_TAG = NEW.RTU_TAG,
DEV_TYPE = NEW.DEV_TYPE,
POINT_TP_NAME = NEW.POINT_TP_NAME,
DESCRIPTION = NEW.DESCRIPTION
WHERE KEY_ID_TAG=concat('accuml' , '.' , OLD.TAG_NAME) ;
END;
END IF;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'accuml', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('accuml'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TD_ACCUML
BEFORE DELETE
ON accuml FOR EACH ROW
BEGIN
IF COALESCE(OLD.IS_LIMIT,0) <> 0
THEN
DELETE FROM accuml_limit_info WHERE TAG_NAME=OLD.TAG_NAME ;
END IF;
IF COALESCE(OLD.IS_SAMPLE,0) <> 0
THEN
DELETE FROM sample_define WHERE TAG_NAME= OLD.TAG_NAME ;
END IF;
DELETE FROM accuml_map_to_fes WHERE KEY_ID_TAG=concat('accuml' , '.' , OLD.TAG_NAME);
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_ACCUML` AFTER DELETE ON `accuml` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'accuml', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('accuml'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_ACS_DEVICE_INFO` AFTER INSERT ON `acs_device_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'acs_device_info', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('acs_device_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_ACS_DEVICE_INFO` AFTER UPDATE ON `acs_device_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'acs_device_info', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('acs_device_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_ACS_DEVICE_INFO` AFTER DELETE ON `acs_device_info` FOR EACH ROW BEGIN
delete from acs_device_node_map where ACS_DEVICE_TAG = old.TAG_NAME;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'acs_device_info', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('acs_device_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_ACS_DEVICE_NODE_MAP` AFTER INSERT ON `acs_device_node_map` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'acs_device_node_map', 'NODE_NAME', '', NEW.NODE_NAME, getTableSubSystem('acs_device_node_map'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_ACS_DEVICE_NODE_MAP` AFTER UPDATE ON `acs_device_node_map` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'acs_device_node_map', 'NODE_NAME', OLD.NODE_NAME, NEW.NODE_NAME, getTableSubSystem('acs_device_node_map'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_ACS_DEVICE_NODE_MAP` AFTER DELETE ON `acs_device_node_map` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'acs_device_node_map', 'NODE_NAME', OLD.NODE_NAME, '', getTableSubSystem('acs_device_node_map'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_ALARM_ACTION_DEFINE` AFTER INSERT ON `alarm_action_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'alarm_action_define', 'action_id', '', NEW.ACTION_ID, getTableSubSystem('alarm_action_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_ALARM_ACTION_DEFINE` AFTER UPDATE ON `alarm_action_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'alarm_action_define', 'action_id', OLD.ACTION_ID, NEW.ACTION_ID, getTableSubSystem('alarm_action_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_ALARM_ACTION_DEFINE` AFTER DELETE ON `alarm_action_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'alarm_action_define', 'action_id', OLD.ACTION_ID, '', getTableSubSystem('alarm_action_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_ALARM_KEYWORD_DEFINE` AFTER INSERT ON `alarm_keyword_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'alarm_keyword_define', 'keyword_id', '', NEW.KEYWORD_ID, getTableSubSystem('alarm_keyword_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_ALARM_KEYWORD_DEFINE` AFTER UPDATE ON `alarm_keyword_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'alarm_keyword_define', 'keyword_id', OLD.KEYWORD_ID, NEW.KEYWORD_ID, getTableSubSystem('alarm_keyword_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_ALARM_KEYWORD_DEFINE` AFTER DELETE ON `alarm_keyword_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'alarm_keyword_define', 'keyword_id', OLD.KEYWORD_ID, '', getTableSubSystem('alarm_keyword_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_ALARM_LEVEL_DEFINE` AFTER INSERT ON `alarm_level_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'alarm_level_define', 'priority_id', '', NEW.PRIORITY_ID, getTableSubSystem('alarm_level_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_ALARM_LEVEL_DEFINE` AFTER UPDATE ON `alarm_level_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'alarm_level_define', 'priority_id', OLD.PRIORITY_ID, NEW.PRIORITY_ID, getTableSubSystem('alarm_level_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_ALARM_LEVEL_DEFINE` AFTER DELETE ON `alarm_level_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'alarm_level_define', 'priority_id', OLD.PRIORITY_ID, '', getTableSubSystem('alarm_level_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_ALARM_LEVEL_SOUND_DEF` AFTER INSERT ON `alarm_level_sound_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'alarm_level_sound_def', 'priority_id,region_id', '', concat(NEW.PRIORITY_ID,',',NEW.REGION_ID), getTableSubSystem('alarm_level_sound_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_ALARM_LEVEL_SOUND_DEF` AFTER UPDATE ON `alarm_level_sound_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'alarm_level_sound_def', 'priority_id,region_id', concat(OLD.PRIORITY_ID,',',OLD.REGION_ID), concat(NEW.PRIORITY_ID,',',NEW.REGION_ID), getTableSubSystem('alarm_level_sound_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_ALARM_LEVEL_SOUND_DEF` AFTER DELETE ON `alarm_level_sound_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'alarm_level_sound_def', 'priority_id,region_id', concat(OLD.PRIORITY_ID,',',OLD.REGION_ID), '', getTableSubSystem('alarm_level_sound_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_ALARM_MANNER_DEFINE` AFTER INSERT ON `alarm_manner_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'alarm_manner_define', 'manner_id', '', NEW.MANNER_ID, getTableSubSystem('alarm_manner_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_ALARM_MANNER_DEFINE` AFTER UPDATE ON `alarm_manner_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'alarm_manner_define', 'manner_id', OLD.MANNER_ID, NEW.MANNER_ID, getTableSubSystem('alarm_manner_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_ALARM_MANNER_DEFINE` AFTER DELETE ON `alarm_manner_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'alarm_manner_define', 'manner_id', OLD.MANNER_ID, '', getTableSubSystem('alarm_manner_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_ALARM_STATUS_DEFINE` AFTER INSERT ON `alarm_status_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'alarm_status_define', 'alarm_type,status_value', '', concat(NEW.ALARM_TYPE,',',NEW.STATUS_VALUE), getTableSubSystem('alarm_status_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_ALARM_STATUS_DEFINE` AFTER UPDATE ON `alarm_status_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'alarm_status_define', 'alarm_type,status_value', concat(OLD.ALARM_TYPE,',',OLD.STATUS_VALUE), concat(NEW.ALARM_TYPE,',',NEW.STATUS_VALUE), getTableSubSystem('alarm_status_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_ALARM_STATUS_DEFINE` AFTER DELETE ON `alarm_status_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'alarm_status_define', 'alarm_type,status_value', concat(OLD.ALARM_TYPE,',',OLD.STATUS_VALUE), '', getTableSubSystem('alarm_status_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_ALARM_TYPE_DEFINE` AFTER INSERT ON `alarm_type_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'alarm_type_define', 'type_id', '', NEW.TYPE_ID, getTableSubSystem('alarm_type_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_ALARM_TYPE_DEFINE` AFTER UPDATE ON `alarm_type_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'alarm_type_define', 'type_id', OLD.TYPE_ID, NEW.TYPE_ID, getTableSubSystem('alarm_type_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_ALARM_TYPE_DEFINE` AFTER DELETE ON `alarm_type_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'alarm_type_define', 'type_id', OLD.TYPE_ID, '', getTableSubSystem('alarm_type_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TI_ANALOG
AFTER INSERT
ON analog FOR EACH ROW
BEGIN
IF COALESCE(NEW.IS_CONTROL,0) <> 0
THEN
IF COALESCE(NEW.POINT_TP_NAME,'') = '' THEN
INSERT INTO analog_control(
TAG_NAME, LOCATION_ID, SUB_SYSTEM, CTRL_TYPE, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, BASE, COEFF, RANGE_UP, RANGE_LOW, CTRL_TOLERANCE, RTU_TAG, OFFSET_NO, CTRL_ALIAS, POINT_TP_NAME)
values (
NEW.TAG_NAME, NEW.LOCATION_ID, NEW.SUB_SYSTEM,0, 1, 30, 30, 0, 1, 9999999.9, 0, 0.01, NEW.RTU_TAG, '-1', '', NEW.POINT_TP_NAME
);
ELSE
INSERT INTO analog_control(
TAG_NAME, LOCATION_ID, SUB_SYSTEM, CTRL_TYPE, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, BASE, COEFF, RANGE_UP, RANGE_LOW, CTRL_TOLERANCE, RTU_TAG, OFFSET_NO, CTRL_ALIAS, POINT_TP_NAME) SELECT
NEW.TAG_NAME, NEW.LOCATION_ID, NEW.SUB_SYSTEM,CTRL_TYPE, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, BASE, COEFF, RANGE_UP, RANGE_LOW, CTRL_TOLERANCE, NEW.RTU_TAG, '-1', '', NEW.POINT_TP_NAME
FROM analog_temp_define WHERE TAG_NAME=NEW.POINT_TP_NAME;
END IF;
END IF;
IF COALESCE(NEW.IS_LIMIT,0) <> 0
THEN
IF COALESCE(NEW.POINT_TP_NAME,'') = '' THEN
INSERT INTO analog_limit_info (
TAG_NAME, LOCATION_ID, SUB_SYSTEM, LIMIT_TYPE, LIMIT_NUM, LIMIT_UP1, LIMIT_LOW1, LIMIT_UP2, LIMIT_LOW2, LIMIT_UP3, LIMIT_LOW3, CROSS_PERCENT, RETURN_PERCENT, CROSS_TIME, ALARM_PRIORITY, PIC_NAME, ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, POINT_TP_NAME)
VALUES (
NEW.TAG_NAME, NEW.LOCATION_ID, NEW.SUB_SYSTEM, 1, 0, 0, 0, 0, 0, 0, 0, 5, 5, 0, 1, '', 5, 0, 1, 0, 0, NEW.POINT_TP_NAME
);
ELSE
INSERT INTO analog_limit_info (
TAG_NAME, LOCATION_ID, SUB_SYSTEM, LIMIT_TYPE, LIMIT_NUM, LIMIT_UP1, LIMIT_LOW1, LIMIT_UP2, LIMIT_LOW2, LIMIT_UP3, LIMIT_LOW3, CROSS_PERCENT, RETURN_PERCENT, CROSS_TIME, ALARM_PRIORITY, PIC_NAME, ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, POINT_TP_NAME) SELECT
NEW.TAG_NAME, NEW.LOCATION_ID, NEW.SUB_SYSTEM, LIMIT_TYPE, LIMIT_NUM, LIMIT_UP1, LIMIT_LOW1, LIMIT_UP2, LIMIT_LOW2, LIMIT_UP3, LIMIT_LOW3, CROSS_PERCENT, RETURN_PERCENT, 0, ALARM_PRIORITY, '', ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, NEW.POINT_TP_NAME
FROM analog_temp_define WHERE TAG_NAME=NEW.POINT_TP_NAME ;
END IF;
END IF;
IF COALESCE(NEW.IS_SAMPLE,0) <> 0
THEN
INSERT INTO sample_define (
TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, DEVICE_TAG, POINT_TYPE, SAMPLE_PERIOD, SAMPLE_DEADBAND, VALUE, STATUS, UPDATE_TIME) VALUES
( NEW.TAG_NAME, NEW.DESCRIPTION, NEW.LOCATION_ID, NEW.SUB_SYSTEM, NEW.DEVICE, NEW.POINT_TYPE, NEW.SAMPLE_PERIOD,NEW.SAMPLE_DEADBAND, 0, 0, 0 );
END IF;
IF COALESCE(NEW.POINT_TP_NAME,'') = '' THEN
INSERT INTO analog_map_to_fes (
KEY_ID_TAG, LOCATION_ID, SUB_SYSTEM, DEV_TYPE, POINT_TP_NAME, RTU_TAG, DOT_NO, IS_FILTER, PERCENT, IS_VALID, DEADBAND, ZEROBAND, BASE, COEFF, RANGE_UP, RANGE_LOW, DESCRIPTION)
VALUES (
concat('analog' , '.' , NEW.TAG_NAME), NEW.LOCATION_ID, NEW.SUB_SYSTEM, NEW.DEV_TYPE, NEW.POINT_TP_NAME, NEW.RTU_TAG, '-1', 1, 20, 1, 0.01, 0.0001, 0, 1, 9999999.9, 0, NEW.DESCRIPTION
);
ELSE
INSERT INTO analog_map_to_fes (
KEY_ID_TAG, LOCATION_ID, SUB_SYSTEM, DEV_TYPE, POINT_TP_NAME, RTU_TAG, DOT_NO, IS_FILTER, PERCENT, IS_VALID, DEADBAND, ZEROBAND, BASE, COEFF, RANGE_UP, RANGE_LOW, DESCRIPTION)
SELECT
concat('analog' , '.' , NEW.TAG_NAME), NEW.LOCATION_ID, NEW.SUB_SYSTEM, NEW.DEV_TYPE, NEW.POINT_TP_NAME, NEW.RTU_TAG, '-1', IS_FILTER, PERCENT, IS_VALID, DEADBAND, ZEROBAND, BASE, COEFF, RANGE_UP, RANGE_LOW, NEW.DESCRIPTION
FROM analog_temp_define WHERE TAG_NAME=NEW.POINT_TP_NAME;
END IF;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'analog', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('analog'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TU_ANALOG
AFTER UPDATE
ON analog FOR EACH ROW
BEGIN
IF COALESCE(OLD.IS_CONTROL,0) != 0 AND COALESCE(NEW.IS_CONTROL,0) = 0
THEN
BEGIN
DELETE FROM analog_control WHERE TAG_NAME=OLD.TAG_NAME;
DELETE FROM opt_interlock_para WHERE TAG_NAME=OLD.TAG_NAME;
END;
ELSEIF COALESCE(OLD.IS_CONTROL,0) = 0 AND COALESCE(NEW.IS_CONTROL,0) != 0
THEN
BEGIN
IF COALESCE(NEW.POINT_TP_NAME,'') = '' THEN
INSERT INTO analog_control(
TAG_NAME, LOCATION_ID, SUB_SYSTEM, CTRL_TYPE, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, BASE, COEFF, RANGE_UP, RANGE_LOW, CTRL_TOLERANCE, RTU_TAG, OFFSET_NO, CTRL_ALIAS, POINT_TP_NAME)
values (
NEW.TAG_NAME, NEW.LOCATION_ID, NEW.SUB_SYSTEM,0, 1, 30, 30, 0, 1, 9999999.9, 0, 0.01, NEW.RTU_TAG, '-1', '', NEW.POINT_TP_NAME
);
ELSE
INSERT INTO analog_control(
TAG_NAME, LOCATION_ID, SUB_SYSTEM, CTRL_TYPE, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, BASE, COEFF, RANGE_UP, RANGE_LOW, CTRL_TOLERANCE, RTU_TAG, OFFSET_NO, CTRL_ALIAS, POINT_TP_NAME) SELECT
NEW.TAG_NAME, NEW.LOCATION_ID, NEW.SUB_SYSTEM,CTRL_TYPE, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, BASE, COEFF, RANGE_UP, RANGE_LOW, CTRL_TOLERANCE, NEW.RTU_TAG, '-1', '', NEW.POINT_TP_NAME
FROM analog_temp_define WHERE TAG_NAME=NEW.POINT_TP_NAME;
END IF;
END;
ELSE
BEGIN
IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.LOCATION_ID <> OLD.LOCATION_ID OR NEW.SUB_SYSTEM <> OLD.SUB_SYSTEM OR NEW.POINT_TP_NAME <> OLD.POINT_TP_NAME
OR NEW.RTU_TAG <> OLD.RTU_TAG
THEN
UPDATE analog_control
SET
analog_control.TAG_NAME = NEW.TAG_NAME,
analog_control.LOCATION_ID = NEW.LOCATION_ID,
analog_control.SUB_SYSTEM = NEW.SUB_SYSTEM,
analog_control.POINT_TP_NAME = NEW.POINT_TP_NAME,
analog_control.RTU_TAG = NEW.RTU_TAG
WHERE analog_control.TAG_NAME = OLD.TAG_NAME;
END IF;
END;
END IF;
IF COALESCE(OLD.IS_LIMIT,0) != 0 AND COALESCE(NEW.IS_LIMIT,0) = 0
THEN
BEGIN
DELETE FROM analog_limit_info WHERE TAG_NAME=OLD.TAG_NAME;
END;
ELSEIF COALESCE(OLD.IS_LIMIT,0) = 0 AND COALESCE(NEW.IS_LIMIT,0) != 0
THEN
BEGIN
IF COALESCE(NEW.POINT_TP_NAME,'') = '' THEN
INSERT INTO analog_limit_info (
TAG_NAME, LOCATION_ID, SUB_SYSTEM, LIMIT_TYPE, LIMIT_NUM, LIMIT_UP1, LIMIT_LOW1, LIMIT_UP2, LIMIT_LOW2, LIMIT_UP3, LIMIT_LOW3, CROSS_PERCENT, RETURN_PERCENT, CROSS_TIME, ALARM_PRIORITY, PIC_NAME, ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, POINT_TP_NAME)
VALUES (
NEW.TAG_NAME, NEW.LOCATION_ID, NEW.SUB_SYSTEM, 1, 0, 0, 0, 0, 0, 0, 0, 5, 5, 0, 1, '', 5, 0, 1, 0, 0, NEW.POINT_TP_NAME
);
ELSE
INSERT INTO analog_limit_info (
TAG_NAME, LOCATION_ID, SUB_SYSTEM, LIMIT_TYPE, LIMIT_NUM, LIMIT_UP1, LIMIT_LOW1, LIMIT_UP2, LIMIT_LOW2, LIMIT_UP3, LIMIT_LOW3, CROSS_PERCENT, RETURN_PERCENT, CROSS_TIME, ALARM_PRIORITY, PIC_NAME, ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, POINT_TP_NAME) SELECT
NEW.TAG_NAME, NEW.LOCATION_ID, NEW.SUB_SYSTEM, LIMIT_TYPE, LIMIT_NUM, LIMIT_UP1, LIMIT_LOW1, LIMIT_UP2, LIMIT_LOW2, LIMIT_UP3, LIMIT_LOW3, CROSS_PERCENT, RETURN_PERCENT, 0, ALARM_PRIORITY, '', ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, NEW.POINT_TP_NAME
FROM analog_temp_define WHERE TAG_NAME=NEW.POINT_TP_NAME ;
END IF;
END;
ELSE
BEGIN
IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.LOCATION_ID <> OLD.LOCATION_ID OR NEW.SUB_SYSTEM <> OLD.SUB_SYSTEM OR NEW.POINT_TP_NAME <> OLD.POINT_TP_NAME
THEN
UPDATE analog_limit_info SET
analog_limit_info.TAG_NAME = NEW.TAG_NAME ,
analog_limit_info.LOCATION_ID = NEW.LOCATION_ID ,
analog_limit_info.SUB_SYSTEM = NEW.SUB_SYSTEM ,
analog_limit_info.POINT_TP_NAME = NEW.POINT_TP_NAME
WHERE analog_limit_info.TAG_NAME = OLD.TAG_NAME;
END IF;
END;
END IF;
IF COALESCE(OLD.IS_SAMPLE,0) != 0 AND COALESCE(NEW.IS_SAMPLE,0) = 0
THEN
BEGIN
DELETE FROM sample_define WHERE TAG_NAME= OLD.TAG_NAME ;
END;
ELSEIF COALESCE(OLD.IS_SAMPLE,0) = 0 AND COALESCE(NEW.IS_SAMPLE,0) != 0
THEN
BEGIN
INSERT INTO sample_define (
TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, DEVICE_TAG, POINT_TYPE, SAMPLE_PERIOD, SAMPLE_DEADBAND, VALUE, STATUS, UPDATE_TIME) VALUES
( NEW.TAG_NAME, NEW.DESCRIPTION, NEW.LOCATION_ID, NEW.SUB_SYSTEM, NEW.DEVICE, NEW.POINT_TYPE, NEW.SAMPLE_PERIOD,NEW.SAMPLE_DEADBAND, 0, 0, 0 );
END;
ELSE
BEGIN
IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.DESCRIPTION <> OLD.DESCRIPTION OR NEW.LOCATION_ID <> OLD.LOCATION_ID OR NEW.SUB_SYSTEM <> OLD.SUB_SYSTEM
OR NEW.DEVICE <> OLD.DEVICE OR NEW.POINT_TYPE <> OLD.POINT_TYPE OR NEW.SAMPLE_PERIOD <> OLD.SAMPLE_PERIOD OR NEW.SAMPLE_DEADBAND <> OLD.SAMPLE_DEADBAND
THEN
UPDATE sample_define
SET
sample_define.TAG_NAME = NEW.TAG_NAME ,
sample_define.DESCRIPTION = NEW.DESCRIPTION ,
sample_define.LOCATION_ID = NEW.LOCATION_ID ,
sample_define.SUB_SYSTEM = NEW.SUB_SYSTEM ,
sample_define.DEVICE_TAG = NEW.DEVICE,
sample_define.POINT_TYPE = NEW.POINT_TYPE ,
sample_define.SAMPLE_PERIOD = NEW.SAMPLE_PERIOD ,
sample_define.SAMPLE_DEADBAND = NEW.SAMPLE_DEADBAND
WHERE TAG_NAME= OLD.TAG_NAME;
END IF;
END;
END IF;
IF NEW.TAG_NAME <> OLD.TAG_NAME OR NEW.LOCATION_ID <> OLD.LOCATION_ID OR NEW.SUB_SYSTEM <> OLD.SUB_SYSTEM OR NEW.DEV_TYPE <> OLD.DEV_TYPE
OR NEW.RTU_TAG <> OLD.RTU_TAG OR NEW.POINT_TYPE <> OLD.POINT_TYPE OR NEW.POINT_TP_NAME <> OLD.POINT_TP_NAME OR NEW.DESCRIPTION <> OLD.DESCRIPTION
THEN
UPDATE analog_map_to_fes SET
KEY_ID_TAG = concat('analog' , '.' , NEW.TAG_NAME),
LOCATION_ID =NEW.LOCATION_ID,
SUB_SYSTEM = NEW.SUB_SYSTEM,
DEV_TYPE = NEW.DEV_TYPE,
POINT_TP_NAME = NEW.POINT_TP_NAME,
RTU_TAG = NEW.RTU_TAG,
DESCRIPTION = NEW.DESCRIPTION
WHERE KEY_ID_TAG=concat('analog' , '.' , OLD.TAG_NAME) ;
END IF;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'analog', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('analog'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TD_ANALOG
BEFORE DELETE
ON analog FOR EACH ROW
BEGIN
IF COALESCE(OLD.IS_CONTROL,0) <> 0
THEN
DELETE FROM analog_control WHERE TAG_NAME=OLD.TAG_NAME ;
END IF;
IF COALESCE(OLD.IS_LIMIT,0) <> 0
THEN
DELETE FROM analog_limit_info WHERE TAG_NAME=OLD.TAG_NAME ;
END IF;
IF COALESCE(OLD.IS_SAMPLE,0) <> 0
THEN
DELETE FROM sample_define WHERE TAG_NAME= OLD.TAG_NAME ;
END IF;
DELETE FROM analog_map_to_fes WHERE KEY_ID_TAG=concat('analog' , '.' , OLD.TAG_NAME) ;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_ANALOG` AFTER DELETE ON `analog` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'analog', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('analog'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_BAS_CRAFT_DEF` AFTER INSERT ON `bas_craft_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'bas_craft_def', 'id', '', NEW.ID, getTableSubSystem('bas_craft_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_BAS_CRAFT_DEF` AFTER UPDATE ON `bas_craft_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'bas_craft_def', 'id', OLD.ID, NEW.ID, getTableSubSystem('bas_craft_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_BAS_CRAFT_DEF` AFTER DELETE ON `bas_craft_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'bas_craft_def', 'id', OLD.ID, '', getTableSubSystem('bas_craft_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_BAS_MODE_DEF` AFTER INSERT ON `bas_mode_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'bas_mode_def', 'id,location_id,craft_id,mode_no', '', concat(NEW.ID,',',NEW.LOCATION_ID,',',NEW.CRAFT_ID,',',NEW.MODE_NO), getTableSubSystem('bas_mode_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_BAS_MODE_DEF` AFTER UPDATE ON `bas_mode_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'bas_mode_def', 'id,location_id,craft_id,mode_no', concat(OLD.ID,',',OLD.LOCATION_ID,',',OLD.CRAFT_ID,',',OLD.MODE_NO), concat(NEW.ID,',',NEW.LOCATION_ID,',',NEW.CRAFT_ID,',',NEW.MODE_NO), getTableSubSystem('bas_mode_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_BAS_MODE_DEF` AFTER DELETE ON `bas_mode_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'bas_mode_def', 'id,location_id,craft_id,mode_no', concat(OLD.ID,',',OLD.LOCATION_ID,',',OLD.CRAFT_ID,',',OLD.MODE_NO), '', getTableSubSystem('bas_mode_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_BAS_MODE_TYPE` AFTER INSERT ON `bas_mode_type` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'bas_mode_type', 'id', '', NEW.ID, getTableSubSystem('bas_mode_type'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_BAS_MODE_TYPE` AFTER UPDATE ON `bas_mode_type` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'bas_mode_type', 'id', OLD.ID, NEW.ID, getTableSubSystem('bas_mode_type'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_BAS_MODE_TYPE` AFTER DELETE ON `bas_mode_type` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'bas_mode_type', 'id', OLD.ID, '', getTableSubSystem('bas_mode_type'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_DEV_GROUP` AFTER INSERT ON `dev_group` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'dev_group', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('dev_group'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TUA_DEV_GROUP
AFTER UPDATE
ON dev_group FOR EACH ROW
BEGIN
IF NEW.TAG_NAME <> OLD.TAG_NAME THEN
BEGIN
UPDATE dev_info SET GROUP_TAG_NAME = NEW.TAG_NAME WHERE GROUP_TAG_NAME = OLD.TAG_NAME;
END;
END IF;
IF NEW.RTU_NO <> COALESCE(OLD.RTU_NO,-1) THEN
BEGIN
DECLARE rtuTag varchar(64) DEFAULT '';
SELECT TAG_NAME INTO rtuTag FROM fes_rtu_para WHERE fes_rtu_para.RTU_NO = NEW.RTU_NO;
UPDATE accuml,dev_info SET accuml.RTU_TAG = rtuTag WHERE dev_info.GROUP_TAG_NAME = NEW.TAG_NAME AND accuml.DEVICE = dev_info.TAG_NAME;
UPDATE analog,dev_info SET analog.RTU_TAG = rtuTag WHERE dev_info.GROUP_TAG_NAME = NEW.TAG_NAME AND analog.DEVICE = dev_info.TAG_NAME;
UPDATE digital,dev_info SET digital.RTU_TAG = rtuTag WHERE dev_info.GROUP_TAG_NAME = NEW.TAG_NAME AND digital.DEVICE = dev_info.TAG_NAME;
UPDATE mix,dev_info SET mix.RTU_TAG = rtuTag WHERE dev_info.GROUP_TAG_NAME = NEW.TAG_NAME AND mix.DEVICE = dev_info.TAG_NAME;
END;
END IF;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'dev_group', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('dev_group'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TDA_DEV_GROUP
AFTER DELETE
ON dev_group FOR EACH ROW
BEGIN
DELETE FROM dev_info WHERE GROUP_TAG_NAME = OLD.TAG_NAME;
#
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'dev_group', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('dev_group'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TI_DEV_INFO
AFTER INSERT
ON dev_info FOR EACH ROW
BEGIN
INSERT INTO accuml(
TAG_NAME, DESCRIPTION, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, RTU_TAG, GRAY, CONTRAST, QCOLOR, RAW_VALUE, VALUE, STATUS, LAST_UPDATE_TIME, LAST_CHANGE_TIME, UNIT_ID, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, REGION_ID, OPT_HANDOVER_GROUP, IS_LIMIT, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, DEV_TYPE, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, SAMPLE_DEADBAND, CAMERA_TAG, PRESET_ID) SELECT
concat(NEW.TAG_NAME, '.' , getAfterLastDot(TAG_NAME)),DESCRIPTION, NEW.TAG_NAME,SEQ_NO, NEW.LOCATION_ID, NEW.SUB_SYSTEM, '', NEW.GRAY, NEW.CONTRAST, NEW.QCOLOR,'0', NEW.VALUE, NEW.STATUS, 0, 0, UNIT_ID, '', '', '', NEW.REGION_ID, NEW.OPT_HANDOVER_GROUP, IS_LIMIT, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, NEW.DEV_TYPE, TAG_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, SAMPLE_DEADBAND, '', ''
FROM accuml_temp_define WHERE DEV_TP_NAME=NEW.DEV_TP_NAME;
INSERT INTO analog(
TAG_NAME, DESCRIPTION, RTU_TAG, DEV_TYPE, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, IS_CONTROL,GRAY, CONTRAST, QCOLOR, VALUE, STATUS, LAST_UPDATE_TIME, LAST_CHANGE_TIME, UNIT_ID, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, REGION_ID, OPT_HANDOVER_GROUP, IS_LIMIT, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, SAMPLE_DEADBAND, CAMERA_TAG, PRESET_ID) SELECT
concat(NEW.TAG_NAME, '.' , getAfterLastDot(TAG_NAME)), DESCRIPTION , '', NEW.DEV_TYPE,NEW.TAG_NAME,SEQ_NO, NEW.LOCATION_ID,NEW.SUB_SYSTEM,IS_CONTROL,NEW.GRAY,NEW.CONTRAST,NEW.QCOLOR,NEW.VALUE,NEW.STATUS,'0', '0', UNIT_ID, '', '', '', NEW.REGION_ID,NEW.OPT_HANDOVER_GROUP,IS_LIMIT, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, TAG_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, SAMPLE_DEADBAND, '', ''
FROM analog_temp_define WHERE DEV_TP_NAME=NEW.DEV_TP_NAME;
INSERT INTO digital(
TAG_NAME, DESCRIPTION, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, RTU_TAG, IS_CONTROL, STATE_TEXT_NAME, VALUE_NUM, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, LAST_UPDATE_TIME, VALUE1, STATUS1, LAST_CHANGE_TIME1, VALUE2, STATUS2, LAST_CHANGE_TIME2, VALUE3, STATUS3, LAST_CHANGE_TIME3, VALUE4, STATUS4, LAST_CHANGE_TIME4, VALUE5, STATUS5, LAST_CHANGE_TIME5, ALARM_PRIORITY, PIC_NAME, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, ALARM_DELAY_TIME,INPUT_DELAY_TIME, IS_WATER_ALM,IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TYPE, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, IS_ALARM_FREQ, ALARM_FREQ, ALARM_FREQ_DESC, IS_ALARM_TIME, ALARM_TIME, ALARM_TIME_DESC, ALARM_FREQ_RANGE, INFER_NAME, POINT_TYPE,POINT_CLASS, POINT_PROPERTY, POINT_SORT, CAMERA_TAG, PRESET_ID ) SELECT
concat(NEW.TAG_NAME, '.' , getAfterLastDot(TAG_NAME)),DESCRIPTION, NEW.TAG_NAME,SEQ_NO, NEW.LOCATION_ID,NEW.SUB_SYSTEM,'', IS_CONTROL, STATE_TEXT_NAME, VALUE_NUM, NEW.GRAY,NEW.CONTRAST,NEW.QCOLOR,NEW.VALUE,NEW.STATUS,'0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', ALARM_PRIORITY, '', '', '', '', ALARM_DELAY_TIME,INPUT_DELAY_TIME, IS_WATER_ALM,IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, NEW.REGION_ID,NEW.OPT_HANDOVER_GROUP,IS_SUMMARY, NEW.SUMMARY_VALUE,NEW.SUMMARY_STATUS,NEW.DEV_TYPE,TAG_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, IS_ALARM_FREQ, ALARM_FREQ, ALARM_FREQ_DESC, IS_ALARM_TIME, ALARM_TIME, ALARM_TIME_DESC, ALARM_FREQ_RANGE, '', POINT_TYPE,POINT_CLASS, POINT_PROPERTY, POINT_SORT, '', ''
FROM digital_temp_define WHERE DEV_TP_NAME=NEW.DEV_TP_NAME;
INSERT INTO mix(
TAG_NAME, DESCRIPTION, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, RTU_TAG, IS_CONTROL, STATE_TEXT_NAME, GRAY, CONTRAST, QCOLOR, RAW_VALUE, VALUE, STATUS, LAST_UPDATE_TIME, LAST_CHANGE_TIME, METHOD, ALARM_PRIORITY, PIC_NAME, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, ALARM_DELAY_TIME, IS_WATER_ALM,IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TYPE, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, POINT_TYPE,POINT_CLASS, POINT_PROPERTY, POINT_SORT, CAMERA_TAG, PRESET_ID) SELECT
concat(NEW.TAG_NAME, '.' , getAfterLastDot(TAG_NAME)),DESCRIPTION, NEW.TAG_NAME,SEQ_NO, NEW.LOCATION_ID,NEW.SUB_SYSTEM,'', IS_CONTROL, STATE_TEXT_NAME, NEW.GRAY,NEW.CONTRAST,NEW.QCOLOR,'0', NEW.VALUE,NEW.STATUS, '0', '0' , '', ALARM_PRIORITY, '', '', '', '', ALARM_DELAY_TIME, IS_WATER_ALM,IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, NEW.REGION_ID,NEW.OPT_HANDOVER_GROUP,NEW.IS_SUMMARY,NEW.SUMMARY_VALUE,NEW.SUMMARY_STATUS,NEW.DEV_TYPE,TAG_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, POINT_TYPE,POINT_CLASS, POINT_PROPERTY, POINT_SORT, '', ''
FROM mix_temp_define WHERE DEV_TP_NAME=NEW.DEV_TP_NAME;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'dev_info', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('dev_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TU_DEV_INFO
AFTER UPDATE
ON dev_info FOR EACH ROW
label_body:BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'dev_info', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('dev_info'));
END IF;
IF
OLD.CONTRAST = NEW.CONTRAST AND
OLD.DESCRIPTION = NEW.DESCRIPTION AND
OLD.DEV_TYPE = NEW.DEV_TYPE AND
OLD.GRAY = NEW.GRAY AND
OLD.LOCATION_ID = NEW.LOCATION_ID AND
OLD.OPT_HANDOVER_GROUP = NEW.OPT_HANDOVER_GROUP AND
OLD.QCOLOR = NEW.QCOLOR AND
OLD.REGION_ID = NEW.REGION_ID AND
OLD.STATUS = NEW.STATUS AND
OLD.SUB_SYSTEM = NEW.SUB_SYSTEM AND
OLD.TAG_NAME = NEW.TAG_NAME AND
OLD.VALUE = NEW.VALUE
THEN LEAVE label_body;
END IF;
UPDATE accuml SET
DEVICE=NEW.TAG_NAME,
LOCATION_ID=NEW.LOCATION_ID,
SUB_SYSTEM=NEW.SUB_SYSTEM,
GRAY=NEW.GRAY,
CONTRAST=NEW.CONTRAST,
QCOLOR=NEW.QCOLOR,
VALUE=NEW.VALUE,
STATUS=NEW.STATUS,
REGION_ID=NEW.REGION_ID,
OPT_HANDOVER_GROUP=NEW.OPT_HANDOVER_GROUP,
DEV_TYPE= NEW.DEV_TYPE ,
TAG_NAME=concat(NEW.TAG_NAME, '.' , getAfterLastDot(TAG_NAME)),
DESCRIPTION = DESCRIPTION
WHERE DEVICE=OLD.TAG_NAME ;
UPDATE analog SET
DEVICE=NEW.TAG_NAME,
LOCATION_ID=NEW.LOCATION_ID,
SUB_SYSTEM=NEW.SUB_SYSTEM,
GRAY=NEW.GRAY,
CONTRAST=NEW.CONTRAST,
QCOLOR=NEW.QCOLOR,
VALUE=NEW.VALUE,
STATUS=NEW.STATUS,
REGION_ID=NEW.REGION_ID,
OPT_HANDOVER_GROUP=NEW.OPT_HANDOVER_GROUP,
DEV_TYPE= NEW.DEV_TYPE ,
TAG_NAME=concat(NEW.TAG_NAME, '.' , getAfterLastDot(TAG_NAME)),
DESCRIPTION = DESCRIPTION
WHERE DEVICE=OLD.TAG_NAME ;
UPDATE digital SET
DEVICE=NEW.TAG_NAME,
LOCATION_ID=NEW.LOCATION_ID,
SUB_SYSTEM=NEW.SUB_SYSTEM,
GRAY=NEW.GRAY,
CONTRAST=NEW.CONTRAST,
QCOLOR=NEW.QCOLOR,
VALUE=NEW.VALUE,
STATUS=NEW.STATUS,
REGION_ID=NEW.REGION_ID,
OPT_HANDOVER_GROUP=NEW.OPT_HANDOVER_GROUP,
DEV_TYPE= NEW.DEV_TYPE ,
TAG_NAME=concat(NEW.TAG_NAME, '.' , getAfterLastDot(TAG_NAME)),
DESCRIPTION = DESCRIPTION
WHERE DEVICE=OLD.TAG_NAME ;
UPDATE mix SET
DEVICE=NEW.TAG_NAME,
LOCATION_ID=NEW.LOCATION_ID,
SUB_SYSTEM=NEW.SUB_SYSTEM,
GRAY=NEW.GRAY,
CONTRAST=NEW.CONTRAST,
QCOLOR=NEW.QCOLOR,
VALUE=NEW.VALUE,
STATUS=NEW.STATUS,
REGION_ID=NEW.REGION_ID,
OPT_HANDOVER_GROUP=NEW.OPT_HANDOVER_GROUP,
DEV_TYPE= NEW.DEV_TYPE ,
TAG_NAME=concat(NEW.TAG_NAME, '.' , getAfterLastDot(TAG_NAME)),
DESCRIPTION = DESCRIPTION
WHERE DEVICE=OLD.TAG_NAME ;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TD_DEV_INFO
BEFORE DELETE
ON dev_info FOR EACH ROW
BEGIN
DELETE FROM accuml WHERE DEVICE = OLD.TAG_NAME;
DELETE FROM analog WHERE DEVICE = OLD.TAG_NAME;
DELETE FROM digital WHERE DEVICE = OLD.TAG_NAME;
DELETE FROM mix WHERE DEVICE = OLD.TAG_NAME;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_DEV_INFO` AFTER DELETE ON `dev_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'dev_info', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('dev_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_DEV_TOPO_VER` AFTER INSERT ON `dev_topo_ver` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'dev_topo_ver', 'LOCATION_ID', '',NEW.LOCATION_ID, getTableSubSystem('dev_topo_ver'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_DEV_TOPO_VER` AFTER UPDATE ON `dev_topo_ver` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'dev_topo_ver', 'LOCATION_ID', OLD.LOCATION_ID, NEW.LOCATION_ID, getTableSubSystem('dev_topo_ver'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_DEV_TOPO_VER` AFTER DELETE ON `dev_topo_ver` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'dev_topo_ver', 'LOCATION_ID', OLD.LOCATION_ID, '', getTableSubSystem('dev_topo_ver'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_DEV_TYPE_DEF` AFTER INSERT ON `dev_type_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'dev_type_def', 'dev_type_id', '', NEW.DEV_TYPE_ID, getTableSubSystem('dev_type_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_DEV_TYPE_DEF` AFTER UPDATE ON `dev_type_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'dev_type_def', 'dev_type_id', OLD.DEV_TYPE_ID, NEW.DEV_TYPE_ID, getTableSubSystem('dev_type_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_DEV_TYPE_DEF` AFTER DELETE ON `dev_type_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'dev_type_def', 'dev_type_id', OLD.DEV_TYPE_ID, '', getTableSubSystem('dev_type_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_DICT_MENU_INFO` AFTER INSERT ON `dict_menu_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'dict_menu_info', 'menu_name,actual_value', '', concat(NEW.MENU_NAME,',',NEW.ACTUAL_VALUE), getTableSubSystem('dict_menu_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_DICT_MENU_INFO` AFTER UPDATE ON `dict_menu_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'dict_menu_info', 'menu_name,actual_value', concat(OLD.MENU_NAME,',',OLD.ACTUAL_VALUE), concat(NEW.MENU_NAME,',',NEW.ACTUAL_VALUE), getTableSubSystem('dict_menu_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_DICT_MENU_INFO` AFTER DELETE ON `dict_menu_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'dict_menu_info', 'menu_name,actual_value', concat(OLD.MENU_NAME,',',OLD.ACTUAL_VALUE), '', getTableSubSystem('dict_menu_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_DICT_STATE_TEXT_INFO` AFTER INSERT ON `dict_state_text_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'dict_state_text_info', 'state_text_name,actual_value', '', concat(NEW.STATE_TEXT_NAME,',',NEW.ACTUAL_VALUE), getTableSubSystem('dict_state_text_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_DICT_STATE_TEXT_INFO` AFTER UPDATE ON `dict_state_text_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'dict_state_text_info', 'state_text_name,actual_value', concat(OLD.STATE_TEXT_NAME,',',OLD.ACTUAL_VALUE), concat(NEW.STATE_TEXT_NAME,',',NEW.ACTUAL_VALUE), getTableSubSystem('dict_state_text_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_DICT_STATE_TEXT_INFO` AFTER DELETE ON `dict_state_text_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'dict_state_text_info', 'state_text_name,actual_value', concat(OLD.STATE_TEXT_NAME,',',OLD.ACTUAL_VALUE), '', getTableSubSystem('dict_state_text_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_DICT_TEXT_DEFINE` AFTER INSERT ON `dict_text_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'dict_text_define', 'class_name,actual_value', '', concat(NEW.CLASS_NAME,',',NEW.ACTUAL_VALUE), getTableSubSystem('dict_text_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_DICT_TEXT_DEFINE` AFTER UPDATE ON `dict_text_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'dict_text_define', 'class_name,actual_value', concat(OLD.CLASS_NAME,',',OLD.ACTUAL_VALUE), concat(NEW.CLASS_NAME,',',NEW.ACTUAL_VALUE), getTableSubSystem('dict_text_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_DICT_TEXT_DEFINE` AFTER DELETE ON `dict_text_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'dict_text_define', 'class_name,actual_value', concat(OLD.CLASS_NAME,',',OLD.ACTUAL_VALUE), '', getTableSubSystem('dict_text_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_DICT_UNIT_INFO` AFTER INSERT ON `dict_unit_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'dict_unit_info', 'unit_id', '', NEW.UNIT_ID, getTableSubSystem('dict_unit_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_DICT_UNIT_INFO` AFTER UPDATE ON `dict_unit_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'dict_unit_info', 'unit_id', OLD.UNIT_ID, NEW.UNIT_ID, getTableSubSystem('dict_unit_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_DICT_UNIT_INFO` AFTER DELETE ON `dict_unit_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'dict_unit_info', 'unit_id', OLD.UNIT_ID, '', getTableSubSystem('dict_unit_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_DICT_VOL_LEVEL` AFTER INSERT ON `dict_vol_level` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'dict_vol_level', 'vl_id', '', NEW.VL_ID, getTableSubSystem('dict_vol_level'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_DICT_VOL_LEVEL` AFTER UPDATE ON `dict_vol_level` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'dict_vol_level', 'vl_id', OLD.VL_ID, NEW.VL_ID, getTableSubSystem('dict_vol_level'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_DICT_VOL_LEVEL` AFTER DELETE ON `dict_vol_level` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'dict_vol_level', 'vl_id', OLD.VL_ID, '', getTableSubSystem('dict_vol_level'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TI_DIGITAL
AFTER INSERT
ON digital FOR EACH ROW
BEGIN
IF COALESCE(NEW.IS_CONTROL,0) <> 0
THEN
BEGIN
IF COALESCE(NEW.POINT_TP_NAME,'') = '' THEN
INSERT INTO digital_control(
TAG_NAME, LOCATION_ID, SUB_SYSTEM, CTRL_ACT_NAME, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, PULSE_DURATION, RTU_TAG, OFFSET_NUM, OFFSET_NO1, OFFSET_NO2, OFFSET_NO3, OFFSET_NO4, OFFSET_NO5, CTRL_ALIAS, IS_CHECK_PREVENTION, POINT_TP_NAME, CTRL_TYPE)
VALUES (
NEW.TAG_NAME, NEW.LOCATION_ID, NEW.SUB_SYSTEM, '', 1, 30, 30, 30, NEW.RTU_TAG, 1, '-1', '-1', '-1', '-1', '-1', '', 0 , NEW.POINT_TP_NAME,0
);
ELSE
INSERT INTO digital_control(
TAG_NAME, LOCATION_ID, SUB_SYSTEM, CTRL_ACT_NAME, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, PULSE_DURATION, RTU_TAG, OFFSET_NUM, OFFSET_NO1, OFFSET_NO2, OFFSET_NO3, OFFSET_NO4, OFFSET_NO5, CTRL_ALIAS, IS_CHECK_PREVENTION, POINT_TP_NAME, CTRL_TYPE) SELECT
NEW.TAG_NAME, NEW.LOCATION_ID, NEW.SUB_SYSTEM, CTRL_ACT_NAME, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, PULSE_DURATION, NEW.RTU_TAG, OFFSET_NUM, '-1', '-1', '-1', '-1', '-1', '', IS_CHECK_PREVENTION , NEW.POINT_TP_NAME,CTRL_TYPE
FROM digital_temp_define WHERE TAG_NAME=NEW.POINT_TP_NAME;
END IF;
END;
END IF;
IF COALESCE(NEW.IS_SAMPLE,0) <> 0
THEN
INSERT INTO sample_define (
TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, DEVICE_TAG, POINT_TYPE, SAMPLE_PERIOD, SAMPLE_DEADBAND, VALUE, STATUS, UPDATE_TIME) VALUES
(NEW.TAG_NAME,NEW.DESCRIPTION, NEW.LOCATION_ID, NEW.SUB_SYSTEM, NEW.DEVICE, NEW.POINT_TYPE, NEW.SAMPLE_PERIOD, 0, 0, 0, 0 );
END IF;
INSERT INTO digital_map_to_fes (
KEY_ID_TAG, LOCATION_ID, SUB_SYSTEM, DEV_TYPE, POINT_TP_NAME, VALUE_NUM, RTU_TAG, DOT_NO1, DOT_NO2, DOT_NO3, DOT_NO4, DOT_NO5, IS_FILTER_ERR, IS_FILTER_DISTURB, DISTURB_TIME, POLARITY, DESCRIPTION) VALUES (
concat('digital' , '.' , NEW.TAG_NAME), NEW.LOCATION_ID, NEW.SUB_SYSTEM, NEW.DEV_TYPE, NEW.POINT_TP_NAME, NEW.VALUE_NUM , NEW.RTU_TAG, '-1', '-1' , '-1' , '-1', '-1', '0' , '0' , '0' , '0', NEW.DESCRIPTION );
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'digital', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('digital'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TU_DIGITAL
AFTER UPDATE
ON digital FOR EACH ROW
BEGIN
IF COALESCE(OLD.IS_CONTROL,0) != 0 AND COALESCE(NEW.IS_CONTROL,0) = 0
THEN
BEGIN
DELETE FROM digital_control WHERE TAG_NAME=OLD.TAG_NAME;
DELETE FROM opt_interlock_para WHERE TAG_NAME=OLD.TAG_NAME;
END;
ELSEIF COALESCE(OLD.IS_CONTROL,0) = 0 AND COALESCE(NEW.IS_CONTROL,0) != 0
THEN
BEGIN
IF COALESCE(NEW.POINT_TP_NAME,'') = '' THEN
INSERT INTO digital_control(
TAG_NAME, LOCATION_ID, SUB_SYSTEM, CTRL_ACT_NAME, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, PULSE_DURATION, RTU_TAG, OFFSET_NUM, OFFSET_NO1, OFFSET_NO2, OFFSET_NO3, OFFSET_NO4, OFFSET_NO5, CTRL_ALIAS, IS_CHECK_PREVENTION, POINT_TP_NAME, CTRL_TYPE)
VALUES (
NEW.TAG_NAME, NEW.LOCATION_ID, NEW.SUB_SYSTEM, '', 1, 30, 30, 30, NEW.RTU_TAG, 1, '-1', '-1', '-1', '-1', '-1', '', 0 , NEW.POINT_TP_NAME,0
);
ELSE
INSERT INTO digital_control(
TAG_NAME, LOCATION_ID, SUB_SYSTEM, CTRL_ACT_NAME, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, PULSE_DURATION, RTU_TAG, OFFSET_NUM, OFFSET_NO1, OFFSET_NO2, OFFSET_NO3, OFFSET_NO4, OFFSET_NO5, CTRL_ALIAS, IS_CHECK_PREVENTION, POINT_TP_NAME, CTRL_TYPE) SELECT
NEW.TAG_NAME, NEW.LOCATION_ID, NEW.SUB_SYSTEM, CTRL_ACT_NAME, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, PULSE_DURATION, NEW.RTU_TAG, OFFSET_NUM, '-1', '-1', '-1', '-1', '-1', '', IS_CHECK_PREVENTION , NEW.POINT_TP_NAME,CTRL_TYPE
FROM digital_temp_define WHERE TAG_NAME=NEW.POINT_TP_NAME;
END IF;
END;
ELSE
BEGIN
IF NEW.TAG_NAME<>OLD.TAG_NAME OR NEW.LOCATION_ID<>OLD.LOCATION_ID OR NEW.SUB_SYSTEM<>OLD.SUB_SYSTEM OR NEW.RTU_TAG<>OLD.RTU_TAG
OR NEW.POINT_TP_NAME<>OLD.POINT_TP_NAME
THEN
UPDATE digital_control
SET
digital_control.TAG_NAME = NEW.TAG_NAME,
digital_control.LOCATION_ID = NEW.LOCATION_ID,
digital_control.SUB_SYSTEM = NEW.SUB_SYSTEM,
digital_control.RTU_TAG = NEW.RTU_TAG ,
digital_control.POINT_TP_NAME = NEW.POINT_TP_NAME
WHERE digital_control.TAG_NAME = OLD.TAG_NAME;
END IF;
END;
END IF;
IF COALESCE(OLD.IS_SAMPLE,0) != 0 AND COALESCE(NEW.IS_SAMPLE,0) = 0
THEN
BEGIN
DELETE FROM sample_define WHERE TAG_NAME= OLD.TAG_NAME ;
END;
ELSEIF COALESCE(OLD.IS_SAMPLE,0) = 0 AND COALESCE(NEW.IS_SAMPLE,0) != 0
THEN
BEGIN
INSERT INTO sample_define (
TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, DEVICE_TAG, POINT_TYPE, SAMPLE_PERIOD, SAMPLE_DEADBAND, VALUE, STATUS, UPDATE_TIME) VALUES
(NEW.TAG_NAME,NEW.DESCRIPTION, NEW.LOCATION_ID, NEW.SUB_SYSTEM, NEW.DEVICE, NEW.POINT_TYPE, NEW.SAMPLE_PERIOD,0, 0, 0, 0 );
END;
ELSE
BEGIN
IF NEW.TAG_NAME<>OLD.TAG_NAME OR NEW.DESCRIPTION<>OLD.DESCRIPTION OR NEW.LOCATION_ID<>OLD.LOCATION_ID OR NEW.SUB_SYSTEM<>OLD.SUB_SYSTEM
OR NEW.DEVICE<>OLD.DEVICE OR NEW.POINT_TYPE<>OLD.POINT_TYPE OR NEW.SAMPLE_PERIOD<>OLD.SAMPLE_PERIOD
THEN
UPDATE sample_define
SET
sample_define.TAG_NAME = NEW.TAG_NAME,
sample_define.DESCRIPTION = NEW.DESCRIPTION ,
sample_define.LOCATION_ID = NEW.LOCATION_ID ,
sample_define.SUB_SYSTEM = NEW.SUB_SYSTEM ,
sample_define.DEVICE_TAG = NEW.DEVICE,
sample_define.POINT_TYPE = NEW.POINT_TYPE,
sample_define.SAMPLE_PERIOD = NEW.SAMPLE_PERIOD
WHERE TAG_NAME= OLD.TAG_NAME;
END IF;
END;
END IF;
IF NEW.TAG_NAME<>OLD.TAG_NAME OR NEW.RTU_TAG<>OLD.RTU_TAG OR NEW.LOCATION_ID<>OLD.LOCATION_ID OR NEW.SUB_SYSTEM<>OLD.SUB_SYSTEM
OR NEW.DEV_TYPE<>OLD.DEV_TYPE OR NEW.POINT_TP_NAME<>OLD.POINT_TP_NAME OR NEW.DESCRIPTION<>OLD.DESCRIPTION
THEN
UPDATE digital_map_to_fes SET
KEY_ID_TAG = concat('digital' , '.' , NEW.TAG_NAME),
RTU_TAG = NEW.RTU_TAG,
LOCATION_ID =NEW.LOCATION_ID,
SUB_SYSTEM = NEW.SUB_SYSTEM,
DEV_TYPE = NEW.DEV_TYPE,
POINT_TP_NAME = NEW.POINT_TP_NAME,
DESCRIPTION = NEW.DESCRIPTION
WHERE KEY_ID_TAG=concat('digital' , '.' , OLD.TAG_NAME) ;
END IF;
IF NEW.VALUE_NUM<>OLD.VALUE_NUM THEN
BEGIN
IF NEW.VALUE_NUM = 1 THEN
BEGIN
UPDATE digital_map_to_fes SET
VALUE_NUM = NEW.VALUE_NUM,
DOT_NO2 = '-1',
DOT_NO3 = '-1',
DOT_NO4 = '-1',
DOT_NO5 = '-1'
WHERE KEY_ID_TAG=concat('digital' , '.' , OLD.TAG_NAME);
END;
ELSEIF NEW.VALUE_NUM = 2 THEN
BEGIN
UPDATE digital_map_to_fes SET
VALUE_NUM = NEW.VALUE_NUM,
DOT_NO3 = '-1',
DOT_NO4 = '-1',
DOT_NO5 = '-1'
WHERE KEY_ID_TAG=concat('digital' , '.' , OLD.TAG_NAME);
END;
ELSEIF NEW.VALUE_NUM = 3 THEN
BEGIN
UPDATE digital_map_to_fes SET
VALUE_NUM = NEW.VALUE_NUM,
DOT_NO4 = '-1',
DOT_NO5 = '-1'
WHERE KEY_ID_TAG=concat('digital' , '.' , OLD.TAG_NAME);
END;
ELSEIF NEW.VALUE_NUM = 4 THEN
BEGIN
UPDATE digital_map_to_fes SET
VALUE_NUM = NEW.VALUE_NUM,
DOT_NO5 = '-1'
WHERE KEY_ID_TAG=concat('digital' , '.' , OLD.TAG_NAME);
END;
ELSE
BEGIN
UPDATE digital_map_to_fes SET
VALUE_NUM = NEW.VALUE_NUM
WHERE KEY_ID_TAG=concat('digital' , '.' , OLD.TAG_NAME);
END;
END IF;
END;
END IF;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'digital', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('digital'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TD_DIGITAL
BEFORE DELETE
ON digital FOR EACH ROW
BEGIN
IF COALESCE(OLD.IS_CONTROL,0) <> 0
THEN
DELETE FROM digital_control WHERE TAG_NAME=OLD.TAG_NAME ;
END IF;
IF COALESCE(OLD.IS_SAMPLE,0) <> 0
THEN
DELETE FROM sample_define WHERE TAG_NAME= OLD.TAG_NAME ;
END IF;
DELETE FROM digital_map_to_fes WHERE KEY_ID_TAG=concat('digital' , '.' , OLD.TAG_NAME);
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_DIGITAL` AFTER DELETE ON `digital` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'digital', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('digital'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TIA_FBD_GROUP
AFTER INSERT ON FBD_GROUP
FOR EACH ROW
BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'fbd_group', 'id', '', NEW.ID, getTableSubSystem('fbd_group'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TUA_FBD_GROUP
AFTER UPDATE ON FBD_GROUP
FOR EACH ROW
BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'fbd_group', 'id', OLD.ID, NEW.ID, getTableSubSystem('fbd_group'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TDA_FBD_GROUP
AFTER DELETE ON FBD_GROUP
FOR EACH ROW
BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'fbd_group', 'id', OLD.ID, '', getTableSubSystem('fbd_group'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_HMI_TYPE_INFO` AFTER INSERT ON `hmi_type_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'hmi_type_info', 'hmi_id', '', NEW.HMI_ID, getTableSubSystem('hmi_type_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_HMI_TYPE_INFO` AFTER UPDATE ON `hmi_type_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'hmi_type_info', 'hmi_id', OLD.HMI_ID, NEW.HMI_ID, getTableSubSystem('hmi_type_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TDA_HMI_TYPE_INFO
AFTER DELETE
ON hmi_type_info FOR EACH ROW
BEGIN
#1,0HMI画面
DECLARE num int;
SET num = (OLD.HMI_ID-1) DIV 32;
#
IF num = 0 THEN
UPDATE rm_role_hmi_info SET PERM_INFO1 = resetBit(PERM_INFO1,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO1,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 1 THEN
UPDATE rm_role_hmi_info SET PERM_INFO2 = resetBit(PERM_INFO2,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO2,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 2 THEN
UPDATE rm_role_hmi_info SET PERM_INFO3 = resetBit(PERM_INFO3,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO3,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 3 THEN
UPDATE rm_role_hmi_info SET PERM_INFO4 = resetBit(PERM_INFO4,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO4,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 4 THEN
UPDATE rm_role_hmi_info SET PERM_INFO5 = resetBit(PERM_INFO5,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO5,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 5 THEN
UPDATE rm_role_hmi_info SET PERM_INFO6 = resetBit(PERM_INFO6,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO6,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 6 THEN
UPDATE rm_role_hmi_info SET PERM_INFO7 = resetBit(PERM_INFO7,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO7,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 7 THEN
UPDATE rm_role_hmi_info SET PERM_INFO8 = resetBit(PERM_INFO8,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO8,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 8 THEN
UPDATE rm_role_hmi_info SET PERM_INFO9 = resetBit(PERM_INFO9,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO9,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 9 THEN
UPDATE rm_role_hmi_info SET PERM_INFO10 = resetBit(PERM_INFO10,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO10,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 10 THEN
UPDATE rm_role_hmi_info SET PERM_INFO11 = resetBit(PERM_INFO11,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO11,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 11 THEN
UPDATE rm_role_hmi_info SET PERM_INFO12 = resetBit(PERM_INFO12,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO12,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 12 THEN
UPDATE rm_role_hmi_info SET PERM_INFO13 = resetBit(PERM_INFO13,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO13,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 13 THEN
UPDATE rm_role_hmi_info SET PERM_INFO14 = resetBit(PERM_INFO14,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO14,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 14 THEN
UPDATE rm_role_hmi_info SET PERM_INFO15 = resetBit(PERM_INFO15,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO15,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 15 THEN
UPDATE rm_role_hmi_info SET PERM_INFO16 = resetBit(PERM_INFO16,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO16,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
END IF;
#
IF num = 0 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO1 = resetBit(PERM_INFO1,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO1,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 1 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO2 = resetBit(PERM_INFO2,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO2,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 2 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO3 = resetBit(PERM_INFO3,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO3,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 3 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO4 = resetBit(PERM_INFO4,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO4,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 4 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO5 = resetBit(PERM_INFO5,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO5,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 5 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO6 = resetBit(PERM_INFO6,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO6,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 6 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO7 = resetBit(PERM_INFO7,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO7,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 7 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO8 = resetBit(PERM_INFO8,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO8,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 8 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO9 = resetBit(PERM_INFO9,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO9,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 9 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO10 = resetBit(PERM_INFO10,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO10,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 10 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO11 = resetBit(PERM_INFO11,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO11,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 11 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO12 = resetBit(PERM_INFO12,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO12,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 12 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO13 = resetBit(PERM_INFO13,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO13,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 13 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO14 = resetBit(PERM_INFO14,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO14,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 14 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO15 = resetBit(PERM_INFO15,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO15,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
ELSEIF num = 15 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO16 = resetBit(PERM_INFO16,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) WHERE testNumber(PERM_INFO16,IF(OLD.HMI_ID%32=0,32,OLD.HMI_ID%32)) AND PERM_TYPE = '0';
END IF;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'hmi_type_info', 'hmi_id', OLD.HMI_ID, '', getTableSubSystem('hmi_type_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_IA_DISPOSAL_PLAN` AFTER INSERT ON `ia_disposal_plan` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'ia_disposal_plan', 'KEY_ID_TAG', '',NEW.KEY_ID_TAG, getTableSubSystem('ia_disposal_plan'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_IA_DISPOSAL_PLAN` AFTER UPDATE ON `ia_disposal_plan` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'ia_disposal_plan', 'KEY_ID_TAG', OLD.KEY_ID_TAG, NEW.KEY_ID_TAG, getTableSubSystem('ia_disposal_plan'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_IA_DISPOSAL_PLAN` AFTER DELETE ON `ia_disposal_plan` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'ia_disposal_plan', 'KEY_ID_TAG', OLD.KEY_ID_TAG, '', getTableSubSystem('ia_disposal_plan'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TI_MIX
AFTER INSERT
ON mix FOR EACH ROW
BEGIN
IF COALESCE(NEW.IS_CONTROL,0) <> 0
THEN
IF COALESCE(NEW.POINT_TP_NAME,'') = '' THEN
INSERT INTO mix_control(
TAG_NAME, LOCATION_ID, SUB_SYSTEM, CTRL_ACT_NAME, CTRL_TYPE, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, BASE, COEFF, CTRL_TOLERANCE, RANGE_UP, RANGE_LOW, RTU_TAG, OFFSET_NO, CTRL_ALIAS, POINT_TP_NAME)
VALUES (
NEW.TAG_NAME, NEW.LOCATION_ID, NEW.SUB_SYSTEM, '', 0, 1, 30, 30, 0, 1, 0.01, 65536, 0, NEW.RTU_TAG, '-1', '', NEW.POINT_TP_NAME
);
ELSE
INSERT INTO mix_control(
TAG_NAME, LOCATION_ID, SUB_SYSTEM, CTRL_ACT_NAME, CTRL_TYPE, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, BASE, COEFF, CTRL_TOLERANCE, RANGE_UP, RANGE_LOW, RTU_TAG, OFFSET_NO, CTRL_ALIAS, POINT_TP_NAME) SELECT
NEW.TAG_NAME, NEW.LOCATION_ID, NEW.SUB_SYSTEM, CTRL_ACT_NAME, CTRL_TYPE, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, BASE, COEFF, CTRL_TOLERANCE, RANGE_UP, RANGE_LOW, NEW.RTU_TAG, '-1', '', NEW.POINT_TP_NAME
FROM mix_temp_define WHERE TAG_NAME=NEW.POINT_TP_NAME;
END IF;
END IF;
IF COALESCE(NEW.IS_SAMPLE,0) <> 0
THEN
INSERT INTO sample_define (
TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, DEVICE_TAG, POINT_TYPE, SAMPLE_PERIOD, SAMPLE_DEADBAND, VALUE, STATUS, UPDATE_TIME) VALUES
(NEW.TAG_NAME, NEW.DESCRIPTION, NEW.LOCATION_ID, NEW.SUB_SYSTEM, NEW.DEVICE, NEW.POINT_TYPE, NEW.SAMPLE_PERIOD, 0, 0, 0, 0 );
END IF;
IF COALESCE(NEW.POINT_TP_NAME,'') = '' THEN
INSERT INTO mix_map_to_fes (
KEY_ID_TAG, LOCATION_ID, SUB_SYSTEM, DEV_TYPE, POINT_TP_NAME, RTU_TAG, DOT_NO, BASE, COEFF, RANGE_UP, RANGE_LOW, IS_FILTER_ERROR, IS_FILTER_DISTURB, DISTURB_TIME, DESCRIPTION)
VALUES (
concat('mix' , '.' , NEW.TAG_NAME), NEW.LOCATION_ID, NEW.SUB_SYSTEM, NEW.DEV_TYPE, NEW.POINT_TP_NAME, NEW.RTU_TAG, '-1', 0, 1, 65535, 0, 1, 1, 5, NEW.DESCRIPTION
);
ELSE
INSERT INTO mix_map_to_fes (
KEY_ID_TAG, LOCATION_ID, SUB_SYSTEM, DEV_TYPE, POINT_TP_NAME, RTU_TAG, DOT_NO, BASE, COEFF, RANGE_UP, RANGE_LOW, IS_FILTER_ERROR, IS_FILTER_DISTURB, DISTURB_TIME, DESCRIPTION) SELECT
concat('mix' , '.' , NEW.TAG_NAME), NEW.LOCATION_ID, NEW.SUB_SYSTEM, NEW.DEV_TYPE, NEW.POINT_TP_NAME, NEW.RTU_TAG, '-1', BASE, COEFF, RANGE_UP, RANGE_LOW, IS_FILTER_ERROR, IS_FILTER_DISTURB, DISTURB_TIME, NEW.DESCRIPTION
FROM mix_temp_define WHERE TAG_NAME = NEW.POINT_TP_NAME;
END IF;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'mix', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('mix'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TU_MIX
AFTER UPDATE
ON mix FOR EACH ROW
BEGIN
IF COALESCE(OLD.IS_CONTROL,0) != 0 AND COALESCE(NEW.IS_CONTROL,0) = 0
THEN
BEGIN
DELETE FROM mix_control WHERE TAG_NAME=OLD.TAG_NAME;
DELETE FROM opt_interlock_para WHERE TAG_NAME=OLD.TAG_NAME;
END;
ELSEIF COALESCE(OLD.IS_CONTROL,0) = 0 AND COALESCE(NEW.IS_CONTROL,0) != 0
THEN
BEGIN
IF COALESCE(NEW.POINT_TP_NAME,'') = '' THEN
INSERT INTO mix_control(
TAG_NAME, LOCATION_ID, SUB_SYSTEM, CTRL_ACT_NAME, CTRL_TYPE, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, BASE, COEFF, CTRL_TOLERANCE, RANGE_UP, RANGE_LOW, RTU_TAG, OFFSET_NO, CTRL_ALIAS, POINT_TP_NAME)
VALUES (
NEW.TAG_NAME, NEW.LOCATION_ID, NEW.SUB_SYSTEM, '', 0, 1, 30, 30, 0, 1, 0.01, 65536, 0, NEW.RTU_TAG, '-1', '', NEW.POINT_TP_NAME
);
ELSE
INSERT INTO mix_control(
TAG_NAME, LOCATION_ID, SUB_SYSTEM, CTRL_ACT_NAME, CTRL_TYPE, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, BASE, COEFF, CTRL_TOLERANCE, RANGE_UP, RANGE_LOW, RTU_TAG, OFFSET_NO, CTRL_ALIAS, POINT_TP_NAME) SELECT
NEW.TAG_NAME, NEW.LOCATION_ID, NEW.SUB_SYSTEM, CTRL_ACT_NAME, CTRL_TYPE, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, BASE, COEFF, CTRL_TOLERANCE, RANGE_UP, RANGE_LOW, NEW.RTU_TAG, '-1', '', NEW.POINT_TP_NAME
FROM mix_temp_define WHERE TAG_NAME=NEW.POINT_TP_NAME;
END IF;
END;
ELSE
BEGIN
IF NEW.TAG_NAME<>OLD.TAG_NAME OR NEW.LOCATION_ID<>OLD.LOCATION_ID OR NEW.SUB_SYSTEM<>OLD.SUB_SYSTEM OR NEW.RTU_TAG<>OLD.RTU_TAG
THEN
UPDATE mix_control
SET
TAG_NAME = NEW.TAG_NAME,
LOCATION_ID = NEW.LOCATION_ID,
SUB_SYSTEM = NEW.SUB_SYSTEM,
RTU_TAG = NEW.RTU_TAG,
POINT_TP_NAME = NEW.POINT_TP_NAME
WHERE TAG_NAME = OLD.TAG_NAME;
END IF;
END;
END IF;
IF COALESCE(OLD.IS_SAMPLE,0) != 0 AND COALESCE(NEW.IS_SAMPLE,0) = 0
THEN
BEGIN
DELETE FROM sample_define WHERE TAG_NAME= OLD.TAG_NAME ;
END;
ELSEIF COALESCE(OLD.IS_SAMPLE,0) = 0 AND COALESCE(NEW.IS_SAMPLE,0) != 0
THEN
BEGIN
INSERT INTO sample_define (
TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, DEVICE_TAG, POINT_TYPE, SAMPLE_PERIOD, SAMPLE_DEADBAND, VALUE, STATUS, UPDATE_TIME) VALUES
( NEW.TAG_NAME, NEW.DESCRIPTION, NEW.LOCATION_ID, NEW.SUB_SYSTEM, NEW.DEVICE, NEW.POINT_TYPE, NEW.SAMPLE_PERIOD, 0, 0, 0, 0 );
END;
ELSE
BEGIN
IF NEW.TAG_NAME<>OLD.TAG_NAME OR NEW.DESCRIPTION<>OLD.DESCRIPTION OR NEW.LOCATION_ID<>OLD.LOCATION_ID OR NEW.SUB_SYSTEM<>OLD.SUB_SYSTEM
OR NEW.DEVICE<>OLD.DEVICE OR NEW.POINT_TYPE<>OLD.POINT_TYPE OR NEW.SAMPLE_PERIOD<>OLD.SAMPLE_PERIOD
THEN
UPDATE sample_define
SET
sample_define.TAG_NAME = NEW.TAG_NAME ,
sample_define.DESCRIPTION = NEW.DESCRIPTION ,
sample_define.LOCATION_ID = NEW.LOCATION_ID ,
sample_define.SUB_SYSTEM = NEW.SUB_SYSTEM ,
sample_define.DEVICE_TAG = NEW.DEVICE,
sample_define.POINT_TYPE = NEW.POINT_TYPE,
sample_define.SAMPLE_PERIOD = NEW.SAMPLE_PERIOD
WHERE TAG_NAME= OLD.TAG_NAME;
END IF;
END;
END IF;
IF NEW.TAG_NAME<>OLD.TAG_NAME OR NEW.LOCATION_ID<>OLD.LOCATION_ID OR NEW.SUB_SYSTEM<>OLD.SUB_SYSTEM OR NEW.DEV_TYPE<>OLD.DEV_TYPE
OR NEW.POINT_TP_NAME<>OLD.POINT_TP_NAME OR NEW.RTU_TAG<>OLD.RTU_TAG OR NEW.POINT_TYPE<>OLD.POINT_TYPE OR NEW.DESCRIPTION<>OLD.DESCRIPTION
THEN
UPDATE mix_map_to_fes SET
KEY_ID_TAG = concat('mix' , '.' , NEW.TAG_NAME),
LOCATION_ID =NEW.LOCATION_ID,
SUB_SYSTEM = NEW.SUB_SYSTEM,
DEV_TYPE = NEW.DEV_TYPE,
POINT_TP_NAME = NEW.POINT_TP_NAME,
RTU_TAG = NEW.RTU_TAG,
DESCRIPTION = NEW.DESCRIPTION
WHERE KEY_ID_TAG=concat('mix' , '.' , OLD.TAG_NAME);
END IF;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'mix', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('mix'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TD_MIX
BEFORE DELETE
ON mix FOR EACH ROW
BEGIN
IF COALESCE(OLD.IS_CONTROL,0) <> 0
THEN
DELETE FROM mix_control WHERE TAG_NAME=OLD.TAG_NAME;
END IF;
IF COALESCE(OLD.IS_SAMPLE,0) <> 0
THEN
DELETE FROM sample_define WHERE TAG_NAME= OLD.TAG_NAME ;
END IF;
DELETE FROM mix_map_to_fes WHERE KEY_ID_TAG=concat('mix' , '.' , OLD.TAG_NAME);
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_MIX` AFTER DELETE ON `mix` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'mix', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('mix'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_OPT_CTRL_ACT_DEFINE` AFTER INSERT ON `opt_ctrl_act_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'opt_ctrl_act_define', 'ctrl_grp_name,ctrl_grp_no', '', concat(NEW.CTRL_GRP_NAME,',',NEW.CTRL_GRP_NO), getTableSubSystem('opt_ctrl_act_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_OPT_CTRL_ACT_DEFINE` AFTER UPDATE ON `opt_ctrl_act_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'opt_ctrl_act_define', 'ctrl_grp_name,ctrl_grp_no', concat(OLD.CTRL_GRP_NAME,',',OLD.CTRL_GRP_NO), concat(NEW.CTRL_GRP_NAME,',',NEW.CTRL_GRP_NO), getTableSubSystem('opt_ctrl_act_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_OPT_CTRL_ACT_DEFINE` AFTER DELETE ON `opt_ctrl_act_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'opt_ctrl_act_define', 'ctrl_grp_name,ctrl_grp_no', concat(OLD.CTRL_GRP_NAME,',',OLD.CTRL_GRP_NO), '', getTableSubSystem('opt_ctrl_act_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_OPT_HANDOVER_GRP` AFTER INSERT ON `opt_handover_grp` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'opt_handover_grp', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('opt_handover_grp'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_OPT_HANDOVER_GRP` AFTER UPDATE ON `opt_handover_grp` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'opt_handover_grp', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('opt_handover_grp'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_OPT_HANDOVER_GRP` AFTER DELETE ON `opt_handover_grp` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'opt_handover_grp', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('opt_handover_grp'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_OPT_INTERLOCK_DEFINE` AFTER INSERT ON `opt_interlock_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'opt_interlock_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('opt_interlock_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_OPT_INTERLOCK_DEFINE` AFTER UPDATE ON `opt_interlock_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'opt_interlock_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('opt_interlock_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_OPT_INTERLOCK_DEFINE` AFTER DELETE ON `opt_interlock_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'opt_interlock_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('opt_interlock_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_OPT_INTERLOCK_PARA` AFTER INSERT ON `opt_interlock_para` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'opt_interlock_para', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('opt_interlock_para'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_OPT_INTERLOCK_PARA` AFTER UPDATE ON `opt_interlock_para` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'opt_interlock_para', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('opt_interlock_para'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_OPT_INTERLOCK_PARA` AFTER DELETE ON `opt_interlock_para` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'opt_interlock_para', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('opt_interlock_para'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_OPT_SHIELD_DEFINE` AFTER INSERT ON `opt_shield_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'opt_shield_define', 'shield_id', '', NEW.SHIELD_ID, getTableSubSystem('opt_shield_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_OPT_SHIELD_DEFINE` AFTER UPDATE ON `opt_shield_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'opt_shield_define', 'shield_id', OLD.SHIELD_ID, NEW.SHIELD_ID, getTableSubSystem('opt_shield_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_OPT_SHIELD_DEFINE` AFTER DELETE ON `opt_shield_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'opt_shield_define', 'shield_id', OLD.SHIELD_ID, '', getTableSubSystem('opt_shield_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_OPT_SHIELD_INFO` AFTER INSERT ON `opt_shield_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'opt_shield_info', 'shield_id', '', NEW.SHIELD_ID, getTableSubSystem('opt_shield_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_OPT_SHIELD_INFO` AFTER UPDATE ON `opt_shield_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'opt_shield_info', 'shield_id', OLD.SHIELD_ID, NEW.SHIELD_ID, getTableSubSystem('opt_shield_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_OPT_SHIELD_INFO` AFTER DELETE ON `opt_shield_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'opt_shield_info', 'shield_id', OLD.SHIELD_ID, '', getTableSubSystem('opt_shield_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_OPT_SHIELD_OBJ` AFTER INSERT ON `opt_shield_obj` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'opt_shield_obj', 'shield_id,key_id_tag', '', concat(NEW.SHIELD_ID,',',NEW.KEY_ID_TAG), getTableSubSystem('opt_shield_obj'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_OPT_SHIELD_OBJ` AFTER UPDATE ON `opt_shield_obj` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'opt_shield_obj', 'shield_id,key_id_tag', concat(OLD.SHIELD_ID,',',OLD.KEY_ID_TAG), concat(NEW.SHIELD_ID,',',NEW.KEY_ID_TAG), getTableSubSystem('opt_shield_obj'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_OPT_SHIELD_OBJ` AFTER DELETE ON `opt_shield_obj` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'opt_shield_obj', 'shield_id,key_id_tag', concat(OLD.SHIELD_ID,',',OLD.KEY_ID_TAG), '', getTableSubSystem('opt_shield_obj'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_OPT_SHIELD_TIME` AFTER INSERT ON `opt_shield_time` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'opt_shield_time', 'time_id', '', NEW.TIME_ID, getTableSubSystem('opt_shield_time'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_OPT_SHIELD_TIME` AFTER UPDATE ON `opt_shield_time` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'opt_shield_time', 'time_id', OLD.TIME_ID, NEW.TIME_ID, getTableSubSystem('opt_shield_time'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_OPT_SHIELD_TIME` AFTER DELETE ON `opt_shield_time` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'opt_shield_time', 'time_id', OLD.TIME_ID, '', getTableSubSystem('opt_shield_time'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_OPT_TAG_INFO` AFTER INSERT ON `opt_tag_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'opt_tag_info', 'key_id_tag,tag_type', '', concat(NEW.KEY_ID_TAG,',',NEW.TAG_TYPE), getTableSubSystem('opt_tag_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_OPT_TAG_INFO` AFTER UPDATE ON `opt_tag_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'opt_tag_info', 'key_id_tag,tag_type', concat(OLD.KEY_ID_TAG,',',OLD.TAG_TYPE), concat(NEW.KEY_ID_TAG,',',NEW.TAG_TYPE), getTableSubSystem('opt_tag_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_OPT_TAG_INFO` AFTER DELETE ON `opt_tag_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'opt_tag_info', 'key_id_tag,tag_type', concat(OLD.KEY_ID_TAG,',',OLD.TAG_TYPE), '', getTableSubSystem('opt_tag_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_OPT_TOKEN_DEFINE` AFTER INSERT ON `opt_token_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'opt_token_define', 'token_id', '', NEW.TOKEN_ID, getTableSubSystem('opt_token_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_OPT_TOKEN_DEFINE` AFTER UPDATE ON `opt_token_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'opt_token_define', 'token_id', OLD.TOKEN_ID, NEW.TOKEN_ID, getTableSubSystem('opt_token_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_OPT_TOKEN_DEFINE` AFTER DELETE ON `opt_token_define` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'opt_token_define', 'token_id', OLD.TOKEN_ID, '', getTableSubSystem('opt_token_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_OPT_TOKEN_INFO` AFTER INSERT ON `opt_token_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'opt_token_info', 'token_id,key_id_tag', '', concat(NEW.TOKEN_ID,',',NEW.KEY_ID_TAG), getTableSubSystem('opt_token_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_OPT_TOKEN_INFO` AFTER UPDATE ON `opt_token_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'opt_token_info', 'token_id,key_id_tag', concat(OLD.TOKEN_ID,',',OLD.KEY_ID_TAG), concat(NEW.TOKEN_ID,',',NEW.KEY_ID_TAG), getTableSubSystem('opt_token_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_OPT_TOKEN_INFO` AFTER DELETE ON `opt_token_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'opt_token_info', 'token_id,key_id_tag', concat(OLD.TOKEN_ID,',',OLD.KEY_ID_TAG), '', getTableSubSystem('opt_token_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_REGION_INFO` AFTER INSERT ON `region_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'region_info', 'region_id', '', NEW.REGION_ID, getTableSubSystem('region_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_REGION_INFO` AFTER UPDATE ON `region_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'region_info', 'region_id', OLD.REGION_ID, NEW.REGION_ID, getTableSubSystem('region_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_REGION_INFO` AFTER DELETE ON `region_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'region_info', 'region_id', OLD.REGION_ID, '', getTableSubSystem('region_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_REPORT_TYPE_INFO` AFTER INSERT ON `report_type_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'report_type_info', 'report_id', '', NEW.REPORT_ID, getTableSubSystem('report_type_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_REPORT_TYPE_INFO` AFTER UPDATE ON `report_type_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'report_type_info', 'report_id', OLD.REPORT_ID, NEW.REPORT_ID, getTableSubSystem('report_type_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TDA_REPORT_TYPE_INFO
AFTER DELETE
ON report_type_info FOR EACH ROW
BEGIN
#PERM_TYPE = 1,0HMI画面
DECLARE num int;
SET num = (OLD.REPORT_ID-1) DIV 32;
#
IF num = 0 THEN
UPDATE rm_role_hmi_info SET PERM_INFO1 = resetBit(PERM_INFO1,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO1,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 1 THEN
UPDATE rm_role_hmi_info SET PERM_INFO2 = resetBit(PERM_INFO2,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO2,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 2 THEN
UPDATE rm_role_hmi_info SET PERM_INFO3 = resetBit(PERM_INFO3,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO3,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 3 THEN
UPDATE rm_role_hmi_info SET PERM_INFO4 = resetBit(PERM_INFO4,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO4,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 4 THEN
UPDATE rm_role_hmi_info SET PERM_INFO5 = resetBit(PERM_INFO5,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO5,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 5 THEN
UPDATE rm_role_hmi_info SET PERM_INFO6 = resetBit(PERM_INFO6,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO6,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 6 THEN
UPDATE rm_role_hmi_info SET PERM_INFO7 = resetBit(PERM_INFO7,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO7,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 7 THEN
UPDATE rm_role_hmi_info SET PERM_INFO8 = resetBit(PERM_INFO8,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO8,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 8 THEN
UPDATE rm_role_hmi_info SET PERM_INFO9 = resetBit(PERM_INFO9,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO9,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 9 THEN
UPDATE rm_role_hmi_info SET PERM_INFO10 = resetBit(PERM_INFO10,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO10,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 10 THEN
UPDATE rm_role_hmi_info SET PERM_INFO11 = resetBit(PERM_INFO11,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO11,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 11 THEN
UPDATE rm_role_hmi_info SET PERM_INFO12 = resetBit(PERM_INFO12,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO12,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 12 THEN
UPDATE rm_role_hmi_info SET PERM_INFO13 = resetBit(PERM_INFO13,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO13,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 13 THEN
UPDATE rm_role_hmi_info SET PERM_INFO14 = resetBit(PERM_INFO14,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO14,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 14 THEN
UPDATE rm_role_hmi_info SET PERM_INFO15 = resetBit(PERM_INFO15,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO15,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 15 THEN
UPDATE rm_role_hmi_info SET PERM_INFO16 = resetBit(PERM_INFO16,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO16,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
END IF;
#
IF num = 0 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO1 = resetBit(PERM_INFO1,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO1,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 1 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO2 = resetBit(PERM_INFO2,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO2,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 2 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO3 = resetBit(PERM_INFO3,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO3,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 3 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO4 = resetBit(PERM_INFO4,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO4,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 4 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO5 = resetBit(PERM_INFO5,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO5,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 5 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO6 = resetBit(PERM_INFO6,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO6,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 6 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO7 = resetBit(PERM_INFO7,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO7,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 7 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO8 = resetBit(PERM_INFO8,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO8,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 8 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO9 = resetBit(PERM_INFO9,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO9,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 9 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO10 = resetBit(PERM_INFO10,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO10,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 10 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO11 = resetBit(PERM_INFO11,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO11,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 11 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO12 = resetBit(PERM_INFO12,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO12,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 12 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO13 = resetBit(PERM_INFO13,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO13,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 13 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO14 = resetBit(PERM_INFO14,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO14,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 14 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO15 = resetBit(PERM_INFO15,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO15,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
ELSEIF num = 15 THEN
UPDATE rm_userg_hmi_info SET PERM_INFO16 = resetBit(PERM_INFO16,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) WHERE testNumber(PERM_INFO16,IF(OLD.REPORT_ID%32=0,32,OLD.REPORT_ID%32)) AND PERM_TYPE = '1';
END IF;
DELETE FROM t_sys_table_file_tree WHERE TREECODE = OLD.REPORT_DEFINE;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'report_type_info', 'report_id', OLD.REPORT_ID, '', getTableSubSystem('report_type_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_RM_DEPT_DEF` AFTER INSERT ON `rm_dept_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'rm_dept_def', 'dept_id', '', NEW.DEPT_ID, getTableSubSystem('rm_dept_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TUA_RM_DEPT_DEF
AFTER UPDATE
ON rm_dept_def FOR EACH ROW
BEGIN
DECLARE oldNum int;
DECLARE newNum int;
SET oldNum = (OLD.DEPT_ID-1) DIV 32;
SET newNum = (NEW.DEPT_ID-1) DIV 32;
IF NEW.DEPT_ID <> OLD.DEPT_ID THEN
BEGIN
#,,,
IF oldNum = 0 THEN
UPDATE rm_user_def SET
PERM_DEPT1 = IF(newNum=0, setBit(PERM_DEPT1,IF(NEW.DEPT_ID%32=0,32,NEW.DEPT_ID%32)), PERM_DEPT1),
PERM_DEPT2 = IF(newNum=1, setBit(PERM_DEPT2,IF(NEW.DEPT_ID%32=0,32,NEW.DEPT_ID%32)), PERM_DEPT2),
PERM_DEPT3 = IF(newNum=2, setBit(PERM_DEPT3,IF(NEW.DEPT_ID%32=0,32,NEW.DEPT_ID%32)), PERM_DEPT3),
PERM_DEPT4 = IF(newNum=3, setBit(PERM_DEPT4,IF(NEW.DEPT_ID%32=0,32,NEW.DEPT_ID%32)), PERM_DEPT4)
WHERE testNumber(PERM_DEPT1,IF(OLD.DEPT_ID%32=0,32,OLD.DEPT_ID%32));
ELSEIF oldNum = 1 THEN
UPDATE rm_user_def SET
PERM_DEPT1 = IF(newNum=0, setBit(PERM_DEPT1,IF(NEW.DEPT_ID%32=0,32,NEW.DEPT_ID%32)), PERM_DEPT1),
PERM_DEPT2 = IF(newNum=1, setBit(PERM_DEPT2,IF(NEW.DEPT_ID%32=0,32,NEW.DEPT_ID%32)), PERM_DEPT2),
PERM_DEPT3 = IF(newNum=2, setBit(PERM_DEPT3,IF(NEW.DEPT_ID%32=0,32,NEW.DEPT_ID%32)), PERM_DEPT3),
PERM_DEPT4 = IF(newNum=3, setBit(PERM_DEPT4,IF(NEW.DEPT_ID%32=0,32,NEW.DEPT_ID%32)), PERM_DEPT4)
WHERE testNumber(PERM_DEPT2,IF(OLD.DEPT_ID%32=0,32,OLD.DEPT_ID%32));
ELSEIF oldNum = 2 THEN
UPDATE rm_user_def SET
PERM_DEPT1 = IF(newNum=0, setBit(PERM_DEPT1,IF(NEW.DEPT_ID%32=0,32,NEW.DEPT_ID%32)), PERM_DEPT1),
PERM_DEPT2 = IF(newNum=1, setBit(PERM_DEPT2,IF(NEW.DEPT_ID%32=0,32,NEW.DEPT_ID%32)), PERM_DEPT2),
PERM_DEPT3 = IF(newNum=2, setBit(PERM_DEPT3,IF(NEW.DEPT_ID%32=0,32,NEW.DEPT_ID%32)), PERM_DEPT3),
PERM_DEPT4 = IF(newNum=3, setBit(PERM_DEPT4,IF(NEW.DEPT_ID%32=0,32,NEW.DEPT_ID%32)), PERM_DEPT4)
WHERE testNumber(PERM_DEPT3,IF(OLD.DEPT_ID%32=0,32,OLD.DEPT_ID%32));
ELSEIF oldNum = 3 THEN
UPDATE rm_user_def SET
PERM_DEPT1 = IF(newNum=0, setBit(PERM_DEPT1,IF(NEW.DEPT_ID%32=0,32,NEW.DEPT_ID%32)), PERM_DEPT1),
PERM_DEPT2 = IF(newNum=1, setBit(PERM_DEPT2,IF(NEW.DEPT_ID%32=0,32,NEW.DEPT_ID%32)), PERM_DEPT2),
PERM_DEPT3 = IF(newNum=2, setBit(PERM_DEPT3,IF(NEW.DEPT_ID%32=0,32,NEW.DEPT_ID%32)), PERM_DEPT3),
PERM_DEPT4 = IF(newNum=3, setBit(PERM_DEPT4,IF(NEW.DEPT_ID%32=0,32,NEW.DEPT_ID%32)), PERM_DEPT4)
WHERE testNumber(PERM_DEPT4,IF(OLD.DEPT_ID%32=0,32,OLD.DEPT_ID%32));
END IF;
#,
IF oldNum = 0 THEN
UPDATE rm_user_def SET PERM_DEPT1 = resetBit(PERM_DEPT1,IF(OLD.DEPT_ID%32=0,32,OLD.DEPT_ID%32)) WHERE testNumber(PERM_DEPT1,IF(OLD.DEPT_ID%32=0,32,OLD.DEPT_ID%32));
ELSEIF oldNum = 1 THEN
UPDATE rm_user_def SET PERM_DEPT2 = resetBit(PERM_DEPT2,IF(OLD.DEPT_ID%32=0,32,OLD.DEPT_ID%32)) WHERE testNumber(PERM_DEPT2,IF(OLD.DEPT_ID%32=0,32,OLD.DEPT_ID%32));
ELSEIF oldNum = 2 THEN
UPDATE rm_user_def SET PERM_DEPT3 = resetBit(PERM_DEPT3,IF(OLD.DEPT_ID%32=0,32,OLD.DEPT_ID%32)) WHERE testNumber(PERM_DEPT3,IF(OLD.DEPT_ID%32=0,32,OLD.DEPT_ID%32));
ELSEIF oldNum = 3 THEN
UPDATE rm_user_def SET PERM_DEPT4 = resetBit(PERM_DEPT4,IF(OLD.DEPT_ID%32=0,32,OLD.DEPT_ID%32)) WHERE testNumber(PERM_DEPT4,IF(OLD.DEPT_ID%32=0,32,OLD.DEPT_ID%32));
END IF;
END;
END IF;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'rm_dept_def', 'dept_id', OLD.DEPT_ID, NEW.DEPT_ID, getTableSubSystem('rm_dept_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_RM_DEPT_DEF` AFTER DELETE ON `rm_dept_def` FOR EACH ROW BEGIN
#
DECLARE num int;
SET num = (OLD.DEPT_ID-1) DIV 32;
IF num = 0 THEN
UPDATE rm_user_def SET PERM_DEPT1 = resetBit(PERM_DEPT1,IF(OLD.DEPT_ID%32=0,32,OLD.DEPT_ID%32)) WHERE testNumber(PERM_DEPT1,IF(OLD.DEPT_ID%32=0,32,OLD.DEPT_ID%32));
ELSEIF num = 1 THEN
UPDATE rm_user_def SET PERM_DEPT2 = resetBit(PERM_DEPT2,IF(OLD.DEPT_ID%32=0,32,OLD.DEPT_ID%32)) WHERE testNumber(PERM_DEPT2,IF(OLD.DEPT_ID%32=0,32,OLD.DEPT_ID%32));
ELSEIF num = 2 THEN
UPDATE rm_user_def SET PERM_DEPT3 = resetBit(PERM_DEPT3,IF(OLD.DEPT_ID%32=0,32,OLD.DEPT_ID%32)) WHERE testNumber(PERM_DEPT3,IF(OLD.DEPT_ID%32=0,32,OLD.DEPT_ID%32));
ELSEIF num = 3 THEN
UPDATE rm_user_def SET PERM_DEPT4 = resetBit(PERM_DEPT4,IF(OLD.DEPT_ID%32=0,32,OLD.DEPT_ID%32)) WHERE testNumber(PERM_DEPT4,IF(OLD.DEPT_ID%32=0,32,OLD.DEPT_ID%32));
END IF;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'rm_dept_def', 'dept_id', OLD.DEPT_ID, '', getTableSubSystem('rm_dept_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_RM_NORM_FUNC_DEF` AFTER INSERT ON `rm_norm_func_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'rm_norm_func_def', 'func_id', '', NEW.FUNC_ID, getTableSubSystem('rm_norm_func_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_RM_NORM_FUNC_DEF` AFTER UPDATE ON `rm_norm_func_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'rm_norm_func_def', 'func_id', OLD.FUNC_ID, NEW.FUNC_ID, getTableSubSystem('rm_norm_func_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_RM_NORM_FUNC_DEF` AFTER DELETE ON `rm_norm_func_def` FOR EACH ROW BEGIN
#
DECLARE num int;
SET num = (OLD.FUNC_ID-1) DIV 32;
IF num = 0 THEN
UPDATE rm_role_def SET PERM_NOM_FUNC1 = resetBit(PERM_NOM_FUNC1,IF(OLD.FUNC_ID%32=0,32,OLD.FUNC_ID%32)) WHERE testNumber(PERM_NOM_FUNC1,IF(OLD.FUNC_ID%32=0,32,OLD.FUNC_ID%32));
ELSEIF num = 1 THEN
UPDATE rm_role_def SET PERM_NOM_FUNC2 = resetBit(PERM_NOM_FUNC2,IF(OLD.FUNC_ID%32=0,32,OLD.FUNC_ID%32)) WHERE testNumber(PERM_NOM_FUNC2,IF(OLD.FUNC_ID%32=0,32,OLD.FUNC_ID%32));
ELSEIF num = 2 THEN
UPDATE rm_role_def SET PERM_NOM_FUNC3 = resetBit(PERM_NOM_FUNC3,IF(OLD.FUNC_ID%32=0,32,OLD.FUNC_ID%32)) WHERE testNumber(PERM_NOM_FUNC3,IF(OLD.FUNC_ID%32=0,32,OLD.FUNC_ID%32));
ELSEIF num = 3 THEN
UPDATE rm_role_def SET PERM_NOM_FUNC4 = resetBit(PERM_NOM_FUNC4,IF(OLD.FUNC_ID%32=0,32,OLD.FUNC_ID%32)) WHERE testNumber(PERM_NOM_FUNC4,IF(OLD.FUNC_ID%32=0,32,OLD.FUNC_ID%32));
ELSEIF num = 4 THEN
UPDATE rm_role_def SET PERM_NOM_FUNC5 = resetBit(PERM_NOM_FUNC5,IF(OLD.FUNC_ID%32=0,32,OLD.FUNC_ID%32)) WHERE testNumber(PERM_NOM_FUNC5,IF(OLD.FUNC_ID%32=0,32,OLD.FUNC_ID%32));
ELSEIF num = 5 THEN
UPDATE rm_role_def SET PERM_NOM_FUNC6 = resetBit(PERM_NOM_FUNC6,IF(OLD.FUNC_ID%32=0,32,OLD.FUNC_ID%32)) WHERE testNumber(PERM_NOM_FUNC6,IF(OLD.FUNC_ID%32=0,32,OLD.FUNC_ID%32));
ELSEIF num = 6 THEN
UPDATE rm_role_def SET PERM_NOM_FUNC7 = resetBit(PERM_NOM_FUNC7,IF(OLD.FUNC_ID%32=0,32,OLD.FUNC_ID%32)) WHERE testNumber(PERM_NOM_FUNC7,IF(OLD.FUNC_ID%32=0,32,OLD.FUNC_ID%32));
ELSEIF num = 7 THEN
UPDATE rm_role_def SET PERM_NOM_FUNC8 = resetBit(PERM_NOM_FUNC8,IF(OLD.FUNC_ID%32=0,32,OLD.FUNC_ID%32)) WHERE testNumber(PERM_NOM_FUNC8,IF(OLD.FUNC_ID%32=0,32,OLD.FUNC_ID%32));
END IF;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'rm_norm_func_def', 'func_id', OLD.FUNC_ID, '', getTableSubSystem('rm_norm_func_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_RM_ROLE_DB_INFO` AFTER INSERT ON `rm_role_db_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'rm_role_db_info', 'perm_role,perm_table_name', '', concat(NEW.PERM_ROLE,',',NEW.PERM_TABLE_NAME), getTableSubSystem('rm_role_db_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_RM_ROLE_DB_INFO` AFTER UPDATE ON `rm_role_db_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'rm_role_db_info', 'perm_role,perm_table_name', concat(OLD.PERM_ROLE,',',OLD.PERM_TABLE_NAME), concat(NEW.PERM_ROLE,',',NEW.PERM_TABLE_NAME), getTableSubSystem('rm_role_db_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_RM_ROLE_DB_INFO` AFTER DELETE ON `rm_role_db_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'rm_role_db_info', 'perm_role,perm_table_name', concat(OLD.PERM_ROLE,',',OLD.PERM_TABLE_NAME), '', getTableSubSystem('rm_role_db_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_RM_ROLE_DEF` AFTER INSERT ON `rm_role_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'rm_role_def', 'perm_id', '', NEW.PERM_ID, getTableSubSystem('rm_role_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_RM_ROLE_DEF` AFTER UPDATE ON `rm_role_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'rm_role_def', 'perm_id', OLD.PERM_ID, NEW.PERM_ID, getTableSubSystem('rm_role_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_RM_ROLE_DEF` AFTER DELETE ON `rm_role_def` FOR EACH ROW BEGIN
#
#
DECLARE num int;
SET num = (OLD.PERM_ID-1) DIV 32;
IF num = 0 THEN
UPDATE rm_userg_def SET PERM_ROLE1 = resetBit(PERM_ROLE1,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_ROLE1,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 1 THEN
UPDATE rm_userg_def SET PERM_ROLE2 = resetBit(PERM_ROLE2,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_ROLE2,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 2 THEN
UPDATE rm_userg_def SET PERM_ROLE3 = resetBit(PERM_ROLE3,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_ROLE3,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 3 THEN
UPDATE rm_userg_def SET PERM_ROLE4 = resetBit(PERM_ROLE4,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_ROLE4,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 4 THEN
UPDATE rm_userg_def SET PERM_ROLE5 = resetBit(PERM_ROLE5,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_ROLE5,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 5 THEN
UPDATE rm_userg_def SET PERM_ROLE6 = resetBit(PERM_ROLE6,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_ROLE6,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 6 THEN
UPDATE rm_userg_def SET PERM_ROLE7 = resetBit(PERM_ROLE7,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_ROLE7,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 7 THEN
UPDATE rm_userg_def SET PERM_ROLE8 = resetBit(PERM_ROLE8,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_ROLE8,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
END IF;
#rm_role_db_info
DELETE FROM rm_role_db_info WHERE PERM_ROLE = OLD.PERM_ID;
#rm_role_hmi_info
DELETE FROM rm_role_hmi_info WHERE PERM_ROLE = OLD.PERM_ID;
#rm_role_spef_reg
DELETE FROM rm_role_spef_reg WHERE PERM_ROLE = OLD.PERM_ID;
#rm_userg_rsp_info
DELETE FROM rm_userg_rsp_info WHERE PERM_ROLE = OLD.PERM_ID;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'rm_role_def', 'perm_id', OLD.PERM_ID, '', getTableSubSystem('rm_role_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TIA_RM_ROLE_HMI_INFO
AFTER INSERT
ON rm_role_hmi_info FOR EACH ROW
BEGIN
#PERM_TYPE = 1,0HMI画面
#,rm_userg_report_info
DECLARE num int;
DECLARE pos int;
SET num = (NEW.PERM_ROLE-1) DIV 32;
SET pos = IF(NEW.PERM_ROLE%32=0,32,NEW.PERM_ROLE%32);
IF NEW.PERM_TYPE = '1' THEN
BEGIN
#rm_userg_report_info中的报表浏览权限
DELETE FROM rm_userg_report_info WHERE EXISTS (
SELECT rm_userg_def.PERM_ID FROM rm_userg_def
WHERE rm_userg_report_info.PERM_USER_GROUP = rm_userg_def.PERM_ID
AND testNumber(elt(num+1,PERM_ROLE1,PERM_ROLE2,PERM_ROLE3,PERM_ROLE4,PERM_ROLE5,PERM_ROLE6,PERM_ROLE7,PERM_ROLE8),pos)
);
#
INSERT INTO rm_userg_report_info(PERM_USER_GROUP,REPORT_CODE)
SELECT rm_userg_def.PERM_ID,report_type_info.REPORT_DEFINE
FROM rm_userg_def,rm_userg_hmi_info ,report_type_info
WHERE testNumber(elt(num+1,PERM_ROLE1,PERM_ROLE2,PERM_ROLE3,PERM_ROLE4,PERM_ROLE5,PERM_ROLE6,PERM_ROLE7,PERM_ROLE8),pos)
AND rm_userg_def.PERM_ID = rm_userg_hmi_info.PERM_USER_GROUP AND rm_userg_hmi_info.PERM_TYPE='1'
AND
testNumber(elt( ((REPORT_ID-1) DIV 32) +1,
PERM_INFO1,PERM_INFO2,PERM_INFO3,PERM_INFO4,PERM_INFO5,PERM_INFO6,PERM_INFO7,PERM_INFO8,
PERM_INFO9,PERM_INFO10,PERM_INFO11,PERM_INFO12,PERM_INFO13,PERM_INFO14,PERM_INFO15,PERM_INFO16)
,IF(REPORT_ID%32=0,32,REPORT_ID%32));
#,,
INSERT IGNORE INTO rm_userg_report_info(PERM_USER_GROUP,REPORT_CODE)
SELECT rm_userg_def.PERM_ID,report_type_info.REPORT_DEFINE
FROM rm_role_hmi_info, rm_userg_def,report_type_info
WHERE testNumber(elt( ((PERM_ROLE-1) DIV 32) +1,PERM_ROLE1,PERM_ROLE2,PERM_ROLE3,PERM_ROLE4,PERM_ROLE5,PERM_ROLE6,PERM_ROLE7,PERM_ROLE8),
IF(PERM_ROLE%32=0,32,PERM_ROLE%32))
AND
testNumber(elt( ((REPORT_ID-1) DIV 32) +1,
PERM_INFO1,PERM_INFO2,PERM_INFO3,PERM_INFO4,PERM_INFO5,PERM_INFO6,PERM_INFO7,PERM_INFO8,
PERM_INFO9,PERM_INFO10,PERM_INFO11,PERM_INFO12,PERM_INFO13,PERM_INFO14,PERM_INFO15,PERM_INFO16)
,IF(REPORT_ID%32=0,32,REPORT_ID%32))
;
END;
END IF;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'rm_role_hmi_info', 'perm_role,perm_type', '', concat(NEW.PERM_ROLE,',',NEW.PERM_TYPE), getTableSubSystem('rm_role_hmi_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TUA_RM_ROLE_HMI_INFO
AFTER UPDATE
ON rm_role_hmi_info FOR EACH ROW
BEGIN
#PERM_TYPE = 1,0HMI画面
#,rm_userg_report_info
DECLARE oldNum int;
DECLARE oldPos int;
DECLARE newNum int;
DECLARE newPos int;
SET oldNum = (OLD.PERM_ROLE-1) DIV 32;
SET oldPos = IF(OLD.PERM_ROLE%32=0,32,OLD.PERM_ROLE%32);
SET newNum = (NEW.PERM_ROLE-1) DIV 32;
SET newPos = IF(NEW.PERM_ROLE%32=0,32,NEW.PERM_ROLE%32);
IF NEW.PERM_TYPE = '1' AND OLD.PERM_TYPE='1' THEN
BEGIN
#rm_userg_report_info中的报表浏览权限
DELETE FROM rm_userg_report_info WHERE EXISTS (
SELECT rm_userg_def.PERM_ID FROM rm_userg_def
WHERE rm_userg_report_info.PERM_USER_GROUP = rm_userg_def.PERM_ID
AND testNumber(elt(oldNum+1,PERM_ROLE1,PERM_ROLE2,PERM_ROLE3,PERM_ROLE4,PERM_ROLE5,PERM_ROLE6,PERM_ROLE7,PERM_ROLE8),oldPos)
);
#
INSERT INTO rm_userg_report_info(PERM_USER_GROUP,REPORT_CODE)
SELECT rm_userg_def.PERM_ID,report_type_info.REPORT_DEFINE
FROM rm_userg_def,rm_userg_hmi_info ,report_type_info
WHERE testNumber(elt(newNum+1,PERM_ROLE1,PERM_ROLE2,PERM_ROLE3,PERM_ROLE4,PERM_ROLE5,PERM_ROLE6,PERM_ROLE7,PERM_ROLE8),newPos)
AND rm_userg_def.PERM_ID = rm_userg_hmi_info.PERM_USER_GROUP AND rm_userg_hmi_info.PERM_TYPE='1'
AND
testNumber(elt( ((REPORT_ID-1) DIV 32) +1,
PERM_INFO1,PERM_INFO2,PERM_INFO3,PERM_INFO4,PERM_INFO5,PERM_INFO6,PERM_INFO7,PERM_INFO8,
PERM_INFO9,PERM_INFO10,PERM_INFO11,PERM_INFO12,PERM_INFO13,PERM_INFO14,PERM_INFO15,PERM_INFO16)
,IF(REPORT_ID%32=0,32,REPORT_ID%32));
#,,
INSERT IGNORE INTO rm_userg_report_info(PERM_USER_GROUP,REPORT_CODE)
SELECT rm_userg_def.PERM_ID,report_type_info.REPORT_DEFINE
FROM rm_role_hmi_info, rm_userg_def,report_type_info
WHERE testNumber(elt( ((PERM_ROLE-1) DIV 32) +1,PERM_ROLE1,PERM_ROLE2,PERM_ROLE3,PERM_ROLE4,PERM_ROLE5,PERM_ROLE6,PERM_ROLE7,PERM_ROLE8),
IF(PERM_ROLE%32=0,32,PERM_ROLE%32))
AND
testNumber(elt( ((REPORT_ID-1) DIV 32) +1,
PERM_INFO1,PERM_INFO2,PERM_INFO3,PERM_INFO4,PERM_INFO5,PERM_INFO6,PERM_INFO7,PERM_INFO8,
PERM_INFO9,PERM_INFO10,PERM_INFO11,PERM_INFO12,PERM_INFO13,PERM_INFO14,PERM_INFO15,PERM_INFO16)
,IF(REPORT_ID%32=0,32,REPORT_ID%32))
;
END;
END IF;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'rm_role_hmi_info', 'perm_role,perm_type', concat(OLD.PERM_ROLE,',',OLD.PERM_TYPE), concat(NEW.PERM_ROLE,',',NEW.PERM_TYPE), getTableSubSystem('rm_role_hmi_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TDA_RM_ROLE_HMI_INFO
AFTER DELETE
ON rm_role_hmi_info FOR EACH ROW
BEGIN
#PERM_TYPE = 1,0HMI画面
#,rm_userg_report_info
DECLARE num int;
DECLARE pos int;
SET num = (OLD.PERM_ROLE-1) DIV 32;
SET pos = IF(OLD.PERM_ROLE%32=0,32,OLD.PERM_ROLE%32);
IF OLD.PERM_TYPE = '1' THEN
BEGIN
#rm_userg_report_info中的报表浏览权限
DELETE FROM rm_userg_report_info WHERE EXISTS (
SELECT rm_userg_def.PERM_ID FROM rm_userg_def
WHERE rm_userg_report_info.PERM_USER_GROUP = rm_userg_def.PERM_ID
AND testNumber(elt(num+1,PERM_ROLE1,PERM_ROLE2,PERM_ROLE3,PERM_ROLE4,PERM_ROLE5,PERM_ROLE6,PERM_ROLE7,PERM_ROLE8),pos)
);
#
INSERT INTO rm_userg_report_info(PERM_USER_GROUP,REPORT_CODE)
SELECT rm_userg_def.PERM_ID,report_type_info.REPORT_DEFINE
FROM rm_userg_def,rm_userg_hmi_info ,report_type_info
WHERE testNumber(elt(num+1,PERM_ROLE1,PERM_ROLE2,PERM_ROLE3,PERM_ROLE4,PERM_ROLE5,PERM_ROLE6,PERM_ROLE7,PERM_ROLE8),pos)
AND rm_userg_def.PERM_ID = rm_userg_hmi_info.PERM_USER_GROUP AND rm_userg_hmi_info.PERM_TYPE='1'
AND
testNumber(elt( ((REPORT_ID-1) DIV 32) +1,
PERM_INFO1,PERM_INFO2,PERM_INFO3,PERM_INFO4,PERM_INFO5,PERM_INFO6,PERM_INFO7,PERM_INFO8,
PERM_INFO9,PERM_INFO10,PERM_INFO11,PERM_INFO12,PERM_INFO13,PERM_INFO14,PERM_INFO15,PERM_INFO16)
,IF(REPORT_ID%32=0,32,REPORT_ID%32));
#,,
INSERT IGNORE INTO rm_userg_report_info(PERM_USER_GROUP,REPORT_CODE)
SELECT rm_userg_def.PERM_ID,report_type_info.REPORT_DEFINE
FROM rm_role_hmi_info, rm_userg_def,report_type_info
WHERE testNumber(elt( ((PERM_ROLE-1) DIV 32) +1,PERM_ROLE1,PERM_ROLE2,PERM_ROLE3,PERM_ROLE4,PERM_ROLE5,PERM_ROLE6,PERM_ROLE7,PERM_ROLE8),
IF(PERM_ROLE%32=0,32,PERM_ROLE%32))
AND
testNumber(elt( ((REPORT_ID-1) DIV 32) +1,
PERM_INFO1,PERM_INFO2,PERM_INFO3,PERM_INFO4,PERM_INFO5,PERM_INFO6,PERM_INFO7,PERM_INFO8,
PERM_INFO9,PERM_INFO10,PERM_INFO11,PERM_INFO12,PERM_INFO13,PERM_INFO14,PERM_INFO15,PERM_INFO16)
,IF(REPORT_ID%32=0,32,REPORT_ID%32))
;
END;
END IF;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'rm_role_hmi_info', 'perm_role,perm_type', concat(OLD.PERM_ROLE,',',OLD.PERM_TYPE), '', getTableSubSystem('rm_role_hmi_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_RM_ROLE_SPEF_REG` AFTER INSERT ON `rm_role_spef_reg` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'rm_role_spef_reg', 'perm_role,perm_spefunc', '', concat(NEW.PERM_ROLE,',',NEW.PERM_SPEFUNC), getTableSubSystem('rm_role_spef_reg'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_RM_ROLE_SPEF_REG` AFTER UPDATE ON `rm_role_spef_reg` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'rm_role_spef_reg', 'perm_role,perm_spefunc', concat(OLD.PERM_ROLE,',',OLD.PERM_SPEFUNC), concat(NEW.PERM_ROLE,',',NEW.PERM_SPEFUNC), getTableSubSystem('rm_role_spef_reg'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_RM_ROLE_SPEF_REG` AFTER DELETE ON `rm_role_spef_reg` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'rm_role_spef_reg', 'perm_role,perm_spefunc', concat(OLD.PERM_ROLE,',',OLD.PERM_SPEFUNC), '', getTableSubSystem('rm_role_spef_reg'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_RM_SECURITY_DEF` AFTER INSERT ON `rm_security_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'rm_security_def', 'perm_id', '', NEW.PERM_ID, getTableSubSystem('rm_security_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_RM_SECURITY_DEF` AFTER UPDATE ON `rm_security_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'rm_security_def', 'perm_id', OLD.PERM_ID, NEW.PERM_ID, getTableSubSystem('rm_security_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_RM_SECURITY_DEF` AFTER DELETE ON `rm_security_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'rm_security_def', 'perm_id', OLD.PERM_ID, '', getTableSubSystem('rm_security_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_RM_SPCL_FUNC_DEF` AFTER INSERT ON `rm_spcl_func_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'rm_spcl_func_def', 'perm_id', '', NEW.PERM_ID, getTableSubSystem('rm_spcl_func_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_RM_SPCL_FUNC_DEF` AFTER UPDATE ON `rm_spcl_func_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'rm_spcl_func_def', 'perm_id', OLD.PERM_ID, NEW.PERM_ID, getTableSubSystem('rm_spcl_func_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_RM_SPCL_FUNC_DEF` AFTER DELETE ON `rm_spcl_func_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'rm_spcl_func_def', 'perm_id', OLD.PERM_ID, '', getTableSubSystem('rm_spcl_func_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_RM_USER_DEF` AFTER INSERT ON `rm_user_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'rm_user_def', 'perm_id', '', NEW.PERM_ID, getTableSubSystem('rm_user_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_RM_USER_DEF` AFTER UPDATE ON `rm_user_def` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'rm_user_def', 'perm_id', OLD.PERM_ID, NEW.PERM_ID, getTableSubSystem('rm_user_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_RM_USER_DEF` AFTER DELETE ON `rm_user_def` FOR EACH ROW BEGIN
delete from rm_user_finger_print_info where USER_ID = old.PERM_ID;
delete from rm_user_face_info where USER_ID = old.PERM_ID;
delete from rm_user_signature_info where USER_ID = old.PERM_ID;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'rm_user_def', 'perm_id', OLD.PERM_ID, '', getTableSubSystem('rm_user_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_RM_USERG_DB_INFO` AFTER INSERT ON `rm_userg_db_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'rm_userg_db_info', 'perm_user_group,perm_table_name', '', concat(NEW.PERM_USER_GROUP,',',NEW.PERM_TABLE_NAME), getTableSubSystem('rm_userg_db_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_RM_USERG_DB_INFO` AFTER UPDATE ON `rm_userg_db_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'rm_userg_db_info', 'perm_user_group,perm_table_name', concat(OLD.PERM_USER_GROUP,',',OLD.PERM_TABLE_NAME), concat(NEW.PERM_USER_GROUP,',',NEW.PERM_TABLE_NAME), getTableSubSystem('rm_userg_db_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_RM_USERG_DB_INFO` AFTER DELETE ON `rm_userg_db_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'rm_userg_db_info', 'perm_user_group,perm_table_name', concat(OLD.PERM_USER_GROUP,',',OLD.PERM_TABLE_NAME), '', getTableSubSystem('rm_userg_db_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TIA_RM_USERG_DEF
AFTER INSERT
ON rm_userg_def FOR EACH ROW
BEGIN
#PERM_TYPE = 1,0HMI画面
#,rm_userg_report_info
#rm_userg_report_info中的报表浏览权限
DELETE FROM rm_userg_report_info WHERE PERM_USER_GROUP = NEW.PERM_ID;
#
INSERT INTO rm_userg_report_info(PERM_USER_GROUP,REPORT_CODE)
SELECT NEW.PERM_ID,report_type_info.REPORT_DEFINE
FROM rm_userg_hmi_info, report_type_info
WHERE rm_userg_hmi_info.PERM_USER_GROUP = NEW.PERM_ID AND rm_userg_hmi_info.PERM_TYPE = '1'
AND
testNumber(elt( ((REPORT_ID-1) DIV 32) +1,
PERM_INFO1,PERM_INFO2,PERM_INFO3,PERM_INFO4,PERM_INFO5,PERM_INFO6,PERM_INFO7,PERM_INFO8,
PERM_INFO9,PERM_INFO10,PERM_INFO11,PERM_INFO12,PERM_INFO13,PERM_INFO14,PERM_INFO15,PERM_INFO16)
,IF(REPORT_ID%32=0,32,REPORT_ID%32));
INSERT IGNORE INTO rm_userg_report_info(PERM_USER_GROUP,REPORT_CODE)
SELECT NEW.PERM_ID,report_type_info.REPORT_DEFINE
FROM rm_role_hmi_info,report_type_info
WHERE
testNumber(elt( ((PERM_ROLE-1) DIV 32) +1, NEW.PERM_ROLE1,NEW.PERM_ROLE2,NEW.PERM_ROLE3,NEW.PERM_ROLE4,NEW.PERM_ROLE5,NEW.PERM_ROLE6,NEW.PERM_ROLE7,NEW.PERM_ROLE8),
IF(PERM_ROLE%32=0,32,PERM_ROLE%32))
AND rm_role_hmi_info.PERM_TYPE='1'
AND
testNumber(elt( ((REPORT_ID-1) DIV 32) +1,
PERM_INFO1,PERM_INFO2,PERM_INFO3,PERM_INFO4,PERM_INFO5,PERM_INFO6,PERM_INFO7,PERM_INFO8,
PERM_INFO9,PERM_INFO10,PERM_INFO11,PERM_INFO12,PERM_INFO13,PERM_INFO14,PERM_INFO15,PERM_INFO16)
,IF(REPORT_ID%32=0,32,REPORT_ID%32));
INSERT INTO rm_userg_hmi_info(PERM_USER_GROUP,PERM_TYPE,PERM_INFO1,PERM_INFO2,PERM_INFO3,PERM_INFO4,PERM_INFO5,PERM_INFO6,PERM_INFO7,PERM_INFO8,PERM_INFO9,PERM_INFO10,PERM_INFO11,PERM_INFO12,PERM_INFO13,PERM_INFO14,PERM_INFO15,PERM_INFO16,PERM_ATTRIBUTE)
VALUES(NEW.PERM_ID,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1)
;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'rm_userg_def', 'perm_id', '', NEW.PERM_ID, getTableSubSystem('rm_userg_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TUA_RM_USERG_DEF
AFTER UPDATE
ON rm_userg_def FOR EACH ROW
BEGIN
IF NEW.PERM_ID <> OLD.PERM_ID OR NEW.PERM_ROLE1 <> OLD.PERM_ROLE1 OR NEW.PERM_ROLE2 <> OLD.PERM_ROLE2 OR NEW.PERM_ROLE3 <> OLD.PERM_ROLE3 OR
NEW.PERM_ROLE4 <> OLD.PERM_ROLE4 OR NEW.PERM_ROLE5 <> OLD.PERM_ROLE5 OR NEW.PERM_ROLE6 <> OLD.PERM_ROLE6 OR NEW.PERM_ROLE7 <> OLD.PERM_ROLE7 OR
NEW.PERM_ROLE8 <> OLD.PERM_ROLE8 THEN
BEGIN
#PERM_TYPE = 1,0HMI画面
#,rm_userg_report_info
#rm_userg_report_info中的报表浏览权限
DELETE FROM rm_userg_report_info WHERE PERM_USER_GROUP = OLD.PERM_ID;
#
INSERT INTO rm_userg_report_info(PERM_USER_GROUP,REPORT_CODE)
SELECT NEW.PERM_ID,report_type_info.REPORT_DEFINE
FROM rm_userg_hmi_info, report_type_info
WHERE rm_userg_hmi_info.PERM_USER_GROUP = NEW.PERM_ID AND rm_userg_hmi_info.PERM_TYPE = '1'
AND
testNumber(elt( ((REPORT_ID-1) DIV 32) +1,
PERM_INFO1,PERM_INFO2,PERM_INFO3,PERM_INFO4,PERM_INFO5,PERM_INFO6,PERM_INFO7,PERM_INFO8,
PERM_INFO9,PERM_INFO10,PERM_INFO11,PERM_INFO12,PERM_INFO13,PERM_INFO14,PERM_INFO15,PERM_INFO16)
,IF(REPORT_ID%32=0,32,REPORT_ID%32));
INSERT IGNORE INTO rm_userg_report_info(PERM_USER_GROUP,REPORT_CODE)
SELECT NEW.PERM_ID,report_type_info.REPORT_DEFINE
FROM rm_role_hmi_info,report_type_info
WHERE
testNumber(elt( ((PERM_ROLE-1) DIV 32) +1, NEW.PERM_ROLE1,NEW.PERM_ROLE2,NEW.PERM_ROLE3,NEW.PERM_ROLE4,NEW.PERM_ROLE5,NEW.PERM_ROLE6,NEW.PERM_ROLE7,NEW.PERM_ROLE8),
IF(PERM_ROLE%32=0,32,PERM_ROLE%32))
AND rm_role_hmi_info.PERM_TYPE='1'
AND
testNumber(elt( ((REPORT_ID-1) DIV 32) +1,
PERM_INFO1,PERM_INFO2,PERM_INFO3,PERM_INFO4,PERM_INFO5,PERM_INFO6,PERM_INFO7,PERM_INFO8,
PERM_INFO9,PERM_INFO10,PERM_INFO11,PERM_INFO12,PERM_INFO13,PERM_INFO14,PERM_INFO15,PERM_INFO16)
,IF(REPORT_ID%32=0,32,REPORT_ID%32))
;
END;
END IF;
IF NEW.PERM_LOCATION1 <> OLD.PERM_LOCATION1 OR NEW.PERM_LOCATION2 <> OLD.PERM_LOCATION2 OR NEW.PERM_LOCATION3 <> OLD.PERM_LOCATION3 OR
NEW.PERM_LOCATION4 <> OLD.PERM_LOCATION4 OR NEW.PERM_LOCATION5 <> OLD.PERM_LOCATION5 OR NEW.PERM_LOCATION6 <> OLD.PERM_LOCATION6 OR
NEW.PERM_LOCATION7 <> OLD.PERM_LOCATION7 OR NEW.PERM_LOCATION8 <> OLD.PERM_LOCATION8 THEN
BEGIN
UPDATE rm_userg_rsp_info SET PERM_LOCATION1 = NEW.PERM_LOCATION1,PERM_LOCATION2 = NEW.PERM_LOCATION2,PERM_LOCATION3 = NEW.PERM_LOCATION3,PERM_LOCATION4 = NEW.PERM_LOCATION4,
PERM_LOCATION5 = NEW.PERM_LOCATION5,PERM_LOCATION6 = NEW.PERM_LOCATION6,PERM_LOCATION7 = NEW.PERM_LOCATION7,PERM_LOCATION8 = NEW.PERM_LOCATION8 WHERE PERM_USER_GROUP = OLD.PERM_ID;
END;
END IF;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'rm_userg_def', 'perm_id', OLD.PERM_ID, NEW.PERM_ID, getTableSubSystem('rm_userg_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TDA_RM_USERG_DEF
AFTER DELETE
ON rm_userg_def FOR EACH ROW
BEGIN
#
DECLARE num int;
SET num = (OLD.PERM_ID-1) DIV 32;
IF num = 0 THEN
UPDATE rm_user_def SET PERM_USER_GROUP1 = resetBit(PERM_USER_GROUP1,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_USER_GROUP1,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 1 THEN
UPDATE rm_user_def SET PERM_USER_GROUP2 = resetBit(PERM_USER_GROUP2,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_USER_GROUP2,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 2 THEN
UPDATE rm_user_def SET PERM_USER_GROUP3 = resetBit(PERM_USER_GROUP3,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_USER_GROUP3,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 3 THEN
UPDATE rm_user_def SET PERM_USER_GROUP4 = resetBit(PERM_USER_GROUP4,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_USER_GROUP4,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 4 THEN
UPDATE rm_user_def SET PERM_USER_GROUP5 = resetBit(PERM_USER_GROUP5,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_USER_GROUP5,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 5 THEN
UPDATE rm_user_def SET PERM_USER_GROUP6 = resetBit(PERM_USER_GROUP6,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_USER_GROUP6,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 6 THEN
UPDATE rm_user_def SET PERM_USER_GROUP7 = resetBit(PERM_USER_GROUP7,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_USER_GROUP7,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 7 THEN
UPDATE rm_user_def SET PERM_USER_GROUP8 = resetBit(PERM_USER_GROUP8,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_USER_GROUP8,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 8 THEN
UPDATE rm_user_def SET PERM_USER_GROUP9 = resetBit(PERM_USER_GROUP9,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_USER_GROUP9,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 9 THEN
UPDATE rm_user_def SET PERM_USER_GROUP10 = resetBit(PERM_USER_GROUP10,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_USER_GROUP10,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 10 THEN
UPDATE rm_user_def SET PERM_USER_GROUP11 = resetBit(PERM_USER_GROUP11,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_USER_GROUP11,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 11 THEN
UPDATE rm_user_def SET PERM_USER_GROUP12 = resetBit(PERM_USER_GROUP12,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_USER_GROUP12,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 12 THEN
UPDATE rm_user_def SET PERM_USER_GROUP13 = resetBit(PERM_USER_GROUP13,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_USER_GROUP13,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 13 THEN
UPDATE rm_user_def SET PERM_USER_GROUP14 = resetBit(PERM_USER_GROUP14,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_USER_GROUP14,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 14 THEN
UPDATE rm_user_def SET PERM_USER_GROUP15 = resetBit(PERM_USER_GROUP15,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_USER_GROUP15,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
ELSEIF num = 15 THEN
UPDATE rm_user_def SET PERM_USER_GROUP16 = resetBit(PERM_USER_GROUP16,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32)) WHERE testNumber(PERM_USER_GROUP16,IF(OLD.PERM_ID%32=0,32,OLD.PERM_ID%32));
END IF;
#rm_userg_rsp_info
DELETE FROM rm_userg_rsp_info WHERE PERM_USER_GROUP = OLD.PERM_ID;
#rm_userg_db_info
DELETE FROM rm_userg_db_info WHERE PERM_USER_GROUP = OLD.PERM_ID;
#rm_userg_hmi_info
DELETE FROM rm_userg_hmi_info WHERE PERM_USER_GROUP = OLD.PERM_ID;
#rm_userg_report_info
DELETE FROM rm_userg_report_info WHERE PERM_USER_GROUP = OLD.PERM_ID;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'rm_userg_def', 'perm_id', OLD.PERM_ID, '', getTableSubSystem('rm_userg_def'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TIA_RM_USERG_HMI_INFO
AFTER INSERT
ON rm_userg_hmi_info FOR EACH ROW
BEGIN
#PERM_TYPE = 1,0HMI画面
#,rm_userg_report_info
IF NEW.PERM_TYPE = '1' THEN
BEGIN
#rm_userg_report_info中的报表浏览权限
DELETE FROM rm_userg_report_info WHERE PERM_USER_GROUP = NEW.PERM_USER_GROUP;
#
INSERT INTO rm_userg_report_info(PERM_USER_GROUP,REPORT_CODE)
SELECT NEW.PERM_USER_GROUP,report_type_info.REPORT_DEFINE
FROM report_type_info
WHERE testNumber(elt( ((REPORT_ID-1) DIV 32) +1,
NEW.PERM_INFO1,NEW.PERM_INFO2,NEW.PERM_INFO3,NEW.PERM_INFO4,NEW.PERM_INFO5,NEW.PERM_INFO6,NEW.PERM_INFO7,NEW.PERM_INFO8,
NEW.PERM_INFO9,NEW.PERM_INFO10,NEW.PERM_INFO11,NEW.PERM_INFO12,NEW.PERM_INFO13,NEW.PERM_INFO14,NEW.PERM_INFO15,NEW.PERM_INFO16)
,IF(REPORT_ID%32=0,32,REPORT_ID%32));
INSERT IGNORE INTO rm_userg_report_info(PERM_USER_GROUP,REPORT_CODE)
SELECT NEW.PERM_USER_GROUP,report_type_info.REPORT_DEFINE
FROM rm_userg_def,rm_role_hmi_info,report_type_info
WHERE rm_userg_def.PERM_ID = NEW.PERM_USER_GROUP
AND
testNumber(elt( ((PERM_ROLE-1) DIV 32) +1, PERM_ROLE1,PERM_ROLE2,PERM_ROLE3,PERM_ROLE4,PERM_ROLE5,PERM_ROLE6,PERM_ROLE7,PERM_ROLE8),
IF(PERM_ROLE%32=0,32,PERM_ROLE%32))
AND rm_role_hmi_info.PERM_TYPE='1'
AND
testNumber(elt( ((REPORT_ID-1) DIV 32) +1,
PERM_INFO1,PERM_INFO2,PERM_INFO3,PERM_INFO4,PERM_INFO5,PERM_INFO6,PERM_INFO7,PERM_INFO8,
PERM_INFO9,PERM_INFO10,PERM_INFO11,PERM_INFO12,PERM_INFO13,PERM_INFO14,PERM_INFO15,PERM_INFO16)
,IF(REPORT_ID%32=0,32,REPORT_ID%32))
;
END;
END IF;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'rm_userg_hmi_info', 'perm_user_group,perm_type,perm_attribute', '', concat(NEW.PERM_USER_GROUP,',',NEW.PERM_TYPE,',',NEW.PERM_ATTRIBUTE), getTableSubSystem('rm_userg_hmi_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TUA_RM_USERG_HMI_INFO
AFTER UPDATE
ON rm_userg_hmi_info FOR EACH ROW
BEGIN
#PERM_TYPE = 1,0HMI画面
#,rm_userg_report_info
IF NEW.PERM_TYPE = '1' AND OLD.PERM_TYPE = '1' THEN
BEGIN
#rm_userg_report_info中的报表浏览权限
DELETE FROM rm_userg_report_info WHERE PERM_USER_GROUP = OLD.PERM_USER_GROUP;
#
INSERT INTO rm_userg_report_info(PERM_USER_GROUP,REPORT_CODE)
SELECT NEW.PERM_USER_GROUP,report_type_info.REPORT_DEFINE
FROM report_type_info
WHERE testNumber(elt( ((REPORT_ID-1) DIV 32) +1,
NEW.PERM_INFO1,NEW.PERM_INFO2,NEW.PERM_INFO3,NEW.PERM_INFO4,NEW.PERM_INFO5,NEW.PERM_INFO6,NEW.PERM_INFO7,NEW.PERM_INFO8,
NEW.PERM_INFO9,NEW.PERM_INFO10,NEW.PERM_INFO11,NEW.PERM_INFO12,NEW.PERM_INFO13,NEW.PERM_INFO14,NEW.PERM_INFO15,NEW.PERM_INFO16)
,IF(REPORT_ID%32=0,32,REPORT_ID%32));
INSERT IGNORE INTO rm_userg_report_info(PERM_USER_GROUP,REPORT_CODE)
SELECT NEW.PERM_USER_GROUP,report_type_info.REPORT_DEFINE
FROM rm_userg_def,rm_role_hmi_info,report_type_info
WHERE rm_userg_def.PERM_ID = NEW.PERM_USER_GROUP
AND
testNumber(elt( ((PERM_ROLE-1) DIV 32) +1, PERM_ROLE1,PERM_ROLE2,PERM_ROLE3,PERM_ROLE4,PERM_ROLE5,PERM_ROLE6,PERM_ROLE7,PERM_ROLE8),
IF(PERM_ROLE%32=0,32,PERM_ROLE%32))
AND rm_role_hmi_info.PERM_TYPE='1'
AND
testNumber(elt( ((REPORT_ID-1) DIV 32) +1,
PERM_INFO1,PERM_INFO2,PERM_INFO3,PERM_INFO4,PERM_INFO5,PERM_INFO6,PERM_INFO7,PERM_INFO8,
PERM_INFO9,PERM_INFO10,PERM_INFO11,PERM_INFO12,PERM_INFO13,PERM_INFO14,PERM_INFO15,PERM_INFO16)
,IF(REPORT_ID%32=0,32,REPORT_ID%32))
;
END;
END IF;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'rm_userg_hmi_info', 'perm_user_group,perm_type,perm_attribute', concat(OLD.PERM_USER_GROUP,',',OLD.PERM_TYPE,',',OLD.PERM_ATTRIBUTE), concat(NEW.PERM_USER_GROUP,',',NEW.PERM_TYPE,',',NEW.PERM_ATTRIBUTE), getTableSubSystem('rm_userg_hmi_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TDA_RM_USERG_HMI_INFO
AFTER DELETE
ON rm_userg_hmi_info FOR EACH ROW
BEGIN
#PERM_TYPE = 1,0HMI画面
#,rm_userg_report_info
IF OLD.PERM_TYPE = '1' THEN
BEGIN
#rm_userg_report_info中的报表浏览权限
DELETE FROM rm_userg_report_info WHERE PERM_USER_GROUP = OLD.PERM_USER_GROUP;
#
INSERT IGNORE INTO rm_userg_report_info(PERM_USER_GROUP,REPORT_CODE)
SELECT OLD.PERM_USER_GROUP,report_type_info.REPORT_DEFINE
FROM rm_userg_def,rm_role_hmi_info,report_type_info
WHERE rm_userg_def.PERM_ID = OLD.PERM_USER_GROUP
AND
testNumber(elt( ((PERM_ROLE-1) DIV 32) +1, PERM_ROLE1,PERM_ROLE2,PERM_ROLE3,PERM_ROLE4,PERM_ROLE5,PERM_ROLE6,PERM_ROLE7,PERM_ROLE8),
IF(PERM_ROLE%32=0,32,PERM_ROLE%32))
AND rm_role_hmi_info.PERM_TYPE='1'
AND
testNumber(elt( ((REPORT_ID-1) DIV 32) +1,
PERM_INFO1,PERM_INFO2,PERM_INFO3,PERM_INFO4,PERM_INFO5,PERM_INFO6,PERM_INFO7,PERM_INFO8,
PERM_INFO9,PERM_INFO10,PERM_INFO11,PERM_INFO12,PERM_INFO13,PERM_INFO14,PERM_INFO15,PERM_INFO16)
,IF(REPORT_ID%32=0,32,REPORT_ID%32))
;
END;
END IF;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'rm_userg_hmi_info', 'perm_user_group,perm_type,perm_attribute', concat(OLD.PERM_USER_GROUP,',',OLD.PERM_TYPE,',',OLD.PERM_ATTRIBUTE), '', getTableSubSystem('rm_userg_hmi_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_RM_USERG_RSP_INFO` AFTER INSERT ON `rm_userg_rsp_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'rm_userg_rsp_info', 'perm_user_group,perm_role,perm_spefunc', '', concat(NEW.PERM_USER_GROUP,',',NEW.PERM_ROLE,',',NEW.PERM_SPEFUNC), getTableSubSystem('rm_userg_rsp_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_RM_USERG_RSP_INFO` AFTER UPDATE ON `rm_userg_rsp_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'rm_userg_rsp_info', 'perm_user_group,perm_role,perm_spefunc', concat(OLD.PERM_USER_GROUP,',',OLD.PERM_ROLE,',',OLD.PERM_SPEFUNC), concat(NEW.PERM_USER_GROUP,',',NEW.PERM_ROLE,',',NEW.PERM_SPEFUNC), getTableSubSystem('rm_userg_rsp_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_RM_USERG_RSP_INFO` AFTER DELETE ON `rm_userg_rsp_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'rm_userg_rsp_info', 'perm_user_group,perm_role,perm_spefunc', concat(OLD.PERM_USER_GROUP,',',OLD.PERM_ROLE,',',OLD.PERM_SPEFUNC), '', getTableSubSystem('rm_userg_rsp_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TIA_SAFETY_DAY
AFTER INSERT
ON safety_day FOR EACH ROW
BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'safety_day', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('safety_day'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TUA_SAFETY_DAY
AFTER UPDATE
ON safety_day FOR EACH ROW
BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'safety_day', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('safety_day'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TDA_SAFETY_DAY
AFTER DELETE
ON safety_day FOR EACH ROW
BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'safety_day', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('safety_day'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TIA_SAMPLE_DEFINE
AFTER INSERT
ON sample_define FOR EACH ROW
BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'sample_define', 'tag_name', '', NEW.TAG_NAME, getTableSubSystem('sample_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TUA_SAMPLE_DEFINE
AFTER UPDATE
ON sample_define FOR EACH ROW
BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'sample_define', 'tag_name', OLD.TAG_NAME, NEW.TAG_NAME, getTableSubSystem('sample_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TDA_SAMPLE_DEFINE
AFTER DELETE
ON sample_define FOR EACH ROW
BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'sample_define', 'tag_name', OLD.TAG_NAME, '', getTableSubSystem('sample_define'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_SYS_MODEL_APP_INFO` AFTER INSERT ON `sys_model_app_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'sys_model_app_info', 'app_id', '', NEW.APP_ID, getTableSubSystem('sys_model_app_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_SYS_MODEL_APP_INFO` AFTER UPDATE ON `sys_model_app_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'sys_model_app_info', 'app_id', OLD.APP_ID, NEW.APP_ID, getTableSubSystem('sys_model_app_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_SYS_MODEL_APP_INFO` AFTER DELETE ON `sys_model_app_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'sys_model_app_info', 'app_id', OLD.APP_ID, '', getTableSubSystem('sys_model_app_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_SYS_MODEL_DBCONFIG_DOMAIN` AFTER INSERT ON `sys_model_dbconfig_domain` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'sys_model_dbconfig_domain', 'domain_id', '', NEW.DOMAIN_ID, getTableSubSystem('sys_model_dbconfig_domain'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_SYS_MODEL_DBCONFIG_DOMAIN` AFTER UPDATE ON `sys_model_dbconfig_domain` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'sys_model_dbconfig_domain', 'domain_id', OLD.DOMAIN_ID, NEW.DOMAIN_ID, getTableSubSystem('sys_model_dbconfig_domain'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_SYS_MODEL_DBCONFIG_DOMAIN` AFTER DELETE ON `sys_model_dbconfig_domain` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'sys_model_dbconfig_domain', 'domain_id', OLD.DOMAIN_ID, '', getTableSubSystem('sys_model_dbconfig_domain'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_SYS_MODEL_DBCONFIG_NODE` AFTER INSERT ON `sys_model_dbconfig_node` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'sys_model_dbconfig_node', 'node_name', '', NEW.NODE_NAME, getTableSubSystem('sys_model_dbconfig_node'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_SYS_MODEL_DBCONFIG_NODE` AFTER UPDATE ON `sys_model_dbconfig_node` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'sys_model_dbconfig_node', 'node_name', OLD.NODE_NAME, NEW.NODE_NAME, getTableSubSystem('sys_model_dbconfig_node'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_SYS_MODEL_DBCONFIG_NODE` AFTER DELETE ON `sys_model_dbconfig_node` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'sys_model_dbconfig_node', 'node_name', OLD.NODE_NAME, '', getTableSubSystem('sys_model_dbconfig_node'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_SYS_MODEL_DEPLOY_INFO` AFTER INSERT ON `sys_model_deploy_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'sys_model_deploy_info', 'domain_id,app_id', '', concat(NEW.DOMAIN_ID,',',NEW.APP_ID), getTableSubSystem('sys_model_deploy_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_SYS_MODEL_DEPLOY_INFO` AFTER UPDATE ON `sys_model_deploy_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'sys_model_deploy_info', 'domain_id,app_id', concat(OLD.DOMAIN_ID,',',OLD.APP_ID), concat(NEW.DOMAIN_ID,',',NEW.APP_ID), getTableSubSystem('sys_model_deploy_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_SYS_MODEL_DEPLOY_INFO` AFTER DELETE ON `sys_model_deploy_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'sys_model_deploy_info', 'domain_id,app_id', concat(OLD.DOMAIN_ID,',',OLD.APP_ID), '', getTableSubSystem('sys_model_deploy_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_SYS_MODEL_DOMAIN_INFO` AFTER INSERT ON `sys_model_domain_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'sys_model_domain_info', 'domain_id', '', NEW.DOMAIN_ID, getTableSubSystem('sys_model_domain_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_SYS_MODEL_DOMAIN_INFO` AFTER UPDATE ON `sys_model_domain_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'sys_model_domain_info', 'domain_id', OLD.DOMAIN_ID, NEW.DOMAIN_ID, getTableSubSystem('sys_model_domain_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_SYS_MODEL_DOMAIN_INFO` AFTER DELETE ON `sys_model_domain_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'sys_model_domain_info', 'domain_id', OLD.DOMAIN_ID, '', getTableSubSystem('sys_model_domain_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_SYS_MODEL_LOCATION_INFO` AFTER INSERT ON `sys_model_location_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'sys_model_location_info', 'location_id', '', NEW.LOCATION_ID, getTableSubSystem('sys_model_location_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_SYS_MODEL_LOCATION_INFO` AFTER UPDATE ON `sys_model_location_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'sys_model_location_info', 'location_id', OLD.LOCATION_ID, NEW.LOCATION_ID, getTableSubSystem('sys_model_location_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_SYS_MODEL_LOCATION_INFO` AFTER DELETE ON `sys_model_location_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'sys_model_location_info', 'location_id', OLD.LOCATION_ID, '', getTableSubSystem('sys_model_location_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_SYS_MODEL_MSG_RELAY` AFTER INSERT ON `sys_model_msg_relay` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'sys_model_msg_relay', 'src_domain_id,dst_domain_id,sub_app_id', '', concat(NEW.SRC_DOMAIN_ID,',',NEW.DST_DOMAIN_ID,',',NEW.SUB_APP_ID), getTableSubSystem('sys_model_msg_relay'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_SYS_MODEL_MSG_RELAY` AFTER UPDATE ON `sys_model_msg_relay` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'sys_model_msg_relay', 'src_domain_id,dst_domain_id,sub_app_id', concat(OLD.SRC_DOMAIN_ID,',',OLD.DST_DOMAIN_ID,',',OLD.SUB_APP_ID), concat(NEW.SRC_DOMAIN_ID,',',NEW.DST_DOMAIN_ID,',',NEW.SUB_APP_ID), getTableSubSystem('sys_model_msg_relay'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_SYS_MODEL_MSG_RELAY` AFTER DELETE ON `sys_model_msg_relay` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'sys_model_msg_relay', 'src_domain_id,dst_domain_id,sub_app_id', concat(OLD.SRC_DOMAIN_ID,',',OLD.DST_DOMAIN_ID,',',OLD.SUB_APP_ID), '', getTableSubSystem('sys_model_msg_relay'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_SYS_MODEL_NODE_INFO` AFTER INSERT ON `sys_model_node_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'sys_model_node_info', 'node_name', '', NEW.NODE_NAME, getTableSubSystem('sys_model_node_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_SYS_MODEL_NODE_INFO` AFTER UPDATE ON `sys_model_node_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'sys_model_node_info', 'node_name', OLD.NODE_NAME, NEW.NODE_NAME, getTableSubSystem('sys_model_node_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_SYS_MODEL_NODE_INFO` AFTER DELETE ON `sys_model_node_info` FOR EACH ROW BEGIN
delete from acs_device_node_map where NODE_NAME = old.NODE_NAME;
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'sys_model_node_info', 'node_name', OLD.NODE_NAME, '', getTableSubSystem('sys_model_node_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_SYS_MODEL_PROCESS_INFO` AFTER INSERT ON `sys_model_process_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'sys_model_process_info', 'proc_alias', '', NEW.PROC_ALIAS, getTableSubSystem('sys_model_process_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_SYS_MODEL_PROCESS_INFO` AFTER UPDATE ON `sys_model_process_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'sys_model_process_info', 'proc_alias', OLD.PROC_ALIAS, NEW.PROC_ALIAS, getTableSubSystem('sys_model_process_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_SYS_MODEL_PROCESS_INFO` AFTER DELETE ON `sys_model_process_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'sys_model_process_info', 'proc_alias', OLD.PROC_ALIAS, '', getTableSubSystem('sys_model_process_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TIA_SYS_MODEL_SUB_SYSTEM_INFO` AFTER INSERT ON `sys_model_sub_system_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('insert'),'sys_model_sub_system_info', 'sub_system_id', '', NEW.SUB_SYSTEM_ID, getTableSubSystem('sys_model_sub_system_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TUA_SYS_MODEL_SUB_SYSTEM_INFO` AFTER UPDATE ON `sys_model_sub_system_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('update'),'sys_model_sub_system_info', 'sub_system_id', OLD.SUB_SYSTEM_ID, NEW.SUB_SYSTEM_ID, getTableSubSystem('sys_model_sub_system_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER `TDA_SYS_MODEL_SUB_SYSTEM_INFO` AFTER DELETE ON `sys_model_sub_system_info` FOR EACH ROW BEGIN
IF getTriggerFlag() = TRUE THEN
INSERT INTO sys_trigger_info(ACT_ID, OP_TYPE, TABLE_NAME,KEY_COLUMN_NAME,KEY_OLD_VALUE,KEY_NEW_VALUE,SUBSYSTEM_FLAG)
VALUES (getMaxTriggerId(),getOpType('delete'),'sys_model_sub_system_info', 'sub_system_id', OLD.SUB_SYSTEM_ID, '', getTableSubSystem('sys_model_sub_system_info'));
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TU_TEMP_PLUGIN
AFTER UPDATE ON TEMP_PLUGIN
FOR EACH ROW
BEGIN
UPDATE temp_plugin_dev_map
SET PLUGIN_NAME = NEW.TAG_NAME
WHERE PLUGIN_NAME = OLD.TAG_NAME;
UPDATE temp_plugin_fes_dev_map
SET PLUGIN_NAME = NEW.TAG_NAME
WHERE PLUGIN_NAME = OLD.TAG_NAME;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TD_TEMP_PLUGIN
AFTER DELETE ON TEMP_PLUGIN
FOR EACH ROW
BEGIN
DELETE FROM temp_plugin_dev_map WHERE PLUGIN_NAME = OLD.TAG_NAME;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TI_TEMP_PLUGIN_DEV_MAP
AFTER INSERT
ON temp_plugin_dev_map FOR EACH ROW
body:BEGIN
IF myTriggerIsDisable() = 1 THEN LEAVE body;
END IF;
#
INSERT INTO temp_plugin_point_map_acc
(PLUGIN_NAME, TEMP_NAME, TEMP_POINT_NAME, FES_TEMP_NAME, FES_TEMP_POINT_NAME)
SELECT
NEW.PLUGIN_NAME,NEW.TEMP_NAME,getAfterLastDot(TAG_NAME),'', ''
FROM accuml_temp_define WHERE DEV_TP_NAME = NEW.TEMP_NAME;
INSERT INTO temp_plugin_point_map_ana
(PLUGIN_NAME, TEMP_NAME, TEMP_POINT_NAME, FES_TEMP_NAME, FES_TEMP_POINT_NAME,FES_TEMP_OUT_NAME)
SELECT
NEW.PLUGIN_NAME,NEW.TEMP_NAME,getAfterLastDot(TAG_NAME),'', '', ''
FROM analog_temp_define WHERE DEV_TP_NAME = NEW.TEMP_NAME;
INSERT INTO temp_plugin_point_map_dig
(PLUGIN_NAME, TEMP_NAME, TEMP_POINT_NAME, FES_TEMP_NAME, FES_TEMP_POINT_NAME1, FES_TEMP_POINT_NAME2, FES_TEMP_POINT_NAME3, FES_TEMP_POINT_NAME4, FES_TEMP_POINT_NAME5, FES_TEMP_OUT_NAME1, FES_TEMP_OUT_NAME2, FES_TEMP_OUT_NAME3, FES_TEMP_OUT_NAME4, FES_TEMP_OUT_NAME5)
SELECT
NEW.PLUGIN_NAME,NEW.TEMP_NAME,getAfterLastDot(TAG_NAME),'', '', '', '', '', '', '', '', '', '', ''
FROM digital_temp_define WHERE DEV_TP_NAME = NEW.TEMP_NAME;
INSERT INTO temp_plugin_point_map_mix
(PLUGIN_NAME, TEMP_NAME, TEMP_POINT_NAME, FES_TEMP_NAME, FES_TEMP_POINT_NAME,FES_TEMP_OUT_NAME)
SELECT
NEW.PLUGIN_NAME,NEW.TEMP_NAME,getAfterLastDot(TAG_NAME),'', '', ''
FROM mix_temp_define WHERE DEV_TP_NAME = NEW.TEMP_NAME;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TD_TEMP_PLUGIN_DEV_MAP
AFTER DELETE
ON temp_plugin_dev_map FOR EACH ROW
BEGIN
DELETE FROM temp_plugin_fes_dev_map WHERE PLUGIN_NAME = OLD.PLUGIN_NAME AND TEMP_NAME = OLD.TEMP_NAME;
DELETE FROM temp_plugin_point_map_acc WHERE PLUGIN_NAME = OLD.PLUGIN_NAME AND TEMP_NAME = OLD.TEMP_NAME;
DELETE FROM temp_plugin_point_map_ana WHERE PLUGIN_NAME = OLD.PLUGIN_NAME AND TEMP_NAME = OLD.TEMP_NAME;
DELETE FROM temp_plugin_point_map_dig WHERE PLUGIN_NAME = OLD.PLUGIN_NAME AND TEMP_NAME = OLD.TEMP_NAME;
DELETE FROM temp_plugin_point_map_mix WHERE PLUGIN_NAME = OLD.PLUGIN_NAME AND TEMP_NAME = OLD.TEMP_NAME;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TU_TEMP_PLUGIN_FES_DEV_MAP
AFTER UPDATE ON TEMP_PLUGIN_FES_DEV_MAP
FOR EACH ROW
BEGIN
#plugin_name和temp_name,fes_temp_name
#temp_plugin_point_map_acc为例,,FES_TEMP_NAME可能为空
IF OLD.PLUGIN_NAME != NEW.PLUGIN_NAME OR OLD.TEMP_NAME != NEW.TEMP_NAME THEN
BEGIN
UPDATE temp_plugin_point_map_acc
SET
PLUGIN_NAME = NEW.PLUGIN_NAME,
TEMP_NAME = NEW.TEMP_NAME
WHERE PLUGIN_NAME = OLD.PLUGIN_NAME AND TEMP_NAME = OLD.TEMP_NAME;
UPDATE temp_plugin_point_map_ana
SET
PLUGIN_NAME = NEW.PLUGIN_NAME,
TEMP_NAME = NEW.TEMP_NAME
WHERE PLUGIN_NAME = OLD.PLUGIN_NAME AND TEMP_NAME = OLD.TEMP_NAME;
UPDATE temp_plugin_point_map_dig
SET
PLUGIN_NAME = NEW.PLUGIN_NAME,
TEMP_NAME = NEW.TEMP_NAME
WHERE PLUGIN_NAME = OLD.PLUGIN_NAME AND TEMP_NAME = OLD.TEMP_NAME;
UPDATE temp_plugin_point_map_mix
SET
PLUGIN_NAME = NEW.PLUGIN_NAME,
TEMP_NAME = NEW.TEMP_NAME
WHERE PLUGIN_NAME = OLD.PLUGIN_NAME AND TEMP_NAME = OLD.TEMP_NAME;
END;
END IF;
#,使plugin_name和temp_name
IF OLD.FES_TEMP_NAME != NEW.FES_TEMP_NAME THEN
BEGIN
UPDATE temp_plugin_point_map_acc
SET
FES_TEMP_NAME = NEW.FES_TEMP_NAME
WHERE PLUGIN_NAME = NEW.PLUGIN_NAME AND TEMP_NAME = NEW.TEMP_NAME AND FES_TEMP_NAME = OLD.FES_TEMP_NAME;
UPDATE temp_plugin_point_map_ana
SET
FES_TEMP_NAME = NEW.FES_TEMP_NAME
WHERE PLUGIN_NAME = NEW.PLUGIN_NAME AND TEMP_NAME = NEW.TEMP_NAME AND FES_TEMP_NAME = OLD.FES_TEMP_NAME;
UPDATE temp_plugin_point_map_dig
SET
FES_TEMP_NAME = NEW.FES_TEMP_NAME
WHERE PLUGIN_NAME = NEW.PLUGIN_NAME AND TEMP_NAME = NEW.TEMP_NAME AND FES_TEMP_NAME = OLD.FES_TEMP_NAME;
UPDATE temp_plugin_point_map_mix
SET
FES_TEMP_NAME = NEW.FES_TEMP_NAME
WHERE PLUGIN_NAME = NEW.PLUGIN_NAME AND TEMP_NAME = NEW.TEMP_NAME AND FES_TEMP_NAME = OLD.FES_TEMP_NAME;
END;
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DELIMITER $$
CREATE TRIGGER TD_TEMP_PLUGIN_FES_DEV_MAP
AFTER DELETE ON TEMP_PLUGIN_FES_DEV_MAP
FOR EACH ROW
BEGIN
#
UPDATE temp_plugin_point_map_acc
SET
FES_TEMP_NAME = '',
FES_TEMP_POINT_NAME = ''
WHERE PLUGIN_NAME = OLD.PLUGIN_NAME AND TEMP_NAME = OLD.TEMP_NAME AND FES_TEMP_NAME = OLD.FES_TEMP_NAME;
UPDATE temp_plugin_point_map_ana
SET
FES_TEMP_NAME = '',
FES_TEMP_POINT_NAME = '',
FES_TEMP_OUT_NAME = ''
WHERE PLUGIN_NAME = OLD.PLUGIN_NAME AND TEMP_NAME = OLD.TEMP_NAME AND FES_TEMP_NAME = OLD.FES_TEMP_NAME;
UPDATE temp_plugin_point_map_dig
SET
FES_TEMP_NAME = '',
FES_TEMP_POINT_NAME1 = '',
FES_TEMP_POINT_NAME2 = '',
FES_TEMP_POINT_NAME3 = '',
FES_TEMP_POINT_NAME4 = '',
FES_TEMP_POINT_NAME5 = '',
FES_TEMP_OUT_NAME1 = '',
FES_TEMP_OUT_NAME2 = '',
FES_TEMP_OUT_NAME3 = '',
FES_TEMP_OUT_NAME4 = '',
FES_TEMP_OUT_NAME5 = ''
WHERE PLUGIN_NAME = OLD.PLUGIN_NAME AND TEMP_NAME = OLD.TEMP_NAME AND FES_TEMP_NAME = OLD.FES_TEMP_NAME;
UPDATE temp_plugin_point_map_mix
SET
FES_TEMP_NAME = '',
FES_TEMP_POINT_NAME = '',
FES_TEMP_OUT_NAME = ''
WHERE PLUGIN_NAME = OLD.PLUGIN_NAME AND TEMP_NAME = OLD.TEMP_NAME AND FES_TEMP_NAME = OLD.FES_TEMP_NAME;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP FUNCTION IF EXISTS `findPsc3000Tag`;
DELIMITER $$
CREATE FUNCTION `findPsc3000Tag`(pointDesc varchar(128),pointRemoteNo decimal(10,0), pointDevId decimal(10,0),tableName varchar(64)) RETURNS varchar(64) CHARSET utf8
BEGIN
#PSC3000的测点表中查找对应测点的TAG
DECLARE tempVar varchar(64) DEFAULT '';
IF tableName='psc_acc' THEN
SET tempVar =(SELECT TAG_NAME FROM psc3000_acc WHERE DESCRIPTION = pointDesc AND pointRemoteNo = REMOTE_NO AND pointDevId = DEV_ID);
ELSEIF tableName='psc_ana' THEN
SET tempVar =(SELECT TAG_NAME FROM psc3000_ana WHERE DESCRIPTION = pointDesc AND pointRemoteNo = REMOTE_NO AND pointDevId = DEV_ID);
ELSEIF tableName='psc_dig' THEN
SET tempVar =(SELECT TAG_NAME FROM psc3000_dig WHERE DESCRIPTION = pointDesc AND pointRemoteNo = REMOTE_NO AND pointDevId = DEV_ID);
END IF;
IF tempVar IS NULL THEN SET tempVar = '';
END IF;
#
RETURN tempVar;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP FUNCTION IF EXISTS `getAfterFirstDot`;
DELIMITER $$
CREATE FUNCTION `getAfterFirstDot`( ds varchar(128)) RETURNS varchar(128) CHARSET utf8
BEGIN
/*
* 返回第一个.号之后的字符串
*/
DECLARE tempVar varchar(128);
DECLARE countStr int;
DECLARE countFirstStr int;
SET tempVar = ds;
IF locate('.',ds) = 0 THEN RETURN tempVar;
ELSE
BEGIN
SET tempVar = substring_index( ds, '.' , 1);
SET countStr = char_length(ds);
SET countFirstStr = char_length(tempVar);
SET countFirstStr = countFirstStr + 1;
SET tempVar = right(ds,countStr - countFirstStr);
RETURN tempVar;
END;
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP FUNCTION IF EXISTS `getAfterLastDot`;
DELIMITER $$
CREATE FUNCTION `getAfterLastDot`( ds varchar(128)) RETURNS varchar(128) CHARSET utf8
BEGIN
/*
* 返回最后一个.号之后的数据
*/
DECLARE tempVar varchar(128);
SET tempVar = '';
IF locate('.',ds) = 0 THEN RETURN tempVar;
ELSE RETURN substring_index( ds, '.' , -1);
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP FUNCTION IF EXISTS `getBeforeFirstDot`;
DELIMITER $$
CREATE FUNCTION `getBeforeFirstDot`( ds varchar(128)) RETURNS varchar(128) CHARSET utf8
BEGIN
/*
* 返回第一个.号之前的字符串
*/
IF locate('.',ds) = 0 THEN RETURN '';
ELSE
BEGIN
RETURN substring_index( ds, '.' , 1);
END;
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP FUNCTION IF EXISTS `getBeforeLastDot`;
DELIMITER $$
CREATE FUNCTION `getBeforeLastDot`( ds varchar(128)) RETURNS varchar(128) CHARSET utf8
BEGIN
/*
* 返回最后一个.之前的字符串
*/
DECLARE tempVar varchar(128);
DECLARE countStr int;
DECLARE countLastStr int;
SET tempVar = ds;
IF locate('.',ds) = 0 THEN RETURN tempVar;
ELSE
BEGIN
SET tempVar = substring_index( ds, '.' , -1);
SET countStr = char_length(ds);
SET countLastStr = char_length(tempVar);
SET countLastStr = countLastStr + 1;
SET tempVar = left(ds,countStr - countLastStr);
RETURN tempVar;
END;
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP FUNCTION IF EXISTS `getFesPointType`;
DELIMITER $$
CREATE FUNCTION `getFesPointType`( flag varchar(64)) RETURNS decimal(10,0)
BEGIN
/*
* 返回flag指定的点类型
*
* FES_ACC:0
* FES_ANA:1
* FES_DIG:2
* FES_MIX:3
* FES_ANA_CTRL:4
* FES_DIG_CTRL:5
* FES_MIX_CTRL:6
*/
DECLARE tempVar decimal(10,0) DEFAULT 0;
IF flag='FES_ACC' THEN SET tempVar =0;
END IF;
IF flag='FES_ANA' THEN SET tempVar =1;
END IF;
IF flag='FES_DIG' THEN SET tempVar =2;
END IF;
IF flag='FES_MIX' THEN SET tempVar =3;
END IF;
IF flag='FES_ANA_CTRL' THEN SET tempVar =4;
END IF;
IF flag='FES_DIG_CTRL' THEN SET tempVar =5;
END IF;
IF flag='FES_MIX_CTRL' THEN SET tempVar =6;
END IF;
IF flag='FES_CONST' THEN SET tempVar =7;
END IF;
RETURN tempVar;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP FUNCTION IF EXISTS `getMaxDefaultDevSeqNo`;
DELIMITER $$
CREATE FUNCTION `getMaxDefaultDevSeqNo`( defaultDevTagName varchar(64), dotType decimal(10,0)) RETURNS decimal(10,0)
BEGIN
/*
* 返回指定defaultDevTagName的最大SeqNo
*/
DECLARE tempVar decimal(10,0) DEFAULT 0;
IF dotType=getFesPointType('FES_ACC') THEN SET tempVar =(SELECT max(SEQ_NO) FROM fes_accuml WHERE DEV_TAG=defaultDevTagName);
END IF;
IF dotType=getFesPointType('FES_ANA') THEN SET tempVar =(SELECT max(SEQ_NO) FROM fes_analog WHERE DEV_TAG=defaultDevTagName);
END IF;
IF dotType=getFesPointType('FES_DIG') THEN SET tempVar =(SELECT max(SEQ_NO) FROM fes_digital WHERE DEV_TAG=defaultDevTagName);
END IF;
IF dotType=getFesPointType('FES_MIX') THEN SET tempVar =(SELECT max(SEQ_NO) FROM fes_mix WHERE DEV_TAG=defaultDevTagName);
END IF;
IF dotType=getFesPointType('FES_ANA_CTRL') THEN SET tempVar =(SELECT max(SEQ_NO) FROM fes_analog_ctrl WHERE DEV_TAG=defaultDevTagName);
END IF;
IF dotType=getFesPointType('FES_DIG_CTRL') THEN SET tempVar =(SELECT max(SEQ_NO) FROM fes_digital_ctrl WHERE DEV_TAG=defaultDevTagName);
END IF;
IF dotType=getFesPointType('FES_MIX_CTRL') THEN SET tempVar =(SELECT max(SEQ_NO) FROM fes_mix_ctrl WHERE DEV_TAG=defaultDevTagName);
END IF;
IF tempVar IS NULL THEN SET tempVar = 0;
END IF;
RETURN tempVar + 1;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP FUNCTION IF EXISTS `getMaxRtuDotNo`;
DELIMITER $$
CREATE FUNCTION `getMaxRtuDotNo`( rtuTagName varchar(64), dotType decimal(10,0)) RETURNS decimal(10,0)
BEGIN
/*
* 返回指定rtuTagName的最大点号
* dotType可取三个值,0,1,2
* 0表示FES_ACC
* 1表示FES_ANA
* 2表示FES_DIG
* 3表示FES_MIX
*/
DECLARE tempVar decimal(10,0) DEFAULT 0;
IF dotType=getFesPointType('FES_ACC') THEN SET tempVar =(SELECT max(DOT_NO) FROM fes_accuml WHERE RTU_TAG=rtuTagName);
END IF;
IF dotType=getFesPointType('FES_ANA') THEN SET tempVar =(SELECT max(DOT_NO) FROM fes_analog WHERE RTU_TAG=rtuTagName);
END IF;
IF dotType=getFesPointType('FES_DIG') THEN SET tempVar =(SELECT max(DOT_NO) FROM fes_digital WHERE RTU_TAG=rtuTagName);
END IF;
IF dotType=getFesPointType('FES_MIX') THEN SET tempVar =(SELECT max(DOT_NO) FROM fes_mix WHERE RTU_TAG=rtuTagName);
END IF;
IF dotType=getFesPointType('FES_ANA_CTRL') THEN SET tempVar =(SELECT max(DOT_NO) FROM fes_analog_ctrl WHERE RTU_TAG=rtuTagName);
END IF;
IF dotType=getFesPointType('FES_DIG_CTRL') THEN SET tempVar =(SELECT max(DOT_NO) FROM fes_digital_ctrl WHERE RTU_TAG=rtuTagName);
END IF;
IF dotType=getFesPointType('FES_MIX_CTRL') THEN SET tempVar =(SELECT max(DOT_NO) FROM fes_mix_ctrl WHERE RTU_TAG=rtuTagName);
END IF;
IF dotType=getFesPointType('FES_CONST') THEN SET tempVar =(SELECT max(DOT_NO) FROM fes_const WHERE RTU_TAG=rtuTagName);
END IF;
IF tempVar IS NULL THEN SET tempVar = -1;
END IF;
#
RETURN tempVar + 1;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP FUNCTION IF EXISTS `getMaxSeq`;
DELIMITER $$
CREATE FUNCTION `getMaxSeq`(devTag varchar(64), tableName varchar(64)) RETURNS decimal(10,0)
BEGIN
#
DECLARE temp decimal(10) DEFAULT 0;
IF tableName = 'accuml' THEN
SELECT max(SEQ_NO) INTO temp FROM accuml WHERE DEVICE = devTag;
ELSEIF tableName = 'analog' THEN
SELECT max(SEQ_NO) INTO temp FROM analog WHERE DEVICE = devTag;
ELSEIF tableName = 'digital' THEN
SELECT max(SEQ_NO) INTO temp FROM digital WHERE DEVICE = devTag;
ELSEIF tableName = 'mix' THEN
SELECT max(SEQ_NO) INTO temp FROM mix WHERE DEVICE = devTag;
END IF;
RETURN COALESCE(temp,0);
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP FUNCTION IF EXISTS `getMaxTriggerId`;
DELIMITER $$
CREATE FUNCTION `getMaxTriggerId`() RETURNS decimal(10,0)
BEGIN
#,strCount个子串
DECLARE maxId decimal(10,0) DEFAULT 0;
SELECT (max(ACT_ID)) INTO maxId FROM sys_trigger_info;
IF COALESCE(maxId,0) = 0 THEN
SET maxId = 0;
END IF;
SET maxId = maxId + 1;
RETURN maxId;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP FUNCTION IF EXISTS `getOpType`;
DELIMITER $$
CREATE FUNCTION `getOpType`(opName varchar(32)) RETURNS decimal(10,0)
BEGIN
#
DECLARE flag decimal(10,0) DEFAULT -1;
IF opName = 'insert' THEN
SET flag = 0;
ELSEIF opName = 'delete' THEN
SET flag = 1;
ELSEIF opName = 'update' THEN
SET flag = 2;
ELSE
SET flag = -1;
END IF;
RETURN flag;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP FUNCTION IF EXISTS `getTableSubSystem`;
DELIMITER $$
CREATE FUNCTION `getTableSubSystem`( tableName varchar(100)) RETURNS decimal(10,0)
BEGIN
DECLARE subSystemFlag decimal(10,0) DEFAULT 0;
RETURN subSystemFlag;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP FUNCTION IF EXISTS `getTriggerFlag`;
DELIMITER $$
CREATE FUNCTION `getTriggerFlag`() RETURNS tinyint(1)
BEGIN
#,strCount个子串
DECLARE flag boolean DEFAULT FALSE;
SELECT FLAG_ID INTO flag FROM sys_trigger_flag WHERE FLAG_ID = 1;
IF COALESCE(flag,FALSE) = FALSE THEN
SET flag = FALSE;
END IF;
RETURN flag;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP FUNCTION IF EXISTS `myTriggerIsDisable`;
DELIMITER $$
CREATE FUNCTION `myTriggerIsDisable`() RETURNS int(11)
BEGIN
#,1
IF COALESCE(@disableMyTrrigger,0) = 0 THEN
RETURN 0;
ELSE
RETURN 1;
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP FUNCTION IF EXISTS `resetBit`;
DELIMITER $$
CREATE FUNCTION `resetBit`( num int ,pos int) RETURNS int(11)
BEGIN
#num的pos位为0,pos从1开始数
#Int范围的数
DECLARE strNum varchar(64);
SET strNum = bin(num);
SET strNum = lpad(strNum,64,'0');
SET strNum = concat(left(strNum,64-pos),'0',right(strNum,pos-1));
SET strNum = right(strNum,32);
#Int,uint,
SET strNum = lpad(strNum,64,left(strNum,1));
RETURN CAST(CONV(CAST(strNum AS binary),2,10) AS signed);
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP FUNCTION IF EXISTS `setBit`;
DELIMITER $$
CREATE FUNCTION `setBit`( num int ,pos int) RETURNS int(11)
BEGIN
#num的pos位为1,pos从1开始数
#Int范围的数
DECLARE strNum varchar(64);
SET strNum = bin(num);
SET strNum = lpad(strNum,64,'0');
SET strNum = concat(left(strNum,64-pos),'1',right(strNum,pos-1));
SET strNum = right(strNum,32);
SET strNum = lpad(strNum,64,left(strNum,1));
RETURN CAST(CONV(CAST(strNum AS binary),2,10) AS signed);
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP FUNCTION IF EXISTS `testNumber`;
DELIMITER $$
CREATE FUNCTION `testNumber`( num decimal(10,0), pos int) RETURNS tinyint(1)
BEGIN
#num的第pos位是否为1,pos从1开始数
DECLARE tempStr varchar(64) DEFAULT '';
SET tempStr = bin(num);
IF pos > length(tempStr) THEN RETURN FALSE;
END IF;
IF pos < 1 THEN RETURN FALSE;
END IF;
IF mid(tempStr,length(tempStr) - pos + 1,1)='1' THEN RETURN TRUE;
ELSE RETURN FALSE;
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `autoRelationByPlugin`;
DELIMITER $$
CREATE PROCEDURE `autoRelationByPlugin`(pluginName varchar(64))
body:BEGIN
#
#
UPDATE temp_plugin_point_map_acc SET FES_TEMP_NAME = '',FES_TEMP_POINT_NAME = ''
WHERE PLUGIN_NAME = pluginName;
UPDATE temp_plugin_point_map_ana SET FES_TEMP_NAME = '',FES_TEMP_POINT_NAME = '',FES_TEMP_OUT_NAME = ''
WHERE PLUGIN_NAME = pluginName;
UPDATE temp_plugin_point_map_dig SET
FES_TEMP_NAME = '',
FES_TEMP_OUT_NAME1 = '',
FES_TEMP_OUT_NAME2 = '',
FES_TEMP_OUT_NAME3 = '',
FES_TEMP_OUT_NAME4 = '',
FES_TEMP_OUT_NAME5 = '',
FES_TEMP_POINT_NAME1 = '',
FES_TEMP_POINT_NAME2 = '',
FES_TEMP_POINT_NAME3 = '',
FES_TEMP_POINT_NAME4 = '',
FES_TEMP_POINT_NAME5 = ''
WHERE PLUGIN_NAME = pluginName;
UPDATE temp_plugin_point_map_mix SET FES_TEMP_NAME = '',FES_TEMP_POINT_NAME = '',FES_TEMP_OUT_NAME = ''
WHERE PLUGIN_NAME = pluginName;
#
#accuml
UPDATE
(temp_plugin_point_map_acc INNER JOIN temp_plugin_fes_dev_map
ON temp_plugin_point_map_acc.PLUGIN_NAME = pluginName AND temp_plugin_point_map_acc.PLUGIN_NAME = temp_plugin_fes_dev_map.PLUGIN_NAME
AND temp_plugin_point_map_acc.TEMP_NAME = temp_plugin_fes_dev_map.TEMP_NAME
)INNER JOIN fes_dev_pt_temp_def
ON DEV_TP_NAME = temp_plugin_fes_dev_map.FES_TEMP_NAME AND POINT_TYPE = getFesPointType('FES_ACC')
AND temp_plugin_point_map_acc.TEMP_POINT_NAME = getAfterLastDot(TAG_NAME)
SET temp_plugin_point_map_acc.FES_TEMP_NAME = temp_plugin_fes_dev_map.FES_TEMP_NAME,
temp_plugin_point_map_acc.FES_TEMP_POINT_NAME = temp_plugin_point_map_acc.TEMP_POINT_NAME;
#analog
UPDATE
(temp_plugin_point_map_ana INNER JOIN temp_plugin_fes_dev_map
ON temp_plugin_point_map_ana.PLUGIN_NAME = pluginName AND temp_plugin_point_map_ana.PLUGIN_NAME = temp_plugin_fes_dev_map.PLUGIN_NAME
AND temp_plugin_point_map_ana.TEMP_NAME = temp_plugin_fes_dev_map.TEMP_NAME
)INNER JOIN fes_dev_pt_temp_def
ON DEV_TP_NAME = temp_plugin_fes_dev_map.FES_TEMP_NAME AND POINT_TYPE = getFesPointType('FES_ANA')
AND temp_plugin_point_map_ana.TEMP_POINT_NAME = getAfterLastDot(TAG_NAME)
SET temp_plugin_point_map_ana.FES_TEMP_NAME = temp_plugin_fes_dev_map.FES_TEMP_NAME,
temp_plugin_point_map_ana.FES_TEMP_POINT_NAME = temp_plugin_point_map_ana.TEMP_POINT_NAME;
#digital,
UPDATE
(temp_plugin_point_map_dig INNER JOIN temp_plugin_fes_dev_map
ON temp_plugin_point_map_dig.PLUGIN_NAME = pluginName AND temp_plugin_point_map_dig.PLUGIN_NAME = temp_plugin_fes_dev_map.PLUGIN_NAME
AND temp_plugin_point_map_dig.TEMP_NAME = temp_plugin_fes_dev_map.TEMP_NAME
)INNER JOIN fes_dev_pt_temp_def
ON DEV_TP_NAME = temp_plugin_fes_dev_map.FES_TEMP_NAME AND POINT_TYPE = getFesPointType('FES_DIG')
AND temp_plugin_point_map_dig.TEMP_POINT_NAME = getAfterLastDot(TAG_NAME)
SET temp_plugin_point_map_dig.FES_TEMP_NAME = temp_plugin_fes_dev_map.FES_TEMP_NAME,
temp_plugin_point_map_dig.FES_TEMP_POINT_NAME1 = temp_plugin_point_map_dig.TEMP_POINT_NAME;
UPDATE
(temp_plugin_point_map_mix INNER JOIN temp_plugin_fes_dev_map
ON temp_plugin_point_map_mix.PLUGIN_NAME = pluginName AND temp_plugin_point_map_mix.PLUGIN_NAME = temp_plugin_fes_dev_map.PLUGIN_NAME
AND temp_plugin_point_map_mix.TEMP_NAME = temp_plugin_fes_dev_map.TEMP_NAME
)INNER JOIN fes_dev_pt_temp_def
ON DEV_TP_NAME = temp_plugin_fes_dev_map.FES_TEMP_NAME AND POINT_TYPE = getFesPointType('FES_MIX')
AND temp_plugin_point_map_mix.TEMP_POINT_NAME = getAfterLastDot(TAG_NAME)
SET temp_plugin_point_map_mix.FES_TEMP_NAME = temp_plugin_fes_dev_map.FES_TEMP_NAME,
temp_plugin_point_map_mix.FES_TEMP_POINT_NAME = temp_plugin_point_map_mix.TEMP_POINT_NAME;
/*以下操作转到代码实现
#经过以上操作后台和前置同名的测点已经关联,下面处理特殊的点 wz-->posOn,posOff
CREATE TEMPORARY TABLE IF NOT EXISTS tmpAutoRelationPluginTbl(
PLUGIN_NAME varchar(64),
TEMP_NAME varchar(64),
TEMP_POINT_NAME varchar(64),
FES_TEMP_NAME varchar(64),
FES_POINT1 varchar(64),
FES_POINT2 varchar(64)
);
DELETE FROM tmpAutoRelationPluginTbl;
INSERT INTO tmpAutoRelationPluginTbl(PLUGIN_NAME,TEMP_NAME,TEMP_POINT_NAME,FES_TEMP_NAME,FES_POINT1,FES_POINT2)
SELECT A.PLUGIN_NAME,A.TEMP_NAME,A.TEMP_POINT_NAME,temp_plugin_fes_dev_map.FES_TEMP_NAME,'','' FROM
(SELECT PLUGIN_NAME,TEMP_NAME,TEMP_POINT_NAME FROM temp_plugin_point_map_dig WHERE PLUGIN_NAME = pluginName AND TEMP_POINT_NAME = 'pos') AS A
LEFT JOIN temp_plugin_fes_dev_map
ON A.PLUGIN_NAME = temp_plugin_fes_dev_map.PLUGIN_NAME AND A.TEMP_NAME = temp_plugin_fes_dev_map.TEMP_NAME;
UPDATE tmpAutoRelationPluginTbl INNER JOIN fes_dev_pt_temp_def
ON fes_dev_pt_temp_def.POINT_TYPE = getFesPointType('FES_DIG')
AND tmpAutoRelationPluginTbl.FES_TEMP_NAME = fes_dev_pt_temp_def.DEV_TP_NAME
AND getAfterLastDot(fes_dev_pt_temp_def.TAG_NAME) = 'posOn'
SET tmpAutoRelationPluginTbl.FES_POINT1 = getAfterLastDot(fes_dev_pt_temp_def.TAG_NAME);
UPDATE tmpAutoRelationPluginTbl INNER JOIN fes_dev_pt_temp_def
ON fes_dev_pt_temp_def.POINT_TYPE = getFesPointType('FES_DIG')
AND tmpAutoRelationPluginTbl.FES_TEMP_NAME = fes_dev_pt_temp_def.DEV_TP_NAME
AND getAfterLastDot(fes_dev_pt_temp_def.TAG_NAME) = 'posOff'
SET tmpAutoRelationPluginTbl.FES_POINT2 = getAfterLastDot(fes_dev_pt_temp_def.TAG_NAME);
UPDATE tmpAutoRelationPluginTbl INNER JOIN temp_plugin_point_map_dig
ON tmpAutoRelationPluginTbl.PLUGIN_NAME = temp_plugin_point_map_dig.PLUGIN_NAME
AND tmpAutoRelationPluginTbl.TEMP_NAME = temp_plugin_point_map_dig.TEMP_NAME
AND tmpAutoRelationPluginTbl.TEMP_POINT_NAME = temp_plugin_point_map_dig.TEMP_POINT_NAME
SET
temp_plugin_point_map_dig.FES_TEMP_NAME = tmpAutoRelationPluginTbl.FES_TEMP_NAME,
temp_plugin_point_map_dig.FES_TEMP_POINT_NAME1 = tmpAutoRelationPluginTbl.FES_POINT1,
temp_plugin_point_map_dig.FES_TEMP_POINT_NAME2 = tmpAutoRelationPluginTbl.FES_POINT2;
DELETE FROM tmpAutoRelationPluginTbl;
*/
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `autoRelationByPluginDev`;
DELIMITER $$
CREATE PROCEDURE `autoRelationByPluginDev`(pluginName varchar(64),devTag varchar(64))
body:BEGIN
/*
* 仅自动关联套件中的devTag指定的设备
*/
#
UPDATE temp_plugin_point_map_acc SET FES_TEMP_NAME = '',FES_TEMP_POINT_NAME = ''
WHERE PLUGIN_NAME = pluginName AND TEMP_NAME = devTag;
UPDATE temp_plugin_point_map_ana SET FES_TEMP_NAME = '',FES_TEMP_POINT_NAME = '',FES_TEMP_OUT_NAME = ''
WHERE PLUGIN_NAME = pluginName AND TEMP_NAME = devTag;
UPDATE temp_plugin_point_map_dig SET
FES_TEMP_NAME = '',
FES_TEMP_OUT_NAME1 = '',
FES_TEMP_OUT_NAME2 = '',
FES_TEMP_OUT_NAME3 = '',
FES_TEMP_OUT_NAME4 = '',
FES_TEMP_OUT_NAME5 = '',
FES_TEMP_POINT_NAME1 = '',
FES_TEMP_POINT_NAME2 = '',
FES_TEMP_POINT_NAME3 = '',
FES_TEMP_POINT_NAME4 = '',
FES_TEMP_POINT_NAME5 = ''
WHERE PLUGIN_NAME = pluginName AND TEMP_NAME = devTag;
UPDATE temp_plugin_point_map_mix SET FES_TEMP_NAME = '',FES_TEMP_POINT_NAME = '',FES_TEMP_OUT_NAME = ''
WHERE PLUGIN_NAME = pluginName AND TEMP_NAME = devTag;
#
#accuml
UPDATE
(temp_plugin_point_map_acc INNER JOIN temp_plugin_fes_dev_map
ON temp_plugin_point_map_acc.PLUGIN_NAME = pluginName
AND temp_plugin_point_map_acc.TEMP_NAME = devTag
AND temp_plugin_point_map_acc.PLUGIN_NAME = temp_plugin_fes_dev_map.PLUGIN_NAME
AND temp_plugin_point_map_acc.TEMP_NAME = temp_plugin_fes_dev_map.TEMP_NAME
)INNER JOIN fes_dev_pt_temp_def
ON DEV_TP_NAME = temp_plugin_fes_dev_map.FES_TEMP_NAME AND POINT_TYPE = getFesPointType('FES_ACC')
AND temp_plugin_point_map_acc.TEMP_POINT_NAME = getAfterLastDot(TAG_NAME)
SET temp_plugin_point_map_acc.FES_TEMP_NAME = temp_plugin_fes_dev_map.FES_TEMP_NAME,
temp_plugin_point_map_acc.FES_TEMP_POINT_NAME = temp_plugin_point_map_acc.TEMP_POINT_NAME;
#analog
UPDATE
(temp_plugin_point_map_ana INNER JOIN temp_plugin_fes_dev_map
ON temp_plugin_point_map_ana.PLUGIN_NAME = pluginName
AND temp_plugin_point_map_ana.TEMP_NAME = devTag
AND temp_plugin_point_map_ana.PLUGIN_NAME = temp_plugin_fes_dev_map.PLUGIN_NAME
AND temp_plugin_point_map_ana.TEMP_NAME = temp_plugin_fes_dev_map.TEMP_NAME
)INNER JOIN fes_dev_pt_temp_def
ON DEV_TP_NAME = temp_plugin_fes_dev_map.FES_TEMP_NAME AND POINT_TYPE = getFesPointType('FES_ANA')
AND temp_plugin_point_map_ana.TEMP_POINT_NAME = getAfterLastDot(TAG_NAME)
SET temp_plugin_point_map_ana.FES_TEMP_NAME = temp_plugin_fes_dev_map.FES_TEMP_NAME,
temp_plugin_point_map_ana.FES_TEMP_POINT_NAME = temp_plugin_point_map_ana.TEMP_POINT_NAME;
#digital,
UPDATE
(temp_plugin_point_map_dig INNER JOIN temp_plugin_fes_dev_map
ON temp_plugin_point_map_dig.PLUGIN_NAME = pluginName
AND temp_plugin_point_map_dig.TEMP_NAME = devTag
AND temp_plugin_point_map_dig.PLUGIN_NAME = temp_plugin_fes_dev_map.PLUGIN_NAME
AND temp_plugin_point_map_dig.TEMP_NAME = temp_plugin_fes_dev_map.TEMP_NAME
)INNER JOIN fes_dev_pt_temp_def
ON DEV_TP_NAME = temp_plugin_fes_dev_map.FES_TEMP_NAME AND POINT_TYPE = getFesPointType('FES_DIG')
AND temp_plugin_point_map_dig.TEMP_POINT_NAME = getAfterLastDot(TAG_NAME)
SET temp_plugin_point_map_dig.FES_TEMP_NAME = temp_plugin_fes_dev_map.FES_TEMP_NAME,
temp_plugin_point_map_dig.FES_TEMP_POINT_NAME1 = temp_plugin_point_map_dig.TEMP_POINT_NAME;
UPDATE
(temp_plugin_point_map_mix INNER JOIN temp_plugin_fes_dev_map
ON temp_plugin_point_map_mix.PLUGIN_NAME = pluginName
AND temp_plugin_point_map_mix.TEMP_NAME = devTag
AND temp_plugin_point_map_mix.PLUGIN_NAME = temp_plugin_fes_dev_map.PLUGIN_NAME
AND temp_plugin_point_map_mix.TEMP_NAME = temp_plugin_fes_dev_map.TEMP_NAME
)INNER JOIN fes_dev_pt_temp_def
ON DEV_TP_NAME = temp_plugin_fes_dev_map.FES_TEMP_NAME AND POINT_TYPE = getFesPointType('FES_MIX')
AND temp_plugin_point_map_mix.TEMP_POINT_NAME = getAfterLastDot(TAG_NAME)
SET temp_plugin_point_map_mix.FES_TEMP_NAME = temp_plugin_fes_dev_map.FES_TEMP_NAME,
temp_plugin_point_map_mix.FES_TEMP_POINT_NAME = temp_plugin_point_map_mix.TEMP_POINT_NAME;
/*以下操作转代码实现
#经过以上操作后台和前置同名的测点已经关联,下面处理特殊的点 wz-->posOn,posOff
CREATE TEMPORARY TABLE IF NOT EXISTS tmpAutoRelationPluginTbl(
PLUGIN_NAME varchar(64),
TEMP_NAME varchar(64),
TEMP_POINT_NAME varchar(64),
FES_TEMP_NAME varchar(64),
FES_POINT1 varchar(64),
FES_POINT2 varchar(64)
);
DELETE FROM tmpAutoRelationPluginTbl;
INSERT INTO tmpAutoRelationPluginTbl(PLUGIN_NAME,TEMP_NAME,TEMP_POINT_NAME,FES_TEMP_NAME,FES_POINT1,FES_POINT2)
SELECT A.PLUGIN_NAME,A.TEMP_NAME,A.TEMP_POINT_NAME,temp_plugin_fes_dev_map.FES_TEMP_NAME,'','' FROM
(SELECT PLUGIN_NAME,TEMP_NAME,TEMP_POINT_NAME FROM temp_plugin_point_map_dig WHERE PLUGIN_NAME = pluginName
AND TEMP_NAME = devTag
AND TEMP_POINT_NAME = 'pos') AS A
LEFT JOIN temp_plugin_fes_dev_map
ON A.PLUGIN_NAME = temp_plugin_fes_dev_map.PLUGIN_NAME AND A.TEMP_NAME = temp_plugin_fes_dev_map.TEMP_NAME;
UPDATE tmpAutoRelationPluginTbl INNER JOIN fes_dev_pt_temp_def
ON fes_dev_pt_temp_def.POINT_TYPE = getFesPointType('FES_DIG')
AND tmpAutoRelationPluginTbl.FES_TEMP_NAME = fes_dev_pt_temp_def.DEV_TP_NAME
AND getAfterLastDot(fes_dev_pt_temp_def.TAG_NAME) = 'posOn'
SET tmpAutoRelationPluginTbl.FES_POINT1 = getAfterLastDot(fes_dev_pt_temp_def.TAG_NAME);
UPDATE tmpAutoRelationPluginTbl INNER JOIN fes_dev_pt_temp_def
ON fes_dev_pt_temp_def.POINT_TYPE = getFesPointType('FES_DIG')
AND tmpAutoRelationPluginTbl.FES_TEMP_NAME = fes_dev_pt_temp_def.DEV_TP_NAME
AND getAfterLastDot(fes_dev_pt_temp_def.TAG_NAME) = 'posOff'
SET tmpAutoRelationPluginTbl.FES_POINT2 = getAfterLastDot(fes_dev_pt_temp_def.TAG_NAME);
UPDATE tmpAutoRelationPluginTbl INNER JOIN temp_plugin_point_map_dig
ON tmpAutoRelationPluginTbl.PLUGIN_NAME = temp_plugin_point_map_dig.PLUGIN_NAME
AND tmpAutoRelationPluginTbl.TEMP_NAME = temp_plugin_point_map_dig.TEMP_NAME
AND tmpAutoRelationPluginTbl.TEMP_POINT_NAME = temp_plugin_point_map_dig.TEMP_POINT_NAME
SET
temp_plugin_point_map_dig.FES_TEMP_NAME = tmpAutoRelationPluginTbl.FES_TEMP_NAME,
temp_plugin_point_map_dig.FES_TEMP_POINT_NAME1 = tmpAutoRelationPluginTbl.FES_POINT1,
temp_plugin_point_map_dig.FES_TEMP_POINT_NAME2 = tmpAutoRelationPluginTbl.FES_POINT2;
DELETE FROM tmpAutoRelationPluginTbl;
*/
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `bingRtu`;
DELIMITER $$
CREATE PROCEDURE `bingRtu`(devTagName varchar(64), rtuTagName varchar(64))
BEGIN
#RTU置空,使
UPDATE accuml SET RTU_TAG = '' WHERE DEVICE = devTagName;
UPDATE analog SET RTU_TAG = '' WHERE DEVICE = devTagName;
UPDATE digital SET RTU_TAG = '' WHERE DEVICE = devTagName;
UPDATE mix SET RTU_TAG = '' WHERE DEVICE = devTagName;
#
UPDATE accuml SET RTU_TAG = rtuTagName WHERE DEVICE = devTagName;
UPDATE analog SET RTU_TAG = rtuTagName WHERE DEVICE = devTagName;
UPDATE digital SET RTU_TAG = rtuTagName WHERE DEVICE = devTagName;
UPDATE mix SET RTU_TAG = rtuTagName WHERE DEVICE = devTagName;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `closeMyTrigger`;
DELIMITER $$
CREATE PROCEDURE `closeMyTrigger`(closeFlag int)
body:BEGIN
/*
* 设置某些触发器的开关,获取开关状态使用myTriggerIsDisable
* 目前支持本触发器开关的触发器有TI_TEMP_PLUGIN_DEV_MAP
* 一般本存储过程需要成对使用时
*/
IF closeFlag = 1 THEN
SET @disableMyTrrigger = 1;
ELSE
SET @disableMyTrrigger = 0;
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `copyDevGroup`;
DELIMITER $$
CREATE PROCEDURE `copyDevGroup`(srcGroupName varchar(64),dstGroupName varchar(64),dstGroupDesc varchar(64))
body:BEGIN
/*
* 复制整个设备组
*/
DECLARE totalInst int DEFAULT 1;
IF COALESCE(srcGroupName,'') = '' OR COALESCE(dstGroupName,'')='' OR COALESCE(dstGroupDesc,'') = ''
THEN LEAVE body;
END IF;
IF EXISTS (SELECT * FROM dev_group WHERE TAG_NAME = dstGroupName)
THEN LEAVE body;
END IF;
#
INSERT INTO dev_group (
TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, REGION_ID, PGROUP_TAG_NAME, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, GROUP_TAG)
SELECT
dstGroupName, dstGroupDesc, LOCATION_ID, SUB_SYSTEM, REGION_ID, PGROUP_TAG_NAME, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, GROUP_TAG
FROM dev_group WHERE TAG_NAME = srcGroupName;
SELECT count(*) INTO totalInst FROM dev_info WHERE TAG_NAME LIKE '%Gcp%';
SET totalInst = totalInst + 1;
#
INSERT INTO dev_info(
TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, GROUP_TAG_NAME, VOL_LEVEL_ID, DEV_TYPE, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, NODE_NO1, NODE_NO2, NODE_NO3, NODE_NO4, NODE_NO5, NODE_NO6, NODE_NO7, NODE_NO8, NODE_NO9, NODE_NO10, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TP_NAME) SELECT
concat(TAG_NAME,'Gcp',totalInst), concat(DESCRIPTION,'Gcp'), LOCATION_ID, SUB_SYSTEM, dstGroupName, VOL_LEVEL_ID, DEV_TYPE, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, NODE_NO1, NODE_NO2, NODE_NO3, NODE_NO4, NODE_NO5, NODE_NO6, NODE_NO7, NODE_NO8, NODE_NO9, NODE_NO10, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TP_NAME
FROM dev_info
WHERE
dev_info.GROUP_TAG_NAME = srcGroupName ;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `copyDevInst`;
DELIMITER $$
CREATE PROCEDURE `copyDevInst`( srcDevTagName varchar(64), dstDevTagName varchar(64),
dstDesc varchar(64),dstLocation decimal(10,0), dstGroupTagName varchar(64), dstLevelId decimal(10,0),dstRegionId decimal(10,0), dstOptHandoverGroup varchar(64), dstIfSummary decimal(10,0)
)
pro_body:BEGIN
IF EXISTS (SELECT * FROM dev_info WHERE TAG_NAME=dstDevTagName) THEN LEAVE pro_body;
END IF;
#,DEV表的触发器去插入点
INSERT INTO dev_info(
TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, GROUP_TAG_NAME, VOL_LEVEL_ID, DEV_TYPE, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, NODE_NO1, NODE_NO2, NODE_NO3, NODE_NO4, NODE_NO5, NODE_NO6, NODE_NO7, NODE_NO8, NODE_NO9, NODE_NO10, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TP_NAME) SELECT
dstDevTagName, dstDesc, dstLocation, SUB_SYSTEM, dstGroupTagName, dstLevelId, DEV_TYPE, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, NODE_NO1, NODE_NO2, NODE_NO3, NODE_NO4, NODE_NO5, NODE_NO6, NODE_NO7, NODE_NO8, NODE_NO9, NODE_NO10, dstRegionId, dstOptHandoverGroup, dstIfSummary, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TP_NAME
FROM dev_info WHERE TAG_NAME= srcDevTagName;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `copyDevTemp`;
DELIMITER $$
CREATE PROCEDURE `copyDevTemp`( srcTagName varchar(64), dstTagName varchar(64), dstDesc varchar(64))
pro_body:BEGIN
IF EXISTS (SELECT * FROM dev_temp_def WHERE TAG_NAME=dstTagName) THEN LEAVE pro_body;
END IF;
/*
* 复制设备模板
*
*/
#
INSERT INTO dev_temp_def(
TAG_NAME, DEV_TYPE_ID, DEV_MODEL, DESCRIPTION, SUB_SYSTEM, PARA_STR1, PARA_STR2,DEV_TEMP_GRP ) SELECT
dstTagName, DEV_TYPE_ID,DEV_MODEL,dstDesc ,SUB_SYSTEM, PARA_STR1,PARA_STR2,DEV_TEMP_GRP
FROM dev_temp_def WHERE TAG_NAME= srcTagName;
#,TagName,DEV_TP_NAME需改变
INSERT INTO accuml_temp_define(
TAG_NAME, DESCRIPTION, DEV_TP_NAME, SEQ_NO, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, UNIT_ID, IS_SAMPLE, SAMPLE_DEADBAND, SAMPLE_PERIOD, IS_STATISTICS, IS_LIMIT, LIMIT_TYPE, LIMIT_NUM, LIMIT_UP1, LIMIT_LOW1, LIMIT_UP2, LIMIT_LOW2, LIMIT_UP3, LIMIT_LOW3, CROSS_PERCENT, RETURN_PERCENT, ALARM_PRIORITY, ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, IS_FILTER, PERCENT, BASE, COEFF, RANGE_UP, RANGE_LOW, SEC_DEV_IN_GRP, SEC_DEVTP_NAME, SEC_SEQ_NO) SELECT
concat(dstTagName, '.', getAfterLastDot(TAG_NAME)), DESCRIPTION, dstTagName, SEQ_NO, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, UNIT_ID, IS_SAMPLE, SAMPLE_DEADBAND, SAMPLE_PERIOD, IS_STATISTICS, IS_LIMIT, LIMIT_TYPE, LIMIT_NUM, LIMIT_UP1, LIMIT_LOW1, LIMIT_UP2, LIMIT_LOW2, LIMIT_UP3, LIMIT_LOW3, CROSS_PERCENT, RETURN_PERCENT, ALARM_PRIORITY, ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, IS_FILTER, PERCENT, BASE, COEFF, RANGE_UP, RANGE_LOW, SEC_DEV_IN_GRP, SEC_DEVTP_NAME, SEC_SEQ_NO
FROM accuml_temp_define WHERE DEV_TP_NAME= srcTagName;
INSERT INTO analog_temp_define(
TAG_NAME, DESCRIPTION, SEQ_NO, DEV_TP_NAME, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, UNIT_ID, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, SAMPLE_DEADBAND, IS_LIMIT, LIMIT_TYPE, LIMIT_NUM, LIMIT_UP1, LIMIT_LOW1, LIMIT_UP2, LIMIT_LOW2, LIMIT_UP3, LIMIT_LOW3, CROSS_PERCENT, RETURN_PERCENT, ALARM_PRIORITY, ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, IS_FILTER, PERCENT, IS_VALID, DEADBAND, ZEROBAND, IS_CONTROL, CTRL_TYPE, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, BASE, COEFF, RANGE_UP, RANGE_LOW, CTRL_TOLERANCE, SEC_DEV_IN_GRP, SEC_DEVTP_NAME, SEC_SEQ_NO, OUT_SEC_SEQ_NO) SELECT
concat(dstTagName, '.', getAfterLastDot(TAG_NAME)), DESCRIPTION, SEQ_NO, dstTagName, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, UNIT_ID, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, SAMPLE_DEADBAND, IS_LIMIT, LIMIT_TYPE, LIMIT_NUM, LIMIT_UP1, LIMIT_LOW1, LIMIT_UP2, LIMIT_LOW2, LIMIT_UP3, LIMIT_LOW3, CROSS_PERCENT, RETURN_PERCENT, ALARM_PRIORITY, ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, IS_FILTER, PERCENT, IS_VALID, DEADBAND, ZEROBAND, IS_CONTROL, CTRL_TYPE, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, BASE, COEFF, RANGE_UP, RANGE_LOW, CTRL_TOLERANCE, SEC_DEV_IN_GRP, SEC_DEVTP_NAME, SEC_SEQ_NO, OUT_SEC_SEQ_NO
FROM analog_temp_define WHERE DEV_TP_NAME= srcTagName;
INSERT INTO digital_temp_define(
TAG_NAME, DESCRIPTION, DEV_TP_NAME, SEQ_NO, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, STATE_TEXT_NAME, VALUE_NUM, ALARM_PRIORITY, ALARM_DELAY_TIME, INPUT_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, IS_SUMMARY, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, FILTER_ERR, FILTER_DISTURB, DISTURB_TIME, POLARITY, IS_CONTROL, CTRL_ACT_NAME, CTRL_TYPE, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, PULSE_DURATION, OFFSET_NUM, IS_ALARM_FREQ, ALARM_FREQ, ALARM_FREQ_DESC, IS_ALARM_TIME, ALARM_TIME, ALARM_TIME_DESC, IS_CHECK_PREVENTION, ALARM_FREQ_RANGE, SEC_DEV_IN_GRP, SEC_DEVTP_NAME, SEC_SEQ_NO1, SEC_SEQ_NO2, SEC_SEQ_NO3, SEC_SEQ_NO4, SEC_SEQ_NO5, OUT_SEC_SEQ_NO1, OUT_SEC_SEQ_NO2, OUT_SEC_SEQ_NO3, OUT_SEC_SEQ_NO4, OUT_SEC_SEQ_NO5) SELECT
concat(dstTagName, '.', getAfterLastDot(TAG_NAME)), DESCRIPTION, dstTagName, SEQ_NO, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, STATE_TEXT_NAME, VALUE_NUM, ALARM_PRIORITY, ALARM_DELAY_TIME, INPUT_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, IS_SUMMARY, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, FILTER_ERR, FILTER_DISTURB, DISTURB_TIME, POLARITY, IS_CONTROL, CTRL_ACT_NAME, CTRL_TYPE, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, PULSE_DURATION, OFFSET_NUM, IS_ALARM_FREQ, ALARM_FREQ, ALARM_FREQ_DESC, IS_ALARM_TIME, ALARM_TIME, ALARM_TIME_DESC, IS_CHECK_PREVENTION, ALARM_FREQ_RANGE, SEC_DEV_IN_GRP, SEC_DEVTP_NAME, SEC_SEQ_NO1, SEC_SEQ_NO2, SEC_SEQ_NO3, SEC_SEQ_NO4, SEC_SEQ_NO5, OUT_SEC_SEQ_NO1, OUT_SEC_SEQ_NO2, OUT_SEC_SEQ_NO3, OUT_SEC_SEQ_NO4, OUT_SEC_SEQ_NO5
FROM digital_temp_define WHERE DEV_TP_NAME= srcTagName;
INSERT INTO mix_temp_define(
TAG_NAME, DESCRIPTION, DEV_TP_NAME, SEQ_NO, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, STATE_TEXT_NAME, ALARM_PRIORITY, ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, IS_FILTER_ERROR, IS_FILTER_DISTURB, DISTURB_TIME, IS_CONTROL, CTRL_TYPE, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, BASE, COEFF, RANGE_UP, RANGE_LOW, CTRL_TOLERANCE, CTRL_ACT_NAME, SEC_DEV_IN_GRP, SEC_DEVTP_NAME, SEC_SEQ_NO, OUT_SEC_SEQ_NO) SELECT
concat(dstTagName, '.', getAfterLastDot(TAG_NAME)), DESCRIPTION, dstTagName, SEQ_NO, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, STATE_TEXT_NAME, ALARM_PRIORITY, ALARM_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, IS_FILTER_ERROR, IS_FILTER_DISTURB, DISTURB_TIME, IS_CONTROL, CTRL_TYPE, IS_TAGT_STATE, CTRL_TIMEOUT, RESV_TIMEOUT, BASE, COEFF, RANGE_UP, RANGE_LOW, CTRL_TOLERANCE, CTRL_ACT_NAME, SEC_DEV_IN_GRP, SEC_DEVTP_NAME, SEC_SEQ_NO, OUT_SEC_SEQ_NO
FROM mix_temp_define WHERE DEV_TP_NAME= srcTagName;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `copyFesTemp`;
DELIMITER $$
CREATE PROCEDURE `copyFesTemp`(srcFesTempTag varchar(64),dstFesTempTag varchar(64),dstDesc varchar(128))
body:BEGIN
/*
* 复制前置模板
*/
IF EXISTS (SELECT * FROM fes_dev_temp_def WHERE TAG_NAME=dstFesTempTag) THEN LEAVE body;
END IF;
#
INSERT INTO fes_dev_temp_def(
TAG_NAME, DEV_TYPE_ID, DEV_MODEL, DESCRIPTION, SUB_SYSTEM, PARA_STR1, PARA_STR2 ) SELECT
dstFesTempTag, DEV_TYPE_ID, DEV_MODEL, dstDesc ,SUB_SYSTEM, PARA_STR1, PARA_STR2
FROM fes_dev_temp_def WHERE TAG_NAME= srcFesTempTag;
#,TagName,DEV_TP_NAME需改变
INSERT INTO fes_dev_pt_temp_def(
TAG_NAME, POINT_TYPE, DEV_TP_NAME, SEQ_NO, FUN_CODE, INFO_NO, RATIO, REVISE, APPEND, ASS_DIG, CTRL_TYPE, ATTR, CONST_CFG_FILE, COEFFICIENT, SHORT_NAME, DESCRIPTION, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, PATH61850, POSITION61850, YK_SELECT61850, YK_EXE61850, YK_CANCLE61850, YK_DOUBLE_SELECT61850, YK_DOUBLE_EXE61850, YK_DOUBLE_CANCLE61850, PULSE_TIME
) SELECT
concat(dstFesTempTag, '.', getAfterLastDot(TAG_NAME)), POINT_TYPE, dstFesTempTag,SEQ_NO, FUN_CODE, INFO_NO, RATIO, REVISE, APPEND, ASS_DIG, CTRL_TYPE, ATTR, CONST_CFG_FILE, COEFFICIENT, SHORT_NAME, DESCRIPTION, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, PATH61850, POSITION61850, YK_SELECT61850, YK_EXE61850, YK_CANCLE61850, YK_DOUBLE_SELECT61850, YK_DOUBLE_EXE61850, YK_DOUBLE_CANCLE61850, PULSE_TIME
FROM fes_dev_pt_temp_def WHERE DEV_TP_NAME = srcFesTempTag;
INSERT INTO fes_data_block_temp(
TAG_NAME, BLOCK_ID, FUNC_CODE, STAR_ADDR, DATA_LEN, DATA_FARME_TYPE, REF_CYCLE, IS_CREATE_SOE, PARA_INT1, PARA_INT2, DESCRIPTION, LD, CALL_MODE, DATA_SET, DATA_SET_TYPE, DATA_SET_CALL_TIME, REPORT_CTRL, DEV_TP_NAME
) SELECT
concat(dstFesTempTag, '.', getAfterLastDot(TAG_NAME)), BLOCK_ID, FUNC_CODE, STAR_ADDR, DATA_LEN, DATA_FARME_TYPE, REF_CYCLE, IS_CREATE_SOE, PARA_INT1, PARA_INT2, DESCRIPTION, LD, CALL_MODE, DATA_SET, DATA_SET_TYPE, DATA_SET_CALL_TIME, REPORT_CTRL, dstFesTempTag
FROM fes_data_block_temp WHERE DEV_TP_NAME = srcFesTempTag;
INSERT INTO fes_const_temp(
TAG_NAME, DESCRIPTION, GROUP_NO, SEQ_NO, DEV_TP_NAME, VALUE, VALUE_TYPE, UNIT_ID, VALUE_TEXT, VALUE_RATIO, VALUE_ADDED, VALUE_MAX, VALUE_MIN, VALUE_DEFAULT, VALUE_VERIFY, EX_INFO, PATH61850, POSITION61850
) SELECT
concat(dstFesTempTag, '.', getAfterLastDot(TAG_NAME)), DESCRIPTION, GROUP_NO, SEQ_NO, dstFesTempTag, VALUE, VALUE_TYPE, UNIT_ID, VALUE_TEXT, VALUE_RATIO, VALUE_ADDED, VALUE_MAX, VALUE_MIN, VALUE_DEFAULT, VALUE_VERIFY, EX_INFO, PATH61850, POSITION61850
FROM fes_const_temp WHERE DEV_TP_NAME = srcFesTempTag;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `copyPlugin`;
DELIMITER $$
CREATE PROCEDURE `copyPlugin`( srcPluginName varchar(64),dstPluginName varchar(64),dstPluginDesc varchar(128))
body:BEGIN
/*
* 复制套件
*/
INSERT INTO temp_plugin (TAG_NAME,DESCRIPTION)
VALUES (dstPluginName,dstPluginDesc);
#
CALL closeMyTrigger(1);
INSERT INTO temp_plugin_dev_map (PLUGIN_NAME,TEMP_NAME)
SELECT dstPluginName, TEMP_NAME
FROM temp_plugin_dev_map WHERE PLUGIN_NAME = srcPluginName;
INSERT INTO temp_plugin_fes_dev_map(PLUGIN_NAME,TEMP_NAME,FES_TEMP_NAME)
SELECT dstPluginName,TEMP_NAME,FES_TEMP_NAME
FROM temp_plugin_fes_dev_map WHERE PLUGIN_NAME = srcPluginName;
INSERT INTO temp_plugin_point_map_acc (PLUGIN_NAME,TEMP_NAME,TEMP_POINT_NAME,FES_TEMP_NAME,FES_TEMP_POINT_NAME)
SELECT dstPluginName,TEMP_NAME,TEMP_POINT_NAME,FES_TEMP_NAME,FES_TEMP_POINT_NAME
FROM temp_plugin_point_map_acc WHERE PLUGIN_NAME = srcPluginName;
INSERT INTO temp_plugin_point_map_ana(PLUGIN_NAME,TEMP_NAME,TEMP_POINT_NAME,FES_TEMP_NAME,FES_TEMP_POINT_NAME,FES_TEMP_OUT_NAME)
SELECT dstPluginName,TEMP_NAME,TEMP_POINT_NAME,FES_TEMP_NAME,FES_TEMP_POINT_NAME,FES_TEMP_OUT_NAME
FROM temp_plugin_point_map_ana WHERE PLUGIN_NAME = srcPluginName;
INSERT INTO temp_plugin_point_map_dig(PLUGIN_NAME,TEMP_NAME,TEMP_POINT_NAME,FES_TEMP_NAME,FES_TEMP_POINT_NAME1,FES_TEMP_POINT_NAME2
,FES_TEMP_POINT_NAME3,FES_TEMP_POINT_NAME4,FES_TEMP_POINT_NAME5,FES_TEMP_OUT_NAME1,FES_TEMP_OUT_NAME2,FES_TEMP_OUT_NAME3,FES_TEMP_OUT_NAME4
,FES_TEMP_OUT_NAME5)
SELECT dstPluginName,TEMP_NAME,TEMP_POINT_NAME,FES_TEMP_NAME,FES_TEMP_POINT_NAME1,FES_TEMP_POINT_NAME2
,FES_TEMP_POINT_NAME3,FES_TEMP_POINT_NAME4,FES_TEMP_POINT_NAME5,FES_TEMP_OUT_NAME1,FES_TEMP_OUT_NAME2,FES_TEMP_OUT_NAME3,FES_TEMP_OUT_NAME4
,FES_TEMP_OUT_NAME5
FROM temp_plugin_point_map_dig WHERE PLUGIN_NAME = srcPluginName;
INSERT INTO temp_plugin_point_map_mix(PLUGIN_NAME,TEMP_NAME,TEMP_POINT_NAME,FES_TEMP_NAME,FES_TEMP_POINT_NAME,FES_TEMP_OUT_NAME)
SELECT dstPluginName,TEMP_NAME,TEMP_POINT_NAME,FES_TEMP_NAME,FES_TEMP_POINT_NAME,FES_TEMP_OUT_NAME
FROM temp_plugin_point_map_mix WHERE PLUGIN_NAME = srcPluginName;
CALL closeMyTrigger(0);
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `createOptLock`;
DELIMITER $$
CREATE PROCEDURE `createOptLock`(tableName varchar(64),pointTempTag varchar(64),funcTag varchar(64),argNum int)
body:BEGIN
/*
* 依据指定的模板点,用于创建闭锁出口,除了参数列表中的参数,还有部分参数在export_seq表中
* tableName:表名,指出pointTempTag是属于那张表的,目前取值范围有analog,digital,mix
* pointTempTag:测点模板的标签名
* funcTag:闭锁出口选用的函数
* argNum:闭锁函数的参数个数
* export_seq表中保存了参数1-20
*/
DECLARE hasDone int DEFAULT 0;
DECLARE argTag varchar(64);
DECLARE argNo int;
DECLARE pointTempTagName varchar(64);
DECLARE cur_args CURSOR
FOR
SELECT DEV_TAG,`NO` FROM export_seq;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET hasDone = 1;
IF COALESCE(tableName,'') = '' OR COALESCE(pointTempTag,'')=''
THEN LEAVE body;
END IF;
CREATE TEMPORARY TABLE IF NOT EXISTS tmpCreateOptLockTbl(
POINT_TAG_NAME varchar(64) NOT NULL,
POINT_DESC varchar(128),
GROUP_TAG_NAME varchar(64) NOT NULL,
LOCATION_ID decimal(10,0),
SUBSYSTEM decimal(10,0),
ARGS_TAG_NAME varchar(64) DEFAULT ''
);
DELETE FROM tmpCreateOptLockTbl;
IF lower(tableName) = 'analog'
THEN
INSERT INTO tmpCreateOptLockTbl(POINT_TAG_NAME,POINT_DESC,GROUP_TAG_NAME,LOCATION_ID,SUBSYSTEM)
SELECT analog.TAG_NAME,analog.DESCRIPTION, dev_info.GROUP_TAG_NAME,analog.LOCATION_ID,analog.SUB_SYSTEM
FROM analog,dev_info
WHERE analog.POINT_TP_NAME = pointTempTag AND analog.DEVICE = dev_info.TAG_NAME;
ELSEIF lower(tableName) = 'digital'
THEN
INSERT INTO tmpCreateOptLockTbl(POINT_TAG_NAME,POINT_DESC,GROUP_TAG_NAME,LOCATION_ID,SUBSYSTEM)
SELECT digital.TAG_NAME,digital.DESCRIPTION, dev_info.GROUP_TAG_NAME,digital.LOCATION_ID,digital.SUB_SYSTEM
FROM digital,dev_info
WHERE digital.POINT_TP_NAME = pointTempTag AND digital.DEVICE = dev_info.TAG_NAME;
ELSEIF lower(tableName) = 'mix'
THEN
INSERT INTO tmpCreateOptLockTbl(POINT_TAG_NAME,POINT_DESC,GROUP_TAG_NAME,LOCATION_ID,SUBSYSTEM)
SELECT mix.TAG_NAME,mix.DESCRIPTION, dev_info.GROUP_TAG_NAME,mix.LOCATION_ID,mix.SUB_SYSTEM
FROM mix,dev_info
WHERE mix.POINT_TP_NAME = pointTempTag AND mix.DEVICE = dev_info.TAG_NAME;
END IF;
INSERT INTO opt_interlock_para(TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, INTERLOCK_TAG, INTERLOCK_NUM,
INTERLOCK_IN_TAG1, INTERLOCK_IN_TAG2, INTERLOCK_IN_TAG3, INTERLOCK_IN_TAG4, INTERLOCK_IN_TAG5, INTERLOCK_IN_TAG6, INTERLOCK_IN_TAG7,
INTERLOCK_IN_TAG8, INTERLOCK_IN_TAG9, INTERLOCK_IN_TAG10, INTERLOCK_IN_TAG11, INTERLOCK_IN_TAG12, INTERLOCK_IN_TAG13,
INTERLOCK_IN_TAG14, INTERLOCK_IN_TAG15, INTERLOCK_IN_TAG16, INTERLOCK_IN_TAG17, INTERLOCK_IN_TAG18, INTERLOCK_IN_TAG19,
INTERLOCK_IN_TAG20)
SELECT POINT_TAG_NAME,POINT_DESC,LOCATION_ID,SUBSYSTEM,funcTag,argNum,
'','','','','','','','','','','','','','','','','','','',''
FROM tmpCreateOptLockTbl;
#export_seq表中的数据更新输入参数
#export_Seq中的数据,opt_interlock_para中
OPEN cur_args;
WHILE hasDone != 1 DO
FETCH cur_args INTO argTag,argNo;
#argTag中的格式是表名.
SET tableName = getBeforeFirstDot(argTag);
SET pointTempTagName = getAfterFirstDot(argTag);
IF tableName = 'analog' THEN
UPDATE (analog INNER JOIN dev_info ON analog.POINT_TP_NAME = pointTempTagName AND analog.DEVICE = dev_info.TAG_NAME)
INNER JOIN tmpCreateOptLockTbl ON tmpCreateOptLockTbl.GROUP_TAG_NAME = dev_info.GROUP_TAG_NAME
SET tmpCreateOptLockTbl.ARGS_TAG_NAME = analog.TAG_NAME;
ELSEIF tableName = 'digital' THEN
UPDATE (digital INNER JOIN dev_info ON digital.POINT_TP_NAME = pointTempTagName AND digital.DEVICE = dev_info.TAG_NAME)
INNER JOIN tmpCreateOptLockTbl ON tmpCreateOptLockTbl.GROUP_TAG_NAME = dev_info.GROUP_TAG_NAME
SET tmpCreateOptLockTbl.ARGS_TAG_NAME = digital.TAG_NAME;
ELSEIF tableName = 'mix' THEN
UPDATE (mix INNER JOIN dev_info ON mix.POINT_TP_NAME = pointTempTagName AND mix.DEVICE = dev_info.TAG_NAME)
INNER JOIN tmpCreateOptLockTbl ON tmpCreateOptLockTbl.GROUP_TAG_NAME = dev_info.GROUP_TAG_NAME
SET tmpCreateOptLockTbl.ARGS_TAG_NAME = mix.TAG_NAME;
END IF;
#
UPDATE opt_interlock_para INNER JOIN tmpCreateOptLockTbl
ON opt_interlock_para.TAG_NAME = tmpCreateOptLockTbl.POINT_TAG_NAME
SET
INTERLOCK_IN_TAG1 = if(argNo = 1,ARGS_TAG_NAME,INTERLOCK_IN_TAG1),
INTERLOCK_IN_TAG2 = if(argNo = 2,ARGS_TAG_NAME,INTERLOCK_IN_TAG2),
INTERLOCK_IN_TAG3 = if(argNo = 3,ARGS_TAG_NAME,INTERLOCK_IN_TAG3),
INTERLOCK_IN_TAG4 = if(argNo = 4,ARGS_TAG_NAME,INTERLOCK_IN_TAG4),
INTERLOCK_IN_TAG5 = if(argNo = 5,ARGS_TAG_NAME,INTERLOCK_IN_TAG5),
INTERLOCK_IN_TAG6 = if(argNo = 6,ARGS_TAG_NAME,INTERLOCK_IN_TAG6),
INTERLOCK_IN_TAG7 = if(argNo = 7,ARGS_TAG_NAME,INTERLOCK_IN_TAG7),
INTERLOCK_IN_TAG8 = if(argNo = 8,ARGS_TAG_NAME,INTERLOCK_IN_TAG8),
INTERLOCK_IN_TAG9 = if(argNo = 9,ARGS_TAG_NAME,INTERLOCK_IN_TAG9),
INTERLOCK_IN_TAG10 = if(argNo = 10,ARGS_TAG_NAME,INTERLOCK_IN_TAG10),
INTERLOCK_IN_TAG11 = if(argNo = 11,ARGS_TAG_NAME,INTERLOCK_IN_TAG11),
INTERLOCK_IN_TAG12 = if(argNo = 12,ARGS_TAG_NAME,INTERLOCK_IN_TAG12),
INTERLOCK_IN_TAG13 = if(argNo = 13,ARGS_TAG_NAME,INTERLOCK_IN_TAG13),
INTERLOCK_IN_TAG14 = if(argNo = 14,ARGS_TAG_NAME,INTERLOCK_IN_TAG14),
INTERLOCK_IN_TAG15 = if(argNo = 15,ARGS_TAG_NAME,INTERLOCK_IN_TAG15),
INTERLOCK_IN_TAG16 = if(argNo = 16,ARGS_TAG_NAME,INTERLOCK_IN_TAG16),
INTERLOCK_IN_TAG17 = if(argNo = 17,ARGS_TAG_NAME,INTERLOCK_IN_TAG17),
INTERLOCK_IN_TAG18 = if(argNo = 18,ARGS_TAG_NAME,INTERLOCK_IN_TAG18),
INTERLOCK_IN_TAG19 = if(argNo = 19,ARGS_TAG_NAME,INTERLOCK_IN_TAG19),
INTERLOCK_IN_TAG20 = if(argNo = 20,ARGS_TAG_NAME,INTERLOCK_IN_TAG20)
;
END WHILE;
CLOSE cur_args;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `db_sync`;
DELIMITER $$
CREATE PROCEDURE `db_sync`(in src_hostname varchar(255),
in src_last_id bigint(20),
in src_last_statement mediumtext,
in new_id bigint(20),
in new_statement mediumtext,
out db_sync_return int)
lable:
begin
/*
* 数据库同步服务 db_sync_server 调用,代码中开启事务、锁表
*/
declare local_last_id bigint(20) default 0;
declare local_last_statement mediumtext;
set db_sync_return = 1;
if lower(@@global.hostname) = lower(src_hostname) then
-- 如果源主机就是本主机,则无需同步
set db_sync_return = 10;
leave lable;
end if;
select max(`id`) into local_last_id from dbop_list;
select `statement` into local_last_statement from dbop_list where ID = local_last_id;
if local_last_id is null or local_last_statement is null then
-- 表为空
set db_sync_return = 20;
leave lable;
end if;
if src_last_id < local_last_id then
-- 数据不一致
set db_sync_return = 21;
leave lable;
end if;
if src_last_id > local_last_id then
-- 数据不一致
set db_sync_return = 22;
leave lable;
end if;
if src_last_statement <> local_last_statement then
-- 数据不一致
set db_sync_return = 23;
leave lable;
end if;
begin
declare exit handler for sqlexception begin
set db_sync_return = 100;
end;
-- 执行需要同步的语句
set @db_sync_sql4exec = new_statement;
prepare stmt from @db_sync_sql4exec;
execute stmt;
deallocate prepare stmt;
-- 插入同步语句到本地表
set @db_sync_sql4exec = 'insert into dbop_list(ID, STATEMENT) values (?, ?)';
prepare stmt from @db_sync_sql4exec;
set @db_sync_new_id = new_id;
set @db_sync_new_statement = new_statement;
execute stmt using @db_sync_new_id , @db_sync_new_statement;
deallocate prepare stmt;
-- 执行成功
set db_sync_return = 0;
end;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `exportBgXFes`;
DELIMITER $$
CREATE PROCEDURE `exportBgXFes`( )
BEGIN
#export_seq里保存了导出的设备的顺序
#background_x_fes_的表中
#
DELETE FROM background_x_fes_accuml;
DELETE FROM background_x_fes_ana_ctrl;
DELETE FROM background_x_fes_analog;
DELETE FROM background_x_fes_dig_ctrl;
DELETE FROM background_x_fes_digtal;
DELETE FROM background_x_fes_mix;
DELETE FROM background_x_fes_mix_ctrl;
#ACC后台点
INSERT INTO background_x_fes_accuml (
BG_DEV_TAG, BG_DEV_DESC, BG_POINT_TAG, BG_POINT_OFFSET,BG_POINT_DESC, RTU_TAG, RTU_DOT_NO, RTU_DOT_DESC, RTU_DEV_TAG, RTU_RES_PARA_INT1, RTU_RES_PARA_INT2, RTU_RES_PARA_INT3, RTU_RES_PARA_INT4)SELECT
export_seq.DEV_TAG, dev_info.DESCRIPTION, accuml_map_to_fes.KEY_ID_TAG, '1', accuml_map_to_fes.DESCRIPTION, accuml_map_to_fes.RTU_TAG,accuml_map_to_fes.DOT_NO,'', '', 0, 0, 0, 0
FROM export_seq , dev_info ,accuml, accuml_map_to_fes
WHERE export_seq.DEV_TAG = dev_info.TAG_NAME AND export_seq.DEV_TAG = accuml.DEVICE AND accuml_map_to_fes.KEY_ID_TAG = concat('accuml','.', accuml.TAG_NAME)
ORDER BY export_seq.NO ,accuml.SEQ_NO;
#,,
UPDATE background_x_fes_accuml INNER JOIN fes_accuml ON
fes_accuml.TAG_NAME = concat(background_x_fes_accuml.RTU_TAG,'.',background_x_fes_accuml.RTU_DOT_NO)
SET background_x_fes_accuml.RTU_DOT_DESC = fes_accuml.DESCRIPTION,
background_x_fes_accuml.RTU_DEV_TAG = fes_accuml.DEV_TAG,
background_x_fes_accuml.RTU_RES_PARA_INT1 = fes_accuml.RES_PARA_INT1,
background_x_fes_accuml.RTU_RES_PARA_INT2 = fes_accuml.RES_PARA_INT2,
background_x_fes_accuml.RTU_RES_PARA_INT3 = fes_accuml.RES_PARA_INT3,
background_x_fes_accuml.RTU_RES_PARA_INT4 = fes_accuml.RES_PARA_INT4;
#ANA后台点
INSERT INTO background_x_fes_analog (
BG_DEV_TAG, BG_DEV_DESC, BG_POINT_TAG, BG_POINT_OFFSET,BG_POINT_DESC, RTU_TAG, RTU_DOT_NO, RTU_DOT_DESC, RTU_DEV_TAG, RTU_RES_PARA_INT1, RTU_RES_PARA_INT2, RTU_RES_PARA_INT3,RTU_RES_PARA_INT4)SELECT
export_seq.DEV_TAG, dev_info.DESCRIPTION, analog_map_to_fes.KEY_ID_TAG, '1', analog_map_to_fes.DESCRIPTION, analog_map_to_fes.RTU_TAG,analog_map_to_fes.DOT_NO,'', '', 0, 0, 0, 0
FROM export_seq , dev_info ,analog, analog_map_to_fes
WHERE export_seq.DEV_TAG = dev_info.TAG_NAME AND export_seq.DEV_TAG = analog.DEVICE AND analog_map_to_fes.KEY_ID_TAG = concat('analog','.', analog.TAG_NAME)
ORDER BY export_seq.NO,analog.SEQ_NO;
#,,
UPDATE background_x_fes_analog INNER JOIN fes_analog ON
fes_analog.TAG_NAME = concat(background_x_fes_analog.RTU_TAG,'.',background_x_fes_analog.RTU_DOT_NO)
SET background_x_fes_analog.RTU_DOT_DESC = fes_analog.DESCRIPTION,
background_x_fes_analog.RTU_DEV_TAG = fes_analog.DEV_TAG,
background_x_fes_analog.RTU_RES_PARA_INT1 = fes_analog.RES_PARA_INT1,
background_x_fes_analog.RTU_RES_PARA_INT2 = fes_analog.RES_PARA_INT2,
background_x_fes_analog.RTU_RES_PARA_INT3 = fes_analog.RES_PARA_INT3,
background_x_fes_analog.RTU_RES_PARA_INT4 = fes_analog.RES_PARA_INT4;
#analog_Ctrl
INSERT INTO background_x_fes_ana_ctrl(
BG_DEV_TAG, BG_DEV_DESC, BG_POINT_TAG, BG_POINT_OFFSET,BG_POINT_DESC, RTU_TAG, RTU_DOT_NO, RTU_DOT_DESC, RTU_DEV_TAG, RTU_RES_PARA_INT1, RTU_RES_PARA_INT2, RTU_RES_PARA_INT3,RTU_RES_PARA_INT4)SELECT
export_seq.DEV_TAG, dev_info.DESCRIPTION, analog.TAG_NAME, '1', analog.DESCRIPTION, analog_control.RTU_TAG,analog_control.OFFSET_NO,'', '', 0, 0, 0, 0
FROM export_seq , dev_info , analog ,analog_control
WHERE export_seq.DEV_TAG = dev_info.TAG_NAME AND export_seq.DEV_TAG = analog.DEVICE AND analog.TAG_NAME = analog_control.TAG_NAME
ORDER BY export_seq.NO,analog.SEQ_NO;
#,,
UPDATE background_x_fes_ana_ctrl INNER JOIN fes_analog_ctrl ON
fes_analog_ctrl.TAG_NAME = concat(background_x_fes_ana_ctrl.RTU_TAG,'.',background_x_fes_ana_ctrl.RTU_DOT_NO)
SET background_x_fes_ana_ctrl.RTU_DOT_DESC = fes_analog_ctrl.DESCRIPTION,
background_x_fes_ana_ctrl.RTU_DEV_TAG = fes_analog_ctrl.DEV_TAG,
background_x_fes_ana_ctrl.RTU_RES_PARA_INT1 = fes_analog_ctrl.RES_PARA_INT1,
background_x_fes_ana_ctrl.RTU_RES_PARA_INT2 = fes_analog_ctrl.RES_PARA_INT2,
background_x_fes_ana_ctrl.RTU_RES_PARA_INT3 = fes_analog_ctrl.RES_PARA_INT3,
background_x_fes_ana_ctrl.RTU_RES_PARA_INT4 = fes_analog_ctrl.RES_PARA_INT4;
#digital,5
INSERT INTO background_x_fes_digtal (
BG_DEV_TAG, BG_DEV_DESC, BG_POINT_TAG, BG_POINT_OFFSET,BG_POINT_DESC, RTU_TAG, RTU_DOT_NO, RTU_DOT_DESC, RTU_DEV_TAG, RTU_RES_PARA_INT1, RTU_RES_PARA_INT2, RTU_RES_PARA_INT3, RTU_RES_PARA_INT4,DEV_NO, SEQ_NO) SELECT
export_seq.DEV_TAG,dev_info.DESCRIPTION, digital_map_to_fes.KEY_ID_TAG, 1, digital_map_to_fes.DESCRIPTION,digital_map_to_fes.RTU_TAG,digital_map_to_fes.DOT_NO1,'', '', 0, 0, 0, 0, export_seq.`NO`,digital.SEQ_NO
FROM export_seq,dev_info, digital,digital_map_to_fes
WHERE export_seq.DEV_TAG = dev_info.TAG_NAME AND export_seq.DEV_TAG = digital.DEVICE AND digital_map_to_fes.KEY_ID_TAG = concat('digital.',digital.TAG_NAME)
AND digital_map_to_fes.VALUE_NUM >= 1;
INSERT INTO background_x_fes_digtal (
BG_DEV_TAG, BG_DEV_DESC, BG_POINT_TAG, BG_POINT_OFFSET,BG_POINT_DESC, RTU_TAG, RTU_DOT_NO, RTU_DOT_DESC, RTU_DEV_TAG, RTU_RES_PARA_INT1, RTU_RES_PARA_INT2, RTU_RES_PARA_INT3, RTU_RES_PARA_INT4,DEV_NO, SEQ_NO) SELECT
export_seq.DEV_TAG,dev_info.DESCRIPTION, digital_map_to_fes.KEY_ID_TAG, 2, digital_map_to_fes.DESCRIPTION,digital_map_to_fes.RTU_TAG,digital_map_to_fes.DOT_NO2,'', '', 0, 0, 0, 0, export_seq.`NO`,digital.SEQ_NO
FROM export_seq,dev_info, digital,digital_map_to_fes
WHERE export_seq.DEV_TAG = dev_info.TAG_NAME AND export_seq.DEV_TAG = digital.DEVICE AND digital_map_to_fes.KEY_ID_TAG = concat('digital.',digital.TAG_NAME)
AND digital_map_to_fes.VALUE_NUM >= 2;
INSERT INTO background_x_fes_digtal (
BG_DEV_TAG, BG_DEV_DESC, BG_POINT_TAG, BG_POINT_OFFSET,BG_POINT_DESC, RTU_TAG, RTU_DOT_NO, RTU_DOT_DESC, RTU_DEV_TAG, RTU_RES_PARA_INT1, RTU_RES_PARA_INT2, RTU_RES_PARA_INT3, RTU_RES_PARA_INT4,DEV_NO, SEQ_NO) SELECT
export_seq.DEV_TAG,dev_info.DESCRIPTION, digital_map_to_fes.KEY_ID_TAG, 3, digital_map_to_fes.DESCRIPTION,digital_map_to_fes.RTU_TAG,digital_map_to_fes.DOT_NO3,'', '', 0, 0, 0, 0, export_seq.`NO`,digital.SEQ_NO
FROM export_seq,dev_info, digital,digital_map_to_fes
WHERE export_seq.DEV_TAG = dev_info.TAG_NAME AND export_seq.DEV_TAG = digital.DEVICE AND digital_map_to_fes.KEY_ID_TAG = concat('digital.',digital.TAG_NAME)
AND digital_map_to_fes.VALUE_NUM >= 3;
INSERT INTO background_x_fes_digtal (
BG_DEV_TAG, BG_DEV_DESC, BG_POINT_TAG, BG_POINT_OFFSET,BG_POINT_DESC, RTU_TAG, RTU_DOT_NO, RTU_DOT_DESC, RTU_DEV_TAG, RTU_RES_PARA_INT1, RTU_RES_PARA_INT2, RTU_RES_PARA_INT3, RTU_RES_PARA_INT4,DEV_NO, SEQ_NO) SELECT
export_seq.DEV_TAG,dev_info.DESCRIPTION, digital_map_to_fes.KEY_ID_TAG, 4, digital_map_to_fes.DESCRIPTION,digital_map_to_fes.RTU_TAG,digital_map_to_fes.DOT_NO4,'', '', 0, 0, 0, 0, export_seq.`NO`,digital.SEQ_NO
FROM export_seq,dev_info, digital,digital_map_to_fes
WHERE export_seq.DEV_TAG = dev_info.TAG_NAME AND export_seq.DEV_TAG = digital.DEVICE AND digital_map_to_fes.KEY_ID_TAG = concat('digital.',digital.TAG_NAME)
AND digital_map_to_fes.VALUE_NUM >= 4;
INSERT INTO background_x_fes_digtal (
BG_DEV_TAG, BG_DEV_DESC, BG_POINT_TAG, BG_POINT_OFFSET,BG_POINT_DESC, RTU_TAG, RTU_DOT_NO, RTU_DOT_DESC, RTU_DEV_TAG, RTU_RES_PARA_INT1, RTU_RES_PARA_INT2, RTU_RES_PARA_INT3, RTU_RES_PARA_INT4,DEV_NO, SEQ_NO) SELECT
export_seq.DEV_TAG,dev_info.DESCRIPTION, digital_map_to_fes.KEY_ID_TAG, 5, digital_map_to_fes.DESCRIPTION,digital_map_to_fes.RTU_TAG,digital_map_to_fes.DOT_NO5,'', '', 0, 0, 0, 0, export_seq.`NO`,digital.SEQ_NO
FROM export_seq,dev_info, digital,digital_map_to_fes
WHERE export_seq.DEV_TAG = dev_info.TAG_NAME AND export_seq.DEV_TAG = digital.DEVICE AND digital_map_to_fes.KEY_ID_TAG = concat('digital.',digital.TAG_NAME)
AND digital_map_to_fes.VALUE_NUM >= 5;
#,,
UPDATE background_x_fes_digtal INNER JOIN fes_digital ON
fes_digital.TAG_NAME = concat(background_x_fes_digtal.RTU_TAG,'.',background_x_fes_digtal.RTU_DOT_NO)
SET background_x_fes_digtal.RTU_DOT_DESC = fes_digital.DESCRIPTION,
background_x_fes_digtal.RTU_DEV_TAG = fes_digital.DEV_TAG,
background_x_fes_digtal.RTU_RES_PARA_INT1 = fes_digital.RES_PARA_INT1,
background_x_fes_digtal.RTU_RES_PARA_INT2 = fes_digital.RES_PARA_INT2,
background_x_fes_digtal.RTU_RES_PARA_INT3 = fes_digital.RES_PARA_INT3,
background_x_fes_digtal.RTU_RES_PARA_INT4 = fes_digital.RES_PARA_INT4;
#digital_ctrl
INSERT INTO background_x_fes_dig_ctrl (
BG_DEV_TAG, BG_DEV_DESC, BG_POINT_TAG, BG_POINT_OFFSET, BG_POINT_DESC, RTU_TAG, RTU_DOT_NO, RTU_DOT_DESC, RTU_DEV_TAG, RTU_RES_PARA_INT1, RTU_RES_PARA_INT2,RTU_RES_PARA_INT3, RTU_RES_PARA_INT4,DEV_NO, SEQ_NO)SELECT
export_seq.DEV_TAG, dev_info.DESCRIPTION, digital_control.TAG_NAME, 1, digital.DESCRIPTION, digital_control.RTU_TAG,digital_control.OFFSET_NO1, '', '', 0, 0, 0, 0, export_seq.`NO`,digital.SEQ_NO
FROM export_seq , dev_info ,digital , digital_control
WHERE export_seq.DEV_TAG = dev_info.TAG_NAME AND export_seq.DEV_TAG=digital.DEVICE AND digital.TAG_NAME = digital_control.TAG_NAME
AND digital_control.OFFSET_NUM >= 1;
INSERT INTO background_x_fes_dig_ctrl (
BG_DEV_TAG, BG_DEV_DESC, BG_POINT_TAG, BG_POINT_OFFSET, BG_POINT_DESC, RTU_TAG, RTU_DOT_NO, RTU_DOT_DESC, RTU_DEV_TAG, RTU_RES_PARA_INT1, RTU_RES_PARA_INT2,RTU_RES_PARA_INT3, RTU_RES_PARA_INT4,DEV_NO, SEQ_NO)SELECT
export_seq.DEV_TAG, dev_info.DESCRIPTION, digital_control.TAG_NAME, 2, digital.DESCRIPTION, digital_control.RTU_TAG,digital_control.OFFSET_NO2, '', '', 0, 0, 0, 0, export_seq.`NO`,digital.SEQ_NO
FROM export_seq , dev_info ,digital , digital_control
WHERE export_seq.DEV_TAG = dev_info.TAG_NAME AND export_seq.DEV_TAG=digital.DEVICE AND digital.TAG_NAME = digital_control.TAG_NAME
AND digital_control.OFFSET_NUM >= 2;
INSERT INTO background_x_fes_dig_ctrl (
BG_DEV_TAG, BG_DEV_DESC, BG_POINT_TAG, BG_POINT_OFFSET, BG_POINT_DESC, RTU_TAG, RTU_DOT_NO, RTU_DOT_DESC, RTU_DEV_TAG, RTU_RES_PARA_INT1, RTU_RES_PARA_INT2,RTU_RES_PARA_INT3, RTU_RES_PARA_INT4,DEV_NO, SEQ_NO)SELECT
export_seq.DEV_TAG, dev_info.DESCRIPTION, digital_control.TAG_NAME, 3, digital.DESCRIPTION, digital_control.RTU_TAG,digital_control.OFFSET_NO3, '', '', 0, 0, 0, 0, export_seq.`NO`,digital.SEQ_NO
FROM export_seq , dev_info ,digital , digital_control
WHERE export_seq.DEV_TAG = dev_info.TAG_NAME AND export_seq.DEV_TAG=digital.DEVICE AND digital.TAG_NAME = digital_control.TAG_NAME
AND digital_control.OFFSET_NUM >= 3;
INSERT INTO background_x_fes_dig_ctrl (
BG_DEV_TAG, BG_DEV_DESC, BG_POINT_TAG, BG_POINT_OFFSET, BG_POINT_DESC, RTU_TAG, RTU_DOT_NO, RTU_DOT_DESC, RTU_DEV_TAG, RTU_RES_PARA_INT1, RTU_RES_PARA_INT2,RTU_RES_PARA_INT3, RTU_RES_PARA_INT4,DEV_NO, SEQ_NO)SELECT
export_seq.DEV_TAG, dev_info.DESCRIPTION, digital_control.TAG_NAME, 4, digital.DESCRIPTION, digital_control.RTU_TAG,digital_control.OFFSET_NO4, '', '', 0, 0, 0, 0, export_seq.`NO`,digital.SEQ_NO
FROM export_seq , dev_info ,digital , digital_control
WHERE export_seq.DEV_TAG = dev_info.TAG_NAME AND export_seq.DEV_TAG=digital.DEVICE AND digital.TAG_NAME = digital_control.TAG_NAME
AND digital_control.OFFSET_NUM >= 4;
INSERT INTO background_x_fes_dig_ctrl (
BG_DEV_TAG, BG_DEV_DESC, BG_POINT_TAG, BG_POINT_OFFSET, BG_POINT_DESC, RTU_TAG, RTU_DOT_NO, RTU_DOT_DESC, RTU_DEV_TAG, RTU_RES_PARA_INT1, RTU_RES_PARA_INT2,RTU_RES_PARA_INT3, RTU_RES_PARA_INT4,DEV_NO, SEQ_NO)SELECT
export_seq.DEV_TAG, dev_info.DESCRIPTION, digital_control.TAG_NAME, 5, digital.DESCRIPTION, digital_control.RTU_TAG,digital_control.OFFSET_NO5, '', '', 0, 0, 0, 0, export_seq.`NO`,digital.SEQ_NO
FROM export_seq , dev_info ,digital , digital_control
WHERE export_seq.DEV_TAG = dev_info.TAG_NAME AND export_seq.DEV_TAG=digital.DEVICE AND digital.TAG_NAME = digital_control.TAG_NAME
AND digital_control.OFFSET_NUM >= 5;
#,,
UPDATE background_x_fes_dig_ctrl INNER JOIN fes_digital_ctrl ON
fes_digital_ctrl.TAG_NAME = concat(background_x_fes_dig_ctrl.RTU_TAG,'.',background_x_fes_dig_ctrl.RTU_DOT_NO)
SET background_x_fes_dig_ctrl.RTU_DOT_DESC = fes_digital_ctrl.DESCRIPTION,
background_x_fes_dig_ctrl.RTU_DEV_TAG = fes_digital_ctrl.DEV_TAG,
background_x_fes_dig_ctrl.RTU_RES_PARA_INT1 = fes_digital_ctrl.RES_PARA_INT1,
background_x_fes_dig_ctrl.RTU_RES_PARA_INT2 = fes_digital_ctrl.RES_PARA_INT2,
background_x_fes_dig_ctrl.RTU_RES_PARA_INT3 = fes_digital_ctrl.RES_PARA_INT3,
background_x_fes_dig_ctrl.RTU_RES_PARA_INT4 = fes_digital_ctrl.RES_PARA_INT4;
#mix
INSERT INTO background_x_fes_mix (
BG_DEV_TAG, BG_DEV_DESC, BG_POINT_TAG, BG_POINT_OFFSET,BG_POINT_DESC, RTU_TAG, RTU_DOT_NO, RTU_DOT_DESC, RTU_DEV_TAG, RTU_RES_PARA_INT1, RTU_RES_PARA_INT2, RTU_RES_PARA_INT3,RTU_RES_PARA_INT4)SELECT
export_seq.DEV_TAG, dev_info.DESCRIPTION, mix_map_to_fes.KEY_ID_TAG, '1', mix_map_to_fes.DESCRIPTION, mix_map_to_fes.RTU_TAG,mix_map_to_fes.DOT_NO,'', '', 0, 0, 0, 0
FROM export_seq , dev_info ,mix, mix_map_to_fes
WHERE export_seq.DEV_TAG = dev_info.TAG_NAME AND export_seq.DEV_TAG = mix.DEVICE AND mix_map_to_fes.KEY_ID_TAG = concat('mix','.',mix.TAG_NAME)
ORDER BY export_seq.NO,mix.SEQ_NO;
#,,
UPDATE background_x_fes_mix INNER JOIN fes_mix ON
fes_mix.TAG_NAME = concat(background_x_fes_mix.RTU_TAG,'.',background_x_fes_mix.RTU_DOT_NO)
SET background_x_fes_mix.RTU_DOT_DESC = fes_mix.DESCRIPTION,
background_x_fes_mix.RTU_DEV_TAG = fes_mix.DEV_TAG,
background_x_fes_mix.RTU_RES_PARA_INT1 = fes_mix.RES_PARA_INT1,
background_x_fes_mix.RTU_RES_PARA_INT2 = fes_mix.RES_PARA_INT2,
background_x_fes_mix.RTU_RES_PARA_INT3 = fes_mix.RES_PARA_INT3,
background_x_fes_mix.RTU_RES_PARA_INT4 = fes_mix.RES_PARA_INT4;
#mix_Ctrl
INSERT INTO background_x_fes_mix_ctrl(
BG_DEV_TAG, BG_DEV_DESC, BG_POINT_TAG, BG_POINT_OFFSET,BG_POINT_DESC, RTU_TAG, RTU_DOT_NO, RTU_DOT_DESC, RTU_DEV_TAG, RTU_RES_PARA_INT1, RTU_RES_PARA_INT2, RTU_RES_PARA_INT3,RTU_RES_PARA_INT4)SELECT
export_seq.DEV_TAG, dev_info.DESCRIPTION, mix_control.TAG_NAME, '1', mix.DESCRIPTION, mix_control.RTU_TAG,mix_control.OFFSET_NO,'', '', 0, 0, 0, 0
FROM export_seq , dev_info , mix ,mix_control
WHERE export_seq.DEV_TAG = dev_info.TAG_NAME AND export_seq.DEV_TAG = mix.DEVICE AND mix.TAG_NAME = mix_control.TAG_NAME
ORDER BY export_seq.NO,mix.SEQ_NO;
#,,
UPDATE background_x_fes_mix_ctrl INNER JOIN fes_mix_ctrl ON
fes_mix_ctrl.TAG_NAME=concat(background_x_fes_mix_ctrl.RTU_TAG,'.',background_x_fes_mix_ctrl.RTU_DOT_NO)
SET background_x_fes_mix_ctrl.RTU_DOT_DESC = fes_mix_ctrl.DESCRIPTION,
background_x_fes_mix_ctrl.RTU_DEV_TAG = fes_mix_ctrl.DEV_TAG,
background_x_fes_mix_ctrl.RTU_RES_PARA_INT1 = fes_mix_ctrl.RES_PARA_INT1,
background_x_fes_mix_ctrl.RTU_RES_PARA_INT2 = fes_mix_ctrl.RES_PARA_INT2,
background_x_fes_mix_ctrl.RTU_RES_PARA_INT3 = fes_mix_ctrl.RES_PARA_INT3,
background_x_fes_mix_ctrl.RTU_RES_PARA_INT4 = fes_mix_ctrl.RES_PARA_INT4;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `generateBatchDev`;
DELIMITER $$
CREATE PROCEDURE `generateBatchDev`(devTagName varchar(64), batchNum decimal(10,0),batchStart decimal(10,0), formatTagName varchar(64),formatDesc varchar(128),fesRtuTagName varchar(64))
body:BEGIN
#,fesRtuTagName不为空时,
#devTagName
#batchNum
#batchStart
#formatTagName TagName字段的批量格式
#formatDesc
#fesRtuTagName RTU的标签名,
DECLARE stepNum int DEFAULT 0;
DECLARE fesDevTempTagName varchar(64) DEFAULT '';
DECLARE tempStr varchar(64) DEFAULT '';
DECLARE locationTagName varchar(64) DEFAULT '';
DECLARE tmpDevTag varchar(64) DEFAULT '';
DECLARE tmpFesDevTag varchar(64) DEFAULT '';
DECLARE accSize decimal(10,0) DEFAULT 0;
DECLARE anaSize decimal(10,0) DEFAULT 0;
DECLARE digSize decimal(10,0) DEFAULT 0;
DECLARE mixSize decimal(10,0) DEFAULT 0;
#BAT_TAG_NAME中存储着短名
CREATE TEMPORARY TABLE IF NOT EXISTS tmpGenerateBatchDevTbl(
BAT_TAG_NAME varchar(64) NOT NULL ,
BAT_DESC varchar(64) NOT NULL
);
DELETE FROM tmpGenerateBatchDevTbl;
SET locationTagName = getBeforeLastDot(devTagName);
#,
SET stepNum = batchStart;
WHILE stepNum < (batchStart + batchNum) DO
INSERT INTO tmpGenerateBatchDevTbl(BAT_TAG_NAME,BAT_DESC)
VALUES (replace(formatTagName,'%1',stepNum), replace(formatDesc,'%1',stepNum));
SET stepNum = stepNum + 1;
END WHILE;
#,
INSERT INTO dev_info(
TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, GROUP_TAG_NAME, VOL_LEVEL_ID, DEV_TYPE, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, NODE_NO1, NODE_NO2, NODE_NO3, NODE_NO4, NODE_NO5, NODE_NO6, NODE_NO7, NODE_NO8, NODE_NO9, NODE_NO10, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TP_NAME)SELECT
concat(locationTagName,'.',BAT_TAG_NAME) ,BAT_DESC, LOCATION_ID, SUB_SYSTEM, GROUP_TAG_NAME, VOL_LEVEL_ID, DEV_TYPE, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, NODE_NO1, NODE_NO2, NODE_NO3, NODE_NO4, NODE_NO5, NODE_NO6, NODE_NO7, NODE_NO8, NODE_NO9, NODE_NO10, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TP_NAME
FROM dev_info,tmpGenerateBatchDevTbl WHERE TAG_NAME=devTagName AND concat(locationTagName,'.',BAT_TAG_NAME) <> devTagName;
#
IF length(trim(fesRtuTagName)) THEN
BEGIN
#,,
SELECT '' INTO fesDevTempTagName FROM dev_info,dev_temp_def WHERE dev_info.TAG_NAME = devTagName AND dev_info.DEV_TP_NAME = dev_temp_def.TAG_NAME;
IF length(trim(fesDevTempTagName)) = 0 THEN LEAVE body;
END IF;
#
INSERT INTO fes_dev_info(
TAG_NAME, DEV_NAME, LOCATION_ID, SUB_SYSTEM, DEV_ID, DEV_TYPE_ID, RTU_TAG, RTU_NO, DEV_DESC, DEV_TP_NAME)SELECT
concat(fesRtuTagName,'.', BAT_TAG_NAME,'_fes'),concat(BAT_TAG_NAME,'_fes'),fes_rtu_para.LOCATION_ID,fes_rtu_para.SUB_SYSTEM,-1, fes_dev_temp_def.DEV_TYPE_ID,fesRtuTagName,fes_rtu_para.RTU_NO,BAT_DESC,fesDevTempTagName
FROM fes_dev_temp_def,fes_rtu_para,tmpGenerateBatchDevTbl
WHERE fes_dev_temp_def.TAG_NAME = fesDevTempTagName
AND fes_rtu_para.TAG_NAME = fesRtuTagName;
#,
CREATE TEMPORARY TABLE IF NOT EXISTS tmpFesTblAcc(
KEY_ID_TAG varchar(128) NOT NULL,
DOT_NO varchar(48) NOT NULL,
OFFSET_NO decimal(10)
);
DELETE FROM tmpFesTblAcc;
CREATE TEMPORARY TABLE IF NOT EXISTS tmpFesTblAna(
KEY_ID_TAG varchar(128) NOT NULL,
DOT_NO varchar(48) NOT NULL,
OFFSET_NO decimal(10)
);
DELETE FROM tmpFesTblAna;
CREATE TEMPORARY TABLE IF NOT EXISTS tmpFesTblDig(
KEY_ID_TAG varchar(128) NOT NULL,
DOT_NO varchar(48) NOT NULL,
OFFSET_NO decimal(10)
);
DELETE FROM tmpFesTblDig;
CREATE TEMPORARY TABLE IF NOT EXISTS tmpFesTblMix(
KEY_ID_TAG varchar(128) NOT NULL,
DOT_NO varchar(48) NOT NULL,
OFFSET_NO decimal(10)
);
DELETE FROM tmpFesTblMix;
#,使while循环重新生成tagName
SET stepNum = batchStart;
WHILE stepNum < (batchStart + batchNum) DO
SET tempStr = replace(formatTagName,'%1',stepNum);
SET tmpDevTag = concat(locationTagName,'.',tempStr);
SET tmpFesDevTag = concat(fesRtuTagName,'.', tempStr,'_fes');
IF stepNum = batchStart THEN #,,,,
BEGIN
#acc
INSERT INTO tmpFesTblAcc(KEY_ID_TAG , DOT_NO)
SELECT accuml_map_to_fes.KEY_ID_TAG, fes_accuml.DOT_NO FROM accuml_map_to_fes,accuml_temp_define,fes_dev_pt_temp_def,fes_accuml WHERE
getBeforeLastDot(getAfterFirstDot(accuml_map_to_fes.KEY_ID_TAG)) = tmpDevTag AND
accuml_map_to_fes.POINT_TP_NAME=accuml_temp_define.TAG_NAME AND
accuml_temp_define.SEC_DEVTP_NAME = fesDevTempTagName AND
fes_dev_pt_temp_def.DEV_TP_NAME = fesDevTempTagName AND
fes_dev_pt_temp_def.POINT_TYPE = getFesPointType('FES_ACC') AND
fes_dev_pt_temp_def.SEQ_NO = accuml_temp_define.SEC_SEQ_NO AND
fes_accuml.DEV_TAG = tmpFesDevTag AND
fes_accuml.FES_POINT_TP_NAME = fes_dev_pt_temp_def.TAG_NAME;
#ana
INSERT INTO tmpFesTblAna (KEY_ID_TAG , DOT_NO)
SELECT analog_map_to_fes.KEY_ID_TAG, fes_analog.DOT_NO FROM analog_map_to_fes,analog_temp_define,fes_dev_pt_temp_def,fes_analog WHERE
getBeforeLastDot(getAfterFirstDot(analog_map_to_fes.KEY_ID_TAG)) = tmpDevTag AND
analog_map_to_fes.POINT_TP_NAME=analog_temp_define.TAG_NAME AND
analog_temp_define.SEC_DEVTP_NAME = fesDevTempTagName AND
fes_dev_pt_temp_def.DEV_TP_NAME = fesDevTempTagName AND
fes_dev_pt_temp_def.POINT_TYPE = getFesPointType('FES_ANA') AND
fes_dev_pt_temp_def.SEQ_NO = analog_temp_define.SEC_SEQ_NO AND
fes_analog.DEV_TAG = tmpFesDevTag AND
fes_analog.FES_POINT_TP_NAME = fes_dev_pt_temp_def.TAG_NAME;
#digital
INSERT INTO tmpFesTblDig (KEY_ID_TAG , DOT_NO, OFFSET_NO)
SELECT digital_map_to_fes.KEY_ID_TAG, fes_digital.DOT_NO, 1 FROM digital_map_to_fes,digital_temp_define,fes_dev_pt_temp_def,fes_digital WHERE
getBeforeLastDot(getAfterFirstDot(digital_map_to_fes.KEY_ID_TAG)) = tmpDevTag AND
digital_map_to_fes.POINT_TP_NAME=digital_temp_define.TAG_NAME AND
digital_temp_define.SEC_DEVTP_NAME = fesDevTempTagName AND
fes_dev_pt_temp_def.DEV_TP_NAME = fesDevTempTagName AND
fes_dev_pt_temp_def.POINT_TYPE = getFesPointType('FES_DIG') AND
fes_dev_pt_temp_def.SEQ_NO = digital_temp_define.SEC_SEQ_NO1 AND
fes_digital.DEV_TAG = tmpFesDevTag AND
fes_digital.FES_POINT_TP_NAME = fes_dev_pt_temp_def.TAG_NAME;
INSERT INTO tmpFesTblDig (KEY_ID_TAG , DOT_NO, OFFSET_NO)
SELECT digital_map_to_fes.KEY_ID_TAG, fes_digital.DOT_NO, 2 FROM digital_map_to_fes,digital_temp_define,fes_dev_pt_temp_def,fes_digital WHERE
getBeforeLastDot(getAfterFirstDot(digital_map_to_fes.KEY_ID_TAG)) = tmpDevTag AND
digital_map_to_fes.POINT_TP_NAME=digital_temp_define.TAG_NAME AND
digital_temp_define.SEC_DEVTP_NAME = fesDevTempTagName AND
fes_dev_pt_temp_def.DEV_TP_NAME = fesDevTempTagName AND
fes_dev_pt_temp_def.POINT_TYPE = getFesPointType('FES_DIG') AND
fes_dev_pt_temp_def.SEQ_NO = digital_temp_define.SEC_SEQ_NO2 AND
fes_digital.DEV_TAG = tmpFesDevTag AND
fes_digital.FES_POINT_TP_NAME = fes_dev_pt_temp_def.TAG_NAME;
INSERT INTO tmpFesTblDig (KEY_ID_TAG , DOT_NO, OFFSET_NO)
SELECT digital_map_to_fes.KEY_ID_TAG, fes_digital.DOT_NO, 3 FROM digital_map_to_fes,digital_temp_define,fes_dev_pt_temp_def,fes_digital WHERE
getBeforeLastDot(getAfterFirstDot(digital_map_to_fes.KEY_ID_TAG)) = tmpDevTag AND
digital_map_to_fes.POINT_TP_NAME=digital_temp_define.TAG_NAME AND
digital_temp_define.SEC_DEVTP_NAME = fesDevTempTagName AND
fes_dev_pt_temp_def.DEV_TP_NAME = fesDevTempTagName AND
fes_dev_pt_temp_def.POINT_TYPE = getFesPointType('FES_DIG') AND
fes_dev_pt_temp_def.SEQ_NO = digital_temp_define.SEC_SEQ_NO3 AND
fes_digital.DEV_TAG = tmpFesDevTag AND
fes_digital.FES_POINT_TP_NAME = fes_dev_pt_temp_def.TAG_NAME;
INSERT INTO tmpFesTblDig (KEY_ID_TAG , DOT_NO, OFFSET_NO)
SELECT digital_map_to_fes.KEY_ID_TAG, fes_digital.DOT_NO, 4 FROM digital_map_to_fes,digital_temp_define,fes_dev_pt_temp_def,fes_digital WHERE
getBeforeLastDot(getAfterFirstDot(digital_map_to_fes.KEY_ID_TAG)) = tmpDevTag AND
digital_map_to_fes.POINT_TP_NAME=digital_temp_define.TAG_NAME AND
digital_temp_define.SEC_DEVTP_NAME = fesDevTempTagName AND
fes_dev_pt_temp_def.DEV_TP_NAME = fesDevTempTagName AND
fes_dev_pt_temp_def.POINT_TYPE = getFesPointType('FES_DIG') AND
fes_dev_pt_temp_def.SEQ_NO = digital_temp_define.SEC_SEQ_NO4 AND
fes_digital.DEV_TAG = tmpFesDevTag AND
fes_digital.FES_POINT_TP_NAME = fes_dev_pt_temp_def.TAG_NAME;
INSERT INTO tmpFesTblDig (KEY_ID_TAG , DOT_NO,OFFSET_NO)
SELECT digital_map_to_fes.KEY_ID_TAG, fes_digital.DOT_NO, 5 FROM digital_map_to_fes,digital_temp_define,fes_dev_pt_temp_def,fes_digital WHERE
getBeforeLastDot(getAfterFirstDot(digital_map_to_fes.KEY_ID_TAG)) = tmpDevTag AND
digital_map_to_fes.POINT_TP_NAME=digital_temp_define.TAG_NAME AND
digital_temp_define.SEC_DEVTP_NAME = fesDevTempTagName AND
fes_dev_pt_temp_def.DEV_TP_NAME = fesDevTempTagName AND
fes_dev_pt_temp_def.POINT_TYPE = getFesPointType('FES_DIG') AND
fes_dev_pt_temp_def.SEQ_NO = digital_temp_define.SEC_SEQ_NO5 AND
fes_digital.DEV_TAG = tmpFesDevTag AND
fes_digital.FES_POINT_TP_NAME = fes_dev_pt_temp_def.TAG_NAME;
#mix
INSERT INTO tmpFesTblMix (KEY_ID_TAG , DOT_NO)
SELECT mix_map_to_fes.KEY_ID_TAG, fes_mix.DOT_NO FROM mix_map_to_fes,mix_temp_define,fes_dev_pt_temp_def,fes_mix WHERE
getBeforeLastDot(getAfterFirstDot(mix_map_to_fes.KEY_ID_TAG)) = tmpDevTag AND
mix_map_to_fes.POINT_TP_NAME=mix_temp_define.TAG_NAME AND
mix_temp_define.SEC_DEVTP_NAME = fesDevTempTagName AND
fes_dev_pt_temp_def.DEV_TP_NAME = fesDevTempTagName AND
fes_dev_pt_temp_def.POINT_TYPE = getFesPointType('FES_MIX') AND
fes_dev_pt_temp_def.SEQ_NO = mix_temp_define.SEC_SEQ_NO AND
fes_mix.DEV_TAG = tmpFesDevTag AND
fes_mix.FES_POINT_TP_NAME = fes_dev_pt_temp_def.TAG_NAME;
#
SELECT count(*) INTO accSize FROM fes_accuml WHERE DEV_TAG = tmpFesDevTag;
SELECT count(*) INTO anaSize FROM fes_analog WHERE DEV_TAG = tmpFesDevTag;
SELECT count(*) INTO digSize FROM fes_digital WHERE DEV_TAG = tmpFesDevTag;
SELECT count(*) INTO mixSize FROM fes_mix WHERE DEV_TAG = tmpFesDevTag;
IF COALESCE(accSize,0) = 0 THEN
SET accSize = 0;
END IF;
IF COALESCE(anaSize,0) = 0 THEN
SET anaSize = 0;
END IF;
IF COALESCE(digSize,0) = 0 THEN
SET digSize = 0;
END IF;
IF COALESCE(mixSize,0) = 0 THEN
SET mixSize = 0;
END IF;
END;
END IF;
#KEY_ID_TAG,DOT_NO直接替换字段
IF stepNum <> batchStart THEN
BEGIN
UPDATE tmpFesTblAcc SET
KEY_ID_TAG = concat(getBeforeFirstDot(KEY_ID_TAG),'.',tmpDevTag,'.',getAfterLastDot(KEY_ID_TAG)),
DOT_NO = ( DOT_NO + accSize)
WHERE 1;
UPDATE tmpFesTblAna SET KEY_ID_TAG = concat(getBeforeFirstDot(KEY_ID_TAG),'.',tmpDevTag,'.',getAfterLastDot(KEY_ID_TAG)),
DOT_NO = ( DOT_NO + anaSize)
WHERE 1;
UPDATE tmpFesTblDig SET KEY_ID_TAG = concat(getBeforeFirstDot(KEY_ID_TAG),'.',tmpDevTag,'.',getAfterLastDot(KEY_ID_TAG)),
DOT_NO = ( DOT_NO + digSize)
WHERE 1;
UPDATE tmpFesTblMix SET KEY_ID_TAG = concat(getBeforeFirstDot(KEY_ID_TAG),'.',tmpDevTag,'.',getAfterLastDot(KEY_ID_TAG)),
DOT_NO = ( DOT_NO + mixSize)
WHERE 1;
END;
END IF;
#acc
UPDATE accuml SET RTU_TAG = fesRtuTagName WHERE DEVICE = tmpDevTag;
UPDATE accuml_map_to_fes INNER JOIN tmpFesTblAcc
ON accuml_map_to_fes.KEY_ID_TAG = tmpFesTblAcc.KEY_ID_TAG
SET accuml_map_to_fes.DOT_NO = tmpFesTblAcc.DOT_NO;
#ana
UPDATE analog SET RTU_TAG = fesRtuTagName WHERE DEVICE = tmpDevTag;
UPDATE analog_map_to_fes INNER JOIN tmpFesTblAna
ON analog_map_to_fes.KEY_ID_TAG = tmpFesTblAna.KEY_ID_TAG
SET analog_map_to_fes.DOT_NO = tmpFesTblAna.DOT_NO;
#digital
UPDATE digital SET RTU_TAG = fesRtuTagName WHERE DEVICE = tmpDevTag;
UPDATE digital_map_to_fes INNER JOIN tmpFesTblDig
ON digital_map_to_fes.KEY_ID_TAG = tmpFesTblDig.KEY_ID_TAG AND tmpFesTblDig.OFFSET_NO = 1
SET digital_map_to_fes.DOT_NO1 = tmpFesTblDig.DOT_NO;
UPDATE digital_map_to_fes INNER JOIN tmpFesTblDig
ON digital_map_to_fes.KEY_ID_TAG = tmpFesTblDig.KEY_ID_TAG AND tmpFesTblDig.OFFSET_NO = 2
SET digital_map_to_fes.DOT_NO2 = tmpFesTblDig.DOT_NO;
UPDATE digital_map_to_fes INNER JOIN tmpFesTblDig
ON digital_map_to_fes.KEY_ID_TAG = tmpFesTblDig.KEY_ID_TAG AND tmpFesTblDig.OFFSET_NO = 3
SET digital_map_to_fes.DOT_NO3 = tmpFesTblDig.DOT_NO;
UPDATE digital_map_to_fes INNER JOIN tmpFesTblDig
ON digital_map_to_fes.KEY_ID_TAG = tmpFesTblDig.KEY_ID_TAG AND tmpFesTblDig.OFFSET_NO = 4
SET digital_map_to_fes.DOT_NO4 = tmpFesTblDig.DOT_NO;
UPDATE digital_map_to_fes INNER JOIN tmpFesTblDig
ON digital_map_to_fes.KEY_ID_TAG = tmpFesTblDig.KEY_ID_TAG AND tmpFesTblDig.OFFSET_NO = 5
SET digital_map_to_fes.DOT_NO5 = tmpFesTblDig.DOT_NO;
#mix
UPDATE mix SET RTU_TAG = fesRtuTagName WHERE DEVICE = tmpDevTag;
UPDATE mix_map_to_fes INNER JOIN tmpFesTblMix
ON mix_map_to_fes.KEY_ID_TAG = tmpFesTblMix.KEY_ID_TAG
SET mix_map_to_fes.DOT_NO = tmpFesTblMix.DOT_NO;
#1
SET stepNum = stepNum + 1;
END WHILE;
END;
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `generateFesDevTemp`;
DELIMITER $$
CREATE PROCEDURE `generateFesDevTemp`(devTagName varchar(64), fesDevTagName varchar(64))
body:BEGIN
#
#devTagName
#fesDevTagName ,,
IF EXISTS (SELECT TAG_NAME FROM fes_dev_pt_temp_def WHERE DEV_TP_NAME= fesDevTagName )
THEN LEAVE body;
END IF;
#FES前置模板点
INSERT INTO fes_dev_pt_temp_def(
TAG_NAME, POINT_TYPE, DEV_TP_NAME, SEQ_NO, FUN_CODE, INFO_NO, RATIO, REVISE, APPEND, ASS_DIG, CTRL_TYPE, ATTR, CONST_CFG_FILE, COEFFICIENT, SHORT_NAME, DESCRIPTION) SELECT
concat(fesDevTagName,'.',getAfterLastDot(TAG_NAME)),getFesPointType('FES_ACC'), fesDevTagName,SEQ_NO,'0', '0', 1, 0, 0, 0, 0, 0, '', 0, '', DESCRIPTION
FROM accuml_temp_define WHERE DEV_TP_NAME = devTagName;
INSERT INTO fes_dev_pt_temp_def(
TAG_NAME, POINT_TYPE, DEV_TP_NAME, SEQ_NO, FUN_CODE, INFO_NO, RATIO, REVISE, APPEND, ASS_DIG, CTRL_TYPE, ATTR, CONST_CFG_FILE, COEFFICIENT, SHORT_NAME, DESCRIPTION) SELECT
concat(fesDevTagName,'.',getAfterLastDot(TAG_NAME)),getFesPointType('FES_ANA'), fesDevTagName,SEQ_NO,'0', '0', 1, 0, 0, 0, 0, 0, '', 0, '', DESCRIPTION
FROM analog_temp_define WHERE DEV_TP_NAME = devTagName;
#dig要特殊处理,dig要分辨分量数
CREATE TEMPORARY TABLE IF NOT EXISTS tmpGenerateFesDevTempTbl(
FES_SEQ_NO int NOT NULL AUTO_INCREMENT,
DIG_TAG_NAME varchar(64) NOT NULL,
HouTai_SEQ_NO decimal(10,0) NOT NULL,
HouTai_OFF_SET decimal(10,0) NOT NULL,
PRIMARY KEY(FES_SEQ_NO)
);
DELETE FROM tmpGenerateFesDevTempTbl;
ALTER TABLE tmpGenerateFesDevTempTbl auto_increment = 1;
INSERT INTO tmpGenerateFesDevTempTbl(DIG_TAG_NAME,HouTai_SEQ_NO,HouTai_OFF_SET)
SELECT TAG_NAME,SEQ_NO,1
FROM digital_temp_define WHERE DEV_TP_NAME = devTagName AND 1 <= VALUE_NUM ORDER BY SEQ_NO;
INSERT INTO tmpGenerateFesDevTempTbl(DIG_TAG_NAME,HouTai_SEQ_NO,HouTai_OFF_SET)
SELECT TAG_NAME,SEQ_NO,2
FROM digital_temp_define WHERE DEV_TP_NAME = devTagName AND 2 <= VALUE_NUM ORDER BY SEQ_NO;
INSERT INTO tmpGenerateFesDevTempTbl(DIG_TAG_NAME,HouTai_SEQ_NO,HouTai_OFF_SET)
SELECT TAG_NAME,SEQ_NO,3
FROM digital_temp_define WHERE DEV_TP_NAME = devTagName AND 3 <= VALUE_NUM ORDER BY SEQ_NO;
INSERT INTO tmpGenerateFesDevTempTbl(DIG_TAG_NAME,HouTai_SEQ_NO,HouTai_OFF_SET)
SELECT TAG_NAME,SEQ_NO,4
FROM digital_temp_define WHERE DEV_TP_NAME = devTagName AND 4 <= VALUE_NUM ORDER BY SEQ_NO;
INSERT INTO tmpGenerateFesDevTempTbl(DIG_TAG_NAME,HouTai_SEQ_NO,HouTai_OFF_SET)
SELECT TAG_NAME,SEQ_NO,5
FROM digital_temp_define WHERE DEV_TP_NAME = devTagName AND 5 <= VALUE_NUM ORDER BY SEQ_NO;
INSERT INTO fes_dev_pt_temp_def(
TAG_NAME, POINT_TYPE, DEV_TP_NAME, SEQ_NO, FUN_CODE, INFO_NO, RATIO, REVISE, APPEND, ASS_DIG, CTRL_TYPE, ATTR, CONST_CFG_FILE, COEFFICIENT, SHORT_NAME, DESCRIPTION) SELECT
concat(fesDevTagName,'.',getAfterLastDot(TAG_NAME),HouTai_OFF_SET),getFesPointType('FES_DIG'), fesDevTagName,FES_SEQ_NO, '0', '0', 1, 0, 0, 0, 0, 0, '', 0, '', concat(DESCRIPTION,HouTai_OFF_SET)
FROM digital_temp_define,tmpGenerateFesDevTempTbl WHERE DEV_TP_NAME = devTagName AND TAG_NAME = DIG_TAG_NAME;
INSERT INTO fes_dev_pt_temp_def(
TAG_NAME, POINT_TYPE, DEV_TP_NAME, SEQ_NO, FUN_CODE, INFO_NO, RATIO, REVISE, APPEND, ASS_DIG, CTRL_TYPE, ATTR, CONST_CFG_FILE, COEFFICIENT, SHORT_NAME, DESCRIPTION) SELECT
concat(fesDevTagName,'.',getAfterLastDot(TAG_NAME)),getFesPointType('FES_MIX'), fesDevTagName,SEQ_NO,'0', '0', 1, 0, 0, 0, 0, 0, '', 0, '', DESCRIPTION
FROM mix_temp_define WHERE DEV_TP_NAME = devTagName;
INSERT INTO fes_dev_pt_temp_def(
TAG_NAME, POINT_TYPE, DEV_TP_NAME, SEQ_NO, FUN_CODE, INFO_NO, RATIO, REVISE, APPEND, ASS_DIG, CTRL_TYPE, ATTR, CONST_CFG_FILE, COEFFICIENT, SHORT_NAME, DESCRIPTION) SELECT
concat(fesDevTagName,'.',getAfterLastDot(TAG_NAME),'_ctrl'),getFesPointType('FES_ANA_CTRL'), fesDevTagName,SEQ_NO, '0', '0', 1, 0, 0, 0, 0, 0, '', 0, '', DESCRIPTION
FROM analog_temp_define WHERE DEV_TP_NAME = devTagName AND COALESCE(IS_CONTROL,0)<>0;
INSERT INTO fes_dev_pt_temp_def(
TAG_NAME, POINT_TYPE, DEV_TP_NAME, SEQ_NO, FUN_CODE, INFO_NO, RATIO, REVISE, APPEND, ASS_DIG, CTRL_TYPE, ATTR, CONST_CFG_FILE, COEFFICIENT, SHORT_NAME, DESCRIPTION) SELECT
concat(fesDevTagName,'.',getAfterLastDot(TAG_NAME),'_ctrl'),getFesPointType('FES_DIG_CTRL'), fesDevTagName,SEQ_NO, '0', '0', 1, 0, 0, 0, 0, 0, '', 0, '', DESCRIPTION
FROM digital_temp_define WHERE DEV_TP_NAME = devTagName AND COALESCE(IS_CONTROL,0)<>0;
INSERT INTO fes_dev_pt_temp_def(
TAG_NAME, POINT_TYPE, DEV_TP_NAME, SEQ_NO, FUN_CODE, INFO_NO, RATIO, REVISE, APPEND, ASS_DIG, CTRL_TYPE, ATTR, CONST_CFG_FILE, COEFFICIENT, SHORT_NAME, DESCRIPTION) SELECT
concat(fesDevTagName,'.',getAfterLastDot(TAG_NAME),'_ctrl'),getFesPointType('FES_MIX_CTRL'), fesDevTagName,SEQ_NO, '0', '0', 1, 0, 0, 0, 0, 0, '', 0, '', DESCRIPTION
FROM mix_temp_define WHERE DEV_TP_NAME = devTagName AND COALESCE(IS_CONTROL,0)<>0;
#,acc,ana,dig,mix,
UPDATE dev_temp_def SET
SEC_DEVTP_NAME = fesDevTagName
WHERE TAG_NAME = devTagName;
#acc,ana,mix点序号后台和前置里一一对应
UPDATE accuml_temp_define SET
SEC_SEQ_NO = SEQ_NO
WHERE DEV_TP_NAME = devTagName;
UPDATE analog_temp_define SET
SEC_SEQ_NO = SEQ_NO
WHERE DEV_TP_NAME = devTagName;
UPDATE mix_temp_define SET
SEC_SEQ_NO = SEQ_NO
WHERE DEV_TP_NAME = devTagName;
#dig点序号和分量数有关
#
UPDATE digital_temp_define SET
SEC_SEQ_NO1 = -1,
SEC_SEQ_NO2 = -1,
SEC_SEQ_NO3 = -1,
SEC_SEQ_NO4 = -1,
SEC_SEQ_NO5 = -1
WHERE DEV_TP_NAME = devTagName;
UPDATE digital_temp_define INNER JOIN tmpGenerateFesDevTempTbl
ON TAG_NAME = DIG_TAG_NAME AND DEV_TP_NAME = devTagName AND HouTai_OFF_SET = 1
SET SEC_SEQ_NO1 = FES_SEQ_NO;
UPDATE digital_temp_define INNER JOIN tmpGenerateFesDevTempTbl
ON TAG_NAME = DIG_TAG_NAME AND DEV_TP_NAME = devTagName AND HouTai_OFF_SET = 2
SET SEC_SEQ_NO2 = FES_SEQ_NO;
UPDATE digital_temp_define INNER JOIN tmpGenerateFesDevTempTbl
ON TAG_NAME = DIG_TAG_NAME AND DEV_TP_NAME = devTagName AND HouTai_OFF_SET = 3
SET SEC_SEQ_NO3 = FES_SEQ_NO;
UPDATE digital_temp_define INNER JOIN tmpGenerateFesDevTempTbl
ON TAG_NAME = DIG_TAG_NAME AND DEV_TP_NAME = devTagName AND HouTai_OFF_SET = 4
SET SEC_SEQ_NO4 = FES_SEQ_NO;
UPDATE digital_temp_define INNER JOIN tmpGenerateFesDevTempTbl
ON TAG_NAME = DIG_TAG_NAME AND DEV_TP_NAME = devTagName AND HouTai_OFF_SET = 5
SET SEC_SEQ_NO5 = FES_SEQ_NO;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `importbgxfes`;
DELIMITER $$
CREATE PROCEDURE `importbgxfes`(openTriggerInfo decimal(10,0), importFesPointDesc decimal(10,0), fesDescToBG decimal(10,0) )
BEGIN
#background_x_fes表导入数据
#openTriggerInfo = 1 ,,
#importFesPointDesc = 1FES点描述,, ,
#fesDescToBG = 1FES的描述导入后台
#
IF openTriggerInfo <> 1 THEN
UPDATE sys_trigger_flag SET FLAG_ID = 0 WHERE FLAG_ID = 1;
END IF;
#
#background_x_fes表中提到的后台点与前置的映射关系取消掉,,,
#CALL kbdDebugInfo('begin 消除后台点的映射关系','');
UPDATE accuml INNER JOIN background_x_fes_accuml
ON concat('accuml','.',accuml.TAG_NAME) = background_x_fes_accuml.BG_POINT_TAG
SET accuml.RTU_TAG = '';
UPDATE analog INNER JOIN background_x_fes_analog
ON concat('analog','.',analog.TAG_NAME) = background_x_fes_analog.BG_POINT_TAG
SET analog.RTU_TAG = '';
UPDATE digital INNER JOIN background_x_fes_digtal
ON concat('digital','.',digital.TAG_NAME) = background_x_fes_digtal.BG_POINT_TAG
SET digital.RTU_TAG = '';
UPDATE mix INNER JOIN background_x_fes_mix
ON concat('mix','.',mix.TAG_NAME) = background_x_fes_mix.BG_POINT_TAG
SET mix.RTU_TAG = '';
#update完毕,,map_to_fes和Control表中的RTU
#CALL kbdDebugInfo('end 消除后台点的映射关系','');
#, acc,ana,dig,mix ,1:RTU_TAG和RTU_DOT_NO可以确定一个点
#2:RTU_DEV_TAG去前置模板和后台模板寻找实例的对应点,RTU_tag和RTU_DOT_NO
#RTU_TAG和RTU_DOT_NO确定前置点
#
#ana_ctrl,dig_ctrl,mix_ctrl只能用一种方法确定,rtu_tag, RTU_DOT_NO,RTU_DEV_TAG都需要填写, rtu_tag, RTU_DOT_NO,RTU_DEV_TAG都对得上的使用实例的设备,使
#,acc,ana,dig,mix,RTU_TAG或者RTU_DOT_NO为空, RTU_DEV_TAG不为空的记录,,RTU_TAG和RTU_DOT_NO信息
#CALL kbdDebugInfo('begin update RTU_TAG or dot_no NULL','');
#acc
UPDATE
(
( background_x_fes_accuml INNER JOIN accuml_map_to_fes
ON COALESCE(background_x_fes_accuml.RTU_DEV_TAG,'')<>'' AND (COALESCE(background_x_fes_accuml.RTU_TAG,'')='' OR COALESCE(background_x_fes_accuml.RTU_DOT_NO,'')='')
AND background_x_fes_accuml.BG_POINT_TAG = accuml_map_to_fes.KEY_ID_TAG
) INNER JOIN accuml_temp_define ON accuml_map_to_fes.POINT_TP_NAME = accuml_temp_define.TAG_NAME
) INNER JOIN fes_accuml ON fes_accuml.DEV_TAG = background_x_fes_accuml.RTU_DEV_TAG AND fes_accuml.SEQ_NO = accuml_temp_define.SEC_SEQ_NO
SET
background_x_fes_accuml.RTU_TAG = fes_accuml.RTU_TAG,
background_x_fes_accuml.RTU_DOT_NO = fes_accuml.DOT_NO;
#ana
UPDATE
(
( background_x_fes_analog INNER JOIN analog_map_to_fes
ON COALESCE(background_x_fes_analog.RTU_DEV_TAG,'')<>'' AND (COALESCE(background_x_fes_analog.RTU_TAG,'')='' OR COALESCE(background_x_fes_analog.RTU_DOT_NO,'')='')
AND background_x_fes_analog.BG_POINT_TAG = analog_map_to_fes.KEY_ID_TAG
) INNER JOIN analog_temp_define ON analog_map_to_fes.POINT_TP_NAME = analog_temp_define.TAG_NAME
) INNER JOIN fes_analog ON fes_analog.DEV_TAG = background_x_fes_analog.RTU_DEV_TAG AND fes_analog.SEQ_NO = analog_temp_define.SEC_SEQ_NO
SET
background_x_fes_analog.RTU_TAG = fes_analog.RTU_TAG,
background_x_fes_analog.RTU_DOT_NO = fes_analog.DOT_NO;
#dig的5个分量,,background_x_fes_digtal.OFFSET字段,,5,1,2,3,4,5
UPDATE
(
(background_x_fes_digtal INNER JOIN digital_map_to_fes
ON COALESCE(background_x_fes_digtal.RTU_DEV_TAG,'')<>'' AND (COALESCE(background_x_fes_digtal.RTU_TAG,'')='' OR COALESCE(background_x_fes_digtal.RTU_DOT_NO,'')='')
AND background_x_fes_digtal.BG_POINT_OFFSET = 1 AND background_x_fes_digtal.BG_POINT_TAG = digital_map_to_fes.KEY_ID_TAG
) INNER JOIN digital_temp_define ON digital_map_to_fes.POINT_TP_NAME = digital_temp_define.TAG_NAME
) INNER JOIN fes_digital ON fes_digital.DEV_TAG = background_x_fes_digtal.RTU_DEV_TAG AND fes_digital.SEQ_NO = digital_temp_define.SEC_SEQ_NO1
SET
background_x_fes_digtal.RTU_TAG = fes_digital.RTU_TAG,
background_x_fes_digtal.RTU_DOT_NO = fes_digital.DOT_NO;
UPDATE
(
(background_x_fes_digtal INNER JOIN digital_map_to_fes
ON COALESCE(background_x_fes_digtal.RTU_DEV_TAG,'')<>'' AND (COALESCE(background_x_fes_digtal.RTU_TAG,'')='' OR COALESCE(background_x_fes_digtal.RTU_DOT_NO,'')='')
AND background_x_fes_digtal.BG_POINT_OFFSET = 2 AND background_x_fes_digtal.BG_POINT_TAG = digital_map_to_fes.KEY_ID_TAG
) INNER JOIN digital_temp_define ON digital_map_to_fes.POINT_TP_NAME = digital_temp_define.TAG_NAME
) INNER JOIN fes_digital ON fes_digital.DEV_TAG = background_x_fes_digtal.RTU_DEV_TAG AND fes_digital.SEQ_NO = digital_temp_define.SEC_SEQ_NO2
SET
background_x_fes_digtal.RTU_TAG = fes_digital.RTU_TAG,
background_x_fes_digtal.RTU_DOT_NO = fes_digital.DOT_NO;
UPDATE
(
(background_x_fes_digtal INNER JOIN digital_map_to_fes
ON COALESCE(background_x_fes_digtal.RTU_DEV_TAG,'')<>'' AND (COALESCE(background_x_fes_digtal.RTU_TAG,'')='' OR COALESCE(background_x_fes_digtal.RTU_DOT_NO,'')='')
AND background_x_fes_digtal.BG_POINT_OFFSET = 3 AND background_x_fes_digtal.BG_POINT_TAG = digital_map_to_fes.KEY_ID_TAG
) INNER JOIN digital_temp_define ON digital_map_to_fes.POINT_TP_NAME = digital_temp_define.TAG_NAME
) INNER JOIN fes_digital ON fes_digital.DEV_TAG = background_x_fes_digtal.RTU_DEV_TAG AND fes_digital.SEQ_NO = digital_temp_define.SEC_SEQ_NO3
SET
background_x_fes_digtal.RTU_TAG = fes_digital.RTU_TAG,
background_x_fes_digtal.RTU_DOT_NO = fes_digital.DOT_NO;
UPDATE
(
(background_x_fes_digtal INNER JOIN digital_map_to_fes
ON COALESCE(background_x_fes_digtal.RTU_DEV_TAG,'')<>'' AND (COALESCE(background_x_fes_digtal.RTU_TAG,'')='' OR COALESCE(background_x_fes_digtal.RTU_DOT_NO,'')='')
AND background_x_fes_digtal.BG_POINT_OFFSET = 4 AND background_x_fes_digtal.BG_POINT_TAG = digital_map_to_fes.KEY_ID_TAG
) INNER JOIN digital_temp_define ON digital_map_to_fes.POINT_TP_NAME = digital_temp_define.TAG_NAME
) INNER JOIN fes_digital ON fes_digital.DEV_TAG = background_x_fes_digtal.RTU_DEV_TAG AND fes_digital.SEQ_NO = digital_temp_define.SEC_SEQ_NO4
SET
background_x_fes_digtal.RTU_TAG = fes_digital.RTU_TAG,
background_x_fes_digtal.RTU_DOT_NO = fes_digital.DOT_NO;
UPDATE
(
(background_x_fes_digtal INNER JOIN digital_map_to_fes
ON COALESCE(background_x_fes_digtal.RTU_DEV_TAG,'')<>'' AND (COALESCE(background_x_fes_digtal.RTU_TAG,'')='' OR COALESCE(background_x_fes_digtal.RTU_DOT_NO,'')='')
AND background_x_fes_digtal.BG_POINT_OFFSET = 5 AND background_x_fes_digtal.BG_POINT_TAG = digital_map_to_fes.KEY_ID_TAG
) INNER JOIN digital_temp_define ON digital_map_to_fes.POINT_TP_NAME = digital_temp_define.TAG_NAME
) INNER JOIN fes_digital ON fes_digital.DEV_TAG = background_x_fes_digtal.RTU_DEV_TAG AND fes_digital.SEQ_NO = digital_temp_define.SEC_SEQ_NO5
SET
background_x_fes_digtal.RTU_TAG = fes_digital.RTU_TAG,
background_x_fes_digtal.RTU_DOT_NO = fes_digital.DOT_NO;
#mix
UPDATE
(
( background_x_fes_mix INNER JOIN mix_map_to_fes
ON COALESCE(background_x_fes_mix.RTU_DEV_TAG,'')<>'' AND (COALESCE(background_x_fes_mix.RTU_TAG,'')='' OR COALESCE(background_x_fes_mix.RTU_DOT_NO,'')='')
AND background_x_fes_mix.BG_POINT_TAG = mix_map_to_fes.KEY_ID_TAG
) INNER JOIN mix_temp_define ON mix_map_to_fes.POINT_TP_NAME = mix_temp_define.TAG_NAME
) INNER JOIN fes_mix ON fes_mix.DEV_TAG = background_x_fes_mix.RTU_DEV_TAG AND fes_mix.SEQ_NO = mix_temp_define.SEC_SEQ_NO
SET
background_x_fes_mix.RTU_TAG = fes_mix.RTU_TAG,
background_x_fes_mix.RTU_DOT_NO = fes_mix.DOT_NO;
#CALL kbdDebugInfo('end update RTU_TAG or dot_no NULL','');
#RTU_TAG和DOT_NO仍为空的
#CALL kbdDebugInfo('begin delete RTU_TAG or dot_no NULL','');
DELETE FROM background_x_fes_accuml WHERE COALESCE(RTU_TAG,'') = '' OR COALESCE(RTU_DOT_NO,'') ='' ;
DELETE FROM background_x_fes_analog WHERE COALESCE(RTU_TAG,'') = '' OR COALESCE(RTU_DOT_NO,'') ='' ;
DELETE FROM background_x_fes_digtal WHERE COALESCE(RTU_TAG,'') = '' OR COALESCE(RTU_DOT_NO,'') ='' ;
DELETE FROM background_x_fes_mix WHERE COALESCE(RTU_TAG,'') = '' OR COALESCE(RTU_DOT_NO,'') ='' ;
DELETE FROM background_x_fes_ana_ctrl WHERE COALESCE(RTU_TAG,'') = '' OR COALESCE(RTU_DOT_NO,'') ='' ;
DELETE FROM background_x_fes_dig_ctrl WHERE COALESCE(RTU_TAG,'') = '' OR COALESCE(RTU_DOT_NO,'') ='' ;
DELETE FROM background_x_fes_mix_ctrl WHERE COALESCE(RTU_TAG,'') = '' OR COALESCE(RTU_DOT_NO,'') ='' ;
#CALL kbdDebugInfo('end delete RTU_TAG or dot_no NULL','');
#CALL kbdDebugInfo('begin reUpdate RTU_DEV_TAG','');
#,RTU_TAG,DOT_NO和RTU_DEV_TAG对不上的点归类到默认设备
UPDATE background_x_fes_accuml
SET background_x_fes_accuml.RTU_DEV_TAG = concat(background_x_fes_accuml.RTU_TAG, '.', 'defaultDev')
WHERE NOT EXISTS
(SELECT TAG_NAME FROM fes_accuml
WHERE fes_accuml.TAG_NAME =concat(background_x_fes_accuml.RTU_TAG,'.',background_x_fes_accuml.RTU_DOT_NO)
AND fes_accuml.DEV_TAG = background_x_fes_accuml.RTU_DEV_TAG
);
UPDATE background_x_fes_analog
SET background_x_fes_analog.RTU_DEV_TAG = concat(background_x_fes_analog.RTU_TAG, '.', 'defaultDev')
WHERE NOT EXISTS
(SELECT TAG_NAME FROM fes_analog
WHERE fes_analog.TAG_NAME =concat(background_x_fes_analog.RTU_TAG,'.',background_x_fes_analog.RTU_DOT_NO)
AND fes_analog.DEV_TAG = background_x_fes_analog.RTU_DEV_TAG
);
UPDATE background_x_fes_digtal
SET background_x_fes_digtal.RTU_DEV_TAG = concat(background_x_fes_digtal.RTU_TAG, '.', 'defaultDev')
WHERE NOT EXISTS
(SELECT TAG_NAME FROM fes_digital
WHERE fes_digital.TAG_NAME =concat(background_x_fes_digtal.RTU_TAG,'.',background_x_fes_digtal.RTU_DOT_NO)
AND fes_digital.DEV_TAG = background_x_fes_digtal.RTU_DEV_TAG
);
UPDATE background_x_fes_mix
SET background_x_fes_mix.RTU_DEV_TAG = concat(background_x_fes_mix.RTU_TAG, '.', 'defaultDev')
WHERE NOT EXISTS
(SELECT TAG_NAME FROM fes_mix
WHERE fes_mix.TAG_NAME =concat(background_x_fes_mix.RTU_TAG,'.',background_x_fes_mix.RTU_DOT_NO)
AND fes_mix.DEV_TAG = background_x_fes_mix.RTU_DEV_TAG
);
UPDATE background_x_fes_ana_ctrl
SET background_x_fes_ana_ctrl.RTU_DEV_TAG = concat(background_x_fes_ana_ctrl.RTU_TAG, '.', 'defaultDev')
WHERE NOT EXISTS
(SELECT TAG_NAME FROM fes_analog_ctrl
WHERE fes_analog_ctrl.TAG_NAME =concat(background_x_fes_ana_ctrl.RTU_TAG,'.',background_x_fes_ana_ctrl.RTU_DOT_NO)
AND fes_analog_ctrl.DEV_TAG = background_x_fes_ana_ctrl.RTU_DEV_TAG
);
UPDATE background_x_fes_dig_ctrl
SET background_x_fes_dig_ctrl.RTU_DEV_TAG = concat(background_x_fes_dig_ctrl.RTU_TAG, '.', 'defaultDev')
WHERE NOT EXISTS
(SELECT TAG_NAME FROM fes_digital_ctrl
WHERE fes_digital_ctrl.TAG_NAME =concat(background_x_fes_dig_ctrl.RTU_TAG,'.',background_x_fes_dig_ctrl.RTU_DOT_NO)
AND fes_digital_ctrl.DEV_TAG = background_x_fes_dig_ctrl.RTU_DEV_TAG
);
UPDATE background_x_fes_mix_ctrl
SET background_x_fes_mix_ctrl.RTU_DEV_TAG = concat(background_x_fes_mix_ctrl.RTU_TAG, '.', 'defaultDev')
WHERE NOT EXISTS
(SELECT TAG_NAME FROM fes_mix_ctrl
WHERE fes_mix_ctrl.TAG_NAME =concat(background_x_fes_mix_ctrl.RTU_TAG,'.',background_x_fes_mix_ctrl.RTU_DOT_NO)
AND fes_mix_ctrl.DEV_TAG = background_x_fes_mix_ctrl.RTU_DEV_TAG
);
#CALL kbdDebugInfo('end reUpdate RTU_DEV_TAG','');
#,background_x_fes表中的字段情况有以下几种情况.
#1:RTU_TAG,DOT_NO,RTU_DEV_TAG都对得上的(),
#2:RTU_TAG,DOT_NO与RTU_DEV_TAG可能对不上,
#
#CALL kbdDebugInfo('begin 删除默认设备点','');
DELETE fes_accuml
FROM (
fes_accuml INNER JOIN fes_dev_info
ON fes_accuml.DEV_TAG = fes_dev_info.TAG_NAME AND fes_dev_info.TAG_NAME = concat(fes_accuml.RTU_TAG,'.', 'defaultDev')
) INNER JOIN background_x_fes_accuml ON fes_accuml.RTU_TAG = background_x_fes_accuml.RTU_TAG;
DELETE fes_analog
FROM (
fes_analog INNER JOIN fes_dev_info
ON fes_analog.DEV_TAG = fes_dev_info.TAG_NAME AND fes_dev_info.TAG_NAME = concat(fes_analog.RTU_TAG,'.', 'defaultDev')
) INNER JOIN background_x_fes_analog ON fes_analog.RTU_TAG = background_x_fes_analog.RTU_TAG;
DELETE fes_digital
FROM (
fes_digital INNER JOIN fes_dev_info
ON fes_digital.DEV_TAG = fes_dev_info.TAG_NAME AND fes_dev_info.TAG_NAME = concat(fes_digital.RTU_TAG,'.', 'defaultDev')
) INNER JOIN background_x_fes_digtal ON fes_digital.RTU_TAG = background_x_fes_digtal.RTU_TAG;
DELETE fes_mix
FROM (
fes_mix INNER JOIN fes_dev_info
ON fes_mix.DEV_TAG = fes_dev_info.TAG_NAME AND fes_dev_info.TAG_NAME = concat(fes_mix.RTU_TAG,'.', 'defaultDev')
) INNER JOIN background_x_fes_mix ON fes_mix.RTU_TAG = background_x_fes_mix.RTU_TAG;
DELETE fes_analog_ctrl
FROM (
fes_analog_ctrl INNER JOIN fes_dev_info
ON fes_analog_ctrl.DEV_TAG = fes_dev_info.TAG_NAME AND fes_dev_info.TAG_NAME = concat(fes_analog_ctrl.RTU_TAG,'.', 'defaultDev')
) INNER JOIN background_x_fes_ana_ctrl ON fes_analog_ctrl.RTU_TAG = background_x_fes_ana_ctrl.RTU_TAG;
DELETE fes_digital_ctrl
FROM (
fes_digital_ctrl INNER JOIN fes_dev_info
ON fes_digital_ctrl.DEV_TAG = fes_dev_info.TAG_NAME AND fes_dev_info.TAG_NAME = concat(fes_digital_ctrl.RTU_TAG,'.', 'defaultDev')
) INNER JOIN background_x_fes_dig_ctrl ON fes_digital_ctrl.RTU_TAG = background_x_fes_dig_ctrl.RTU_TAG;
DELETE fes_mix_ctrl
FROM (
fes_mix_ctrl INNER JOIN fes_dev_info
ON fes_mix_ctrl.DEV_TAG = fes_dev_info.TAG_NAME AND fes_dev_info.TAG_NAME = concat(fes_mix_ctrl.RTU_TAG,'.', 'defaultDev')
) INNER JOIN background_x_fes_mix_ctrl ON fes_mix_ctrl.RTU_TAG = background_x_fes_mix_ctrl.RTU_TAG;
#CALL kbdDebugInfo('end 删除默认设备点','');
#FES与后台的联系清除
#CALL kbdDebugInfo('begin 对于非默认设备将所有FES与后台的联系清除','');
UPDATE fes_accuml INNER JOIN background_x_fes_accuml ON
fes_accuml.TAG_NAME = concat(background_x_fes_accuml.RTU_TAG,'.',background_x_fes_accuml.RTU_DOT_NO)
SET APP_TABLE_NAME='',APP_TAG_NAME='',APP_COLUMN_NAME='',
RES_PARA_INT1=RTU_RES_PARA_INT1,RES_PARA_INT2=RTU_RES_PARA_INT2,RES_PARA_INT3=RTU_RES_PARA_INT3,RES_PARA_INT4=RTU_RES_PARA_INT4;
UPDATE fes_analog INNER JOIN background_x_fes_analog ON
fes_analog.TAG_NAME = concat(background_x_fes_analog.RTU_TAG,'.',background_x_fes_analog.RTU_DOT_NO)
SET APP_TABLE_NAME='',APP_TAG_NAME='',APP_COLUMN_NAME='',
RES_PARA_INT1=RTU_RES_PARA_INT1,RES_PARA_INT2=RTU_RES_PARA_INT2,RES_PARA_INT3=RTU_RES_PARA_INT3,RES_PARA_INT4=RTU_RES_PARA_INT4;
UPDATE fes_digital INNER JOIN background_x_fes_digtal ON
fes_digital.TAG_NAME = concat(background_x_fes_digtal.RTU_TAG,'.',background_x_fes_digtal.RTU_DOT_NO)
SET APP_TABLE_NAME='',APP_TAG_NAME='',APP_COLUMN_NAME='',
RES_PARA_INT1=RTU_RES_PARA_INT1,RES_PARA_INT2=RTU_RES_PARA_INT2,RES_PARA_INT3=RTU_RES_PARA_INT3,RES_PARA_INT4=RTU_RES_PARA_INT4;
UPDATE fes_mix INNER JOIN background_x_fes_mix ON
fes_mix.TAG_NAME = concat(background_x_fes_mix.RTU_TAG,'.',background_x_fes_mix.RTU_DOT_NO)
SET APP_TABLE_NAME='',APP_TAG_NAME='',APP_COLUMN_NAME='',
RES_PARA_INT1=RTU_RES_PARA_INT1,RES_PARA_INT2=RTU_RES_PARA_INT2,RES_PARA_INT3=RTU_RES_PARA_INT3,RES_PARA_INT4=RTU_RES_PARA_INT4;
UPDATE fes_analog_ctrl INNER JOIN background_x_fes_ana_ctrl ON
fes_analog_ctrl.TAG_NAME = concat(background_x_fes_ana_ctrl.RTU_TAG,'.',background_x_fes_ana_ctrl.RTU_DOT_NO)
SET RES_PARA_INT1=RTU_RES_PARA_INT1,RES_PARA_INT2=RTU_RES_PARA_INT2,RES_PARA_INT3=RTU_RES_PARA_INT3,RES_PARA_INT4=RTU_RES_PARA_INT4;
UPDATE fes_digital_ctrl INNER JOIN background_x_fes_dig_ctrl ON
fes_digital_ctrl.TAG_NAME = concat(background_x_fes_dig_ctrl.RTU_TAG,'.',background_x_fes_dig_ctrl.RTU_DOT_NO)
SET RES_PARA_INT1=RTU_RES_PARA_INT1,RES_PARA_INT2=RTU_RES_PARA_INT2,RES_PARA_INT3=RTU_RES_PARA_INT3,RES_PARA_INT4=RTU_RES_PARA_INT4;
UPDATE fes_mix_ctrl INNER JOIN background_x_fes_mix_ctrl ON
fes_mix_ctrl.TAG_NAME = concat(background_x_fes_mix_ctrl.RTU_TAG,'.',background_x_fes_mix_ctrl.RTU_DOT_NO)
SET RES_PARA_INT1=RTU_RES_PARA_INT1,RES_PARA_INT2=RTU_RES_PARA_INT2,RES_PARA_INT3=RTU_RES_PARA_INT3,RES_PARA_INT4=RTU_RES_PARA_INT4;
#CALL kbdDebugInfo('end 对于非默认设备将所有FES与后台的联系清除','');
#ana_ctrl,dig_ctrl,mix_ctrl不用清除
#
#CALL kbdDebugInfo('begin 重新生成默认设备','');
INSERT INTO fes_accuml (
TAG_NAME, LOCATION_ID, SUB_SYSTEM, DOT_NO, RTU_TAG, DEV_TAG, SEQ_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, BASE, COEFF, RTU_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME) SELECT
concat(background_x_fes_accuml.RTU_TAG,'.',background_x_fes_accuml.RTU_DOT_NO), fes_dev_info.LOCATION_ID, fes_dev_info.SUB_SYSTEM, background_x_fes_accuml.RTU_DOT_NO, background_x_fes_accuml.RTU_TAG, fes_dev_info.TAG_NAME,background_x_fes_accuml.RTU_DOT_NO, '', '', '', '0', '1', fes_rtu_para.RTU_NO, background_x_fes_accuml.RTU_RES_PARA_INT1, background_x_fes_accuml.RTU_RES_PARA_INT2, background_x_fes_accuml.RTU_RES_PARA_INT3, background_x_fes_accuml.RTU_RES_PARA_INT4, background_x_fes_accuml.RTU_DOT_DESC, ''
FROM background_x_fes_accuml , fes_rtu_para ,fes_dev_info WHERE
background_x_fes_accuml.RTU_DEV_TAG =concat(background_x_fes_accuml.RTU_TAG, '.', 'defaultDev' )
AND fes_rtu_para.TAG_NAME=background_x_fes_accuml.RTU_TAG
AND fes_dev_info.TAG_NAME = background_x_fes_accuml.RTU_DEV_TAG
AND fes_dev_info.RTU_TAG = background_x_fes_accuml.RTU_TAG;
INSERT INTO fes_analog (
TAG_NAME, LOCATION_ID, SUB_SYSTEM, DEV_TAG, SEQ_NO, RTU_TAG, RTU_NO, DOT_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, IS_FILTER, PERCENT, DEADBAND_TYPE, DEADBAND, ZEROBAND, BASE, COEFF, MAX_RANGE, MIN_RANGE, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME) SELECT
concat(background_x_fes_analog.RTU_TAG,'.',background_x_fes_analog.RTU_DOT_NO), fes_dev_info.LOCATION_ID, fes_dev_info.SUB_SYSTEM, fes_dev_info.TAG_NAME, background_x_fes_analog.RTU_DOT_NO,background_x_fes_analog.RTU_TAG,fes_rtu_para.RTU_NO, background_x_fes_analog.RTU_DOT_NO, '', '', '', '0', '0', '0', '0', '0', '0', '1', '65536', '0', background_x_fes_analog.RTU_RES_PARA_INT1, background_x_fes_analog.RTU_RES_PARA_INT2, background_x_fes_analog.RTU_RES_PARA_INT3, background_x_fes_analog.RTU_RES_PARA_INT4, background_x_fes_analog.RTU_DOT_DESC, ''
FROM background_x_fes_analog , fes_rtu_para ,fes_dev_info WHERE
background_x_fes_analog.RTU_DEV_TAG =concat(background_x_fes_analog.RTU_TAG, '.', 'defaultDev' )
AND fes_rtu_para.TAG_NAME=background_x_fes_analog.RTU_TAG
AND fes_dev_info.TAG_NAME = background_x_fes_analog.RTU_DEV_TAG
AND fes_dev_info.RTU_TAG = background_x_fes_analog.RTU_TAG;
INSERT INTO fes_digital (
TAG_NAME, LOCATION_ID, SUB_SYSTEM, DEV_TAG, SEQ_NO, RTU_TAG, DOT_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, FILTER_ERR, FILTER_DISTURB, DISTURB_TIME, REVERS, RTU_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME) SELECT
concat(background_x_fes_digtal.RTU_TAG,'.',background_x_fes_digtal.RTU_DOT_NO), fes_dev_info.LOCATION_ID, fes_dev_info.SUB_SYSTEM, fes_dev_info.TAG_NAME, background_x_fes_digtal.RTU_DOT_NO,background_x_fes_digtal.RTU_TAG,background_x_fes_digtal.RTU_DOT_NO, '', '', '', '1', '1', '0', '0', fes_rtu_para.RTU_NO, background_x_fes_digtal.RTU_RES_PARA_INT1, background_x_fes_digtal.RTU_RES_PARA_INT2, background_x_fes_digtal.RTU_RES_PARA_INT3, background_x_fes_digtal.RTU_RES_PARA_INT4, background_x_fes_digtal.RTU_DOT_DESC, ''
FROM background_x_fes_digtal , fes_rtu_para ,fes_dev_info WHERE
background_x_fes_digtal.RTU_DEV_TAG =concat(background_x_fes_digtal.RTU_TAG, '.', 'defaultDev' )
AND fes_rtu_para.TAG_NAME=background_x_fes_digtal.RTU_TAG
AND fes_dev_info.TAG_NAME = background_x_fes_digtal.RTU_DEV_TAG
AND fes_dev_info.RTU_TAG = background_x_fes_digtal.RTU_TAG;
INSERT INTO fes_mix (
TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, SEQ_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, BASE, COEFF, MAX_RANGE, MIN_RANGE, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, FES_POINT_TP_NAME) SELECT
concat(background_x_fes_mix.RTU_TAG,'.',background_x_fes_mix.RTU_DOT_NO), background_x_fes_mix.RTU_DOT_DESC, fes_dev_info.LOCATION_ID, fes_dev_info.SUB_SYSTEM, background_x_fes_mix.RTU_TAG,fes_dev_info.RTU_NO,background_x_fes_mix.RTU_DOT_NO, fes_dev_info.TAG_NAME, background_x_fes_mix.RTU_DOT_NO,'', '', '', '0', '1', '65536', '0', background_x_fes_mix.RTU_RES_PARA_INT1, background_x_fes_mix.RTU_RES_PARA_INT2, background_x_fes_mix.RTU_RES_PARA_INT3, background_x_fes_mix.RTU_RES_PARA_INT4, ''
FROM background_x_fes_mix , fes_rtu_para ,fes_dev_info WHERE
background_x_fes_mix.RTU_DEV_TAG =concat(background_x_fes_mix.RTU_TAG, '.', 'defaultDev' )
AND fes_rtu_para.TAG_NAME=background_x_fes_mix.RTU_TAG
AND fes_dev_info.TAG_NAME = background_x_fes_mix.RTU_DEV_TAG
AND fes_dev_info.RTU_TAG = background_x_fes_mix.RTU_TAG;
INSERT INTO fes_analog_ctrl (
TAG_NAME, LOCATION_ID, SUB_SYSTEM, BASE, COEFF, MAX_RANGE, MIN_RANGE, RTU_NO, DEV_TAG, DOT_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, SEQ_NO, RTU_TAG, DESCRIPTION, POINT_TP_NAME) SELECT
concat(background_x_fes_ana_ctrl.RTU_TAG,'.',background_x_fes_ana_ctrl.RTU_DOT_NO), fes_dev_info.LOCATION_ID, fes_dev_info.SUB_SYSTEM, '0', '1', '65536', '0', fes_rtu_para.RTU_NO,fes_dev_info.TAG_NAME,background_x_fes_ana_ctrl.RTU_DOT_NO, background_x_fes_ana_ctrl.RTU_RES_PARA_INT1,background_x_fes_ana_ctrl.RTU_RES_PARA_INT2,background_x_fes_ana_ctrl.RTU_RES_PARA_INT3,background_x_fes_ana_ctrl.RTU_RES_PARA_INT4,background_x_fes_ana_ctrl.RTU_DOT_NO,background_x_fes_ana_ctrl.RTU_TAG,background_x_fes_ana_ctrl.RTU_DOT_DESC,''
FROM background_x_fes_ana_ctrl , fes_rtu_para ,fes_dev_info WHERE
background_x_fes_ana_ctrl.RTU_DEV_TAG =concat(background_x_fes_ana_ctrl.RTU_TAG, '.', 'defaultDev' )
AND fes_rtu_para.TAG_NAME=background_x_fes_ana_ctrl.RTU_TAG
AND fes_dev_info.TAG_NAME = background_x_fes_ana_ctrl.RTU_DEV_TAG
AND fes_dev_info.RTU_TAG = background_x_fes_ana_ctrl.RTU_TAG;
INSERT INTO fes_digital_ctrl (
TAG_NAME, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, DESCRIPTION, REVERS, POINT_TP_NAME, SEQ_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4) SELECT
concat(background_x_fes_dig_ctrl.RTU_TAG,'.',background_x_fes_dig_ctrl.RTU_DOT_NO), fes_dev_info.LOCATION_ID, fes_dev_info.SUB_SYSTEM, background_x_fes_dig_ctrl.RTU_TAG,fes_rtu_para.RTU_NO, background_x_fes_dig_ctrl.RTU_DOT_NO,fes_dev_info.TAG_NAME,background_x_fes_dig_ctrl.RTU_DOT_DESC,'0', '', background_x_fes_dig_ctrl.RTU_DOT_NO,background_x_fes_dig_ctrl.RTU_RES_PARA_INT1,background_x_fes_dig_ctrl.RTU_RES_PARA_INT2,background_x_fes_dig_ctrl.RTU_RES_PARA_INT3,background_x_fes_dig_ctrl.RTU_RES_PARA_INT4
FROM background_x_fes_dig_ctrl , fes_rtu_para ,fes_dev_info WHERE
background_x_fes_dig_ctrl.RTU_DEV_TAG =concat(background_x_fes_dig_ctrl.RTU_TAG, '.', 'defaultDev' )
AND fes_rtu_para.TAG_NAME=background_x_fes_dig_ctrl.RTU_TAG
AND fes_dev_info.TAG_NAME = background_x_fes_dig_ctrl.RTU_DEV_TAG
AND fes_dev_info.RTU_TAG = background_x_fes_dig_ctrl.RTU_TAG;
INSERT INTO fes_mix_ctrl (
TAG_NAME, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, BASE, DESCRIPTION, DOT_NO, COEFF, MIN_RANGE, MAX_RANGE, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, SEQ_NO, POINT_TP_NAME, DEV_TAG) SELECT
concat(background_x_fes_mix_ctrl.RTU_TAG,'.',background_x_fes_mix_ctrl.RTU_DOT_NO), fes_dev_info.LOCATION_ID, fes_dev_info.SUB_SYSTEM, background_x_fes_mix_ctrl.RTU_TAG,fes_rtu_para.RTU_NO,'0', background_x_fes_mix_ctrl.RTU_DOT_DESC, background_x_fes_mix_ctrl.RTU_DOT_NO,'1', '0', '65536', background_x_fes_mix_ctrl.RTU_RES_PARA_INT1,background_x_fes_mix_ctrl.RTU_RES_PARA_INT2,background_x_fes_mix_ctrl.RTU_RES_PARA_INT3,background_x_fes_mix_ctrl.RTU_RES_PARA_INT4, background_x_fes_mix_ctrl.RTU_DOT_NO,'', fes_dev_info.TAG_NAME
FROM background_x_fes_mix_ctrl , fes_rtu_para ,fes_dev_info WHERE
background_x_fes_mix_ctrl.RTU_DEV_TAG =concat(background_x_fes_mix_ctrl.RTU_TAG, '.', 'defaultDev' )
AND fes_rtu_para.TAG_NAME=background_x_fes_mix_ctrl.RTU_TAG
AND fes_dev_info.TAG_NAME = background_x_fes_mix_ctrl.RTU_DEV_TAG
AND fes_dev_info.RTU_TAG = background_x_fes_mix_ctrl.RTU_TAG;
#CALL kbdDebugInfo('end 重新生成默认设备','');
#NOTE:
#FES与后台的关系 map_to_fes表,
#,acc,ana,dig,map_to_fes,ctrl表
#CALL kbdDebugInfo('begin 重新写入 set RTU','');
UPDATE accuml INNER JOIN background_x_fes_accuml
ON concat('accuml','.',accuml.TAG_NAME) = background_x_fes_accuml.BG_POINT_TAG
SET accuml.RTU_TAG = background_x_fes_accuml.RTU_TAG;
UPDATE analog INNER JOIN background_x_fes_analog
ON concat('analog','.',analog.TAG_NAME) = background_x_fes_analog.BG_POINT_TAG
SET analog.RTU_TAG = background_x_fes_analog.RTU_TAG;
UPDATE digital INNER JOIN background_x_fes_digtal
ON concat('digital','.',digital.TAG_NAME) = background_x_fes_digtal.BG_POINT_TAG
SET digital.RTU_TAG = background_x_fes_digtal.RTU_TAG;
UPDATE mix INNER JOIN background_x_fes_mix
ON concat('mix','.',mix.TAG_NAME) = background_x_fes_mix.BG_POINT_TAG
SET mix.RTU_TAG = background_x_fes_mix.RTU_TAG;
UPDATE accuml_map_to_fes INNER JOIN background_x_fes_accuml
ON accuml_map_to_fes.KEY_ID_TAG = background_x_fes_accuml.BG_POINT_TAG AND accuml_map_to_fes.RTU_TAG = background_x_fes_accuml.RTU_TAG
SET accuml_map_to_fes.DOT_NO = background_x_fes_accuml.RTU_DOT_NO;
UPDATE analog_map_to_fes INNER JOIN background_x_fes_analog
ON analog_map_to_fes.KEY_ID_TAG = background_x_fes_analog.BG_POINT_TAG AND analog_map_to_fes.RTU_TAG = background_x_fes_analog.RTU_TAG
SET analog_map_to_fes.DOT_NO = background_x_fes_analog.RTU_DOT_NO;
UPDATE digital_map_to_fes INNER JOIN background_x_fes_digtal
ON background_x_fes_digtal.BG_POINT_OFFSET = 1 AND digital_map_to_fes.KEY_ID_TAG = background_x_fes_digtal.BG_POINT_TAG
AND digital_map_to_fes.RTU_TAG = background_x_fes_digtal.RTU_TAG
SET digital_map_to_fes.DOT_NO1 = background_x_fes_digtal.RTU_DOT_NO;
UPDATE digital_map_to_fes INNER JOIN background_x_fes_digtal
ON background_x_fes_digtal.BG_POINT_OFFSET = 2 AND digital_map_to_fes.KEY_ID_TAG = background_x_fes_digtal.BG_POINT_TAG
AND digital_map_to_fes.RTU_TAG = background_x_fes_digtal.RTU_TAG
SET digital_map_to_fes.DOT_NO2 = background_x_fes_digtal.RTU_DOT_NO;
UPDATE digital_map_to_fes INNER JOIN background_x_fes_digtal
ON background_x_fes_digtal.BG_POINT_OFFSET = 3 AND digital_map_to_fes.KEY_ID_TAG = background_x_fes_digtal.BG_POINT_TAG
AND digital_map_to_fes.RTU_TAG = background_x_fes_digtal.RTU_TAG
SET digital_map_to_fes.DOT_NO3 = background_x_fes_digtal.RTU_DOT_NO;
UPDATE digital_map_to_fes INNER JOIN background_x_fes_digtal
ON background_x_fes_digtal.BG_POINT_OFFSET = 4 AND digital_map_to_fes.KEY_ID_TAG = background_x_fes_digtal.BG_POINT_TAG
AND digital_map_to_fes.RTU_TAG = background_x_fes_digtal.RTU_TAG
SET digital_map_to_fes.DOT_NO4 = background_x_fes_digtal.RTU_DOT_NO;
UPDATE digital_map_to_fes INNER JOIN background_x_fes_digtal
ON background_x_fes_digtal.BG_POINT_OFFSET = 5 AND digital_map_to_fes.KEY_ID_TAG = background_x_fes_digtal.BG_POINT_TAG
AND digital_map_to_fes.RTU_TAG = background_x_fes_digtal.RTU_TAG
SET digital_map_to_fes.DOT_NO5 = background_x_fes_digtal.RTU_DOT_NO;
UPDATE mix_map_to_fes INNER JOIN background_x_fes_mix
ON mix_map_to_fes.KEY_ID_TAG = background_x_fes_mix.BG_POINT_TAG AND mix_map_to_fes.RTU_TAG = background_x_fes_mix.RTU_TAG
SET mix_map_to_fes.DOT_NO = background_x_fes_mix.RTU_DOT_NO;
#CALL kbdDebugInfo('end 重新写入 set RTU, DOT','');
#ctrl表,background_x_fes__ctrl中的RTU必须和analog_control中的RTU保持一致,RTU
#CALL kbdDebugInfo('begin 写入ctrl表','');
UPDATE analog_control INNER JOIN background_x_fes_ana_ctrl
ON analog_control.TAG_NAME = background_x_fes_ana_ctrl.BG_POINT_TAG AND analog_control.RTU_TAG = background_x_fes_ana_ctrl.RTU_TAG
SET analog_control.OFFSET_NO = background_x_fes_ana_ctrl.RTU_DOT_NO;
UPDATE digital_control INNER JOIN background_x_fes_dig_ctrl
ON digital_control.TAG_NAME = background_x_fes_dig_ctrl.BG_POINT_TAG AND background_x_fes_dig_ctrl.BG_POINT_OFFSET = 1
AND digital_control.RTU_TAG = background_x_fes_dig_ctrl.RTU_TAG
SET digital_control.OFFSET_NO1 = background_x_fes_dig_ctrl.RTU_DOT_NO;
UPDATE digital_control INNER JOIN background_x_fes_dig_ctrl
ON digital_control.TAG_NAME = background_x_fes_dig_ctrl.BG_POINT_TAG AND background_x_fes_dig_ctrl.BG_POINT_OFFSET = 2
AND digital_control.RTU_TAG = background_x_fes_dig_ctrl.RTU_TAG
SET digital_control.OFFSET_NO2 = background_x_fes_dig_ctrl.RTU_DOT_NO;
UPDATE digital_control INNER JOIN background_x_fes_dig_ctrl
ON digital_control.TAG_NAME = background_x_fes_dig_ctrl.BG_POINT_TAG AND background_x_fes_dig_ctrl.BG_POINT_OFFSET = 3
AND digital_control.RTU_TAG = background_x_fes_dig_ctrl.RTU_TAG
SET digital_control.OFFSET_NO3 = background_x_fes_dig_ctrl.RTU_DOT_NO;
UPDATE digital_control INNER JOIN background_x_fes_dig_ctrl
ON digital_control.TAG_NAME = background_x_fes_dig_ctrl.BG_POINT_TAG AND background_x_fes_dig_ctrl.BG_POINT_OFFSET = 4
AND digital_control.RTU_TAG = background_x_fes_dig_ctrl.RTU_TAG
SET digital_control.OFFSET_NO4 = background_x_fes_dig_ctrl.RTU_DOT_NO;
UPDATE digital_control INNER JOIN background_x_fes_dig_ctrl
ON digital_control.TAG_NAME = background_x_fes_dig_ctrl.BG_POINT_TAG AND background_x_fes_dig_ctrl.BG_POINT_OFFSET = 5
AND digital_control.RTU_TAG = background_x_fes_dig_ctrl.RTU_TAG
SET digital_control.OFFSET_NO5 = background_x_fes_dig_ctrl.RTU_DOT_NO;
UPDATE mix_control INNER JOIN background_x_fes_mix_ctrl
ON mix_control.TAG_NAME = background_x_fes_mix_ctrl.BG_POINT_TAG AND mix_control.RTU_TAG = background_x_fes_mix_ctrl.RTU_TAG
SET mix_control.OFFSET_NO = background_x_fes_mix_ctrl.RTU_DOT_NO;
#CALL kbdDebugInfo('end 写入ctrl表','');
#,
#,()excel文件中的一致
IF importFesPointDesc = 1 THEN
BEGIN
UPDATE fes_accuml INNER JOIN background_x_fes_accuml
ON fes_accuml.TAG_NAME = concat(background_x_fes_accuml.RTU_TAG,'.',background_x_fes_accuml.RTU_DOT_NO)
AND fes_accuml.DEV_TAG <> concat(fes_accuml.RTU_TAG,'.','defaultDev')
SET fes_accuml.DESCRIPTION = background_x_fes_accuml.RTU_DOT_DESC ;
UPDATE fes_analog INNER JOIN background_x_fes_analog
ON fes_analog.TAG_NAME = concat(background_x_fes_analog.RTU_TAG,'.',background_x_fes_analog.RTU_DOT_NO)
AND fes_analog.DEV_TAG <> concat(fes_analog.RTU_TAG,'.','defaultDev')
SET fes_analog.DESCRIPTION = background_x_fes_analog.RTU_DOT_DESC ;
UPDATE fes_digital INNER JOIN background_x_fes_digtal
ON fes_digital.TAG_NAME = concat(background_x_fes_digtal.RTU_TAG,'.', background_x_fes_digtal.RTU_DOT_NO)
AND fes_digital.DEV_TAG <> concat(fes_digital.RTU_TAG,'.','defaultDev')
SET fes_digital.DESCRIPTION = background_x_fes_digtal.RTU_DOT_DESC ;
UPDATE fes_mix INNER JOIN background_x_fes_mix
ON fes_mix.TAG_NAME = concat(background_x_fes_mix.RTU_TAG,'.', background_x_fes_mix.RTU_DOT_NO)
AND fes_mix.DEV_TAG <> concat(fes_mix.RTU_TAG,'.','defaultDev')
SET fes_mix.DESCRIPTION = background_x_fes_mix.RTU_DOT_DESC ;
UPDATE fes_analog_ctrl INNER JOIN background_x_fes_ana_ctrl
ON fes_analog_ctrl.TAG_NAME = concat(background_x_fes_ana_ctrl.RTU_TAG,'.', background_x_fes_ana_ctrl.RTU_DOT_NO)
AND fes_analog_ctrl.DEV_TAG <> concat(fes_analog_ctrl.RTU_TAG,'.','defaultDev')
SET fes_analog_ctrl.DESCRIPTION = background_x_fes_ana_ctrl.RTU_DOT_DESC;
UPDATE fes_digital_ctrl INNER JOIN background_x_fes_dig_ctrl
ON fes_digital_ctrl.TAG_NAME = concat(background_x_fes_dig_ctrl.RTU_TAG,'.',background_x_fes_dig_ctrl.RTU_DOT_NO)
AND fes_digital_ctrl.DEV_TAG <> concat(fes_digital_ctrl.RTU_TAG,'.','defaultDev')
SET fes_digital_ctrl.DESCRIPTION = background_x_fes_dig_ctrl.RTU_DOT_DESC;
UPDATE fes_mix_ctrl INNER JOIN background_x_fes_mix_ctrl
ON fes_mix_ctrl.TAG_NAME = concat(background_x_fes_mix_ctrl.RTU_TAG,'.',background_x_fes_mix_ctrl.RTU_DOT_NO)
AND fes_mix_ctrl.DEV_TAG <> concat(fes_mix_ctrl.RTU_TAG,'.','defaultDev')
SET fes_mix_ctrl.DESCRIPTION = background_x_fes_mix_ctrl.RTU_DOT_DESC;
END;
END IF;
#,map_to_fes表,
IF fesDescToBG = 1 THEN
BEGIN
UPDATE (accuml INNER JOIN accuml_map_to_fes
ON accuml_map_to_fes.KEY_ID_TAG = concat('accuml','.',accuml.TAG_NAME) AND COALESCE(accuml_map_to_fes.RTU_TAG,'')<>'' AND COALESCE(accuml_map_to_fes.DOT_NO,'')<>'')
INNER JOIN fes_accuml ON fes_accuml.TAG_NAME = concat( accuml_map_to_fes.RTU_TAG ,'.', accuml_map_to_fes.DOT_NO)
SET accuml.DESCRIPTION = fes_accuml.DESCRIPTION;
UPDATE (analog INNER JOIN analog_map_to_fes
ON analog_map_to_fes.KEY_ID_TAG = concat('analog','.',analog.TAG_NAME) AND COALESCE(analog_map_to_fes.RTU_TAG,'')<>'' AND COALESCE(analog_map_to_fes.DOT_NO,'')<>'')
INNER JOIN fes_analog ON fes_analog.TAG_NAME = concat(analog_map_to_fes.RTU_TAG ,'.', analog_map_to_fes.DOT_NO)
SET analog.DESCRIPTION = fes_analog.DESCRIPTION;
#mix的
UPDATE (mix INNER JOIN mix_map_to_fes
ON mix_map_to_fes.KEY_ID_TAG = concat('mix','.',mix.TAG_NAME) AND COALESCE(mix_map_to_fes.RTU_TAG,'')<>'' AND COALESCE(mix_map_to_fes.DOT_NO,'')<>'')
INNER JOIN fes_mix ON fes_mix.TAG_NAME = concat(mix_map_to_fes.RTU_TAG ,'.', mix_map_to_fes.DOT_NO)
SET mix.DESCRIPTION = fes_mix.DESCRIPTION;
#dig的,,
UPDATE (digital INNER JOIN digital_map_to_fes
ON digital_map_to_fes.KEY_ID_TAG = concat('digtal','.',digital.TAG_NAME) AND COALESCE(digital_map_to_fes.RTU_TAG,'')<>'' AND COALESCE(digital_map_to_fes.DOT_NO1,'')<>'')
INNER JOIN fes_digital ON fes_digital.TAG_NAME = concat(digital_map_to_fes.RTU_TAG ,'.', digital_map_to_fes.DOT_NO1)
SET digital.DESCRIPTION = fes_digital.DESCRIPTION;
END;
END IF;
#
IF openTriggerInfo <> 1 THEN
UPDATE sys_trigger_flag SET FLAG_ID = 1;
END IF;
#CALL kbdDebugInfo('end all','');
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `importPsc3000`;
DELIMITER $$
CREATE PROCEDURE `importPsc3000`(rtuTag varchar(64))
body:BEGIN
/*
* 导入PSC3000的数据,数据在调用本存储过程前已经把excel表格中的数据存入PSC3000开头的表格中
* 1.对于设备的处理,以excel表中设备ID和设备模板为判断基准,
数据库中不存在该ID和模板一样的设备,则往数据库中增加该设备
对于数据库中存在,而excel表中不存在的设备,删除数据库中的设备.
对于数据库中存在ID和模板与excel一样的设备,对设备的名称和TAG_NAME和描述,这三个字段进行更新
2.对于测点的处理,以设备ID和点名缩写为判断基准
对于转发信息表中存在,而数据库中不存在的测点,进行添加操作
对于转发信息表和数据库中都存在的测点,进行更新操作,更新字段规约参数1,点描述,变比系数,修正值,值描述文件(定值)
* 遥控由于没有点名缩写,所以使用描述为判断基准
*/
DECLARE count1 int DEFAULT 0;
DECLARE count2 int DEFAULT 0;
IF COALESCE(rtuTag,'') = '' THEN LEAVE body;
END IF;
CREATE TEMPORARY TABLE IF NOT EXISTS tmpImportPsc3000Tbl(
TAG_NAME varchar(64),
DEV_ID decimal(10,0),
SHORT_NAME varchar(64),
SEQ_NO decimal(10,0)
);
DELETE FROM tmpImportPsc3000Tbl;
CREATE TEMPORARY TABLE IF NOT EXISTS tmpImportPsc3000ForAdd(
DEV_ID decimal(10,0),
SHORT_NAME varchar(64),
SEQ_NO decimal(10,0)
);
DELETE FROM tmpImportPsc3000ForAdd;
#
DELETE FROM fes_dev_info WHERE RTU_TAG = rtuTag AND NOT EXISTS
(
SELECT psc3000_dev.DEV_ID FROM psc3000_dev
WHERE psc3000_dev.DEV_ID = fes_dev_info.DEV_ID
AND psc3000_dev.DEV_MODEL = fes_dev_info.DEV_TP_NAME
);
#
UPDATE fes_dev_info INNER JOIN psc3000_dev
ON fes_dev_info.RTU_TAG = rtuTag
AND fes_dev_info.DEV_ID = psc3000_dev.DEV_ID
AND fes_dev_info.DEV_TP_NAME = psc3000_dev.DEV_MODEL
SET fes_dev_info.TAG_NAME = concat(rtuTag,'.',psc3000_dev.TAG_NAME),
fes_dev_info.DEV_NAME = psc3000_dev.TAG_NAME,
fes_dev_info.DEV_DESC = psc3000_dev.DESCRIPTION;
#
DELETE FROM tmpImportPsc3000Tbl;
INSERT INTO tmpImportPsc3000Tbl (TAG_NAME,DEV_ID)
SELECT psc3000_dev.DEV_MODEL,psc3000_dev.DEV_ID FROM psc3000_dev WHERE NOT EXISTS
(
SELECT fes_dev_info.TAG_NAME FROM fes_dev_info
WHERE fes_dev_info.RTU_TAG = rtuTag
AND fes_dev_info.DEV_ID = psc3000_dev.DEV_ID
AND fes_dev_info.DEV_TP_NAME = psc3000_dev.DEV_MODEL
);
INSERT INTO fes_dev_info
(TAG_NAME, DEV_NAME, LOCATION_ID, SUB_SYSTEM, DEV_ID, DEV_TYPE_ID, RTU_TAG,RTU_NO, DEV_DESC, DEV_TP_NAME ) SELECT
concat(rtuTag,'.',psc3000_dev.TAG_NAME),psc3000_dev.TAG_NAME,fes_rtu_para.LOCATION_ID,fes_rtu_para.SUB_SYSTEM,psc3000_dev.DEV_ID,fes_dev_temp_def.DEV_TYPE_ID,rtuTag, fes_rtu_para.RTU_NO,psc3000_dev.DESCRIPTION,psc3000_dev.DEV_MODEL
FROM tmpImportPsc3000Tbl,fes_dev_temp_def,psc3000_dev,fes_rtu_para
WHERE tmpImportPsc3000Tbl.TAG_NAME = fes_dev_temp_def.TAG_NAME
AND tmpImportPsc3000Tbl.DEV_ID = psc3000_dev.DEV_ID
AND tmpImportPsc3000Tbl.TAG_NAME = psc3000_dev.DEV_MODEL
AND fes_rtu_para.TAG_NAME = rtuTag;
#
#,,,update语句中添加即可
#acc
DELETE FROM tmpImportPsc3000Tbl;
INSERT INTO tmpImportPsc3000Tbl (TAG_NAME,DEV_ID,SHORT_NAME)
SELECT fes_accuml.TAG_NAME,psc3000_acc.DEV_ID, psc3000_acc.TAG_NAME
FROM fes_accuml,psc3000_dev,psc3000_acc
WHERE fes_accuml.TAG_NAME LIKE concat(rtuTag,'%')
AND fes_accuml.DEV_TAG = concat(rtuTag,'.',psc3000_dev.TAG_NAME)
AND psc3000_dev.DEV_ID = psc3000_acc.DEV_ID
AND fes_accuml.FES_POINT_TP_NAME = concat(psc3000_dev.DEV_MODEL,'.',psc3000_acc.TAG_NAME);
UPDATE ( tmpImportPsc3000Tbl INNER JOIN fes_accuml ON tmpImportPsc3000Tbl.TAG_NAME = fes_accuml.TAG_NAME )
INNER JOIN psc3000_acc ON tmpImportPsc3000Tbl.DEV_ID = psc3000_acc.DEV_ID
AND tmpImportPsc3000Tbl.SHORT_NAME = psc3000_acc.TAG_NAME
SET fes_accuml.DESCRIPTION = psc3000_acc.DESCRIPTION,
fes_accuml.RES_PARA_INT1 = psc3000_acc.REMOTE_NO,
fes_accuml.COEFF = psc3000_acc.RATIO;
#,,
SELECT count(*) INTO count1 FROM tmpImportPsc3000Tbl;
SELECT count(*) INTO count2 FROM psc3000_acc;
#,
IF count1 < count2 THEN
BEGIN
DELETE FROM tmpImportPsc3000ForAdd;
INSERT INTO tmpImportPsc3000ForAdd (DEV_ID, SHORT_NAME)
SELECT psc3000_acc.DEV_ID,psc3000_acc.TAG_NAME
FROM psc3000_acc LEFT JOIN tmpImportPsc3000Tbl
ON psc3000_acc.DEV_ID = tmpImportPsc3000Tbl.DEV_ID AND psc3000_acc.TAG_NAME = tmpImportPsc3000Tbl.SHORT_NAME
WHERE tmpImportPsc3000Tbl.DEV_ID IS NULL;
INSERT INTO fes_accuml(
TAG_NAME, LOCATION_ID, SUB_SYSTEM, DOT_NO, RTU_TAG, DEV_TAG, SEQ_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, BASE, COEFF, RTU_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3,RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME, PATH61850,POSITION61850) SELECT
concat(rtuTag, '.' , getMaxRtuDotNo(rtuTag,getFesPointType('FES_ACC'))), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM ,getMaxRtuDotNo(rtuTag,getFesPointType('FES_ACC')), rtuTag, concat(rtuTag,'.',psc3000_dev.TAG_NAME), getMaxDefaultDevSeqNo(concat(rtuTag,'.',psc3000_dev.TAG_NAME),getFesPointType('FES_ACC')), '', '', '', '0', psc3000_acc.RATIO, fes_rtu_para.RTU_NO , psc3000_acc.REMOTE_NO, 0, 0, 0, psc3000_acc.DESCRIPTION , '', '', 0
FROM tmpImportPsc3000ForAdd,psc3000_acc,psc3000_dev, fes_rtu_para
WHERE tmpImportPsc3000ForAdd.DEV_ID = psc3000_acc.DEV_ID
AND tmpImportPsc3000ForAdd.SHORT_NAME = psc3000_acc.TAG_NAME
AND psc3000_acc.DEV_ID = psc3000_dev.DEV_ID
AND fes_rtu_para.TAG_NAME = rtuTag
;
END;
END IF;
#ana
DELETE FROM tmpImportPsc3000Tbl;
INSERT INTO tmpImportPsc3000Tbl (TAG_NAME,DEV_ID,SHORT_NAME)
SELECT fes_analog.TAG_NAME,psc3000_ana.DEV_ID, psc3000_ana.TAG_NAME
FROM fes_analog,psc3000_dev,psc3000_ana
WHERE fes_analog.TAG_NAME LIKE concat(rtuTag,'%')
AND fes_analog.DEV_TAG = concat(rtuTag,'.',psc3000_dev.TAG_NAME)
AND psc3000_dev.DEV_ID = psc3000_ana.DEV_ID
AND fes_analog.FES_POINT_TP_NAME = concat(psc3000_dev.DEV_MODEL,'.',psc3000_ana.TAG_NAME);
UPDATE ( tmpImportPsc3000Tbl INNER JOIN fes_analog ON tmpImportPsc3000Tbl.TAG_NAME = fes_analog.TAG_NAME )
INNER JOIN psc3000_ana ON tmpImportPsc3000Tbl.DEV_ID = psc3000_ana.DEV_ID
AND tmpImportPsc3000Tbl.SHORT_NAME = psc3000_ana.TAG_NAME
SET fes_analog.DESCRIPTION = psc3000_ana.DESCRIPTION,
fes_analog.RES_PARA_INT1 = psc3000_ana.REMOTE_NO,
fes_analog.COEFF = psc3000_ana.RATIO;
#,,
SELECT count(*) INTO count1 FROM tmpImportPsc3000Tbl;
SELECT count(*) INTO count2 FROM psc3000_ana;
#,
IF count1 < count2 THEN
BEGIN
DELETE FROM tmpImportPsc3000ForAdd;
INSERT INTO tmpImportPsc3000ForAdd (DEV_ID, SHORT_NAME)
SELECT psc3000_ana.DEV_ID,psc3000_ana.TAG_NAME
FROM psc3000_ana LEFT JOIN tmpImportPsc3000Tbl
ON psc3000_ana.DEV_ID = tmpImportPsc3000Tbl.DEV_ID AND psc3000_ana.TAG_NAME = tmpImportPsc3000Tbl.SHORT_NAME
WHERE tmpImportPsc3000Tbl.DEV_ID IS NULL;
INSERT INTO fes_analog(
TAG_NAME, LOCATION_ID, SUB_SYSTEM, DEV_TAG, SEQ_NO, RTU_TAG, RTU_NO, DOT_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, IS_FILTER, PERCENT, DEADBAND_TYPE, DEADBAND, ZEROBAND, BASE, COEFF, MAX_RANGE, MIN_RANGE, RES_PARA_INT1, RES_PARA_INT2,RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME , PATH61850,POSITION61850) SELECT
concat(rtuTag, '.' , getMaxRtuDotNo(rtuTag,getFesPointType('FES_ANA'))), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , concat(rtuTag,'.',psc3000_dev.TAG_NAME),getMaxDefaultDevSeqNo(concat(rtuTag,'.',psc3000_dev.TAG_NAME),getFesPointType('FES_ANA') ), rtuTag, fes_rtu_para.RTU_NO,getMaxRtuDotNo(rtuTag,getFesPointType('FES_ANA')),'', '', '', '0', '0', '0', '0', '0', '0', psc3000_ana.RATIO, '65536', '0', psc3000_ana.REMOTE_NO, 0, 0, 0, psc3000_ana.DESCRIPTION, '', '', 0
FROM tmpImportPsc3000ForAdd,psc3000_ana,psc3000_dev, fes_rtu_para
WHERE tmpImportPsc3000ForAdd.DEV_ID = psc3000_ana.DEV_ID
AND tmpImportPsc3000ForAdd.SHORT_NAME = psc3000_ana.TAG_NAME
AND psc3000_ana.DEV_ID = psc3000_dev.DEV_ID
AND fes_rtu_para.TAG_NAME = rtuTag
;
END;
END IF;
#dig
DELETE FROM tmpImportPsc3000Tbl;
INSERT INTO tmpImportPsc3000Tbl (TAG_NAME,DEV_ID,SHORT_NAME)
SELECT fes_digital.TAG_NAME,psc3000_dig.DEV_ID, psc3000_dig.TAG_NAME
FROM fes_digital,psc3000_dev,psc3000_dig
WHERE fes_digital.TAG_NAME LIKE concat(rtuTag,'%')
AND fes_digital.DEV_TAG = concat(rtuTag,'.',psc3000_dev.TAG_NAME)
AND psc3000_dev.DEV_ID = psc3000_dig.DEV_ID
AND fes_digital.FES_POINT_TP_NAME = concat(psc3000_dev.DEV_MODEL,'.',psc3000_dig.TAG_NAME);
UPDATE ( tmpImportPsc3000Tbl INNER JOIN fes_digital ON tmpImportPsc3000Tbl.TAG_NAME = fes_digital.TAG_NAME )
INNER JOIN psc3000_dig ON tmpImportPsc3000Tbl.DEV_ID = psc3000_dig.DEV_ID
AND tmpImportPsc3000Tbl.SHORT_NAME = psc3000_dig.TAG_NAME
SET fes_digital.DESCRIPTION = psc3000_dig.DESCRIPTION,
fes_digital.RES_PARA_INT1 = psc3000_dig.REMOTE_NO;
#,,
SELECT count(*) INTO count1 FROM tmpImportPsc3000Tbl;
SELECT count(*) INTO count2 FROM psc3000_dig;
#,
IF count1 < count2 THEN
BEGIN
DELETE FROM tmpImportPsc3000ForAdd;
INSERT INTO tmpImportPsc3000ForAdd (DEV_ID, SHORT_NAME)
SELECT psc3000_dig.DEV_ID,psc3000_dig.TAG_NAME
FROM psc3000_dig LEFT JOIN tmpImportPsc3000Tbl
ON psc3000_dig.DEV_ID = tmpImportPsc3000Tbl.DEV_ID AND psc3000_dig.TAG_NAME = tmpImportPsc3000Tbl.SHORT_NAME
WHERE tmpImportPsc3000Tbl.DEV_ID IS NULL;
INSERT INTO fes_digital(
TAG_NAME, LOCATION_ID, SUB_SYSTEM, DEV_TAG, SEQ_NO, RTU_TAG, DOT_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, FILTER_ERR, FILTER_DISTURB, DISTURB_TIME, REVERS, RTU_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME, PATH61850,POSITION61850) SELECT
concat(rtuTag, '.' , getMaxRtuDotNo(rtuTag,getFesPointType('FES_DIG'))), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , concat(rtuTag,'.',psc3000_dev.TAG_NAME),getMaxDefaultDevSeqNo(concat(rtuTag,'.',psc3000_dev.TAG_NAME),getFesPointType('FES_DIG') ), rtuTag, getMaxRtuDotNo(rtuTag,getFesPointType('FES_DIG')),'', '', '', '1', '1', '0', '0', fes_rtu_para.RTU_NO,psc3000_dig.REMOTE_NO, 0, 0, 0, psc3000_dig.DESCRIPTION,'', '', 0
FROM tmpImportPsc3000ForAdd,psc3000_dig,psc3000_dev, fes_rtu_para
WHERE tmpImportPsc3000ForAdd.DEV_ID = psc3000_dig.DEV_ID
AND tmpImportPsc3000ForAdd.SHORT_NAME = psc3000_dig.TAG_NAME
AND psc3000_dig.DEV_ID = psc3000_dev.DEV_ID
AND fes_rtu_para.TAG_NAME = rtuTag
;
END;
END IF;
#dig_ctrl,使
DELETE FROM tmpImportPsc3000Tbl;
INSERT INTO tmpImportPsc3000Tbl (TAG_NAME,DEV_ID,SHORT_NAME)
SELECT fes_digital_ctrl.TAG_NAME,psc3000_dig_ctrl.DEV_ID, psc3000_dig_ctrl.DESCRIPTION
FROM fes_digital_ctrl,psc3000_dev,psc3000_dig_ctrl
WHERE fes_digital_ctrl.TAG_NAME LIKE concat(rtuTag,'%')
AND fes_digital_ctrl.DEV_TAG = concat(rtuTag,'.',psc3000_dev.TAG_NAME)
AND psc3000_dev.DEV_ID = psc3000_dig_ctrl.DEV_ID
AND fes_digital_ctrl.DESCRIPTION = psc3000_dig_ctrl.DESCRIPTION;
UPDATE ( tmpImportPsc3000Tbl INNER JOIN fes_digital_ctrl ON tmpImportPsc3000Tbl.TAG_NAME = fes_digital_ctrl.TAG_NAME )
INNER JOIN psc3000_dig_ctrl ON tmpImportPsc3000Tbl.DEV_ID = psc3000_dig_ctrl.DEV_ID
AND tmpImportPsc3000Tbl.SHORT_NAME = psc3000_dig_ctrl.DESCRIPTION
SET fes_digital_ctrl.DESCRIPTION = psc3000_dig_ctrl.DESCRIPTION,
fes_digital_ctrl.RES_PARA_INT1 = psc3000_dig_ctrl.REMOTE_NO;
#,,
SELECT count(*) INTO count1 FROM tmpImportPsc3000Tbl;
SELECT count(*) INTO count2 FROM psc3000_dig_ctrl;
#,
IF count1 < count2 THEN
BEGIN
DELETE FROM tmpImportPsc3000ForAdd;
INSERT INTO tmpImportPsc3000ForAdd (DEV_ID, SHORT_NAME)
SELECT psc3000_dig_ctrl.DEV_ID,psc3000_dig_ctrl.DESCRIPTION
FROM psc3000_dig_ctrl LEFT JOIN tmpImportPsc3000Tbl
ON psc3000_dig_ctrl.DEV_ID = tmpImportPsc3000Tbl.DEV_ID AND psc3000_dig_ctrl.DESCRIPTION = tmpImportPsc3000Tbl.SHORT_NAME
WHERE tmpImportPsc3000Tbl.DEV_ID IS NULL;
INSERT INTO fes_digital_ctrl(
TAG_NAME, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, DESCRIPTION, REVERS, POINT_TP_NAME, SEQ_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, PATH61850,POSITION61850, YK_SELECT61850, YK_EXE61850, YK_CANCLE61850, YK_DOUBLE_SELECT61850, YK_DOUBLE_EXE61850, YK_DOUBLE_CANCLE61850, PULSE_TIME)SELECT
concat(rtuTag, '.' , getMaxRtuDotNo(rtuTag,getFesPointType('FES_DIG_CTRL'))), fes_rtu_para.LOCATION_ID ,fes_rtu_para.SUB_SYSTEM , rtuTag, fes_rtu_para.RTU_NO,getMaxRtuDotNo(rtuTag,getFesPointType('FES_DIG_CTRL')), concat(rtuTag,'.',psc3000_dev.TAG_NAME),psc3000_dig_ctrl.DESCRIPTION,'0' , '', getMaxDefaultDevSeqNo(concat(rtuTag,'.',psc3000_dev.TAG_NAME),getFesPointType('FES_DIG_CTRL') ), psc3000_dig_ctrl.REMOTE_NO, 0, 0, 0, '', 0, '', '', '', '', '', '', 0
FROM tmpImportPsc3000ForAdd,psc3000_dig_ctrl,psc3000_dev, fes_rtu_para
WHERE tmpImportPsc3000ForAdd.DEV_ID = psc3000_dig_ctrl.DEV_ID
AND tmpImportPsc3000ForAdd.SHORT_NAME = psc3000_dig_ctrl.DESCRIPTION
AND psc3000_dig_ctrl.DEV_ID = psc3000_dev.DEV_ID
AND fes_rtu_para.TAG_NAME = rtuTag
;
END;
END IF;
#DZ定值
DELETE FROM tmpImportPsc3000Tbl;
INSERT INTO tmpImportPsc3000Tbl (TAG_NAME,DEV_ID,SEQ_NO)
SELECT fes_const.TAG_NAME,psc3000_const.DEV_ID, psc3000_const.SEQ_NO
FROM fes_const,psc3000_dev,psc3000_const
WHERE fes_const.TAG_NAME LIKE concat(rtuTag,'%')
AND fes_const.DEV_TAG = concat(rtuTag,'.',psc3000_dev.TAG_NAME)
AND psc3000_dev.DEV_ID = psc3000_const.DEV_ID
AND fes_const.SEQ_NO = psc3000_const.SEQ_NO;
UPDATE ( tmpImportPsc3000Tbl INNER JOIN fes_const ON tmpImportPsc3000Tbl.TAG_NAME = fes_const.TAG_NAME )
INNER JOIN psc3000_const ON tmpImportPsc3000Tbl.DEV_ID = psc3000_const.DEV_ID
AND tmpImportPsc3000Tbl.SEQ_NO = psc3000_const.SEQ_NO
SET fes_const.DESCRIPTION = psc3000_const.DESCRIPTION,
fes_const.VALUE_RATIO = psc3000_const.RATIO,
fes_const.VALUE_ADDED = psc3000_const.REVISE,
fes_const.VALUE_TEXT = psc3000_const.VALUE_TEXT
;
#,,
SELECT count(*) INTO count1 FROM tmpImportPsc3000Tbl;
SELECT count(*) INTO count2 FROM psc3000_const;
#,
IF count1 < count2 THEN
BEGIN
DELETE FROM tmpImportPsc3000ForAdd;
INSERT INTO tmpImportPsc3000ForAdd (DEV_ID, SEQ_NO)
SELECT psc3000_const.DEV_ID,psc3000_const.SEQ_NO
FROM psc3000_const LEFT JOIN tmpImportPsc3000Tbl
ON psc3000_const.DEV_ID = tmpImportPsc3000Tbl.DEV_ID AND psc3000_const.SEQ_NO = tmpImportPsc3000Tbl.SEQ_NO
WHERE tmpImportPsc3000Tbl.DEV_ID IS NULL;
INSERT INTO fes_const(
TAG_NAME, DESCRIPTION, GROUP_NO, RTU_TAG, RTU_NO, DOT_NO, SEQ_NO, SUB_SYSTEM, LOCATION_ID, DEV_TAG, VALUE, VALUE_TYPE, UNIT_ID, VALUE_TEXT, VALUE_RATIO, VALUE_ADDED, VALUE_MAX, VALUE_MIN, VALUE_DEFAULT, VALUE_VERIFY, EX_INFO, FES_POINT_TP_NAME, PATH61850, POSITION61850) SELECT
concat(rtuTag, '.' , getMaxRtuDotNo(rtuTag,getFesPointType('FES_CONST'))), psc3000_const.DESCRIPTION ,0 , rtuTag, fes_rtu_para.RTU_NO, getMaxRtuDotNo(rtuTag,getFesPointType('FES_CONST')), getMaxDefaultDevSeqNo(concat(rtuTag,'.',psc3000_dev.TAG_NAME),getFesPointType('FES_CONST') ),fes_rtu_para.SUB_SYSTEM,fes_rtu_para.LOCATION_ID, concat(rtuTag,'.',psc3000_dev.TAG_NAME), 0, 0, 0, psc3000_const.VALUE_TEXT,psc3000_const.RATIO,psc3000_const.REVISE, 0, 0, 0, 0, '', '', '', 0
FROM tmpImportPsc3000ForAdd,psc3000_const,psc3000_dev, fes_rtu_para
WHERE tmpImportPsc3000ForAdd.DEV_ID = psc3000_const.DEV_ID
AND tmpImportPsc3000ForAdd.SEQ_NO = psc3000_const.SEQ_NO
AND psc3000_const.DEV_ID = psc3000_dev.DEV_ID
AND fes_rtu_para.TAG_NAME = rtuTag
;
END;
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `importPsc3000ByPlugin`;
DELIMITER $$
CREATE PROCEDURE `importPsc3000ByPlugin`(rtuTag varchar(64),regionId decimal(10,0))
body:BEGIN
/*
* 导入PSC3000数据通过构建套件的形式
* rtuTag 要导入的RTU
* regionId 责任区ID
* PSC3000_plugin表中存着要导入的套件
* PSC3000_DEV 表中存着导入的前置设备
* PSC3000_acc,ana,dig,mix,dig_ctrl,const存着对应的测点数据
*/
DECLARE locationTag varchar(64) DEFAULT '';
DECLARE locationId decimal(10,0) DEFAULT 0;
DECLARE subsystemId decimal(10,0) DEFAULT 0;
DECLARE rtuNo decimal(10,0) DEFAULT 0;
DECLARE devGrpTag varchar(64) DEFAULT '';
DECLARE pluginName varchar(64) DEFAULT '';
DECLARE tempName varchar(64) DEFAULT '';
DECLARE fesTempName varchar(64) DEFAULT '';
DECLARE fesDevTag varchar(64) DEFAULT '';
DECLARE hasDone int DEFAULT 0;
DECLARE myDevTag varchar(64) DEFAULT '';
#,,4,,,,
DECLARE cur_1 CURSOR
FOR
SELECT DEV_GRP,temp_plugin_fes_dev_map.PLUGIN_NAME,TEMP_NAME,FES_TEMP_NAME
FROM tmpImportPsc3000PluginTbl,temp_plugin_fes_dev_map
WHERE tmpImportPsc3000PluginTbl.PLUGIN_NAME = temp_plugin_fes_dev_map.PLUGIN_NAME;
DECLARE cur_2 CURSOR
FOR
SELECT PLUGIN_NAME
FROM tmpImportPsc3000PluginTbl WHERE tmpImportPsc3000PluginTbl.DEV_GRP = '';
DECLARE CONTINUE HANDLER FOR NOT FOUND SET hasDone = 1;
SELECT fes_rtu_para.LOCATION_ID,SUB_SYSTEM,RTU_NO,sys_model_location_info.TAG_NAME INTO locationId,subsystemId,rtuNo,locationTag
FROM fes_rtu_para,sys_model_location_info
WHERE fes_rtu_para.TAG_NAME = rtuTag AND fes_rtu_para.LOCATION_ID = sys_model_location_info.LOCATION_ID;
#
#DELETE FROM fes_dev_info WHERE RTU_TAG = rtuTag;
#DELETE dev_group FROM dev_group,psc3000_plugin WHERE dev_group.TAG_NAME = concat(locationTag,'.',psc3000_plugin.DEV_GROUP_TAG);
#,
CREATE TEMPORARY TABLE IF NOT EXISTS tmpImportPsc3000PluginTbl(
PLUGIN_NAME varchar(64) NOT NULL,
DEV_GRP varchar(64) NOT NULL
);
DELETE FROM tmpImportPsc3000PluginTbl;
#
CREATE TEMPORARY TABLE IF NOT EXISTS tmpPsc3000PluginFesTempTbl(
TAG_NAME varchar(64) NOT NULL,
FES_TEMP varchar(64) NOT NULL,
DEV_ID decimal(10,0)
);
DELETE FROM tmpPsc3000PluginFesTempTbl;
#,
INSERT INTO DEV_GROUP
(DESCRIPTION, GROUP_TAG,IS_SUMMARY,LOCATION_ID,PGROUP_TAG_NAME,REGION_ID,SUB_SYSTEM,SUMMARY_STATUS,SUMMARY_VALUE,TAG_NAME,RTU_NO)
SELECT
psc3000_plugin.DEV_GROUP_DESC,'', '0', locationId, '', regionId,subsystemId,'0', '0', concat(locationTag,'.',psc3000_plugin.DEV_GROUP_TAG),rtuNo
FROM psc3000_plugin GROUP BY psc3000_plugin.DEV_GROUP_TAG;
# ,
DELETE FROM tmpImportPsc3000PluginTbl;
#,
INSERT INTO tmpImportPsc3000PluginTbl (PLUGIN_NAME , DEV_GRP)
SELECT PLUGIN_NAME,DEV_GROUP_TAG
FROM psc3000_plugin GROUP BY PLUGIN_NAME,DEV_GROUP_TAG;
INSERT INTO DEV_INFO
(TAG_NAME, DESCRIPTION, DEV_NAME, LOCATION_ID, SUB_SYSTEM, GROUP_TAG_NAME, VOL_LEVEL_ID, DEV_TYPE, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, NODE_NO1, NODE_NO2, NODE_NO3, NODE_NO4, NODE_NO5, NODE_NO6, NODE_NO7, NODE_NO8, NODE_NO9, NODE_NO10, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TP_NAME)
SELECT
concat(locationTag,'.',tblA.DEV_GRP,'_',TEMP_NAME),DESCRIPTION, '', locationId, subsystemId,concat(locationTag,'.',tblA.DEV_GRP), '0', DEV_TYPE_ID,'0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', regionId, '', '0', '0', '0', TEMP_NAME
FROM tmpImportPsc3000PluginTbl AS tblA,temp_plugin_dev_map,dev_temp_def
WHERE tblA.PLUGIN_NAME = temp_plugin_dev_map.PLUGIN_NAME AND temp_plugin_dev_map.TEMP_NAME = dev_temp_def.TAG_NAME;
#,psc3000_dev中指定的设备为基准,
INSERT INTO tmpPsc3000PluginFesTempTbl(TAG_NAME,FES_TEMP,DEV_ID)
SELECT TAG_NAME,DEV_MODEL,DEV_ID
FROM psc3000_dev;
UPDATE psc3000_dev LEFT JOIN psc3000_plugin ON DEV_ID = FES_DEV_INST_ID
SET psc3000_dev.DEV_MODEL = IF(COALESCE(FES_TEMP_NAME,DEV_MODEL) != DEV_MODEL,COALESCE(FES_TEMP_NAME,DEV_MODEL), DEV_MODEL);
DELETE psc3000_dev FROM psc3000_dev LEFT JOIN psc3000_plugin ON psc3000_dev.DEV_ID = psc3000_plugin.FES_DEV_INST_ID
WHERE FES_DEV_INST_ID IS NULL;
DELETE tmpPsc3000PluginFesTempTbl FROM tmpPsc3000PluginFesTempTbl LEFT JOIN psc3000_plugin
ON tmpPsc3000PluginFesTempTbl.DEV_ID = psc3000_plugin.FES_DEV_INST_ID
WHERE FES_DEV_INST_ID IS NULL;
INSERT INTO FES_DEV_INFO
(DEV_PORT,DEV_DESC, DEV_ID, DEV_NAME, DEV_TP_NAME, DEV_TYPE_ID,LOCATION_ID,RTU_NO,RTU_TAG,SUB_SYSTEM,TAG_NAME)
SELECT
psc3000_dev.DEV_PORT,psc3000_dev.DESCRIPTION, psc3000_dev.DEV_ID,psc3000_dev.TAG_NAME ,fes_dev_temp_def.TAG_NAME,DEV_TYPE_ID,locationId, rtuNo, rtuTag, subsystemId,concat(rtuTag,'.',psc3000_dev.TAG_NAME)
FROM psc3000_dev,fes_dev_temp_def
WHERE psc3000_dev.DEV_MODEL = fes_dev_temp_def.TAG_NAME;
#
DELETE FROM tmpImportPsc3000PluginTbl;
#,
INSERT INTO tmpImportPsc3000PluginTbl (PLUGIN_NAME , DEV_GRP)
SELECT PLUGIN_NAME,DEV_GROUP_TAG
FROM psc3000_plugin GROUP BY PLUGIN_NAME,DEV_GROUP_TAG;
#,
CREATE TEMPORARY TABLE IF NOT EXISTS tmpImportPsc3000Dev(
PLUGIN_NAME varchar(64) NOT NULL,
DEV_TAG varchar(64) NOT NULL,
FES_DEV_TAG varchar(64) NOT NULL
);
DELETE FROM tmpImportPsc3000Dev;
#
OPEN cur_1;
FETCH cur_1 INTO devGrpTag,pluginName,tempName,fesTempName;
WHILE hasDone != 1 DO
SET fesDevTag = (SELECT psc3000_dev.TAG_NAME FROM psc3000_plugin,psc3000_dev
WHERE DEV_GROUP_TAG = devGrpTag AND PLUGIN_NAME = pluginName AND FES_TEMP_NAME = fesTempName
AND FES_DEV_INST_ID = DEV_ID);
IF fesDevTag IS NOT NULL THEN
BEGIN
CALL relationByPlugin(pluginName,concat(locationTag,'.',devGrpTag,'_',tempName), concat(rtuTag,'.',fesDevTag));
INSERT INTO tmpImportPsc3000Dev(PLUGIN_NAME,DEV_TAG,FES_DEV_TAG)
VALUES (pluginName,concat(locationTag,'.',devGrpTag,'_',tempName), concat(rtuTag,'.',fesDevTag));
END;
END IF;
FETCH cur_1 INTO devGrpTag,pluginName,tempName,fesTempName;
END WHILE;
CLOSE cur_1;
#
UPDATE dev_group,psc3000_plugin SET dev_group.DEV_GROUP_NO = psc3000_plugin.FES_DEV_INST_ID WHERE dev_group.TAG_NAME = concat(locationTag,'.',psc3000_plugin.DEV_GROUP_TAG);
# ,,
CREATE TEMPORARY TABLE IF NOT EXISTS tblImportPsc3000Point(
TAG_NAME varchar(64),
DEV_ID decimal(10,0),
SHORT_NAME varchar(64),
SEQ_NO decimal(10,0)
);
CREATE TEMPORARY TABLE IF NOT EXISTS tblImportPsc3000PointForAdd(
DEV_ID decimal(10,0),
SHORT_NAME varchar(64),
SEQ_NO decimal(10,0)
);
#acc
DELETE FROM tblImportPsc3000Point;
INSERT INTO tblImportPsc3000Point (TAG_NAME,DEV_ID,SHORT_NAME)
SELECT fes_accuml.TAG_NAME,psc3000_acc.DEV_ID, psc3000_acc.TAG_NAME
FROM fes_accuml,psc3000_dev,psc3000_acc
WHERE fes_accuml.TAG_NAME LIKE concat(rtuTag,'%')
AND fes_accuml.DEV_TAG = concat(rtuTag,'.',psc3000_dev.TAG_NAME)
AND psc3000_dev.DEV_ID = psc3000_acc.DEV_ID
AND getAfterLastDot(fes_accuml.FES_POINT_TP_NAME) = psc3000_acc.TAG_NAME;
#
UPDATE ( tblImportPsc3000Point INNER JOIN fes_accuml ON tblImportPsc3000Point.TAG_NAME = fes_accuml.TAG_NAME )
INNER JOIN psc3000_acc ON tblImportPsc3000Point.DEV_ID = psc3000_acc.DEV_ID
AND tblImportPsc3000Point.SHORT_NAME = psc3000_acc.TAG_NAME
SET fes_accuml.DESCRIPTION = psc3000_acc.DESCRIPTION,
fes_accuml.RES_PARA_INT1 = psc3000_acc.REMOTE_NO,
fes_accuml.SEQ_NO = psc3000_acc.REMOTE_NO,
fes_accuml.COEFF = psc3000_acc.RATIO,
fes_accuml.FES_POINT_TP_NAME = concat(getBeforeFirstDot(fes_accuml.FES_POINT_TP_NAME),'.',psc3000_acc.TAG_NAME);
#CSV文件有的点
DELETE FROM tblImportPsc3000PointForAdd;
INSERT INTO tblImportPsc3000PointForAdd (DEV_ID, SHORT_NAME)
SELECT psc3000_acc.DEV_ID,psc3000_acc.TAG_NAME
FROM psc3000_acc LEFT JOIN tblImportPsc3000Point
ON psc3000_acc.DEV_ID = tblImportPsc3000Point.DEV_ID AND psc3000_acc.TAG_NAME = tblImportPsc3000Point.SHORT_NAME
WHERE tblImportPsc3000Point.DEV_ID IS NULL;
INSERT INTO fes_accuml(
TAG_NAME, LOCATION_ID, SUB_SYSTEM, DOT_NO, RTU_TAG, DEV_TAG, SEQ_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, BASE, COEFF, RTU_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3,RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME, PATH61850,POSITION61850) SELECT
concat(rtuTag, '.' , getMaxRtuDotNo(rtuTag,getFesPointType('FES_ACC'))), locationId , subsystemId ,getMaxRtuDotNo(rtuTag,getFesPointType('FES_ACC')), rtuTag, concat(rtuTag,'.',psc3000_dev.TAG_NAME), psc3000_acc.REMOTE_NO, '', '', '', '0', psc3000_acc.RATIO, rtuNo , psc3000_acc.REMOTE_NO, 0, 0, 0, psc3000_acc.DESCRIPTION , psc3000_acc.TAG_NAME, '', 0
FROM tblImportPsc3000PointForAdd,psc3000_acc,psc3000_dev
WHERE tblImportPsc3000PointForAdd.DEV_ID = psc3000_acc.DEV_ID
AND tblImportPsc3000PointForAdd.SHORT_NAME = psc3000_acc.TAG_NAME
AND psc3000_acc.DEV_ID = psc3000_dev.DEV_ID
;
#ana
DELETE FROM tblImportPsc3000Point;
INSERT INTO tblImportPsc3000Point (TAG_NAME,DEV_ID,SHORT_NAME)
SELECT fes_analog.TAG_NAME,psc3000_ana.DEV_ID, psc3000_ana.TAG_NAME
FROM fes_analog,psc3000_dev,psc3000_ana
WHERE fes_analog.TAG_NAME LIKE concat(rtuTag,'%')
AND fes_analog.DEV_TAG = concat(rtuTag,'.',psc3000_dev.TAG_NAME)
AND psc3000_dev.DEV_ID = psc3000_ana.DEV_ID
AND getAfterLastDot(FES_POINT_TP_NAME) = psc3000_ana.TAG_NAME;
UPDATE ( tblImportPsc3000Point INNER JOIN fes_analog ON tblImportPsc3000Point.TAG_NAME = fes_analog.TAG_NAME )
INNER JOIN psc3000_ana ON tblImportPsc3000Point.DEV_ID = psc3000_ana.DEV_ID
AND tblImportPsc3000Point.SHORT_NAME = psc3000_ana.TAG_NAME
SET fes_analog.DESCRIPTION = psc3000_ana.DESCRIPTION,
fes_analog.RES_PARA_INT1 = psc3000_ana.REMOTE_NO,
fes_analog.SEQ_NO = psc3000_ana.REMOTE_NO,
fes_analog.COEFF = psc3000_ana.RATIO,
fes_analog.FES_POINT_TP_NAME = concat(getBeforeFirstDot(fes_analog.FES_POINT_TP_NAME),'.',psc3000_ana.TAG_NAME);
#CSV文件有的点
DELETE FROM tblImportPsc3000PointForAdd;
INSERT INTO tblImportPsc3000PointForAdd (DEV_ID, SHORT_NAME)
SELECT psc3000_ana.DEV_ID,psc3000_ana.TAG_NAME
FROM psc3000_ana LEFT JOIN tblImportPsc3000Point
ON psc3000_ana.DEV_ID = tblImportPsc3000Point.DEV_ID AND psc3000_ana.TAG_NAME = tblImportPsc3000Point.SHORT_NAME
WHERE tblImportPsc3000Point.DEV_ID IS NULL;
INSERT INTO fes_analog(
TAG_NAME, LOCATION_ID, SUB_SYSTEM, DEV_TAG, SEQ_NO, RTU_TAG, RTU_NO, DOT_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, IS_FILTER, PERCENT, DEADBAND_TYPE, DEADBAND, ZEROBAND, BASE, COEFF, MAX_RANGE, MIN_RANGE, RES_PARA_INT1, RES_PARA_INT2,RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME , PATH61850,POSITION61850) SELECT
concat(rtuTag, '.' , getMaxRtuDotNo(rtuTag,getFesPointType('FES_ANA'))), locationId , subsystemId , concat(rtuTag,'.',psc3000_dev.TAG_NAME),psc3000_ana.REMOTE_NO, rtuTag, rtuNo, getMaxRtuDotNo(rtuTag,getFesPointType('FES_ANA')),'', '', '', '0', '0', '0', '0', '0', '0', psc3000_ana.RATIO, '65536', '0', psc3000_ana.REMOTE_NO, 0, 0, 0, psc3000_ana.DESCRIPTION, psc3000_ana.TAG_NAME, '', 0
FROM tblImportPsc3000PointForAdd,psc3000_ana,psc3000_dev
WHERE tblImportPsc3000PointForAdd.DEV_ID = psc3000_ana.DEV_ID
AND tblImportPsc3000PointForAdd.SHORT_NAME = psc3000_ana.TAG_NAME
AND psc3000_ana.DEV_ID = psc3000_dev.DEV_ID
;
#dig
DELETE FROM tblImportPsc3000Point;
INSERT INTO tblImportPsc3000Point (TAG_NAME,DEV_ID,SHORT_NAME)
SELECT fes_digital.TAG_NAME,psc3000_dig.DEV_ID, psc3000_dig.TAG_NAME
FROM fes_digital,psc3000_dev,psc3000_dig
WHERE fes_digital.TAG_NAME LIKE concat(rtuTag,'%')
AND fes_digital.DEV_TAG = concat(rtuTag,'.',psc3000_dev.TAG_NAME)
AND psc3000_dev.DEV_ID = psc3000_dig.DEV_ID
AND getAfterLastDot(FES_POINT_TP_NAME) = psc3000_dig.TAG_NAME;
UPDATE ( tblImportPsc3000Point INNER JOIN fes_digital ON tblImportPsc3000Point.TAG_NAME = fes_digital.TAG_NAME )
INNER JOIN psc3000_dig ON tblImportPsc3000Point.DEV_ID = psc3000_dig.DEV_ID
AND tblImportPsc3000Point.SHORT_NAME = psc3000_dig.TAG_NAME
SET fes_digital.DESCRIPTION = psc3000_dig.DESCRIPTION,
fes_digital.RES_PARA_INT1 = psc3000_dig.REMOTE_NO,
fes_digital.SEQ_NO = psc3000_dig.REMOTE_NO,
fes_digital.FES_POINT_TP_NAME = concat(getBeforeFirstDot(fes_digital.FES_POINT_TP_NAME),'.',psc3000_dig.TAG_NAME);
#CSV文件有的点
DELETE FROM tblImportPsc3000PointForAdd;
INSERT INTO tblImportPsc3000PointForAdd (DEV_ID, SHORT_NAME)
SELECT psc3000_dig.DEV_ID,psc3000_dig.TAG_NAME
FROM psc3000_dig LEFT JOIN tblImportPsc3000Point
ON psc3000_dig.DEV_ID = tblImportPsc3000Point.DEV_ID AND psc3000_dig.TAG_NAME = tblImportPsc3000Point.SHORT_NAME
WHERE tblImportPsc3000Point.DEV_ID IS NULL;
INSERT INTO fes_digital(
TAG_NAME, LOCATION_ID, SUB_SYSTEM, DEV_TAG, SEQ_NO, RTU_TAG, DOT_NO, APP_TABLE_NAME, APP_TAG_NAME, APP_COLUMN_NAME, FILTER_ERR, FILTER_DISTURB, DISTURB_TIME, REVERS, RTU_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, DESCRIPTION, FES_POINT_TP_NAME, PATH61850,POSITION61850) SELECT
concat(rtuTag, '.' , getMaxRtuDotNo(rtuTag,getFesPointType('FES_DIG'))), locationId , subsystemId , concat(rtuTag,'.',psc3000_dev.TAG_NAME),psc3000_dig.REMOTE_NO, rtuTag, getMaxRtuDotNo(rtuTag,getFesPointType('FES_DIG')),'', '', '', '1', '1', '0', '0', rtuNo, psc3000_dig.REMOTE_NO, 0, 0, 0, psc3000_dig.DESCRIPTION,psc3000_dig.TAG_NAME, '', 0
FROM tblImportPsc3000PointForAdd,psc3000_dig,psc3000_dev
WHERE tblImportPsc3000PointForAdd.DEV_ID = psc3000_dig.DEV_ID
AND tblImportPsc3000PointForAdd.SHORT_NAME = psc3000_dig.TAG_NAME
AND psc3000_dig.DEV_ID = psc3000_dev.DEV_ID
;
#dig_ctrl
DELETE FROM tblImportPsc3000Point;
INSERT INTO tblImportPsc3000Point (TAG_NAME,DEV_ID,SHORT_NAME)
SELECT fes_digital_ctrl.TAG_NAME,psc3000_dig_ctrl.DEV_ID, psc3000_dig_ctrl.TAG_NAME
FROM fes_digital_ctrl,psc3000_dev,psc3000_dig_ctrl
WHERE fes_digital_ctrl.TAG_NAME LIKE concat(rtuTag,'%')
AND fes_digital_ctrl.DEV_TAG = concat(rtuTag,'.',psc3000_dev.TAG_NAME)
AND psc3000_dev.DEV_ID = psc3000_dig_ctrl.DEV_ID
AND getAfterLastDot(fes_digital_ctrl.POINT_TP_NAME) = psc3000_dig_ctrl.TAG_NAME;
UPDATE ( tblImportPsc3000Point INNER JOIN fes_digital_ctrl ON tblImportPsc3000Point.TAG_NAME = fes_digital_ctrl.TAG_NAME )
INNER JOIN psc3000_dig_ctrl ON tblImportPsc3000Point.DEV_ID = psc3000_dig_ctrl.DEV_ID
AND tblImportPsc3000Point.SHORT_NAME = psc3000_dig_ctrl.TAG_NAME
SET fes_digital_ctrl.DESCRIPTION = psc3000_dig_ctrl.DESCRIPTION,
fes_digital_ctrl.RES_PARA_INT1 = psc3000_dig_ctrl.REMOTE_NO,
fes_digital_ctrl.SEQ_NO = psc3000_dig_ctrl.REMOTE_NO,
fes_digital_ctrl.POINT_TP_NAME = concat(getBeforeFirstDot(fes_digital_ctrl.POINT_TP_NAME),'.',psc3000_dig_ctrl.TAG_NAME);
#CSV文件有的点
DELETE FROM tblImportPsc3000PointForAdd;
INSERT INTO tblImportPsc3000PointForAdd (DEV_ID, SHORT_NAME)
SELECT psc3000_dig_ctrl.DEV_ID,psc3000_dig_ctrl.TAG_NAME
FROM psc3000_dig_ctrl LEFT JOIN tblImportPsc3000Point
ON psc3000_dig_ctrl.DEV_ID = tblImportPsc3000Point.DEV_ID AND psc3000_dig_ctrl.TAG_NAME = tblImportPsc3000Point.SHORT_NAME
WHERE tblImportPsc3000Point.DEV_ID IS NULL;
INSERT INTO fes_digital_ctrl(
TAG_NAME, LOCATION_ID, SUB_SYSTEM, RTU_TAG, RTU_NO, DOT_NO, DEV_TAG, DESCRIPTION, REVERS, POINT_TP_NAME, SEQ_NO, RES_PARA_INT1, RES_PARA_INT2, RES_PARA_INT3, RES_PARA_INT4, PATH61850,POSITION61850, YK_SELECT61850, YK_EXE61850, YK_CANCLE61850, YK_DOUBLE_SELECT61850, YK_DOUBLE_EXE61850, YK_DOUBLE_CANCLE61850, PULSE_TIME)SELECT
concat(rtuTag, '.' , getMaxRtuDotNo(rtuTag,getFesPointType('FES_DIG_CTRL'))), locationId , subsystemId , rtuTag, rtuNo,getMaxRtuDotNo(rtuTag,getFesPointType('FES_DIG_CTRL')), concat(rtuTag,'.',psc3000_dev.TAG_NAME),psc3000_dig_ctrl.DESCRIPTION,'0' , psc3000_dig_ctrl.TAG_NAME,psc3000_dig_ctrl.REMOTE_NO, psc3000_dig_ctrl.REMOTE_NO, 0, 0, 0, '', 0, '', '', '', '', '', '', 0
FROM tblImportPsc3000PointForAdd,psc3000_dig_ctrl,psc3000_dev
WHERE tblImportPsc3000PointForAdd.DEV_ID = psc3000_dig_ctrl.DEV_ID
AND tblImportPsc3000PointForAdd.SHORT_NAME = psc3000_dig_ctrl.TAG_NAME
AND psc3000_dig_ctrl.DEV_ID = psc3000_dev.DEV_ID
;
#DZ定值
DELETE FROM fes_const WHERE fes_const.RTU_TAG = rtuTag AND fes_const.RES_PARA_INT1 = '-1';
#CSV文件有的点
DELETE FROM tblImportPsc3000PointForAdd;
INSERT INTO tblImportPsc3000PointForAdd (DEV_ID, SEQ_NO)
SELECT psc3000_const.DEV_ID,psc3000_const.SEQ_NO
FROM psc3000_const LEFT JOIN tblImportPsc3000Point
ON psc3000_const.DEV_ID = tblImportPsc3000Point.DEV_ID AND psc3000_const.SEQ_NO = tblImportPsc3000Point.SEQ_NO
WHERE tblImportPsc3000Point.DEV_ID IS NULL;
INSERT INTO fes_const(
TAG_NAME, DESCRIPTION, DZ_SEQ, GROUP_NO, RTU_TAG, RTU_NO, DOT_NO, SEQ_NO, SUB_SYSTEM, LOCATION_ID, DEV_TAG, VALUE, VALUE_TYPE, UNIT_ID, VALUE_TEXT, VALUE_RATIO, VALUE_ADDED, VALUE_MAX, VALUE_MIN, VALUE_DEFAULT, VALUE_VERIFY, EX_INFO, FES_POINT_TP_NAME, PATH61850, POSITION61850) SELECT
concat(rtuTag, '.' , getMaxRtuDotNo(rtuTag,getFesPointType('FES_CONST'))), psc3000_const.DESCRIPTION ,psc3000_const.DZ_SEQ ,psc3000_const.GROUP_NO , rtuTag, rtuNo, getMaxRtuDotNo(rtuTag,getFesPointType('FES_CONST')), psc3000_const.SEQ_NO,subsystemId,locationId, concat(rtuTag,'.',psc3000_dev.TAG_NAME), 0, 0, 0, psc3000_const.VALUE_TEXT,psc3000_const.RATIO,psc3000_const.REVISE, 0, 0, 0, 0, '', '', '', 0
FROM tblImportPsc3000PointForAdd,psc3000_const,psc3000_dev
WHERE tblImportPsc3000PointForAdd.DEV_ID = psc3000_const.DEV_ID
AND tblImportPsc3000PointForAdd.SEQ_NO = psc3000_const.SEQ_NO
AND psc3000_const.DEV_ID = psc3000_dev.DEV_ID
;
#,, tmpImportPsc3000Dev
DELETE FROM tmpImportPsc3000Dev WHERE DEV_TAG NOT LIKE '%jgxh%';
CREATE TEMPORARY TABLE IF NOT EXISTS tblPsc3000PointToAdd(
DEV_TAG varchar(64),
TAG_NAME varchar(64),
FES_TAG_NAME varchar(64),
DOT_NO decimal(10,0),
DESCRIPTION varchar(128)
);
#acc,
DELETE FROM tblPsc3000PointToAdd;
INSERT INTO tblPsc3000PointToAdd(DEV_TAG,TAG_NAME,FES_TAG_NAME,DOT_NO,DESCRIPTION)
SELECT tmpImportPsc3000Dev.DEV_TAG,
concat(tmpImportPsc3000Dev.DEV_TAG,'.', IF(getAfterLastDot(fes_accuml.FES_POINT_TP_NAME) = '',findPsc3000Tag(fes_accuml.DESCRIPTION,fes_accuml.RES_PARA_INT1,fes_dev_info.DEV_ID,'psc_acc'),getAfterLastDot(fes_accuml.FES_POINT_TP_NAME) )) ,
fes_accuml.TAG_NAME,fes_accuml.DOT_NO,fes_accuml.DESCRIPTION
FROM tmpImportPsc3000Dev,fes_dev_info,fes_accuml
WHERE tmpImportPsc3000Dev.FES_DEV_TAG = fes_dev_info.TAG_NAME AND
fes_accuml.TAG_NAME LIKE concat(rtuTag,'.%') AND
fes_accuml.DEV_TAG = fes_dev_info.TAG_NAME AND
fes_accuml.APP_TABLE_NAME = '' AND
fes_accuml.APP_TAG_NAME = '' AND
fes_accuml.APP_COLUMN_NAME = '';
INSERT IGNORE INTO accuml(
TAG_NAME, DESCRIPTION, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, RTU_TAG, GRAY, CONTRAST, QCOLOR, RAW_VALUE, VALUE, STATUS, LAST_UPDATE_TIME, LAST_CHANGE_TIME, UNIT_ID, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, REGION_ID, OPT_HANDOVER_GROUP, IS_LIMIT, POINT_TYPE, POINT_CLASS, POINT_PROPERTY,POINT_SORT, DEV_TYPE, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, SAMPLE_DEADBAND,CAMERA_TAG, PRESET_ID)
SELECT
tblPsc3000PointToAdd.TAG_NAME, tblPsc3000PointToAdd.DESCRIPTION,dev_info.TAG_NAME,getMaxSeq(dev_info.TAG_NAME,'accuml')+1, locationId, subsystemId, '', dev_info.GRAY, dev_info.CONTRAST, dev_info.QCOLOR, '0', dev_info.VALUE, dev_info.STATUS, 0, 0, '1', '', '', '', regionId, dev_info.OPT_HANDOVER_GROUP, '0', '3', '0', '0', '201', dev_info.DEV_TYPE, '', '0', '0', '5', '0.01', '', ''
FROM tblPsc3000PointToAdd,dev_info
WHERE tblPsc3000PointToAdd.DEV_TAG = dev_info.TAG_NAME ;
UPDATE accuml INNER JOIN tblPsc3000PointToAdd
ON accuml.TAG_NAME = tblPsc3000PointToAdd.TAG_NAME
SET accuml.RTU_TAG = rtuTag;
UPDATE accuml_map_to_fes INNER JOIN tblPsc3000PointToAdd
ON accuml_map_to_fes.KEY_ID_TAG = concat('accuml.',tblPsc3000PointToAdd.TAG_NAME)
SET accuml_map_to_fes.DOT_NO = tblPsc3000PointToAdd.DOT_NO;
#ana
DELETE FROM tblPsc3000PointToAdd;
INSERT INTO tblPsc3000PointToAdd(DEV_TAG,TAG_NAME,FES_TAG_NAME,DOT_NO,DESCRIPTION)
SELECT tmpImportPsc3000Dev.DEV_TAG,
concat(tmpImportPsc3000Dev.DEV_TAG,'.', IF(getAfterLastDot(fes_analog.FES_POINT_TP_NAME) = '',findPsc3000Tag(fes_analog.DESCRIPTION,fes_analog.RES_PARA_INT1,fes_dev_info.DEV_ID,'psc_ana'),getAfterLastDot(fes_analog.FES_POINT_TP_NAME) )) ,
fes_analog.TAG_NAME,fes_analog.DOT_NO,fes_analog.DESCRIPTION
FROM tmpImportPsc3000Dev,fes_dev_info,fes_analog
WHERE tmpImportPsc3000Dev.FES_DEV_TAG = fes_dev_info.TAG_NAME AND
fes_analog.TAG_NAME LIKE concat(rtuTag,'.%') AND
fes_analog.DEV_TAG = fes_dev_info.TAG_NAME AND
fes_analog.APP_TABLE_NAME = '' AND
fes_analog.APP_TAG_NAME = '' AND
fes_analog.APP_COLUMN_NAME = '' ;
INSERT IGNORE INTO analog(
TAG_NAME, DESCRIPTION, RTU_TAG, DEV_TYPE, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, IS_CONTROL, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, LAST_UPDATE_TIME, LAST_CHANGE_TIME, UNIT_ID, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, REGION_ID, OPT_HANDOVER_GROUP, IS_LIMIT, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, SAMPLE_DEADBAND, CAMERA_TAG, PRESET_ID)
SELECT
tblPsc3000PointToAdd.TAG_NAME, tblPsc3000PointToAdd.DESCRIPTION,'', dev_info.DEV_TYPE,dev_info.TAG_NAME,getMaxSeq(dev_info.TAG_NAME,'analog')+1, locationId, subsystemId, '0', dev_info.GRAY, dev_info.CONTRAST, dev_info.QCOLOR,dev_info.VALUE, dev_info.STATUS, 0, 0, '1', '', '', '', regionId, dev_info.OPT_HANDOVER_GROUP, '0', '0', '0', '0', '1', '', '0', '0', '5', '0.01', '', ''
FROM tblPsc3000PointToAdd,dev_info
WHERE tblPsc3000PointToAdd.DEV_TAG = dev_info.TAG_NAME ;
UPDATE analog INNER JOIN tblPsc3000PointToAdd
ON analog.TAG_NAME = tblPsc3000PointToAdd.TAG_NAME
SET analog.RTU_TAG = rtuTag;
UPDATE analog_map_to_fes INNER JOIN tblPsc3000PointToAdd
ON analog_map_to_fes.KEY_ID_TAG = concat('analog.',tblPsc3000PointToAdd.TAG_NAME)
SET analog_map_to_fes.DOT_NO = tblPsc3000PointToAdd.DOT_NO;
#dig
DELETE FROM tblPsc3000PointToAdd;
INSERT INTO tblPsc3000PointToAdd(DEV_TAG,TAG_NAME,FES_TAG_NAME,DOT_NO,DESCRIPTION)
SELECT tmpImportPsc3000Dev.DEV_TAG,
concat(tmpImportPsc3000Dev.DEV_TAG,'.', IF(getAfterLastDot(fes_digital.FES_POINT_TP_NAME) = '',findPsc3000Tag(fes_digital.DESCRIPTION,fes_digital.RES_PARA_INT1,fes_dev_info.DEV_ID,'psc_dig'),getAfterLastDot(fes_digital.FES_POINT_TP_NAME) )) ,
fes_digital.TAG_NAME,fes_digital.DOT_NO,fes_digital.DESCRIPTION
FROM tmpImportPsc3000Dev,fes_dev_info,fes_digital
WHERE tmpImportPsc3000Dev.FES_DEV_TAG = fes_dev_info.TAG_NAME AND
fes_digital.TAG_NAME LIKE concat(rtuTag,'.%') AND
fes_digital.DEV_TAG = fes_dev_info.TAG_NAME AND
fes_digital.APP_TABLE_NAME = '' AND
fes_digital.APP_TAG_NAME = '' AND
fes_digital.APP_COLUMN_NAME = '';
INSERT IGNORE INTO digital(
TAG_NAME, DESCRIPTION, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, RTU_TAG, IS_CONTROL, STATE_TEXT_NAME, VALUE_NUM, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, LAST_UPDATE_TIME, VALUE1, STATUS1, LAST_CHANGE_TIME1, VALUE2, STATUS2, LAST_CHANGE_TIME2, VALUE3, STATUS3, LAST_CHANGE_TIME3, VALUE4, STATUS4, LAST_CHANGE_TIME4, VALUE5, STATUS5, LAST_CHANGE_TIME5, ALARM_PRIORITY, PIC_NAME, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, ALARM_DELAY_TIME, INPUT_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TYPE, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, IS_ALARM_FREQ, ALARM_FREQ, ALARM_FREQ_DESC, IS_ALARM_TIME, ALARM_TIME, ALARM_TIME_DESC, ALARM_FREQ_RANGE, INFER_NAME, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, CAMERA_TAG, PRESET_ID )
SELECT
tblPsc3000PointToAdd.TAG_NAME, tblPsc3000PointToAdd.DESCRIPTION,dev_info.TAG_NAME,getMaxSeq(dev_info.TAG_NAME,'digital')+1, locationId, subsystemId, '', '0', 'PSCADA不告警', '1', dev_info.GRAY, dev_info.CONTRAST, dev_info.QCOLOR,dev_info.VALUE, dev_info.STATUS, 0, 0, 0, '0', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '1', '', '', '', '', '5', '1', '0', '1', '0', '0', regionId, dev_info.OPT_HANDOVER_GROUP, '0', '0', '0', dev_info.DEV_TYPE, '', '1', '0', '5', '0', '10', '计次报警描述', '0', '5', '计时报警描述', '30', '', '1', '0', '0', '400', '', ''
FROM tblPsc3000PointToAdd,dev_info
WHERE tblPsc3000PointToAdd.DEV_TAG = dev_info.TAG_NAME ;
UPDATE digital INNER JOIN tblPsc3000PointToAdd
ON digital.TAG_NAME = tblPsc3000PointToAdd.TAG_NAME
SET digital.RTU_TAG = rtuTag;
UPDATE digital_map_to_fes INNER JOIN tblPsc3000PointToAdd
ON digital_map_to_fes.KEY_ID_TAG = concat('digital.',tblPsc3000PointToAdd.TAG_NAME)
SET digital_map_to_fes.DOT_NO1 = tblPsc3000PointToAdd.DOT_NO;
#mix psc3000中是没有的,
DELETE FROM tblPsc3000PointToAdd;
INSERT INTO tblPsc3000PointToAdd(DEV_TAG,TAG_NAME,FES_TAG_NAME,DOT_NO,DESCRIPTION)
SELECT tmpImportPsc3000Dev.DEV_TAG,
concat(tmpImportPsc3000Dev.DEV_TAG,'.', getAfterLastDot(fes_mix.FES_POINT_TP_NAME)) ,
fes_mix.TAG_NAME,fes_mix.DOT_NO,fes_mix.DESCRIPTION
FROM tmpImportPsc3000Dev,fes_dev_info,fes_mix
WHERE tmpImportPsc3000Dev.FES_DEV_TAG = fes_dev_info.TAG_NAME AND
fes_mix.TAG_NAME LIKE concat(rtuTag,'.%') AND
fes_mix.DEV_TAG = fes_dev_info.TAG_NAME AND
fes_mix.APP_TABLE_NAME = '' AND
fes_mix.APP_TAG_NAME = '' AND
fes_mix.APP_COLUMN_NAME = '';
INSERT IGNORE INTO mix(
TAG_NAME, DESCRIPTION, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, RTU_TAG, IS_CONTROL, STATE_TEXT_NAME, GRAY, CONTRAST, QCOLOR, RAW_VALUE, VALUE, STATUS, LAST_UPDATE_TIME, LAST_CHANGE_TIME, METHOD, ALARM_PRIORITY, PIC_NAME, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, ALARM_DELAY_TIME, IS_WATER_ALM,IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TYPE, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, CAMERA_TAG, PRESET_ID) SELECT
tblPsc3000PointToAdd.TAG_NAME,tblPsc3000PointToAdd.DESCRIPTION,dev_info.TAG_NAME,getMaxSeq(dev_info.TAG_NAME,'mix')+1,locationId, subsystemId, '', '0', 'PSCADA中断/正常', GRAY, CONTRAST, QCOLOR, '0', VALUE, STATUS, '0', '0', '', '3', '', '', '', '', 0, 1, 0, 0, 0, regionId, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TYPE, '', 0, 0, 5, 2, 0, 0, 701, '', ''
FROM tblPsc3000PointToAdd,dev_info
WHERE tblPsc3000PointToAdd.DEV_TAG = dev_info.TAG_NAME ;
UPDATE mix INNER JOIN tblPsc3000PointToAdd
ON mix.TAG_NAME = tblPsc3000PointToAdd.TAG_NAME
SET mix.RTU_TAG = rtuTag;
UPDATE mix_map_to_fes INNER JOIN tblPsc3000PointToAdd
ON mix_map_to_fes.KEY_ID_TAG = concat('mix.',tblPsc3000PointToAdd.TAG_NAME)
SET mix_map_to_fes.DOT_NO = tblPsc3000PointToAdd.DOT_NO;
#,,,,csv文件的点删除
DELETE FROM tblPsc3000PointToAdd;
DELETE FROM tmpImportPsc3000PluginTbl;
#
#PLUGIN_NAME是设备TAG
INSERT INTO tmpImportPsc3000PluginTbl
(PLUGIN_NAME , DEV_GRP )
SELECT
dev_info.TAG_NAME,dev_info.GROUP_TAG_NAME
FROM psc3000_plugin INNER JOIN dev_info
ON dev_info.GROUP_TAG_NAME = concat(locationTag,'.',psc3000_plugin.DEV_GROUP_TAG) GROUP BY dev_info.TAG_NAME;
DELETE accuml FROM accuml INNER JOIN tmpImportPsc3000PluginTbl ON accuml.DEVICE = tmpImportPsc3000PluginTbl.PLUGIN_NAME
AND COALESCE(accuml.RTU_TAG,'') = '';
DELETE analog FROM analog INNER JOIN tmpImportPsc3000PluginTbl ON analog.DEVICE = tmpImportPsc3000PluginTbl.PLUGIN_NAME
AND COALESCE(analog.RTU_TAG,'') = '';
DELETE digital FROM digital INNER JOIN tmpImportPsc3000PluginTbl ON digital.DEVICE = tmpImportPsc3000PluginTbl.PLUGIN_NAME
AND COALESCE(digital.RTU_TAG,'') = '';
DELETE mix FROM mix INNER JOIN tmpImportPsc3000PluginTbl ON mix.DEVICE = tmpImportPsc3000PluginTbl.PLUGIN_NAME
AND COALESCE(mix.RTU_TAG,'') = '';
#,,,
#acc
DELETE FROM tblPsc3000PointToAdd;
INSERT INTO tblPsc3000PointToAdd(DEV_TAG,TAG_NAME,FES_TAG_NAME,DOT_NO,DESCRIPTION)
SELECT '', fes_accuml.APP_TAG_NAME,fes_accuml.TAG_NAME,0,fes_accuml.DESCRIPTION
FROM fes_accuml WHERE fes_accuml.RTU_TAG = rtuTag AND fes_accuml.RES_PARA_INT1 = '-1';
DELETE accuml FROM accuml INNER JOIN tblPsc3000PointToAdd ON accuml.TAG_NAME = tblPsc3000PointToAdd.TAG_NAME;
DELETE fes_accuml FROM fes_accuml INNER JOIN tblPsc3000PointToAdd ON fes_accuml.TAG_NAME = tblPsc3000PointToAdd.FES_TAG_NAME;
#ana
DELETE FROM tblPsc3000PointToAdd;
INSERT INTO tblPsc3000PointToAdd(DEV_TAG,TAG_NAME,FES_TAG_NAME,DOT_NO,DESCRIPTION)
SELECT '', fes_analog.APP_TAG_NAME,fes_analog.TAG_NAME,0,fes_analog.DESCRIPTION
FROM fes_analog WHERE fes_analog.RTU_TAG = rtuTag AND fes_analog.RES_PARA_INT1 = '-1';
DELETE analog FROM analog INNER JOIN tblPsc3000PointToAdd ON analog.TAG_NAME = tblPsc3000PointToAdd.TAG_NAME;
DELETE fes_analog FROM fes_analog INNER JOIN tblPsc3000PointToAdd ON fes_analog.TAG_NAME = tblPsc3000PointToAdd.FES_TAG_NAME;
#dig ,,
DELETE FROM tblPsc3000PointToAdd;
INSERT INTO tblPsc3000PointToAdd(DEV_TAG,TAG_NAME,FES_TAG_NAME,DOT_NO,DESCRIPTION)
SELECT fes_digital.APP_COLUMN_NAME, fes_digital.APP_TAG_NAME, fes_digital.TAG_NAME, 0, fes_digital.DESCRIPTION
FROM fes_digital WHERE fes_digital.RTU_TAG = rtuTag AND fes_digital.RES_PARA_INT1 = '-1';
#,使map_to_fes表置-1
DELETE fes_digital FROM fes_digital INNER JOIN tblPsc3000PointToAdd ON fes_digital.TAG_NAME = tblPsc3000PointToAdd.FES_TAG_NAME;
#
UPDATE tblPsc3000PointToAdd INNER JOIN digital_map_to_fes
ON concat('digital.',tblPsc3000PointToAdd.TAG_NAME) = digital_map_to_fes.KEY_ID_TAG
AND digital_map_to_fes.DOT_NO1 = '-1'
AND digital_map_to_fes.DOT_NO2 = '-1'
AND digital_map_to_fes.DOT_NO3 = '-1'
AND digital_map_to_fes.DOT_NO4 = '-1'
AND digital_map_to_fes.DOT_NO5 = '-1'
SET tblPsc3000PointToAdd.DOT_NO = -1;
DELETE digital FROM digital INNER JOIN tblPsc3000PointToAdd
ON digital.TAG_NAME = tblPsc3000PointToAdd.TAG_NAME
AND tblPsc3000PointToAdd.DOT_NO = -1;
#mix
DELETE FROM tblPsc3000PointToAdd;
INSERT INTO tblPsc3000PointToAdd(DEV_TAG,TAG_NAME,FES_TAG_NAME,DOT_NO,DESCRIPTION)
SELECT '', fes_mix.APP_TAG_NAME,fes_mix.TAG_NAME,0,fes_mix.DESCRIPTION
FROM fes_mix WHERE fes_mix.RTU_TAG = rtuTag AND fes_mix.RES_PARA_INT1 = '-1';
DELETE mix FROM mix INNER JOIN tblPsc3000PointToAdd ON mix.TAG_NAME = tblPsc3000PointToAdd.TAG_NAME;
DELETE fes_mix FROM fes_mix INNER JOIN tblPsc3000PointToAdd ON fes_mix.TAG_NAME = tblPsc3000PointToAdd.FES_TAG_NAME;
#ana_ctrl
DELETE FROM tblPsc3000PointToAdd;
DELETE fes_analog_ctrl FROM fes_analog_ctrl WHERE fes_analog_ctrl.RTU_TAG = rtuTag AND fes_analog_ctrl.RES_PARA_INT1 = '-1';
INSERT INTO tblPsc3000PointToAdd(DEV_TAG,TAG_NAME,FES_TAG_NAME,DOT_NO,DESCRIPTION)
SELECT '',A.TAG_NAME,'','0',''
FROM
(SELECT TAG_NAME,RTU_TAG,OFFSET_NO FROM analog_control INNER JOIN tmpImportPsc3000PluginTbl
ON analog_control.TAG_NAME LIKE concat(tmpImportPsc3000PluginTbl.PLUGIN_NAME,'.%') ) AS A
LEFT JOIN fes_analog_ctrl ON fes_analog_ctrl.TAG_NAME = concat(A.RTU_TAG,'.',A.OFFSET_NO)
WHERE fes_analog_ctrl.TAG_NAME IS NULL;
DELETE analog_control FROM analog_control INNER JOIN tblPsc3000PointToAdd ON analog_control.TAG_NAME = tblPsc3000PointToAdd.TAG_NAME;
#dig_ctrl
DELETE FROM tblPsc3000PointToAdd;
DELETE fes_digital_ctrl FROM fes_digital_ctrl WHERE fes_digital_ctrl.RTU_TAG = rtuTag AND fes_digital_ctrl.RES_PARA_INT1 = '-1';
#
INSERT INTO tblPsc3000PointToAdd(DEV_TAG,TAG_NAME,FES_TAG_NAME,DOT_NO,DESCRIPTION)
SELECT '',A.TAG_NAME,'','0',''
FROM
(SELECT TAG_NAME,RTU_TAG,OFFSET_NO1 FROM digital_control INNER JOIN tmpImportPsc3000PluginTbl
ON digital_control.TAG_NAME LIKE concat(tmpImportPsc3000PluginTbl.PLUGIN_NAME,'.%') ) AS A
LEFT JOIN fes_digital_ctrl ON fes_digital_ctrl.TAG_NAME = concat(A.RTU_TAG,'.',A.OFFSET_NO1)
WHERE fes_digital_ctrl.TAG_NAME IS NULL;
UPDATE digital_control INNER JOIN tblPsc3000PointToAdd
ON digital_control.TAG_NAME = tblPsc3000PointToAdd.TAG_NAME
SET digital_control.OFFSET_NO1 = -1;
#
DELETE FROM tblPsc3000PointToAdd;
INSERT INTO tblPsc3000PointToAdd(DEV_TAG,TAG_NAME,FES_TAG_NAME,DOT_NO,DESCRIPTION)
SELECT '',A.TAG_NAME,'','0',''
FROM
(SELECT TAG_NAME,RTU_TAG,OFFSET_NO2 FROM digital_control INNER JOIN tmpImportPsc3000PluginTbl
ON digital_control.TAG_NAME LIKE concat(tmpImportPsc3000PluginTbl.PLUGIN_NAME,'.%') ) AS A
LEFT JOIN fes_digital_ctrl ON fes_digital_ctrl.TAG_NAME = concat(A.RTU_TAG,'.',A.OFFSET_NO2)
WHERE fes_digital_ctrl.TAG_NAME IS NULL;
UPDATE digital_control INNER JOIN tblPsc3000PointToAdd
ON digital_control.TAG_NAME = tblPsc3000PointToAdd.TAG_NAME
SET digital_control.OFFSET_NO2 = -1;
#
DELETE FROM tblPsc3000PointToAdd;
INSERT INTO tblPsc3000PointToAdd(DEV_TAG,TAG_NAME,FES_TAG_NAME,DOT_NO,DESCRIPTION)
SELECT '',A.TAG_NAME,'','0',''
FROM
(SELECT TAG_NAME,RTU_TAG,OFFSET_NO3 FROM digital_control INNER JOIN tmpImportPsc3000PluginTbl
ON digital_control.TAG_NAME LIKE concat(tmpImportPsc3000PluginTbl.PLUGIN_NAME,'.%') ) AS A
LEFT JOIN fes_digital_ctrl ON fes_digital_ctrl.TAG_NAME = concat(A.RTU_TAG,'.',A.OFFSET_NO3)
WHERE fes_digital_ctrl.TAG_NAME IS NULL;
UPDATE digital_control INNER JOIN tblPsc3000PointToAdd
ON digital_control.TAG_NAME = tblPsc3000PointToAdd.TAG_NAME
SET digital_control.OFFSET_NO3 = -1;
#
DELETE FROM tblPsc3000PointToAdd;
INSERT INTO tblPsc3000PointToAdd(DEV_TAG,TAG_NAME,FES_TAG_NAME,DOT_NO,DESCRIPTION)
SELECT '',A.TAG_NAME,'','0',''
FROM
(SELECT TAG_NAME,RTU_TAG,OFFSET_NO4 FROM digital_control INNER JOIN tmpImportPsc3000PluginTbl
ON digital_control.TAG_NAME LIKE concat(tmpImportPsc3000PluginTbl.PLUGIN_NAME,'.%') ) AS A
LEFT JOIN fes_digital_ctrl ON fes_digital_ctrl.TAG_NAME = concat(A.RTU_TAG,'.',A.OFFSET_NO4)
WHERE fes_digital_ctrl.TAG_NAME IS NULL;
UPDATE digital_control INNER JOIN tblPsc3000PointToAdd
ON digital_control.TAG_NAME = tblPsc3000PointToAdd.TAG_NAME
SET digital_control.OFFSET_NO4 = -1;
#
DELETE FROM tblPsc3000PointToAdd;
INSERT INTO tblPsc3000PointToAdd(DEV_TAG,TAG_NAME,FES_TAG_NAME,DOT_NO,DESCRIPTION)
SELECT '',A.TAG_NAME,'','0',''
FROM
(SELECT TAG_NAME,RTU_TAG,OFFSET_NO5 FROM digital_control INNER JOIN tmpImportPsc3000PluginTbl
ON digital_control.TAG_NAME LIKE concat(tmpImportPsc3000PluginTbl.PLUGIN_NAME,'.%') ) AS A
LEFT JOIN fes_digital_ctrl ON fes_digital_ctrl.TAG_NAME = concat(A.RTU_TAG,'.',A.OFFSET_NO5)
WHERE fes_digital_ctrl.TAG_NAME IS NULL;
UPDATE digital_control INNER JOIN tblPsc3000PointToAdd
ON digital_control.TAG_NAME = tblPsc3000PointToAdd.TAG_NAME
SET digital_control.OFFSET_NO5 = -1;
#digital控制属性为否
CREATE TEMPORARY TABLE IF NOT EXISTS tmpDelete(
TAG_NAME varchar(64) NOT NULL
);
DELETE FROM tmpDelete;
INSERT INTO tmpDelete(TAG_NAME)
SELECT TAG_NAME FROM digital_control INNER JOIN tmpImportPsc3000PluginTbl
ON digital_control.TAG_NAME LIKE concat(tmpImportPsc3000PluginTbl.PLUGIN_NAME,'.%')
AND digital_control.OFFSET_NO1 = '-1'
AND digital_control.OFFSET_NO2 = '-1'
AND digital_control.OFFSET_NO3 = '-1'
AND digital_control.OFFSET_NO4 = '-1'
AND digital_control.OFFSET_NO5 = '-1'
;
UPDATE digital set IS_CONTROL = 0 WHERE TAG_NAME IN
(SELECT TAG_NAME FROM tmpDelete)
;
#mix_ctrl
DELETE FROM tblPsc3000PointToAdd;
DELETE fes_mix_ctrl FROM fes_mix_ctrl WHERE fes_mix_ctrl.RTU_TAG = rtuTag AND fes_mix_ctrl.RES_PARA_INT1 = '-1';
INSERT INTO tblPsc3000PointToAdd(DEV_TAG,TAG_NAME,FES_TAG_NAME,DOT_NO,DESCRIPTION)
SELECT '',A.TAG_NAME,'','0',''
FROM
(SELECT TAG_NAME,RTU_TAG,OFFSET_NO FROM mix_control INNER JOIN tmpImportPsc3000PluginTbl
ON mix_control.TAG_NAME LIKE concat(tmpImportPsc3000PluginTbl.PLUGIN_NAME,'.%') ) AS A
LEFT JOIN fes_mix_ctrl ON fes_mix_ctrl.TAG_NAME = concat(A.RTU_TAG,'.',A.OFFSET_NO)
WHERE fes_mix_ctrl.TAG_NAME IS NULL;
DELETE mix_control FROM mix_control INNER JOIN tblPsc3000PointToAdd ON mix_control.TAG_NAME = tblPsc3000PointToAdd.TAG_NAME;
#,
#
DELETE FROM tblPsc3000PointToAdd;
INSERT INTO tblPsc3000PointToAdd(DEV_TAG,TAG_NAME,FES_TAG_NAME,DOT_NO,DESCRIPTION)
SELECT '',digital_map_to_fes.KEY_ID_TAG,'','0',''
FROM digital_map_to_fes INNER JOIN tmpImportPsc3000PluginTbl
ON DOT_NO1 != '-1' AND DOT_NO2 = '-1' AND DOT_NO3 = '-1' AND DOT_NO4 = '-1' AND DOT_NO5 = '-1'
AND digital_map_to_fes.KEY_ID_TAG LIKE concat('digital.', tmpImportPsc3000PluginTbl.PLUGIN_NAME,'.%')
;
UPDATE digital INNER JOIN tblPsc3000PointToAdd ON concat('digital.',digital.TAG_NAME) = tblPsc3000PointToAdd.TAG_NAME
SET digital.VALUE_NUM = 1,
digital.STATE_TEXT_NAME = IF(position('(' IN STATE_TEXT_NAME) = 0,STATE_TEXT_NAME,left(STATE_TEXT_NAME,position('(' IN STATE_TEXT_NAME) - 1));
#
DELETE FROM tblPsc3000PointToAdd;
INSERT INTO tblPsc3000PointToAdd(DEV_TAG,TAG_NAME,FES_TAG_NAME,DOT_NO,DESCRIPTION)
SELECT '',digital_map_to_fes.KEY_ID_TAG,'','0',''
FROM digital_map_to_fes INNER JOIN tmpImportPsc3000PluginTbl
ON DOT_NO1 != '-1' AND DOT_NO2 != '-1' AND DOT_NO3 = '-1' AND DOT_NO4 = '-1' AND DOT_NO5 = '-1'
AND digital_map_to_fes.KEY_ID_TAG LIKE concat('digital.', tmpImportPsc3000PluginTbl.PLUGIN_NAME,'.%')
;
UPDATE digital INNER JOIN tblPsc3000PointToAdd ON concat('digital.',digital.TAG_NAME) = tblPsc3000PointToAdd.TAG_NAME
SET digital.VALUE_NUM = 2;
#
DELETE FROM tblPsc3000PointToAdd;
INSERT INTO tblPsc3000PointToAdd(DEV_TAG,TAG_NAME,FES_TAG_NAME,DOT_NO,DESCRIPTION)
SELECT '',digital_control.TAG_NAME,'','0',''
FROM digital_control INNER JOIN tmpImportPsc3000PluginTbl
ON OFFSET_NO1 != '-1' AND OFFSET_NO2 = '-1' AND OFFSET_NO3 = '-1' AND OFFSET_NO4 = '-1' AND OFFSET_NO5 = '-1'
AND digital_control.TAG_NAME LIKE concat(tmpImportPsc3000PluginTbl.PLUGIN_NAME,'.%')
;
UPDATE digital_control INNER JOIN tblPsc3000PointToAdd ON digital_control.TAG_NAME = tblPsc3000PointToAdd.TAG_NAME
SET digital_control.OFFSET_NUM = 1;
#
DELETE FROM tblPsc3000PointToAdd;
INSERT INTO tblPsc3000PointToAdd(DEV_TAG,TAG_NAME,FES_TAG_NAME,DOT_NO,DESCRIPTION)
SELECT '',digital_control.TAG_NAME,'','0',''
FROM digital_control INNER JOIN tmpImportPsc3000PluginTbl
ON OFFSET_NO1 != '-1' AND OFFSET_NO2 != '-1' AND OFFSET_NO3 = '-1' AND OFFSET_NO4 = '-1' AND OFFSET_NO5 = '-1'
AND digital_control.TAG_NAME LIKE concat(tmpImportPsc3000PluginTbl.PLUGIN_NAME,'.%')
;
UPDATE digital_control INNER JOIN tblPsc3000PointToAdd ON digital_control.TAG_NAME = tblPsc3000PointToAdd.TAG_NAME
SET digital_control.OFFSET_NUM = 2;
#*****************************()******************************
# 1:23, 4:
CREATE TABLE IF NOT EXISTS tmpRelationControlTbl(
FES_TAG_NAME varchar(64),
DOT_NO decimal(10,0),
TAG_NAME varchar(64),
DESCRIPTION varchar(128),
DEVICE varchar(64)
);
DELETE FROM tmpRelationControlTbl;
#digital_control digital中添加点,digital_control中的点
INSERT INTO tmpRelationControlTbl(FES_TAG_NAME,DOT_NO,TAG_NAME,DESCRIPTION,DEVICE)
SELECT FES_DIGITAL_CTRL.TAG_NAME,FES_DIGITAL_CTRL.DOT_NO,CONCAT(locationTag,'.',DEV_GROUP_TAG,'_jgxh','.',psc3000_dig_ctrl.TAG_NAME),psc3000_dig_ctrl.DESCRIPTION,CONCAT(locationTag,'.',DEV_GROUP_TAG,'_jgxh') FROM FES_DIGITAL_CTRL
LEFT JOIN psc3000_dig_ctrl on RES_PARA_INT1 = REMOTE_NO
LEFT JOIN psc3000_plugin on psc3000_dig_ctrl.DEV_ID = FES_DEV_INST_ID
WHERE fes_digital_ctrl.RTU_TAG = rtuTag
and fes_digital_ctrl.DOT_NO not in
(SELECT OFFSET_NO1 FROM DIGITAL_CONTROL WHERE RTU_TAG = rtuTag AND OFFSET_NO1 <> -1)
and fes_digital_ctrl.DOT_NO not in
(SELECT OFFSET_NO2 FROM DIGITAL_CONTROL WHERE RTU_TAG = rtuTag AND OFFSET_NO2 <> -1)
and fes_digital_ctrl.DOT_NO not in
(SELECT OFFSET_NO3 FROM DIGITAL_CONTROL WHERE RTU_TAG = rtuTag AND OFFSET_NO3 <> -1)
and fes_digital_ctrl.DOT_NO not in
(SELECT OFFSET_NO4 FROM DIGITAL_CONTROL WHERE RTU_TAG = rtuTag AND OFFSET_NO4 <> -1)
and fes_digital_ctrl.DOT_NO not in
(SELECT OFFSET_NO5 FROM DIGITAL_CONTROL WHERE RTU_TAG = rtuTag AND OFFSET_NO5 <> -1)
;
#
INSERT IGNORE INTO digital(
TAG_NAME, DESCRIPTION, DEVICE, SEQ_NO, LOCATION_ID, SUB_SYSTEM, RTU_TAG, IS_CONTROL, STATE_TEXT_NAME, VALUE_NUM, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, LAST_UPDATE_TIME, VALUE1, STATUS1, LAST_CHANGE_TIME1, VALUE2, STATUS2, LAST_CHANGE_TIME2, VALUE3, STATUS3, LAST_CHANGE_TIME3, VALUE4, STATUS4, LAST_CHANGE_TIME4, VALUE5, STATUS5, LAST_CHANGE_TIME5, ALARM_PRIORITY, PIC_NAME, SOUND_NAME1, SOUND_NAME2, SOUND_NAME3, ALARM_DELAY_TIME, INPUT_DELAY_TIME, IS_WATER_ALM, IS_ACK_ON_RTN, DEL_ACT_ON_ACK, IS_NEVER_ALM_ON_RTN, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TYPE, POINT_TP_NAME, IS_SAMPLE, IS_STATISTICS, SAMPLE_PERIOD, IS_ALARM_FREQ, ALARM_FREQ, ALARM_FREQ_DESC, IS_ALARM_TIME, ALARM_TIME, ALARM_TIME_DESC, ALARM_FREQ_RANGE, INFER_NAME, POINT_TYPE, POINT_CLASS, POINT_PROPERTY, POINT_SORT, CAMERA_TAG, PRESET_ID )
SELECT
tmpRelationControlTbl.TAG_NAME, tmpRelationControlTbl.DESCRIPTION,dev_info.TAG_NAME,getMaxSeq(dev_info.TAG_NAME,'digital')+1, locationId, subsystemId, rtuTag, '1', 'PSCADA中断/正常', '1', dev_info.GRAY, dev_info.CONTRAST, dev_info.QCOLOR,dev_info.VALUE, dev_info.STATUS, 0, 0, 0, '0', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '1', '', '', '', '', '5', '1', '0', '1', '0', '0', regionId, dev_info.OPT_HANDOVER_GROUP, '0', '0', '0', dev_info.DEV_TYPE, '', '0', '0', '5', '0', '10', '计次报警描述', '0', '5', '计时报警描述', '30', '', '1', '0', '0', '300', '', ''
FROM tmpRelationControlTbl,dev_info
WHERE tmpRelationControlTbl.DEVICE = dev_info.TAG_NAME ;
#digital_control
UPDATE digital_control INNER JOIN tmpRelationControlTbl ON digital_control.TAG_NAME = tmpRelationControlTbl.TAG_NAME
SET digital_control.OFFSET_NUM = 1,OFFSET_NO1 = tmpRelationControlTbl.DOT_NO;
#analog_control
#*********************************************************************************************************
#,,tmpImportPsc3000PluginTbl中存储设备信息
UPDATE tmpImportPsc3000PluginTbl INNER JOIN digital ON tmpImportPsc3000PluginTbl.PLUGIN_NAME = digital.DEVICE
SET tmpImportPsc3000PluginTbl.DEV_GRP = '';
UPDATE tmpImportPsc3000PluginTbl INNER JOIN accuml ON tmpImportPsc3000PluginTbl.PLUGIN_NAME = accuml.DEVICE
SET tmpImportPsc3000PluginTbl.DEV_GRP = '';
UPDATE tmpImportPsc3000PluginTbl INNER JOIN analog ON tmpImportPsc3000PluginTbl.PLUGIN_NAME = analog.DEVICE
SET tmpImportPsc3000PluginTbl.DEV_GRP = '';
UPDATE tmpImportPsc3000PluginTbl INNER JOIN mix ON tmpImportPsc3000PluginTbl.PLUGIN_NAME = mix.DEVICE
SET tmpImportPsc3000PluginTbl.DEV_GRP = '';
#DEV_GRP不为空,
DELETE dev_info FROM dev_info INNER JOIN tmpImportPsc3000PluginTbl ON dev_info.TAG_NAME = tmpImportPsc3000PluginTbl.PLUGIN_NAME
WHERE tmpImportPsc3000PluginTbl.DEV_GRP != '';
#,
/*SET hasDone = 0;
OPEN cur_2;
FETCH cur_2 INTO myDevTag;
WHILE hasDone != 1 DO
IF myDevTag IS NOT NULL THEN
BEGIN
CALL updateDescByFes(myDevTag);
END;
END IF;
FETCH cur_2 INTO myDevTag;
END WHILE;
CLOSE cur_2;*/
#,tmpPsc3000PluginFesTempTbl表中是导入的前置设备
DELETE fes_data_block FROM fes_data_block INNER JOIN tmpPsc3000PluginFesTempTbl WHERE fes_data_block.DEV_TAG = concat(rtuTag,'.',tmpPsc3000PluginFesTempTbl.TAG_NAME);
INSERT INTO fes_data_block(
TAG_NAME, BLOCK_ID,RTU_TAG,RTU_NO, FUNC_CODE,STAR_ADDR,DATA_LEN, DATA_FARME_TYPE, REF_CYCLE, IS_CREATE_SOE, PARA_INT1, PARA_INT2, DESCRIPTION,LOCATION_ID, SUB_SYSTEM, LD, CALL_MODE, DATA_SET,DATA_SET_TYPE,DATA_SET_CALL_TIME,REPORT_CTRL,FES_POINT_TP_NAME, DEV_TAG) SELECT
concat(rtuTag,'.',tmpPsc3000PluginFesTempTbl.TAG_NAME,'.',getAfterLastDot(fes_data_block_temp.TAG_NAME)), BLOCK_ID,rtuTag, rtuNo, FUNC_CODE,STAR_ADDR,DATA_LEN, DATA_FARME_TYPE, REF_CYCLE, IS_CREATE_SOE, PARA_INT1, PARA_INT2, DESCRIPTION,locationId, subsystemId,LD, CALL_MODE, DATA_SET,DATA_SET_TYPE,DATA_SET_CALL_TIME,REPORT_CTRL,'', concat(rtuTag,'.',tmpPsc3000PluginFesTempTbl.TAG_NAME)
FROM tmpPsc3000PluginFesTempTbl INNER JOIN fes_data_block_temp ON tmpPsc3000PluginFesTempTbl.FES_TEMP = fes_data_block_temp.DEV_TP_NAME;
#,PLC的设备ID,
UPDATE fes_dev_info SET DEV_ID = IF((DEV_ID DIV 10000) = 0,DEV_ID,(DEV_ID DIV 10000)) WHERE RTU_TAG = rtuTag;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `InsertForwardAcc`;
DELIMITER $$
CREATE PROCEDURE `InsertForwardAcc`(rtuTagName varchar(64), startNum decimal(10,0))
body:BEGIN
#使,,EXPORT_SEQ表中
#,
#rtuTagName RTU
#startNum ,startNum等于指定rtuTagName的最大ID时,
DECLARE countNum int DEFAULT 0;
SELECT count(*) INTO countNum FROM export_seq;
#
UPDATE fes_forwarding_accuml
SET ID = ID + countNum
WHERE RTU_TAG = rtuTagName AND ID > startNum ORDER BY ID DESC;
INSERT INTO fes_forwarding_accuml
(RTU_TAG, ID, REMOTE_NO, TAG_NAME, DESCRIPTION, SHORT_NAME, FES_RTU_TAG, FES_RTU_NO, FES_DOT_NO, GROUP_NO, COEFF, BASE, PROPERTY, PARALONG_1, PARALONG_2, PARASTRING)
SELECT
rtuTagName,export_seq.`NO`,export_seq.`NO`,TAG_NAME, DESCRIPTION, '', RTU_TAG, RTU_NO, DOT_NO, '0', '0', '0', '0', '0', '0', ''
FROM export_seq,fes_accuml WHERE export_seq.DEV_TAG = fes_accuml.TAG_NAME;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `InsertForwardAna`;
DELIMITER $$
CREATE PROCEDURE `InsertForwardAna`(rtuTagName varchar(64), startNum decimal(10,0))
body:BEGIN
#使,,EXPORT_SEQ表中
#,
#rtuTagName RTU
#startNum ,startNum等于指定rtuTagName的最大ID时,
DECLARE countNum int DEFAULT 0;
SELECT count(*) INTO countNum FROM export_seq;
#
UPDATE fes_forwarding_anaolg
SET ID = ID + countNum
WHERE RTU_TAG = rtuTagName AND ID > startNum ORDER BY ID DESC;
INSERT INTO fes_forwarding_anaolg
(RTU_TAG, ID, REMOTE_NO, TAG_NAME, DESCRIPTION, SHORT_NAME, FES_RTU_TAG, FES_RTU_NO, FES_DOT_NO, GROUP_NO, COEFF, BASE, DEADBAND, PROPERTY, PARALONG_1, PARALONG_2, PARASTRING)
SELECT
rtuTagName,export_seq.`NO`,export_seq.`NO`,TAG_NAME, DESCRIPTION, '', RTU_TAG, RTU_NO, DOT_NO, '0', '0', '0', '0', '0', '0', '0', ''
FROM export_seq,fes_analog WHERE export_seq.DEV_TAG = fes_analog.TAG_NAME;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `InsertForwardAnaCtrl`;
DELIMITER $$
CREATE PROCEDURE `InsertForwardAnaCtrl`(rtuTagName varchar(64), startNum decimal(10,0))
body:BEGIN
#使,,EXPORT_SEQ表中
#,
#rtuTagName RTU
#startNum ,startNum等于指定rtuTagName的最大ID时,
DECLARE countNum int DEFAULT 0;
SELECT count(*) INTO countNum FROM export_seq;
#
UPDATE fes_forwarding_anaolg_ctrl
SET ID = ID + countNum
WHERE RTU_TAG = rtuTagName AND ID > startNum ORDER BY ID DESC;
INSERT INTO fes_forwarding_anaolg_ctrl
(RTU_TAG, ID, REMOTE_NO, TAG_NAME, DESCRIPTION, SHORT_NAME, FES_RTU_TAG, FES_RTU_NO, FES_DOT_NO, GROUP_NO, PROPERTY, PARALONG_1, PARALONG_2, PARASTRING)
SELECT
rtuTagName,export_seq.`NO`,export_seq.`NO`,TAG_NAME, DESCRIPTION, '', RTU_TAG, RTU_NO, DOT_NO, '0', '0', '0', '0', ''
FROM export_seq,fes_analog_ctrl WHERE export_seq.DEV_TAG = fes_analog_ctrl.TAG_NAME;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `InsertForwardDig`;
DELIMITER $$
CREATE PROCEDURE `InsertForwardDig`(rtuTagName varchar(64), startNum decimal(10,0))
body:BEGIN
#使,,EXPORT_SEQ表中
#,
#rtuTagName RTU
#startNum ,startNum等于指定rtuTagName的最大ID时,
DECLARE countNum int DEFAULT 0;
SELECT count(*) INTO countNum FROM export_seq;
#
UPDATE fes_forwarding_digital
SET ID = ID + countNum
WHERE RTU_TAG = rtuTagName AND ID > startNum ORDER BY ID DESC;
INSERT INTO fes_forwarding_digital
(RTU_TAG, ID, REMOTE_NO, TAG_NAME, DESCRIPTION, SHORT_NAME, FES_RTU_TAG, FES_RTU_NO, FES_DOT_NO, GROUP_NO, REVERT, PROPERTY, PARALONG_1, PARALONG_2, PARASTRING)
SELECT
rtuTagName,export_seq.`NO`,export_seq.`NO`,TAG_NAME, DESCRIPTION, '', RTU_TAG, RTU_NO, DOT_NO, '0', '0', '0', '0', '0', ''
FROM export_seq,fes_digital WHERE export_seq.DEV_TAG = fes_digital.TAG_NAME;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `InsertForwardDigCtrl`;
DELIMITER $$
CREATE PROCEDURE `InsertForwardDigCtrl`(rtuTagName varchar(64), startNum decimal(10,0))
body:BEGIN
#使,,EXPORT_SEQ表中
#,
#rtuTagName RTU
#startNum ,startNum等于指定rtuTagName的最大ID时,
DECLARE countNum int DEFAULT 0;
SELECT count(*) INTO countNum FROM export_seq;
#
UPDATE fes_forwarding_digital_ctrl
SET ID = ID + countNum
WHERE RTU_TAG = rtuTagName AND ID > startNum ORDER BY ID DESC;
INSERT INTO fes_forwarding_digital_ctrl
(RTU_TAG, ID, REMOTE_NO, TAG_NAME, DESCRIPTION, SHORT_NAME, FES_RTU_TAG, FES_RTU_NO, FES_DOT_NO, GROUP_NO, PROPERTY, PARALONG_1, PARALONG_2, PARASTRING)
SELECT
rtuTagName,export_seq.`NO`,export_seq.`NO`,TAG_NAME, DESCRIPTION, '', RTU_TAG, RTU_NO, DOT_NO, '0', '0', '0', '0', ''
FROM export_seq,fes_digital_ctrl WHERE export_seq.DEV_TAG = fes_digital_ctrl.TAG_NAME;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `instDevTempGroup`;
DELIMITER $$
CREATE PROCEDURE `instDevTempGroup`(srcTempGroupName varchar(64), dstDevGroupName varchar(64))
body:BEGIN
/*
* 实例化整个模板组
*/
DECLARE locationTagName varchar(64) DEFAULT '';
# DECLARE totalInst int DEFAULT 1;
IF COALESCE(srcTempGroupName,'') = '' OR COALESCE(dstDevGroupName,'')=''
THEN LEAVE body;
END IF;
SELECT sys_model_location_info.TAG_NAME INTO locationTagName
FROM dev_group,sys_model_location_info
WHERE
dev_group.TAG_NAME = dstDevGroupName AND
dev_group.LOCATION_ID = sys_model_location_info.LOCATION_ID;
IF COALESCE(locationTagName,'') = ''
THEN LEAVE body;
END IF;
/*
SELECT count(*) INTO totalInst FROM dev_info WHERE TAG_NAME LIKE '%Xinst%';
SET totalInst = totalInst + 1;
*/
INSERT INTO dev_info(
TAG_NAME, DESCRIPTION, LOCATION_ID, SUB_SYSTEM, GROUP_TAG_NAME, VOL_LEVEL_ID, DEV_TYPE, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, NODE_NO1, NODE_NO2, NODE_NO3, NODE_NO4, NODE_NO5, NODE_NO6, NODE_NO7, NODE_NO8, NODE_NO9, NODE_NO10, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TP_NAME) SELECT
concat(locationTagName,'.',getAfterLastDot(dstDevGroupName), dev_temp_def.TAG_NAME), dev_temp_def.DESCRIPTION, dev_group.LOCATION_ID, dev_group.SUB_SYSTEM, dstDevGroupName,'0', DEV_TYPE_ID, '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', REGION_ID, '', '0', '0', '0', dev_temp_def.TAG_NAME
FROM dev_group,dev_temp_group,dev_temp_def
WHERE
dev_group.TAG_NAME = dstDevGroupName AND
dev_temp_group.TAG_NAME = srcTempGroupName AND
dev_temp_group.TAG_NAME = dev_temp_def.DEV_TEMP_GRP;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `instPlugin`;
DELIMITER $$
CREATE PROCEDURE `instPlugin`(pluginName varchar(64),rtuTag varchar(64),devGroupName varchar(64), isBatchInGrp int,startNo int,countNo int)
body:BEGIN
#,
#pluginName
#rtuTag rtu名
#devGroupName
#isBatchInGrp
#startNo
#countNo
#,,
#_模板名+
#_模板+
DECLARE locationId decimal(10,0) DEFAULT 0;
DECLARE subsystemId decimal(10,0) DEFAULT 0;
DECLARE rtuNo decimal(10,0) DEFAULT 0;
DECLARE regionId decimal(10,0) DEFAULT 0;
DECLARE devGrpDesc varchar(128) DEFAULT '';
DECLARE tempName varchar(64) DEFAULT '';
DECLARE fesTempName varchar(64) DEFAULT '';
DECLARE sampleGrpName varchar(64) DEFAULT '';
DECLARE stepCount int DEFAULT 0;
DECLARE hasDone int DEFAULT 0;
DECLARE fesDevCount int DEFAULT 0;
DECLARE cur_relation CURSOR
FOR
SELECT TEMP_NAME,FES_TEMP_NAME FROM temp_plugin_fes_dev_map WHERE PLUGIN_NAME = pluginName;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET hasDone = 1;
SELECT LOCATION_ID,SUB_SYSTEM,RTU_NO INTO locationId,subsystemId,rtuNo FROM fes_rtu_para WHERE TAG_NAME = rtuTag;
SELECT REGION_ID,DESCRIPTION INTO regionId,devGrpDesc FROM dev_group WHERE TAG_NAME = devGroupName;
SET sampleGrpName = getAfterLastDot(devGroupName);
SET fesDevCount = (SELECT COUNT(*) FROM fes_dev_info WHERE RTU_NO = rtuNo);
#
IF isBatchInGrp <> 1 THEN
BEGIN
#,TAG_NAME的命名规则
INSERT INTO DEV_INFO
(TAG_NAME, DESCRIPTION, DEV_NAME, LOCATION_ID, SUB_SYSTEM, GROUP_TAG_NAME, VOL_LEVEL_ID, DEV_TYPE, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, NODE_NO1, NODE_NO2, NODE_NO3, NODE_NO4, NODE_NO5, NODE_NO6, NODE_NO7, NODE_NO8, NODE_NO9, NODE_NO10, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TP_NAME)
SELECT
concat(devGroupName,'_',TEMP_NAME),DESCRIPTION,'', locationId, subsystemId,devGroupName, '0', DEV_TYPE_ID,'0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', regionId, '', '0', '0', '0', TEMP_NAME
FROM temp_plugin_dev_map,dev_temp_def WHERE PLUGIN_NAME = pluginName AND temp_plugin_dev_map.TEMP_NAME = dev_temp_def.TAG_NAME;
#
INSERT INTO FES_DEV_INFO
(DEV_DESC, DEV_ID,DEV_NAME, DEV_TP_NAME, DEV_TYPE_ID,LOCATION_ID,RTU_NO,RTU_TAG,SUB_SYSTEM,TAG_NAME)
SELECT
concat(devGrpDesc,'_',DESCRIPTION), fesDevCount, concat(sampleGrpName,'_',FES_TEMP_NAME) ,FES_TEMP_NAME,DEV_TYPE_ID,locationId, rtuNo, rtuTag, subsystemId,concat(rtuTag,'.',sampleGrpName,'_',FES_TEMP_NAME)
FROM temp_plugin_fes_dev_map, fes_dev_temp_def WHERE PLUGIN_NAME = pluginName AND temp_plugin_fes_dev_map.FES_TEMP_NAME = fes_dev_temp_def.TAG_NAME
GROUP BY temp_plugin_fes_dev_map.FES_TEMP_NAME;
#
OPEN cur_relation;
FETCH cur_relation INTO tempName,fesTempName;
WHILE hasDone != 1 DO
CALL relationByPlugin(pluginName,concat(devGroupName,'_',tempName), concat(rtuTag,'.',sampleGrpName,'_',fesTempName));
FETCH cur_relation INTO tempName,fesTempName;
END WHILE;
CLOSE cur_relation;
END;
ELSE
BEGIN
#,
#,TAG_NAME的命名规则
SET stepCount = startNo;
WHILE stepCount < (startNo + countNo) DO
INSERT INTO DEV_INFO
(TAG_NAME, DESCRIPTION, DEV_NAME, LOCATION_ID, SUB_SYSTEM, GROUP_TAG_NAME, VOL_LEVEL_ID, DEV_TYPE, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, NODE_NO1, NODE_NO2, NODE_NO3, NODE_NO4, NODE_NO5, NODE_NO6, NODE_NO7, NODE_NO8, NODE_NO9, NODE_NO10, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TP_NAME)
SELECT
concat(devGroupName,'_',TEMP_NAME,stepCount),concat(DESCRIPTION,stepCount),'', locationId, subsystemId,devGroupName, '0', DEV_TYPE_ID,'0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', regionId, '', '0', '0', '0', TEMP_NAME
FROM temp_plugin_dev_map,dev_temp_def WHERE PLUGIN_NAME = pluginName AND temp_plugin_dev_map.TEMP_NAME = dev_temp_def.TAG_NAME;
#
INSERT INTO FES_DEV_INFO
(DEV_DESC, DEV_ID,DEV_NAME, DEV_TP_NAME, DEV_TYPE_ID,LOCATION_ID,RTU_NO,RTU_TAG,SUB_SYSTEM,TAG_NAME)
SELECT
concat(devGrpDesc,'_',DESCRIPTION,stepCount),fesDevCount, concat(sampleGrpName,'_',FES_TEMP_NAME,stepCount) ,FES_TEMP_NAME,DEV_TYPE_ID,locationId, rtuNo, rtuTag, subsystemId,concat(rtuTag,'.',sampleGrpName,'_',FES_TEMP_NAME,stepCount)
FROM temp_plugin_fes_dev_map, fes_dev_temp_def WHERE PLUGIN_NAME = pluginName AND temp_plugin_fes_dev_map.FES_TEMP_NAME = fes_dev_temp_def.TAG_NAME
GROUP BY temp_plugin_fes_dev_map.FES_TEMP_NAME;
#
OPEN cur_relation;
FETCH cur_relation INTO tempName,fesTempName;
WHILE hasDone != 1 DO
CALL relationByPlugin(pluginName,concat(devGroupName,'_',tempName,stepCount), concat(rtuTag,'.',sampleGrpName,'_',fesTempName,stepCount));
FETCH cur_relation INTO tempName,fesTempName;
END WHILE;
CLOSE cur_relation;
SET stepCount = stepCount + 1;
SET hasDone = 0;
END WHILE;
END;
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `instPluginByFesDev`;
DELIMITER $$
CREATE PROCEDURE `instPluginByFesDev`(pluginName varchar(64),rtuTag varchar(64),devGroupName varchar(64), fesDevTag varchar(64),fesDevDes varchar(64))
body:BEGIN
#,
#pluginName
#rtuTag rtu名
#devGroupName
#fesDevTag
#fesDevDes
DECLARE locationId decimal(10,0) DEFAULT 0;
DECLARE subsystemId decimal(10,0) DEFAULT 0;
DECLARE rtuNo decimal(10,0) DEFAULT 0;
DECLARE regionId decimal(10,0) DEFAULT 0;
DECLARE devGrpDesc varchar(128) DEFAULT '';
DECLARE tempName varchar(64) DEFAULT '';
DECLARE sampleGrpName varchar(64) DEFAULT '';
DECLARE hasDone int DEFAULT 0;
DECLARE fesDevCount int DEFAULT 0;
DECLARE cur_relation CURSOR
FOR
SELECT TEMP_NAME FROM temp_plugin_fes_dev_map WHERE PLUGIN_NAME = pluginName;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET hasDone = 1;
SELECT LOCATION_ID,SUB_SYSTEM,RTU_NO INTO locationId,subsystemId,rtuNo FROM fes_rtu_para WHERE TAG_NAME = rtuTag;
SELECT REGION_ID,DESCRIPTION INTO regionId,devGrpDesc FROM dev_group WHERE TAG_NAME = devGroupName;
SET sampleGrpName = getAfterLastDot(devGroupName);
SET fesDevCount = (SELECT COUNT(*) FROM fes_dev_info WHERE RTU_NO = rtuNo);
BEGIN
#,TAG_NAME的命名规则
INSERT INTO DEV_INFO
(TAG_NAME, DESCRIPTION, DEV_NAME, LOCATION_ID, SUB_SYSTEM, GROUP_TAG_NAME, VOL_LEVEL_ID, DEV_TYPE, GRAY, CONTRAST, QCOLOR, VALUE, STATUS, NODE_NO1, NODE_NO2, NODE_NO3, NODE_NO4, NODE_NO5, NODE_NO6, NODE_NO7, NODE_NO8, NODE_NO9, NODE_NO10, REGION_ID, OPT_HANDOVER_GROUP, IS_SUMMARY, SUMMARY_VALUE, SUMMARY_STATUS, DEV_TP_NAME)
SELECT
concat(devGroupName,'_',TEMP_NAME),DESCRIPTION,'', locationId, subsystemId,devGroupName, '0', DEV_TYPE_ID,'0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', regionId, '', '0', '0', '0', TEMP_NAME
FROM temp_plugin_dev_map,dev_temp_def WHERE PLUGIN_NAME = pluginName AND temp_plugin_dev_map.TEMP_NAME = dev_temp_def.TAG_NAME;
#
INSERT INTO FES_DEV_INFO
(DEV_DESC, DEV_ID, DEV_NAME, DEV_TP_NAME, DEV_TYPE_ID,LOCATION_ID,RTU_NO,RTU_TAG,SUB_SYSTEM,TAG_NAME)
SELECT
fesDevDes, fesDevCount, fesDevTag,FES_TEMP_NAME,DEV_TYPE_ID,locationId, rtuNo, rtuTag, subsystemId,concat(rtuTag,'.',fesDevTag)
FROM temp_plugin_fes_dev_map, fes_dev_temp_def WHERE PLUGIN_NAME = pluginName AND temp_plugin_fes_dev_map.FES_TEMP_NAME = fes_dev_temp_def.TAG_NAME
GROUP BY temp_plugin_fes_dev_map.FES_TEMP_NAME;
#
OPEN cur_relation;
FETCH cur_relation INTO tempName;
WHILE hasDone != 1 DO
CALL relationByPlugin(pluginName,concat(devGroupName,'_',tempName), concat(rtuTag,'.',fesDevTag));
FETCH cur_relation INTO tempName;
END WHILE;
CLOSE cur_relation;
END;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `relationByDevGroup`;
DELIMITER $$
CREATE PROCEDURE `relationByDevGroup`(groupName varchar(64))
body:BEGIN
/*
* 后台和前置相同设备组之间进行关联
*/
#,map_to_fes的Key_ID_TAG,RTU_TAG,DOT_NO, OFFSET_NO对应的是digital有5个分量的情况
CREATE TEMPORARY TABLE IF NOT EXISTS tmpRelationGroupTbl(
KEY_ID_TAG varchar(128) NOT NULL,
RTU_TAG varchar(64) NOT NULL,
DOT_NO varchar(48) NOT NULL,
OFFSET_NO decimal(10)
);
DELETE FROM tmpRelationGroupTbl;
#accuml为例,.accuml点,fes_accuml点的Key_ID_TAG和DOT_NO写入临时表
INSERT INTO tmpRelationGroupTbl (KEY_ID_TAG ,RTU_TAG, DOT_NO)
SELECT tb1.KEY_ID_TAG, tb2.RTU_TAG, tb2.DOT_NO
FROM
(SELECT accuml_map_to_fes.KEY_ID_TAG,accuml_temp_define.SEC_DEVTP_NAME,accuml_temp_define.SEC_DEV_IN_GRP,accuml_temp_define.SEC_SEQ_NO
FROM dev_info, accuml, accuml_map_to_fes,accuml_temp_define
WHERE
dev_info.GROUP_TAG_NAME = groupName AND
accuml.DEVICE = dev_info.TAG_NAME AND
accuml_map_to_fes.KEY_ID_TAG = concat('accuml','.' ,accuml.TAG_NAME) AND
accuml_map_to_fes.POINT_TP_NAME = accuml_temp_define.TAG_NAME AND
COALESCE(accuml_temp_define.SEC_SEQ_NO,-1) >= 0
)tb1 INNER JOIN
(SELECT fes_accuml.RTU_TAG,fes_accuml.DOT_NO,fes_accuml.FES_POINT_TP_NAME,fes_accuml.SEQ_NO,fes_dev_info.NO_IN_DEV_GRP
FROM fes_dev_info, fes_accuml
WHERE
fes_dev_info.DEV_GROUP = groupName AND
fes_accuml.DEV_TAG = fes_dev_info.TAG_NAME
)tb2
ON
tb1.SEC_DEVTP_NAME = getBeforeLastDot(tb2.FES_POINT_TP_NAME) AND
tb1.SEC_DEV_IN_GRP = tb2.NO_IN_DEV_GRP AND
tb1.SEC_SEQ_NO = tb2.SEQ_NO;
#,
UPDATE fes_accuml INNER JOIN tmpRelationGroupTbl ON
fes_accuml.TAG_NAME = concat(tmpRelationGroupTbl.RTU_TAG,'.', tmpRelationGroupTbl.DOT_NO)
SET APP_TABLE_NAME='',APP_TAG_NAME='',APP_COLUMN_NAME='';
#
UPDATE accuml INNER JOIN dev_info
ON dev_info.GROUP_TAG_NAME = groupName AND accuml.DEVICE = dev_info.TAG_NAME
SET RTU_TAG = '';
#,RTU,
UPDATE accuml INNER JOIN tmpRelationGroupTbl
ON accuml.TAG_NAME = getAfterFirstDot(tmpRelationGroupTbl.KEY_ID_TAG)
SET accuml.RTU_TAG = tmpRelationGroupTbl.RTU_TAG;
UPDATE accuml_map_to_fes INNER JOIN
(SELECT KEY_ID_TAG,DOT_NO
FROM tmpRelationGroupTbl GROUP BY RTU_TAG,DOT_NO ) t1
ON accuml_map_to_fes.KEY_ID_TAG = t1.KEY_ID_TAG
SET accuml_map_to_fes.DOT_NO = t1.DOT_NO;
#analog
DELETE FROM tmpRelationGroupTbl;
INSERT INTO tmpRelationGroupTbl (KEY_ID_TAG ,RTU_TAG, DOT_NO)
SELECT tb1.KEY_ID_TAG, tb2.RTU_TAG, tb2.DOT_NO
FROM
(SELECT analog_map_to_fes.KEY_ID_TAG,analog_temp_define.SEC_DEVTP_NAME,analog_temp_define.SEC_DEV_IN_GRP,analog_temp_define.SEC_SEQ_NO
FROM dev_info,analog, analog_map_to_fes,analog_temp_define
WHERE
dev_info.GROUP_TAG_NAME = groupName AND
analog.DEVICE = dev_info.TAG_NAME AND
analog_map_to_fes.KEY_ID_TAG = concat('analog','.' ,analog.TAG_NAME) AND
analog_map_to_fes.POINT_TP_NAME = analog_temp_define.TAG_NAME AND
COALESCE(analog_temp_define.SEC_SEQ_NO,-1) >= 0
)tb1 INNER JOIN
(SELECT fes_analog.RTU_TAG,fes_analog.DOT_NO,fes_analog.FES_POINT_TP_NAME,fes_analog.SEQ_NO,fes_dev_info.NO_IN_DEV_GRP
FROM fes_dev_info, fes_analog
WHERE
fes_dev_info.DEV_GROUP = groupName AND
fes_analog.DEV_TAG = fes_dev_info.TAG_NAME
)tb2
ON
tb1.SEC_DEVTP_NAME = getBeforeLastDot(tb2.FES_POINT_TP_NAME) AND
tb1.SEC_DEV_IN_GRP = tb2.NO_IN_DEV_GRP AND
tb1.SEC_SEQ_NO = tb2.SEQ_NO;
#,
UPDATE fes_analog INNER JOIN tmpRelationGroupTbl ON
fes_analog.TAG_NAME = concat(tmpRelationGroupTbl.RTU_TAG,'.', tmpRelationGroupTbl.DOT_NO)
SET APP_TABLE_NAME='',APP_TAG_NAME='',APP_COLUMN_NAME='';
#
UPDATE analog INNER JOIN dev_info
ON dev_info.GROUP_TAG_NAME = groupName AND analog.DEVICE = dev_info.TAG_NAME
SET RTU_TAG = '';
UPDATE analog INNER JOIN tmpRelationGroupTbl
ON analog.TAG_NAME = getAfterFirstDot(tmpRelationGroupTbl.KEY_ID_TAG)
SET analog.RTU_TAG = tmpRelationGroupTbl.RTU_TAG;
UPDATE analog_map_to_fes INNER JOIN
(SELECT KEY_ID_TAG,DOT_NO
FROM tmpRelationGroupTbl GROUP BY RTU_TAG,DOT_NO ) t1
ON analog_map_to_fes.KEY_ID_TAG = t1.KEY_ID_TAG
SET analog_map_to_fes.DOT_NO = t1.DOT_NO;
#DIGITAL
DELETE FROM tmpRelationGroupTbl;
INSERT INTO tmpRelationGroupTbl (KEY_ID_TAG ,RTU_TAG, DOT_NO,OFFSET_NO)
SELECT tb1.KEY_ID_TAG, tb2.RTU_TAG, tb2.DOT_NO ,1
FROM
(SELECT digital_map_to_fes.KEY_ID_TAG,digital_temp_define.SEC_DEVTP_NAME,digital_temp_define.SEC_DEV_IN_GRP,digital_temp_define.SEC_SEQ_NO1
FROM dev_info,digital, digital_map_to_fes,digital_temp_define
WHERE
dev_info.GROUP_TAG_NAME = groupName AND
digital.DEVICE = dev_info.TAG_NAME AND
digital_map_to_fes.KEY_ID_TAG = concat('digital','.' ,digital.TAG_NAME) AND
digital_map_to_fes.POINT_TP_NAME = digital_temp_define.TAG_NAME AND
COALESCE(digital_temp_define.SEC_SEQ_NO1,-1) >= 0
)tb1 INNER JOIN
(SELECT fes_digital.RTU_TAG,fes_digital.DOT_NO,fes_digital.FES_POINT_TP_NAME,fes_digital.SEQ_NO,fes_dev_info.NO_IN_DEV_GRP
FROM fes_dev_info, fes_digital
WHERE
fes_dev_info.DEV_GROUP = groupName AND
fes_digital.DEV_TAG = fes_dev_info.TAG_NAME
)tb2
ON
tb1.SEC_DEVTP_NAME = getBeforeLastDot(tb2.FES_POINT_TP_NAME) AND
tb1.SEC_DEV_IN_GRP = tb2.NO_IN_DEV_GRP AND
tb1.SEC_SEQ_NO1 = tb2.SEQ_NO;
INSERT INTO tmpRelationGroupTbl (KEY_ID_TAG ,RTU_TAG, DOT_NO,OFFSET_NO)
SELECT tb1.KEY_ID_TAG, tb2.RTU_TAG, tb2.DOT_NO ,2
FROM
(SELECT digital_map_to_fes.KEY_ID_TAG,digital_temp_define.SEC_DEVTP_NAME,digital_temp_define.SEC_DEV_IN_GRP,digital_temp_define.SEC_SEQ_NO2
FROM dev_info,digital, digital_map_to_fes,digital_temp_define
WHERE
dev_info.GROUP_TAG_NAME = groupName AND
digital.DEVICE = dev_info.TAG_NAME AND
digital_map_to_fes.KEY_ID_TAG = concat('digital','.' ,digital.TAG_NAME) AND
digital_map_to_fes.POINT_TP_NAME = digital_temp_define.TAG_NAME AND
COALESCE(digital_temp_define.SEC_SEQ_NO2,-1) >= 0
)tb1 INNER JOIN
(SELECT fes_digital.RTU_TAG,fes_digital.DOT_NO,fes_digital.FES_POINT_TP_NAME,fes_digital.SEQ_NO,fes_dev_info.NO_IN_DEV_GRP
FROM fes_dev_info, fes_digital
WHERE
fes_dev_info.DEV_GROUP = groupName AND
fes_digital.DEV_TAG = fes_dev_info.TAG_NAME
)tb2
ON
tb1.SEC_DEVTP_NAME = getBeforeLastDot(tb2.FES_POINT_TP_NAME) AND
tb1.SEC_DEV_IN_GRP = tb2.NO_IN_DEV_GRP AND
tb1.SEC_SEQ_NO2 = tb2.SEQ_NO;
INSERT INTO tmpRelationGroupTbl (KEY_ID_TAG ,RTU_TAG, DOT_NO,OFFSET_NO)
SELECT tb1.KEY_ID_TAG, tb2.RTU_TAG, tb2.DOT_NO ,3
FROM
(SELECT digital_map_to_fes.KEY_ID_TAG,digital_temp_define.SEC_DEVTP_NAME,digital_temp_define.SEC_DEV_IN_GRP,digital_temp_define.SEC_SEQ_NO3
FROM dev_info,digital, digital_map_to_fes,digital_temp_define
WHERE
dev_info.GROUP_TAG_NAME = groupName AND
digital.DEVICE = dev_info.TAG_NAME AND
digital_map_to_fes.KEY_ID_TAG = concat('digital','.' ,digital.TAG_NAME) AND
digital_map_to_fes.POINT_TP_NAME = digital_temp_define.TAG_NAME AND
COALESCE(digital_temp_define.SEC_SEQ_NO3,-1) >= 0
)tb1 INNER JOIN
(SELECT fes_digital.RTU_TAG,fes_digital.DOT_NO,fes_digital.FES_POINT_TP_NAME,fes_digital.SEQ_NO,fes_dev_info.NO_IN_DEV_GRP
FROM fes_dev_info, fes_digital
WHERE
fes_dev_info.DEV_GROUP = groupName AND
fes_digital.DEV_TAG = fes_dev_info.TAG_NAME
)tb2
ON
tb1.SEC_DEVTP_NAME = getBeforeLastDot(tb2.FES_POINT_TP_NAME) AND
tb1.SEC_DEV_IN_GRP = tb2.NO_IN_DEV_GRP AND
tb1.SEC_SEQ_NO3 = tb2.SEQ_NO;
INSERT INTO tmpRelationGroupTbl (KEY_ID_TAG ,RTU_TAG, DOT_NO,OFFSET_NO)
SELECT tb1.KEY_ID_TAG, tb2.RTU_TAG, tb2.DOT_NO ,4
FROM
(SELECT digital_map_to_fes.KEY_ID_TAG,digital_temp_define.SEC_DEVTP_NAME,digital_temp_define.SEC_DEV_IN_GRP,digital_temp_define.SEC_SEQ_NO4
FROM dev_info,digital, digital_map_to_fes,digital_temp_define
WHERE
dev_info.GROUP_TAG_NAME = groupName AND
digital.DEVICE = dev_info.TAG_NAME AND
digital_map_to_fes.KEY_ID_TAG = concat('digital','.' ,digital.TAG_NAME) AND
digital_map_to_fes.POINT_TP_NAME = digital_temp_define.TAG_NAME AND
COALESCE(digital_temp_define.SEC_SEQ_NO4,-1) >= 0
)tb1 INNER JOIN
(SELECT fes_digital.RTU_TAG,fes_digital.DOT_NO,fes_digital.FES_POINT_TP_NAME,fes_digital.SEQ_NO,fes_dev_info.NO_IN_DEV_GRP
FROM fes_dev_info, fes_digital
WHERE
fes_dev_info.DEV_GROUP = groupName AND
fes_digital.DEV_TAG = fes_dev_info.TAG_NAME
)tb2
ON
tb1.SEC_DEVTP_NAME = getBeforeLastDot(tb2.FES_POINT_TP_NAME) AND
tb1.SEC_DEV_IN_GRP = tb2.NO_IN_DEV_GRP AND
tb1.SEC_SEQ_NO4 = tb2.SEQ_NO;
INSERT INTO tmpRelationGroupTbl (KEY_ID_TAG ,RTU_TAG, DOT_NO,OFFSET_NO)
SELECT tb1.KEY_ID_TAG, tb2.RTU_TAG, tb2.DOT_NO ,5
FROM
(SELECT digital_map_to_fes.KEY_ID_TAG,digital_temp_define.SEC_DEVTP_NAME,digital_temp_define.SEC_DEV_IN_GRP,digital_temp_define.SEC_SEQ_NO5
FROM dev_info,digital, digital_map_to_fes,digital_temp_define
WHERE
dev_info.GROUP_TAG_NAME = groupName AND
digital.DEVICE = dev_info.TAG_NAME AND
digital_map_to_fes.KEY_ID_TAG = concat('digital','.' ,digital.TAG_NAME) AND
digital_map_to_fes.POINT_TP_NAME = digital_temp_define.TAG_NAME AND
COALESCE(digital_temp_define.SEC_SEQ_NO5,-1) >= 0
)tb1 INNER JOIN
(SELECT fes_digital.RTU_TAG,fes_digital.DOT_NO,fes_digital.FES_POINT_TP_NAME,fes_digital.SEQ_NO,fes_dev_info.NO_IN_DEV_GRP
FROM fes_dev_info, fes_digital
WHERE
fes_dev_info.DEV_GROUP = groupName AND
fes_digital.DEV_TAG = fes_dev_info.TAG_NAME
)tb2
ON
tb1.SEC_DEVTP_NAME = getBeforeLastDot(tb2.FES_POINT_TP_NAME) AND
tb1.SEC_DEV_IN_GRP = tb2.NO_IN_DEV_GRP AND
tb1.SEC_SEQ_NO5 = tb2.SEQ_NO;
#,
UPDATE fes_digital INNER JOIN tmpRelationGroupTbl ON
fes_digital.TAG_NAME = concat(tmpRelationGroupTbl.RTU_TAG,'.', tmpRelationGroupTbl.DOT_NO)
SET APP_TABLE_NAME='',APP_TAG_NAME='',APP_COLUMN_NAME='';
#
UPDATE digital INNER JOIN dev_info
ON dev_info.GROUP_TAG_NAME = groupName AND digital.DEVICE = dev_info.TAG_NAME
SET RTU_TAG = '';
UPDATE digital INNER JOIN tmpRelationGroupTbl
ON digital.TAG_NAME = getAfterFirstDot(tmpRelationGroupTbl.KEY_ID_TAG)
SET digital.RTU_TAG = tmpRelationGroupTbl.RTU_TAG;
UPDATE digital_map_to_fes INNER JOIN
(SELECT KEY_ID_TAG,DOT_NO,OFFSET_NO
FROM tmpRelationGroupTbl GROUP BY RTU_TAG,DOT_NO ) t1
ON digital_map_to_fes.KEY_ID_TAG = t1.KEY_ID_TAG AND t1.OFFSET_NO = 1
SET digital_map_to_fes.DOT_NO1 = t1.DOT_NO;
UPDATE digital_map_to_fes INNER JOIN
(SELECT KEY_ID_TAG,DOT_NO,OFFSET_NO
FROM tmpRelationGroupTbl GROUP BY RTU_TAG,DOT_NO ) t1
ON digital_map_to_fes.KEY_ID_TAG = t1.KEY_ID_TAG AND t1.OFFSET_NO = 2
SET digital_map_to_fes.DOT_NO2 = t1.DOT_NO;
UPDATE digital_map_to_fes INNER JOIN
(SELECT KEY_ID_TAG,DOT_NO,OFFSET_NO
FROM tmpRelationGroupTbl GROUP BY RTU_TAG,DOT_NO ) t1
ON digital_map_to_fes.KEY_ID_TAG = t1.KEY_ID_TAG AND t1.OFFSET_NO = 3
SET digital_map_to_fes.DOT_NO3 = t1.DOT_NO;
UPDATE digital_map_to_fes INNER JOIN
(SELECT KEY_ID_TAG,DOT_NO,OFFSET_NO
FROM tmpRelationGroupTbl GROUP BY RTU_TAG,DOT_NO ) t1
ON digital_map_to_fes.KEY_ID_TAG = t1.KEY_ID_TAG AND t1.OFFSET_NO = 4
SET digital_map_to_fes.DOT_NO4 = t1.DOT_NO;
UPDATE digital_map_to_fes INNER JOIN
(SELECT KEY_ID_TAG,DOT_NO,OFFSET_NO
FROM tmpRelationGroupTbl GROUP BY RTU_TAG,DOT_NO ) t1
ON digital_map_to_fes.KEY_ID_TAG = t1.KEY_ID_TAG AND t1.OFFSET_NO = 5
SET digital_map_to_fes.DOT_NO5 = t1.DOT_NO;
#mix
DELETE FROM tmpRelationGroupTbl;
INSERT INTO tmpRelationGroupTbl (KEY_ID_TAG ,RTU_TAG, DOT_NO)
SELECT tb1.KEY_ID_TAG, tb2.RTU_TAG, tb2.DOT_NO
FROM
(SELECT mix_map_to_fes.KEY_ID_TAG,mix_temp_define.SEC_DEVTP_NAME,mix_temp_define.SEC_DEV_IN_GRP,mix_temp_define.SEC_SEQ_NO
FROM dev_info,mix, mix_map_to_fes,mix_temp_define
WHERE
dev_info.GROUP_TAG_NAME = groupName AND
mix.DEVICE = dev_info.TAG_NAME AND
mix_map_to_fes.KEY_ID_TAG = concat('mix','.' ,mix.TAG_NAME) AND
mix_map_to_fes.POINT_TP_NAME = mix_temp_define.TAG_NAME AND
COALESCE(mix_temp_define.SEC_SEQ_NO,-1) >= 0
)tb1 INNER JOIN
(SELECT fes_mix.RTU_TAG,fes_mix.DOT_NO,fes_mix.FES_POINT_TP_NAME,fes_mix.SEQ_NO,fes_dev_info.NO_IN_DEV_GRP
FROM fes_dev_info, fes_mix
WHERE
fes_dev_info.DEV_GROUP = groupName AND
fes_mix.DEV_TAG = fes_dev_info.TAG_NAME
)tb2
ON
tb1.SEC_DEVTP_NAME = getBeforeLastDot(tb2.FES_POINT_TP_NAME) AND
tb1.SEC_DEV_IN_GRP = tb2.NO_IN_DEV_GRP AND
tb1.SEC_SEQ_NO = tb2.SEQ_NO;
#,
UPDATE fes_mix INNER JOIN tmpRelationGroupTbl ON
fes_mix.TAG_NAME = concat(tmpRelationGroupTbl.RTU_TAG,'.', tmpRelationGroupTbl.DOT_NO)
SET APP_TABLE_NAME='',APP_TAG_NAME='',APP_COLUMN_NAME='';
#
UPDATE mix INNER JOIN dev_info
ON dev_info.GROUP_TAG_NAME = groupName AND mix.DEVICE = dev_info.TAG_NAME
SET RTU_TAG = '';
UPDATE mix INNER JOIN tmpRelationGroupTbl
ON mix.TAG_NAME = getAfterFirstDot(tmpRelationGroupTbl.KEY_ID_TAG)
SET mix.RTU_TAG = tmpRelationGroupTbl.RTU_TAG;
UPDATE mix_map_to_fes INNER JOIN
(SELECT KEY_ID_TAG,DOT_NO
FROM tmpRelationGroupTbl GROUP BY RTU_TAG,DOT_NO ) t1
ON mix_map_to_fes.KEY_ID_TAG = t1.KEY_ID_TAG
SET mix_map_to_fes.DOT_NO = t1.DOT_NO;
#,,,Ctrl中的RTU在上面已经填入了,
#analog_ctrl
DELETE FROM tmpRelationGroupTbl;
INSERT INTO tmpRelationGroupTbl (KEY_ID_TAG ,RTU_TAG, DOT_NO )
SELECT tb1.TAG_NAME,tb2.RTU_TAG, tb2.DOT_NO
FROM
(SELECT analog_control.TAG_NAME,analog_temp_define.OUT_SEC_SEQ_NO ,analog_temp_define.SEC_DEVTP_NAME,analog_temp_define.SEC_DEV_IN_GRP
FROM dev_info,analog, analog_control,analog_temp_define
WHERE
dev_info.GROUP_TAG_NAME = groupName AND
analog.DEVICE = dev_info.TAG_NAME AND
analog_control.TAG_NAME = analog.TAG_NAME AND
analog_control.POINT_TP_NAME= analog_temp_define.TAG_NAME AND
COALESCE(analog_temp_define.OUT_SEC_SEQ_NO,-1) >= 0
)tb1
INNER JOIN
(SELECT fes_analog_ctrl.DOT_NO,fes_analog_ctrl.RTU_TAG , fes_analog_ctrl.SEQ_NO ,fes_analog_ctrl.POINT_TP_NAME,fes_dev_info.NO_IN_DEV_GRP
FROM fes_dev_info,fes_analog_ctrl
WHERE
fes_dev_info.DEV_GROUP = groupName AND
fes_analog_ctrl.DEV_TAG = fes_dev_info.TAG_NAME
)tb2
ON
tb1.SEC_DEVTP_NAME = getBeforeLastDot(tb2.POINT_TP_NAME) AND
tb1.OUT_SEC_SEQ_NO = tb2.SEQ_NO AND
tb1.SEC_DEV_IN_GRP = tb2.NO_IN_DEV_GRP;
UPDATE analog_control INNER JOIN
(SELECT KEY_ID_TAG,DOT_NO
FROM tmpRelationGroupTbl GROUP BY RTU_TAG,DOT_NO ) t1
ON analog_control.TAG_NAME = t1.KEY_ID_TAG
SET analog_control.OFFSET_NO = t1.DOT_NO;
#digital_Ctrl
DELETE FROM tmpRelationGroupTbl;
INSERT INTO tmpRelationGroupTbl (KEY_ID_TAG ,RTU_TAG, DOT_NO ,OFFSET_NO)
SELECT tb1.TAG_NAME,tb2.RTU_TAG, tb2.DOT_NO ,1
FROM
(SELECT digital_control.TAG_NAME,digital_temp_define.OUT_SEC_SEQ_NO1 ,digital_temp_define.SEC_DEVTP_NAME,digital_temp_define.SEC_DEV_IN_GRP
FROM dev_info,digital, digital_control,digital_temp_define
WHERE
dev_info.GROUP_TAG_NAME = groupName AND
digital.DEVICE = dev_info.TAG_NAME AND
digital_control.TAG_NAME = digital.TAG_NAME AND
digital_control.POINT_TP_NAME= digital_temp_define.TAG_NAME AND
COALESCE(digital_temp_define.OUT_SEC_SEQ_NO1,-1) >= 0
)tb1
INNER JOIN
(SELECT fes_digital_ctrl.DOT_NO,fes_digital_ctrl.RTU_TAG, fes_digital_ctrl.SEQ_NO ,fes_digital_ctrl.POINT_TP_NAME,fes_dev_info.NO_IN_DEV_GRP
FROM fes_dev_info,fes_digital_ctrl
WHERE
fes_dev_info.DEV_GROUP = groupName AND
fes_digital_ctrl.DEV_TAG = fes_dev_info.TAG_NAME
)tb2
ON
tb1.SEC_DEVTP_NAME = getBeforeLastDot(tb2.POINT_TP_NAME) AND
tb1.OUT_SEC_SEQ_NO1 = tb2.SEQ_NO AND
tb1.SEC_DEV_IN_GRP = tb2.NO_IN_DEV_GRP;
INSERT INTO tmpRelationGroupTbl (KEY_ID_TAG ,RTU_TAG, DOT_NO ,OFFSET_NO)
SELECT tb1.TAG_NAME,tb2.RTU_TAG, tb2.DOT_NO ,2
FROM
(SELECT digital_control.TAG_NAME,digital_temp_define.OUT_SEC_SEQ_NO2 ,digital_temp_define.SEC_DEVTP_NAME,digital_temp_define.SEC_DEV_IN_GRP
FROM dev_info,digital, digital_control,digital_temp_define
WHERE
dev_info.GROUP_TAG_NAME = groupName AND
digital.DEVICE = dev_info.TAG_NAME AND
digital_control.TAG_NAME = digital.TAG_NAME AND
digital_control.POINT_TP_NAME= digital_temp_define.TAG_NAME AND
COALESCE(digital_temp_define.OUT_SEC_SEQ_NO2,-1) >= 0
)tb1
INNER JOIN
(SELECT fes_digital_ctrl.DOT_NO, fes_digital_ctrl.RTU_TAG,fes_digital_ctrl.SEQ_NO ,fes_digital_ctrl.POINT_TP_NAME,fes_dev_info.NO_IN_DEV_GRP
FROM fes_dev_info,fes_digital_ctrl
WHERE
fes_dev_info.DEV_GROUP = groupName AND
fes_digital_ctrl.DEV_TAG = fes_dev_info.TAG_NAME
)tb2
ON
tb1.SEC_DEVTP_NAME = getBeforeLastDot(tb2.POINT_TP_NAME) AND
tb1.OUT_SEC_SEQ_NO2 = tb2.SEQ_NO AND
tb1.SEC_DEV_IN_GRP = tb2.NO_IN_DEV_GRP;
INSERT INTO tmpRelationGroupTbl (KEY_ID_TAG ,RTU_TAG, DOT_NO ,OFFSET_NO)
SELECT tb1.TAG_NAME,tb2.RTU_TAG, tb2.DOT_NO ,3
FROM
(SELECT digital_control.TAG_NAME,digital_temp_define.OUT_SEC_SEQ_NO3 ,digital_temp_define.SEC_DEVTP_NAME,digital_temp_define.SEC_DEV_IN_GRP
FROM dev_info,digital, digital_control,digital_temp_define
WHERE
dev_info.GROUP_TAG_NAME = groupName AND
digital.DEVICE = dev_info.TAG_NAME AND
digital_control.TAG_NAME = digital.TAG_NAME AND
digital_control.POINT_TP_NAME= digital_temp_define.TAG_NAME AND
COALESCE(digital_temp_define.OUT_SEC_SEQ_NO3,-1) >= 0
)tb1
INNER JOIN
(SELECT fes_digital_ctrl.DOT_NO,fes_digital_ctrl.RTU_TAG, fes_digital_ctrl.SEQ_NO ,fes_digital_ctrl.POINT_TP_NAME,fes_dev_info.NO_IN_DEV_GRP
FROM fes_dev_info,fes_digital_ctrl
WHERE
fes_dev_info.DEV_GROUP = groupName AND
fes_digital_ctrl.DEV_TAG = fes_dev_info.TAG_NAME
)tb2
ON
tb1.SEC_DEVTP_NAME = getBeforeLastDot(tb2.POINT_TP_NAME) AND
tb1.OUT_SEC_SEQ_NO3 = tb2.SEQ_NO AND
tb1.SEC_DEV_IN_GRP = tb2.NO_IN_DEV_GRP;
INSERT INTO tmpRelationGroupTbl (KEY_ID_TAG ,RTU_TAG, DOT_NO ,OFFSET_NO)
SELECT tb1.TAG_NAME,tb2.RTU_TAG, tb2.DOT_NO ,4
FROM
(SELECT digital_control.TAG_NAME,digital_temp_define.OUT_SEC_SEQ_NO4 ,digital_temp_define.SEC_DEVTP_NAME,digital_temp_define.SEC_DEV_IN_GRP
FROM dev_info,digital,digital_control,digital_temp_define
WHERE
dev_info.GROUP_TAG_NAME = groupName AND
digital.DEVICE = dev_info.TAG_NAME AND
digital_control.TAG_NAME = digital.TAG_NAME AND
digital_control.POINT_TP_NAME= digital_temp_define.TAG_NAME AND
COALESCE(digital_temp_define.OUT_SEC_SEQ_NO4,-1) >= 0
)tb1
INNER JOIN
(SELECT fes_digital_ctrl.DOT_NO,fes_digital_ctrl.RTU_TAG, fes_digital_ctrl.SEQ_NO ,fes_digital_ctrl.POINT_TP_NAME,fes_dev_info.NO_IN_DEV_GRP
FROM fes_dev_info,fes_digital_ctrl
WHERE
fes_dev_info.DEV_GROUP = groupName AND
fes_digital_ctrl.DEV_TAG = fes_dev_info.TAG_NAME
)tb2
ON
tb1.SEC_DEVTP_NAME = getBeforeLastDot(tb2.POINT_TP_NAME) AND
tb1.OUT_SEC_SEQ_NO4 = tb2.SEQ_NO AND
tb1.SEC_DEV_IN_GRP = tb2.NO_IN_DEV_GRP;
INSERT INTO tmpRelationGroupTbl (KEY_ID_TAG ,RTU_TAG, DOT_NO ,OFFSET_NO)
SELECT tb1.TAG_NAME,tb2.RTU_TAG, tb2.DOT_NO ,5
FROM
(SELECT digital_control.TAG_NAME,digital_temp_define.OUT_SEC_SEQ_NO5 ,digital_temp_define.SEC_DEVTP_NAME,digital_temp_define.SEC_DEV_IN_GRP
FROM dev_info,digital,digital_control,digital_temp_define
WHERE
dev_info.GROUP_TAG_NAME = groupName AND
digital.DEVICE = dev_info.TAG_NAME AND
digital_control.TAG_NAME = digital.TAG_NAME AND
digital_control.POINT_TP_NAME= digital_temp_define.TAG_NAME AND
COALESCE(digital_temp_define.OUT_SEC_SEQ_NO5,-1) >= 0
)tb1
INNER JOIN
(SELECT fes_digital_ctrl.DOT_NO,fes_digital_ctrl.RTU_TAG, fes_digital_ctrl.SEQ_NO ,fes_digital_ctrl.POINT_TP_NAME,fes_dev_info.NO_IN_DEV_GRP
FROM fes_dev_info,fes_digital_ctrl
WHERE
fes_dev_info.DEV_GROUP = groupName AND
fes_digital_ctrl.DEV_TAG = fes_dev_info.TAG_NAME
)tb2
ON
tb1.SEC_DEVTP_NAME = getBeforeLastDot(tb2.POINT_TP_NAME) AND
tb1.OUT_SEC_SEQ_NO5 = tb2.SEQ_NO AND
tb1.SEC_DEV_IN_GRP = tb2.NO_IN_DEV_GRP;
UPDATE digital_control INNER JOIN
(SELECT KEY_ID_TAG,DOT_NO ,OFFSET_NO
FROM tmpRelationGroupTbl GROUP BY RTU_TAG,DOT_NO ) t1
ON digital_control.TAG_NAME = t1.KEY_ID_TAG AND t1.OFFSET_NO = 1
SET digital_control.OFFSET_NO1 = t1.DOT_NO;
UPDATE digital_control INNER JOIN
(SELECT KEY_ID_TAG,DOT_NO ,OFFSET_NO
FROM tmpRelationGroupTbl GROUP BY RTU_TAG,DOT_NO ) t1
ON digital_control.TAG_NAME = t1.KEY_ID_TAG AND t1.OFFSET_NO = 2
SET digital_control.OFFSET_NO2 = t1.DOT_NO;
UPDATE digital_control INNER JOIN
(SELECT KEY_ID_TAG,DOT_NO ,OFFSET_NO
FROM tmpRelationGroupTbl GROUP BY RTU_TAG,DOT_NO ) t1
ON digital_control.TAG_NAME = t1.KEY_ID_TAG AND t1.OFFSET_NO = 3
SET digital_control.OFFSET_NO3 = t1.DOT_NO;
UPDATE digital_control INNER JOIN
(SELECT KEY_ID_TAG,DOT_NO ,OFFSET_NO
FROM tmpRelationGroupTbl GROUP BY RTU_TAG,DOT_NO ) t1
ON digital_control.TAG_NAME = t1.KEY_ID_TAG AND t1.OFFSET_NO = 4
SET digital_control.OFFSET_NO4 = t1.DOT_NO;
UPDATE digital_control INNER JOIN
(SELECT KEY_ID_TAG,DOT_NO ,OFFSET_NO
FROM tmpRelationGroupTbl GROUP BY RTU_TAG,DOT_NO ) t1
ON digital_control.TAG_NAME = t1.KEY_ID_TAG AND t1.OFFSET_NO = 5
SET digital_control.OFFSET_NO5 = t1.DOT_NO;
#mix_ctrl
DELETE FROM tmpRelationGroupTbl;
INSERT INTO tmpRelationGroupTbl (KEY_ID_TAG ,RTU_TAG, DOT_NO )
SELECT tb1.TAG_NAME, tb2.RTU_TAG,tb2.DOT_NO
FROM
(SELECT mix_control.TAG_NAME,mix_temp_define.OUT_SEC_SEQ_NO ,mix_temp_define.SEC_DEVTP_NAME,mix_temp_define.SEC_DEV_IN_GRP
FROM dev_info,mix, mix_control,mix_temp_define
WHERE
dev_info.GROUP_TAG_NAME = groupName AND
mix.DEVICE = dev_info.TAG_NAME AND
mix_control.TAG_NAME = mix.TAG_NAME AND
mix_control.POINT_TP_NAME= mix_temp_define.TAG_NAME AND
COALESCE(mix_temp_define.OUT_SEC_SEQ_NO,-1) >= 0
)tb1
INNER JOIN
(SELECT fes_mix_ctrl.DOT_NO,fes_mix_ctrl.RTU_TAG, fes_mix_ctrl.SEQ_NO ,fes_mix_ctrl.POINT_TP_NAME,fes_dev_info.NO_IN_DEV_GRP
FROM fes_dev_info,fes_mix_ctrl
WHERE
fes_dev_info.DEV_GROUP = groupName AND
fes_mix_ctrl.DEV_TAG = fes_dev_info.TAG_NAME
)tb2
ON
tb1.SEC_DEVTP_NAME = getBeforeLastDot(tb2.POINT_TP_NAME) AND
tb1.OUT_SEC_SEQ_NO = tb2.SEQ_NO AND
tb1.SEC_DEV_IN_GRP = tb2.NO_IN_DEV_GRP;
UPDATE mix_control INNER JOIN
(SELECT KEY_ID_TAG,DOT_NO
FROM tmpRelationGroupTbl GROUP BY RTU_TAG,DOT_NO ) t1
ON mix_control.TAG_NAME = t1.KEY_ID_TAG
SET mix_control.OFFSET_NO = t1.DOT_NO;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `relationByPlugin`;
DELIMITER $$
CREATE PROCEDURE `relationByPlugin`(pluginName varchar(64), devTag varchar(64),fesDevTag varchar(64))
body:BEGIN
#使,,,,,RTU标签为空,,,
#pluginName
#devTag
#fesDevTag
DECLARE rtuTag varchar(64) DEFAULT '';
DECLARE tempName varchar(64) DEFAULT '';
DECLARE fesTempName varchar(64) DEFAULT '';
SELECT DEV_TP_NAME INTO tempName FROM dev_info WHERE TAG_NAME = devTag;
SELECT RTU_TAG,DEV_TP_NAME INTO rtuTag,fesTempName FROM fes_dev_info WHERE TAG_NAME = fesDevTag;
IF COALESCE(tempName,'') = '' OR COALESCE(fesTempName,'') = '' OR COALESCE(rtuTag,'') = ''
THEN
LEAVE body;
END IF;
#
CREATE TEMPORARY TABLE IF NOT EXISTS tmpRelationByPluginTbl(
KEY_ID_TAG varchar(128) NOT NULL,
DOT_NO varchar(48) NOT NULL,
OFFSET_NO decimal(10) NOT NULL DEFAULT 0,
PRIMARY KEY(KEY_ID_TAG,OFFSET_NO)
);
#accuml为例,.accuml点,fes_accuml点的Key_ID_TAG和DOT_NO写入临时表
DELETE FROM tmpRelationByPluginTbl;
INSERT INTO tmpRelationByPluginTbl (KEY_ID_TAG , DOT_NO)
SELECT accuml_map_to_fes.KEY_ID_TAG,fes_accuml.DOT_NO
FROM (temp_plugin_point_map_acc INNER JOIN accuml_map_to_fes
ON temp_plugin_point_map_acc.PLUGIN_NAME = pluginName AND
temp_plugin_point_map_acc.TEMP_NAME = tempName AND
temp_plugin_point_map_acc.FES_TEMP_NAME = fesTempName AND
accuml_map_to_fes.KEY_ID_TAG = concat('accuml','.' ,devTag,'.',TEMP_POINT_NAME) )
INNER JOIN fes_accuml
ON fes_accuml.TAG_NAME LIKE concat(rtuTag,'.','%') AND
fes_accuml.DEV_TAG = fesDevTag AND
fes_accuml.FES_POINT_TP_NAME = concat(FES_TEMP_NAME,'.',FES_TEMP_POINT_NAME);
#,
UPDATE fes_accuml INNER JOIN tmpRelationByPluginTbl ON
fes_accuml.TAG_NAME = concat(rtuTag,'.', tmpRelationByPluginTbl.DOT_NO)
SET APP_TABLE_NAME='',APP_TAG_NAME='',APP_COLUMN_NAME='';
#,RTU,
UPDATE accuml INNER JOIN tmpRelationByPluginTbl ON TAG_NAME = mid(KEY_ID_TAG,8,char_length(KEY_ID_TAG) - 7) SET RTU_TAG = rtuTag ;
UPDATE accuml_map_to_fes INNER JOIN tmpRelationByPluginTbl
ON accuml_map_to_fes.KEY_ID_TAG = tmpRelationByPluginTbl.KEY_ID_TAG
SET accuml_map_to_fes.DOT_NO = tmpRelationByPluginTbl.DOT_NO;
#analog
DELETE FROM tmpRelationByPluginTbl;
INSERT INTO tmpRelationByPluginTbl (KEY_ID_TAG , DOT_NO)
SELECT analog_map_to_fes.KEY_ID_TAG,fes_analog.DOT_NO
FROM (temp_plugin_point_map_ana INNER JOIN analog_map_to_fes
ON temp_plugin_point_map_ana.PLUGIN_NAME = pluginName AND
temp_plugin_point_map_ana.TEMP_NAME = tempName AND
temp_plugin_point_map_ana.FES_TEMP_NAME = fesTempName AND
analog_map_to_fes.KEY_ID_TAG = concat('analog','.' ,devTag,'.',TEMP_POINT_NAME) )
INNER JOIN fes_analog ON
fes_analog.TAG_NAME LIKE concat(rtuTag,'.','%') AND
fes_analog.DEV_TAG = fesDevTag AND
fes_analog.FES_POINT_TP_NAME = concat(FES_TEMP_NAME,'.',FES_TEMP_POINT_NAME);
#,
UPDATE fes_analog INNER JOIN tmpRelationByPluginTbl ON
fes_analog.TAG_NAME = concat(rtuTag,'.', tmpRelationByPluginTbl.DOT_NO)
SET APP_TABLE_NAME='',APP_TAG_NAME='',APP_COLUMN_NAME='';
#,RTU,
UPDATE analog INNER JOIN tmpRelationByPluginTbl ON TAG_NAME = mid(KEY_ID_TAG,8,char_length(KEY_ID_TAG) - 7) SET RTU_TAG = rtuTag ;
UPDATE analog_map_to_fes INNER JOIN tmpRelationByPluginTbl
ON analog_map_to_fes.KEY_ID_TAG = tmpRelationByPluginTbl.KEY_ID_TAG
SET analog_map_to_fes.DOT_NO = tmpRelationByPluginTbl.DOT_NO;
#mix
DELETE FROM tmpRelationByPluginTbl;
INSERT INTO tmpRelationByPluginTbl (KEY_ID_TAG , DOT_NO)
SELECT mix_map_to_fes.KEY_ID_TAG,fes_mix.DOT_NO
FROM (temp_plugin_point_map_mix INNER JOIN mix_map_to_fes
ON temp_plugin_point_map_mix.PLUGIN_NAME = pluginName AND
temp_plugin_point_map_mix.TEMP_NAME = tempName AND
temp_plugin_point_map_mix.FES_TEMP_NAME = fesTempName AND
mix_map_to_fes.KEY_ID_TAG = concat('mix','.' ,devTag,'.',TEMP_POINT_NAME) )
INNER JOIN fes_mix ON
fes_mix.TAG_NAME LIKE concat(rtuTag,'.','%') AND
fes_mix.DEV_TAG = fesDevTag AND
fes_mix.FES_POINT_TP_NAME = concat(FES_TEMP_NAME,'.',FES_TEMP_POINT_NAME);
#,
UPDATE fes_mix INNER JOIN tmpRelationByPluginTbl ON
fes_mix.TAG_NAME = concat(rtuTag,'.', tmpRelationByPluginTbl.DOT_NO)
SET APP_TABLE_NAME='',APP_TAG_NAME='',APP_COLUMN_NAME='';
#,RTU,
UPDATE mix INNER JOIN tmpRelationByPluginTbl ON TAG_NAME = mid(KEY_ID_TAG,5,char_length(KEY_ID_TAG) - 4) SET RTU_TAG = rtuTag ;
UPDATE mix_map_to_fes INNER JOIN tmpRelationByPluginTbl
ON mix_map_to_fes.KEY_ID_TAG = tmpRelationByPluginTbl.KEY_ID_TAG
SET mix_map_to_fes.DOT_NO = tmpRelationByPluginTbl.DOT_NO;
#dig
DELETE FROM tmpRelationByPluginTbl;
INSERT INTO tmpRelationByPluginTbl (KEY_ID_TAG , DOT_NO,OFFSET_NO)
SELECT digital_map_to_fes.KEY_ID_TAG,fes_digital.DOT_NO,1
FROM (temp_plugin_point_map_dig INNER JOIN digital_map_to_fes
ON temp_plugin_point_map_dig.PLUGIN_NAME = pluginName AND
temp_plugin_point_map_dig.TEMP_NAME = tempName AND
temp_plugin_point_map_dig.FES_TEMP_NAME = fesTempName AND
temp_plugin_point_map_dig.FES_TEMP_POINT_NAME1 <> '' AND
digital_map_to_fes.KEY_ID_TAG = concat('digital','.' ,devTag,'.',TEMP_POINT_NAME) )
INNER JOIN fes_digital ON
fes_digital.TAG_NAME LIKE concat(rtuTag,'.','%') AND
fes_digital.DEV_TAG = fesDevTag AND
fes_digital.FES_POINT_TP_NAME = concat(FES_TEMP_NAME,'.',FES_TEMP_POINT_NAME1);
INSERT INTO tmpRelationByPluginTbl (KEY_ID_TAG , DOT_NO,OFFSET_NO)
SELECT digital_map_to_fes.KEY_ID_TAG,fes_digital.DOT_NO,2
FROM (temp_plugin_point_map_dig INNER JOIN digital_map_to_fes
ON temp_plugin_point_map_dig.PLUGIN_NAME = pluginName AND
temp_plugin_point_map_dig.TEMP_NAME = tempName AND
temp_plugin_point_map_dig.FES_TEMP_NAME = fesTempName AND
temp_plugin_point_map_dig.FES_TEMP_POINT_NAME2 <> '' AND
digital_map_to_fes.KEY_ID_TAG = concat('digital','.' ,devTag,'.',TEMP_POINT_NAME))
INNER JOIN fes_digital ON
fes_digital.TAG_NAME LIKE concat(rtuTag,'.','%') AND
fes_digital.DEV_TAG = fesDevTag AND
fes_digital.FES_POINT_TP_NAME = concat(FES_TEMP_NAME,'.',FES_TEMP_POINT_NAME2);
INSERT INTO tmpRelationByPluginTbl (KEY_ID_TAG , DOT_NO,OFFSET_NO)
SELECT digital_map_to_fes.KEY_ID_TAG,fes_digital.DOT_NO,3
FROM (temp_plugin_point_map_dig INNER JOIN digital_map_to_fes
ON temp_plugin_point_map_dig.PLUGIN_NAME = pluginName AND
temp_plugin_point_map_dig.TEMP_NAME = tempName AND
temp_plugin_point_map_dig.FES_TEMP_NAME = fesTempName AND
temp_plugin_point_map_dig.FES_TEMP_POINT_NAME3 <> '' AND
digital_map_to_fes.KEY_ID_TAG = concat('digital','.' ,devTag,'.',TEMP_POINT_NAME))
INNER JOIN fes_digital ON
fes_digital.TAG_NAME LIKE concat(rtuTag,'.','%') AND
fes_digital.DEV_TAG = fesDevTag AND
fes_digital.FES_POINT_TP_NAME = concat(FES_TEMP_NAME,'.',FES_TEMP_POINT_NAME3);
INSERT INTO tmpRelationByPluginTbl (KEY_ID_TAG , DOT_NO,OFFSET_NO)
SELECT digital_map_to_fes.KEY_ID_TAG,fes_digital.DOT_NO,4
FROM (temp_plugin_point_map_dig INNER JOIN digital_map_to_fes
ON temp_plugin_point_map_dig.PLUGIN_NAME = pluginName AND
temp_plugin_point_map_dig.TEMP_NAME = tempName AND
temp_plugin_point_map_dig.FES_TEMP_NAME = fesTempName AND
temp_plugin_point_map_dig.FES_TEMP_POINT_NAME4 <> '' AND
digital_map_to_fes.KEY_ID_TAG = concat('digital','.' ,devTag,'.',TEMP_POINT_NAME))
INNER JOIN fes_digital ON
fes_digital.TAG_NAME LIKE concat(rtuTag,'.','%') AND
fes_digital.DEV_TAG = fesDevTag AND
fes_digital.FES_POINT_TP_NAME = concat(FES_TEMP_NAME,'.',FES_TEMP_POINT_NAME4);
INSERT INTO tmpRelationByPluginTbl (KEY_ID_TAG , DOT_NO,OFFSET_NO)
SELECT digital_map_to_fes.KEY_ID_TAG,fes_digital.DOT_NO,5
FROM (temp_plugin_point_map_dig INNER JOIN digital_map_to_fes
ON temp_plugin_point_map_dig.PLUGIN_NAME = pluginName AND
temp_plugin_point_map_dig.TEMP_NAME = tempName AND
temp_plugin_point_map_dig.FES_TEMP_NAME = fesTempName AND
temp_plugin_point_map_dig.FES_TEMP_POINT_NAME5 <> '' AND
digital_map_to_fes.KEY_ID_TAG = concat('digital','.' ,devTag,'.',TEMP_POINT_NAME) )
INNER JOIN fes_digital ON
fes_digital.TAG_NAME LIKE concat(rtuTag,'.','%') AND
fes_digital.DEV_TAG = fesDevTag AND
fes_digital.FES_POINT_TP_NAME = concat(FES_TEMP_NAME,'.',FES_TEMP_POINT_NAME5);
#,
UPDATE fes_digital INNER JOIN tmpRelationByPluginTbl ON
fes_digital.TAG_NAME = concat(rtuTag,'.', tmpRelationByPluginTbl.DOT_NO)
SET APP_TABLE_NAME='',APP_TAG_NAME='',APP_COLUMN_NAME='';
#,RTU,
UPDATE digital INNER JOIN tmpRelationByPluginTbl ON TAG_NAME = mid(KEY_ID_TAG,9,char_length(KEY_ID_TAG) - 8) SET RTU_TAG = rtuTag ;
UPDATE digital_map_to_fes INNER JOIN tmpRelationByPluginTbl
ON digital_map_to_fes.KEY_ID_TAG = tmpRelationByPluginTbl.KEY_ID_TAG AND tmpRelationByPluginTbl.OFFSET_NO = 1
SET digital_map_to_fes.DOT_NO1 = tmpRelationByPluginTbl.DOT_NO;
UPDATE digital_map_to_fes INNER JOIN tmpRelationByPluginTbl
ON digital_map_to_fes.KEY_ID_TAG = tmpRelationByPluginTbl.KEY_ID_TAG AND tmpRelationByPluginTbl.OFFSET_NO = 2
SET digital_map_to_fes.DOT_NO2 = tmpRelationByPluginTbl.DOT_NO;
UPDATE digital_map_to_fes INNER JOIN tmpRelationByPluginTbl
ON digital_map_to_fes.KEY_ID_TAG = tmpRelationByPluginTbl.KEY_ID_TAG AND tmpRelationByPluginTbl.OFFSET_NO = 3
SET digital_map_to_fes.DOT_NO3 = tmpRelationByPluginTbl.DOT_NO;
UPDATE digital_map_to_fes INNER JOIN tmpRelationByPluginTbl
ON digital_map_to_fes.KEY_ID_TAG = tmpRelationByPluginTbl.KEY_ID_TAG AND tmpRelationByPluginTbl.OFFSET_NO = 4
SET digital_map_to_fes.DOT_NO4 = tmpRelationByPluginTbl.DOT_NO;
UPDATE digital_map_to_fes INNER JOIN tmpRelationByPluginTbl
ON digital_map_to_fes.KEY_ID_TAG = tmpRelationByPluginTbl.KEY_ID_TAG AND tmpRelationByPluginTbl.OFFSET_NO = 5
SET digital_map_to_fes.DOT_NO5 = tmpRelationByPluginTbl.DOT_NO;
#
#analog_ctrl
DELETE FROM tmpRelationByPluginTbl;
INSERT INTO tmpRelationByPluginTbl (KEY_ID_TAG , DOT_NO)
SELECT analog_control.TAG_NAME,fes_analog_ctrl.DOT_NO
FROM temp_plugin_point_map_ana,analog_control,fes_analog_ctrl
WHERE temp_plugin_point_map_ana.PLUGIN_NAME = pluginName AND
temp_plugin_point_map_ana.TEMP_NAME = tempName AND
temp_plugin_point_map_ana.FES_TEMP_NAME = fesTempName AND
analog_control.TAG_NAME = concat(devTag,'.',TEMP_POINT_NAME) AND
fes_analog_ctrl.TAG_NAME LIKE concat(rtuTag,'.','%') AND
fes_analog_ctrl.DEV_TAG = fesDevTag AND
fes_analog_ctrl.POINT_TP_NAME = concat(FES_TEMP_NAME,'.',FES_TEMP_OUT_NAME);
UPDATE analog_control INNER JOIN tmpRelationByPluginTbl
ON analog_control.TAG_NAME = tmpRelationByPluginTbl.KEY_ID_TAG
SET analog_control.OFFSET_NO = tmpRelationByPluginTbl.DOT_NO;
#mix_ctrl
DELETE FROM tmpRelationByPluginTbl;
INSERT INTO tmpRelationByPluginTbl (KEY_ID_TAG , DOT_NO)
SELECT mix_control.TAG_NAME,fes_mix_ctrl.DOT_NO
FROM temp_plugin_point_map_mix,mix_control,fes_mix_ctrl
WHERE temp_plugin_point_map_mix.PLUGIN_NAME = pluginName AND
temp_plugin_point_map_mix.TEMP_NAME = tempName AND
temp_plugin_point_map_mix.FES_TEMP_NAME = fesTempName AND
mix_control.TAG_NAME = concat(devTag,'.',TEMP_POINT_NAME) AND
fes_mix_ctrl.TAG_NAME LIKE concat(rtuTag,'.','%') AND
fes_mix_ctrl.DEV_TAG = fesDevTag AND
fes_mix_ctrl.POINT_TP_NAME = concat(FES_TEMP_NAME,'.',FES_TEMP_OUT_NAME);
UPDATE mix_control INNER JOIN tmpRelationByPluginTbl
ON mix_control.TAG_NAME = tmpRelationByPluginTbl.KEY_ID_TAG
SET mix_control.OFFSET_NO = tmpRelationByPluginTbl.DOT_NO;
#digital_ctrl
DELETE FROM tmpRelationByPluginTbl;
INSERT INTO tmpRelationByPluginTbl (KEY_ID_TAG , DOT_NO,OFFSET_NO)
SELECT digital_control.TAG_NAME,fes_digital_ctrl.DOT_NO, 1
FROM temp_plugin_point_map_dig,digital_control,fes_digital_ctrl
WHERE temp_plugin_point_map_dig.PLUGIN_NAME = pluginName AND
temp_plugin_point_map_dig.TEMP_NAME = tempName AND
temp_plugin_point_map_dig.FES_TEMP_NAME = fesTempName AND
temp_plugin_point_map_dig.FES_TEMP_OUT_NAME1 <> '' AND
digital_control.TAG_NAME = concat(devTag,'.',TEMP_POINT_NAME) AND
fes_digital_ctrl.TAG_NAME LIKE concat(rtuTag,'.','%') AND
fes_digital_ctrl.DEV_TAG = fesDevTag AND
fes_digital_ctrl.POINT_TP_NAME = concat(FES_TEMP_NAME,'.',FES_TEMP_OUT_NAME1);
INSERT INTO tmpRelationByPluginTbl (KEY_ID_TAG , DOT_NO,OFFSET_NO)
SELECT digital_control.TAG_NAME,fes_digital_ctrl.DOT_NO, 2
FROM temp_plugin_point_map_dig,digital_control,fes_digital_ctrl
WHERE temp_plugin_point_map_dig.PLUGIN_NAME = pluginName AND
temp_plugin_point_map_dig.TEMP_NAME = tempName AND
temp_plugin_point_map_dig.FES_TEMP_NAME = fesTempName AND
temp_plugin_point_map_dig.FES_TEMP_OUT_NAME2 <> '' AND
digital_control.TAG_NAME = concat(devTag,'.',TEMP_POINT_NAME) AND
fes_digital_ctrl.TAG_NAME LIKE concat(rtuTag,'.','%') AND
fes_digital_ctrl.DEV_TAG = fesDevTag AND
fes_digital_ctrl.POINT_TP_NAME = concat(FES_TEMP_NAME,'.',FES_TEMP_OUT_NAME2);
INSERT INTO tmpRelationByPluginTbl (KEY_ID_TAG , DOT_NO,OFFSET_NO)
SELECT digital_control.TAG_NAME,fes_digital_ctrl.DOT_NO, 3
FROM temp_plugin_point_map_dig,digital_control,fes_digital_ctrl
WHERE temp_plugin_point_map_dig.PLUGIN_NAME = pluginName AND
temp_plugin_point_map_dig.TEMP_NAME = tempName AND
temp_plugin_point_map_dig.FES_TEMP_NAME = fesTempName AND
temp_plugin_point_map_dig.FES_TEMP_OUT_NAME3 <> '' AND
digital_control.TAG_NAME = concat(devTag,'.',TEMP_POINT_NAME) AND
fes_digital_ctrl.TAG_NAME LIKE concat(rtuTag,'.','%') AND
fes_digital_ctrl.DEV_TAG = fesDevTag AND
fes_digital_ctrl.POINT_TP_NAME = concat(FES_TEMP_NAME,'.',FES_TEMP_OUT_NAME3);
INSERT INTO tmpRelationByPluginTbl (KEY_ID_TAG , DOT_NO,OFFSET_NO)
SELECT digital_control.TAG_NAME,fes_digital_ctrl.DOT_NO, 4
FROM temp_plugin_point_map_dig,digital_control,fes_digital_ctrl
WHERE temp_plugin_point_map_dig.PLUGIN_NAME = pluginName AND
temp_plugin_point_map_dig.TEMP_NAME = tempName AND
temp_plugin_point_map_dig.FES_TEMP_NAME = fesTempName AND
temp_plugin_point_map_dig.FES_TEMP_OUT_NAME4 <> '' AND
digital_control.TAG_NAME = concat(devTag,'.',TEMP_POINT_NAME) AND
fes_digital_ctrl.TAG_NAME LIKE concat(rtuTag,'.','%') AND
fes_digital_ctrl.DEV_TAG = fesDevTag AND
fes_digital_ctrl.POINT_TP_NAME = concat(FES_TEMP_NAME,'.',FES_TEMP_OUT_NAME4);
INSERT INTO tmpRelationByPluginTbl (KEY_ID_TAG , DOT_NO,OFFSET_NO)
SELECT digital_control.TAG_NAME,fes_digital_ctrl.DOT_NO, 5
FROM temp_plugin_point_map_dig,digital_control,fes_digital_ctrl
WHERE temp_plugin_point_map_dig.PLUGIN_NAME = pluginName AND
temp_plugin_point_map_dig.TEMP_NAME = tempName AND
temp_plugin_point_map_dig.FES_TEMP_NAME = fesTempName AND
temp_plugin_point_map_dig.FES_TEMP_OUT_NAME5 <> '' AND
digital_control.TAG_NAME = concat(devTag,'.',TEMP_POINT_NAME) AND
fes_digital_ctrl.TAG_NAME LIKE concat(rtuTag,'.','%') AND
fes_digital_ctrl.DEV_TAG = fesDevTag AND
fes_digital_ctrl.POINT_TP_NAME = concat(FES_TEMP_NAME,'.',FES_TEMP_OUT_NAME5);
#
UPDATE digital INNER JOIN tmpRelationByPluginTbl
ON TAG_NAME = KEY_ID_TAG AND OFFSET_NO = 1 SET RTU_TAG = rtuTag ;
UPDATE digital_control INNER JOIN tmpRelationByPluginTbl
ON digital_control.TAG_NAME = tmpRelationByPluginTbl.KEY_ID_TAG AND tmpRelationByPluginTbl.OFFSET_NO = 1
SET digital_control.OFFSET_NO1 = tmpRelationByPluginTbl.DOT_NO;
UPDATE digital_control INNER JOIN tmpRelationByPluginTbl
ON digital_control.TAG_NAME = tmpRelationByPluginTbl.KEY_ID_TAG AND tmpRelationByPluginTbl.OFFSET_NO = 2
SET digital_control.OFFSET_NO2 = tmpRelationByPluginTbl.DOT_NO;
UPDATE digital_control INNER JOIN tmpRelationByPluginTbl
ON digital_control.TAG_NAME = tmpRelationByPluginTbl.KEY_ID_TAG AND tmpRelationByPluginTbl.OFFSET_NO = 3
SET digital_control.OFFSET_NO3 = tmpRelationByPluginTbl.DOT_NO;
UPDATE digital_control INNER JOIN tmpRelationByPluginTbl
ON digital_control.TAG_NAME = tmpRelationByPluginTbl.KEY_ID_TAG AND tmpRelationByPluginTbl.OFFSET_NO = 4
SET digital_control.OFFSET_NO4 = tmpRelationByPluginTbl.DOT_NO;
UPDATE digital_control INNER JOIN tmpRelationByPluginTbl
ON digital_control.TAG_NAME = tmpRelationByPluginTbl.KEY_ID_TAG AND tmpRelationByPluginTbl.OFFSET_NO = 5
SET digital_control.OFFSET_NO5 = tmpRelationByPluginTbl.DOT_NO;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `relationFesByName`;
DELIMITER $$
CREATE PROCEDURE `relationFesByName`(devTag varchar(64),fesDevTag varchar(64))
body:BEGIN
/*
* 后台和FES的两个设备之间名称相同的测点做关联
*/
DECLARE rtuTag varchar(64);
IF COALESCE(devTag,'') = '' OR COALESCE(fesDevTag,'')=''
THEN LEAVE body;
END IF;
SELECT RTU_TAG INTO rtuTag FROM fes_dev_info WHERE TAG_NAME = fesDevTag;
IF COALESCE(rtuTag,'') = ''
THEN LEAVE body;
END IF;
#
CALL bingRtu(devTag,'');
UPDATE fes_accuml SET APP_COLUMN_NAME = '',APP_TABLE_NAME = '' ,APP_TAG_NAME = '' WHERE DEV_TAG = fesDevTag;
UPDATE fes_analog SET APP_COLUMN_NAME = '',APP_TABLE_NAME = '' ,APP_TAG_NAME = '' WHERE DEV_TAG = fesDevTag;
UPDATE fes_digital SET APP_COLUMN_NAME = '',APP_TABLE_NAME = '' ,APP_TAG_NAME = '' WHERE DEV_TAG = fesDevTag;
UPDATE fes_mix SET APP_COLUMN_NAME = '',APP_TABLE_NAME = '' ,APP_TAG_NAME = '' WHERE DEV_TAG = fesDevTag;
#acc
UPDATE accuml SET RTU_TAG = rtuTag WHERE DEVICE = devTag;
UPDATE analog SET RTU_TAG = rtuTag WHERE DEVICE = devTag;
UPDATE digital SET RTU_TAG = rtuTag WHERE DEVICE = devTag;
UPDATE mix SET RTU_TAG = rtuTag WHERE DEVICE = devTag;
#
CREATE TEMPORARY TABLE IF NOT EXISTS tmpRelationFesByNameTbl(
KEY_ID_TAG varchar(128) NOT NULL,
DOT_NO varchar(48) NOT NULL
);
#acc
DELETE FROM tmpRelationFesByNameTbl;
INSERT INTO tmpRelationFesByNameTbl(KEY_ID_TAG,DOT_NO)
SELECT accuml_map_to_fes.KEY_ID_TAG,fes_accuml.DOT_NO
FROM accuml_map_to_fes INNER JOIN fes_accuml
ON accuml_map_to_fes.KEY_ID_TAG LIKE concat('accuml.',devTag,'.%')
AND fes_accuml.TAG_NAME LIKE concat(rtuTag,'.%')
AND fes_accuml.DEV_TAG = fesDevTag
AND getAfterLastDot(accuml_map_to_fes.KEY_ID_TAG) = getAfterLastDot(fes_accuml.FES_POINT_TP_NAME);
UPDATE accuml_map_to_fes INNER JOIN tmpRelationFesByNameTbl
ON accuml_map_to_fes.KEY_ID_TAG = tmpRelationFesByNameTbl.KEY_ID_TAG
SET accuml_map_to_fes.RTU_TAG = rtuTag,accuml_map_to_fes.DOT_NO = tmpRelationFesByNameTbl.DOT_NO;
#ana
DELETE FROM tmpRelationFesByNameTbl;
INSERT INTO tmpRelationFesByNameTbl(KEY_ID_TAG,DOT_NO)
SELECT analog_map_to_fes.KEY_ID_TAG,fes_analog.DOT_NO
FROM analog_map_to_fes INNER JOIN fes_analog
ON analog_map_to_fes.KEY_ID_TAG LIKE concat('analog.',devTag,'.%')
AND fes_analog.TAG_NAME LIKE concat(rtuTag,'.%')
AND fes_analog.DEV_TAG = fesDevTag
AND getAfterLastDot(analog_map_to_fes.KEY_ID_TAG) = getAfterLastDot(fes_analog.FES_POINT_TP_NAME);
UPDATE analog_map_to_fes INNER JOIN tmpRelationFesByNameTbl
ON analog_map_to_fes.KEY_ID_TAG = tmpRelationFesByNameTbl.KEY_ID_TAG
SET analog_map_to_fes.RTU_TAG = rtuTag,analog_map_to_fes.DOT_NO = tmpRelationFesByNameTbl.DOT_NO;
#dig
DELETE FROM tmpRelationFesByNameTbl;
INSERT INTO tmpRelationFesByNameTbl(KEY_ID_TAG,DOT_NO)
SELECT digital_map_to_fes.KEY_ID_TAG,fes_digital.DOT_NO
FROM digital_map_to_fes INNER JOIN fes_digital
ON digital_map_to_fes.KEY_ID_TAG LIKE concat('digital.',devTag,'.%')
AND fes_digital.TAG_NAME LIKE concat(rtuTag,'.%')
AND fes_digital.DEV_TAG = fesDevTag
AND getAfterLastDot(digital_map_to_fes.KEY_ID_TAG) = getAfterLastDot(fes_digital.FES_POINT_TP_NAME);
UPDATE digital_map_to_fes INNER JOIN tmpRelationFesByNameTbl
ON digital_map_to_fes.KEY_ID_TAG = tmpRelationFesByNameTbl.KEY_ID_TAG
SET digital_map_to_fes.RTU_TAG = rtuTag,digital_map_to_fes.DOT_NO1 = tmpRelationFesByNameTbl.DOT_NO;
#mix
DELETE FROM tmpRelationFesByNameTbl;
INSERT INTO tmpRelationFesByNameTbl(KEY_ID_TAG,DOT_NO)
SELECT mix_map_to_fes.KEY_ID_TAG,fes_mix.DOT_NO
FROM mix_map_to_fes INNER JOIN fes_mix
ON mix_map_to_fes.KEY_ID_TAG LIKE concat('mix.',devTag,'.%')
AND fes_mix.TAG_NAME LIKE concat(rtuTag,'.%')
AND fes_mix.DEV_TAG = fesDevTag
AND getAfterLastDot(mix_map_to_fes.KEY_ID_TAG) = getAfterLastDot(fes_mix.FES_POINT_TP_NAME);
UPDATE mix_map_to_fes INNER JOIN tmpRelationFesByNameTbl
ON mix_map_to_fes.KEY_ID_TAG = tmpRelationFesByNameTbl.KEY_ID_TAG
SET mix_map_to_fes.RTU_TAG = rtuTag,mix_map_to_fes.DOT_NO = tmpRelationFesByNameTbl.DOT_NO;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `relationToFes`;
DELIMITER $$
CREATE PROCEDURE `relationToFes`(devTagName varchar(64), fesDevTagName varchar(64))
body:BEGIN
/*
* 后台和FES的两个设备之间做关联,使用前,先检查后台设备的模板和前置的模板是否有所关联,已经关联的测点不会再关联,若想关联,先清除
*/
DECLARE rtuTagName varchar(64);
DECLARE fesDevTempTagName varchar(64);
IF COALESCE(devTagName,'') = '' OR COALESCE(fesDevTagName,'')=''
THEN LEAVE body;
END IF;
SELECT RTU_TAG,DEV_TP_NAME INTO rtuTagName,fesDevTempTagName FROM fes_dev_info WHERE TAG_NAME = fesDevTagName;
IF COALESCE(rtuTagName,'') = '' OR COALESCE(fesDevTempTagName,'')=''
THEN LEAVE body;
END IF;
#
CREATE TEMPORARY TABLE IF NOT EXISTS tmpRelationToFesTbl(
KEY_ID_TAG varchar(128) NOT NULL,
DOT_NO varchar(48) NOT NULL,
OFFSET_NO decimal(10)
);
DELETE FROM tmpRelationToFesTbl;
#accuml为例,.accuml点,fes_accuml点的Key_ID_TAG和DOT_NO写入临时表
INSERT INTO tmpRelationToFesTbl (KEY_ID_TAG , DOT_NO)
SELECT tb1.KEY_ID_TAG, tb2.DOT_NO
FROM
(SELECT accuml_map_to_fes.KEY_ID_TAG,accuml_temp_define.SEC_SEQ_NO
FROM accuml_map_to_fes,accuml_temp_define
WHERE
accuml_map_to_fes.KEY_ID_TAG like concat('accuml','.' ,devTagName,'.','%') AND
accuml_map_to_fes.POINT_TP_NAME= accuml_temp_define.TAG_NAME AND
accuml_temp_define.SEC_DEVTP_NAME = fesDevTempTagName AND
COALESCE(accuml_temp_define.SEC_SEQ_NO,-1) >= 0
) tb1
INNER JOIN
(SELECT fes_accuml.DOT_NO, fes_accuml.SEQ_NO
FROM fes_accuml
WHERE
fes_accuml.DEV_TAG = fesDevTagName AND
getBeforeLastDot(fes_accuml.FES_POINT_TP_NAME) = fesDevTempTagName
) tb2
ON
tb1.SEC_SEQ_NO = tb2.SEQ_NO;
#,
UPDATE fes_accuml INNER JOIN tmpRelationToFesTbl ON
fes_accuml.TAG_NAME = concat(rtuTagName,'.', tmpRelationToFesTbl.DOT_NO)
SET APP_TABLE_NAME='',APP_TAG_NAME='',APP_COLUMN_NAME='';
#
UPDATE accuml INNER JOIN tmpRelationToFesTbl ON TAG_NAME = getAfterFirstDot(tmpRelationToFesTbl.KEY_ID_TAG) SET RTU_TAG = '';
#,RTU,
UPDATE accuml INNER JOIN tmpRelationToFesTbl ON TAG_NAME = getAfterFirstDot(tmpRelationToFesTbl.KEY_ID_TAG) SET RTU_TAG = rtuTagName ;
UPDATE accuml_map_to_fes INNER JOIN tmpRelationToFesTbl
ON accuml_map_to_fes.KEY_ID_TAG = tmpRelationToFesTbl.KEY_ID_TAG
SET accuml_map_to_fes.DOT_NO = tmpRelationToFesTbl.DOT_NO;
#analog
DELETE FROM tmpRelationToFesTbl;
INSERT INTO tmpRelationToFesTbl (KEY_ID_TAG , DOT_NO)
SELECT tb1.KEY_ID_TAG, tb2.DOT_NO
FROM
(SELECT analog_map_to_fes.KEY_ID_TAG,analog_temp_define.SEC_SEQ_NO
FROM analog_map_to_fes,analog_temp_define
WHERE
analog_map_to_fes.KEY_ID_TAG like concat('analog','.' ,devTagName,'.','%') AND
analog_map_to_fes.POINT_TP_NAME= analog_temp_define.TAG_NAME AND
analog_temp_define.SEC_DEVTP_NAME = fesDevTempTagName AND
COALESCE(analog_temp_define.SEC_SEQ_NO,-1) >= 0
)tb1
INNER JOIN
(SELECT fes_analog.DOT_NO, fes_analog.SEQ_NO
FROM fes_analog
WHERE
fes_analog.DEV_TAG = fesDevTagName AND
getBeforeLastDot(fes_analog.FES_POINT_TP_NAME) = fesDevTempTagName
)tb2
ON
tb1.SEC_SEQ_NO = tb2.SEQ_NO;
#,
UPDATE fes_analog INNER JOIN tmpRelationToFesTbl ON
fes_analog.TAG_NAME = concat(rtuTagName,'.', tmpRelationToFesTbl.DOT_NO)
SET APP_TABLE_NAME='',APP_TAG_NAME='',APP_COLUMN_NAME='';
#
UPDATE analog INNER JOIN tmpRelationToFesTbl ON TAG_NAME = getAfterFirstDot(tmpRelationToFesTbl.KEY_ID_TAG) SET RTU_TAG = '';
UPDATE analog INNER JOIN tmpRelationToFesTbl ON TAG_NAME = getAfterFirstDot(tmpRelationToFesTbl.KEY_ID_TAG) SET RTU_TAG = rtuTagName;
UPDATE analog_map_to_fes INNER JOIN tmpRelationToFesTbl
ON analog_map_to_fes.KEY_ID_TAG = tmpRelationToFesTbl.KEY_ID_TAG
SET analog_map_to_fes.DOT_NO = tmpRelationToFesTbl.DOT_NO;
#digital有五个分量,
DELETE FROM tmpRelationToFesTbl;
INSERT INTO tmpRelationToFesTbl (KEY_ID_TAG , DOT_NO ,OFFSET_NO)
SELECT tb1.KEY_ID_TAG, tb2.DOT_NO ,1
FROM
(SELECT digital_map_to_fes.KEY_ID_TAG,digital_temp_define.SEC_SEQ_NO1
FROM digital_map_to_fes,digital_temp_define
WHERE
digital_map_to_fes.KEY_ID_TAG like concat('digital','.' ,devTagName,'.','%') AND
digital_map_to_fes.POINT_TP_NAME= digital_temp_define.TAG_NAME AND
digital_temp_define.SEC_DEVTP_NAME = fesDevTempTagName AND
COALESCE(digital_temp_define.SEC_SEQ_NO1,-1) >= 0
)tb1
INNER JOIN
(SELECT fes_digital.DOT_NO, fes_digital.SEQ_NO
FROM fes_digital
WHERE
fes_digital.DEV_TAG = fesDevTagName AND
getBeforeLastDot(fes_digital.FES_POINT_TP_NAME) = fesDevTempTagName
)tb2
ON
tb1.SEC_SEQ_NO1 = tb2.SEQ_NO;
INSERT INTO tmpRelationToFesTbl (KEY_ID_TAG , DOT_NO ,OFFSET_NO)
SELECT tb1.KEY_ID_TAG, tb2.DOT_NO ,2
FROM
(SELECT digital_map_to_fes.KEY_ID_TAG,digital_temp_define.SEC_SEQ_NO2
FROM digital_map_to_fes,digital_temp_define
WHERE
digital_map_to_fes.KEY_ID_TAG like concat('digital','.' ,devTagName,'.','%') AND
digital_map_to_fes.POINT_TP_NAME= digital_temp_define.TAG_NAME AND
digital_temp_define.SEC_DEVTP_NAME = fesDevTempTagName AND
COALESCE(digital_temp_define.SEC_SEQ_NO2,-1) >= 0
)tb1
INNER JOIN
(SELECT fes_digital.DOT_NO, fes_digital.SEQ_NO
FROM fes_digital
WHERE
fes_digital.DEV_TAG = fesDevTagName AND
getBeforeLastDot(fes_digital.FES_POINT_TP_NAME) = fesDevTempTagName
)tb2
ON
tb1.SEC_SEQ_NO2 = tb2.SEQ_NO;
INSERT INTO tmpRelationToFesTbl (KEY_ID_TAG , DOT_NO ,OFFSET_NO)
SELECT tb1.KEY_ID_TAG, tb2.DOT_NO ,3
FROM
(SELECT digital_map_to_fes.KEY_ID_TAG,digital_temp_define.SEC_SEQ_NO3
FROM digital_map_to_fes,digital_temp_define
WHERE
digital_map_to_fes.KEY_ID_TAG like concat('digital','.' ,devTagName,'.','%') AND
digital_map_to_fes.POINT_TP_NAME= digital_temp_define.TAG_NAME AND
digital_temp_define.SEC_DEVTP_NAME = fesDevTempTagName AND
COALESCE(digital_temp_define.SEC_SEQ_NO3,-1) >= 0
)tb1
INNER JOIN
(SELECT fes_digital.DOT_NO, fes_digital.SEQ_NO
FROM fes_digital
WHERE
fes_digital.DEV_TAG = fesDevTagName AND
getBeforeLastDot(fes_digital.FES_POINT_TP_NAME) = fesDevTempTagName
)tb2
ON
tb1.SEC_SEQ_NO3 = tb2.SEQ_NO;
INSERT INTO tmpRelationToFesTbl (KEY_ID_TAG , DOT_NO ,OFFSET_NO)
SELECT tb1.KEY_ID_TAG, tb2.DOT_NO ,4
FROM
(SELECT digital_map_to_fes.KEY_ID_TAG,digital_temp_define.SEC_SEQ_NO4
FROM digital_map_to_fes,digital_temp_define
WHERE
digital_map_to_fes.KEY_ID_TAG like concat('digital','.' ,devTagName,'.','%') AND
digital_map_to_fes.POINT_TP_NAME= digital_temp_define.TAG_NAME AND
digital_temp_define.SEC_DEVTP_NAME = fesDevTempTagName AND
COALESCE(digital_temp_define.SEC_SEQ_NO4,-1) >= 0
)tb1
INNER JOIN
(SELECT fes_digital.DOT_NO, fes_digital.SEQ_NO
FROM fes_digital
WHERE
fes_digital.DEV_TAG = fesDevTagName AND
getBeforeLastDot(fes_digital.FES_POINT_TP_NAME) = fesDevTempTagName
)tb2
ON
tb1.SEC_SEQ_NO4 = tb2.SEQ_NO;
INSERT INTO tmpRelationToFesTbl (KEY_ID_TAG , DOT_NO ,OFFSET_NO)
SELECT tb1.KEY_ID_TAG, tb2.DOT_NO ,5
FROM
(SELECT digital_map_to_fes.KEY_ID_TAG,digital_temp_define.SEC_SEQ_NO5
FROM digital_map_to_fes,digital_temp_define
WHERE
digital_map_to_fes.KEY_ID_TAG like concat('digital','.' ,devTagName,'.','%') AND
digital_map_to_fes.POINT_TP_NAME= digital_temp_define.TAG_NAME AND
digital_temp_define.SEC_DEVTP_NAME = fesDevTempTagName AND
COALESCE(digital_temp_define.SEC_SEQ_NO5,-1) >= 0
)tb1
INNER JOIN
(SELECT fes_digital.DOT_NO, fes_digital.SEQ_NO
FROM fes_digital
WHERE
fes_digital.DEV_TAG = fesDevTagName AND
getBeforeLastDot(fes_digital.FES_POINT_TP_NAME) = fesDevTempTagName
)tb2
ON
tb1.SEC_SEQ_NO5 = tb2.SEQ_NO;
#,
UPDATE fes_digital INNER JOIN tmpRelationToFesTbl ON
fes_digital.TAG_NAME = concat(rtuTagName,'.', tmpRelationToFesTbl.DOT_NO)
SET APP_TABLE_NAME='',APP_TAG_NAME='',APP_COLUMN_NAME='';
#
UPDATE digital INNER JOIN tmpRelationToFesTbl ON TAG_NAME = getAfterFirstDot(tmpRelationToFesTbl.KEY_ID_TAG) SET RTU_TAG = '' ;
UPDATE digital INNER JOIN tmpRelationToFesTbl ON TAG_NAME = getAfterFirstDot(tmpRelationToFesTbl.KEY_ID_TAG) SET RTU_TAG = rtuTagName;
UPDATE digital_map_to_fes INNER JOIN tmpRelationToFesTbl
ON digital_map_to_fes.KEY_ID_TAG = tmpRelationToFesTbl.KEY_ID_TAG AND tmpRelationToFesTbl.OFFSET_NO = 1
SET digital_map_to_fes.DOT_NO1 = tmpRelationToFesTbl.DOT_NO;
UPDATE digital_map_to_fes INNER JOIN tmpRelationToFesTbl
ON digital_map_to_fes.KEY_ID_TAG = tmpRelationToFesTbl.KEY_ID_TAG AND tmpRelationToFesTbl.OFFSET_NO = 2
SET digital_map_to_fes.DOT_NO2 = tmpRelationToFesTbl.DOT_NO;
UPDATE digital_map_to_fes INNER JOIN tmpRelationToFesTbl
ON digital_map_to_fes.KEY_ID_TAG = tmpRelationToFesTbl.KEY_ID_TAG AND tmpRelationToFesTbl.OFFSET_NO = 3
SET digital_map_to_fes.DOT_NO3 = tmpRelationToFesTbl.DOT_NO;
UPDATE digital_map_to_fes INNER JOIN tmpRelationToFesTbl
ON digital_map_to_fes.KEY_ID_TAG = tmpRelationToFesTbl.KEY_ID_TAG AND tmpRelationToFesTbl.OFFSET_NO = 4
SET digital_map_to_fes.DOT_NO4 = tmpRelationToFesTbl.DOT_NO;
UPDATE digital_map_to_fes INNER JOIN tmpRelationToFesTbl
ON digital_map_to_fes.KEY_ID_TAG = tmpRelationToFesTbl.KEY_ID_TAG AND tmpRelationToFesTbl.OFFSET_NO = 5
SET digital_map_to_fes.DOT_NO5 = tmpRelationToFesTbl.DOT_NO;
#mix
DELETE FROM tmpRelationToFesTbl;
INSERT INTO tmpRelationToFesTbl (KEY_ID_TAG , DOT_NO )
SELECT tb1.KEY_ID_TAG, tb2.DOT_NO
FROM
(SELECT mix_map_to_fes.KEY_ID_TAG,mix_temp_define.SEC_SEQ_NO
FROM mix_map_to_fes,mix_temp_define
WHERE
mix_map_to_fes.KEY_ID_TAG like concat('mix','.' ,devTagName,'.','%') AND
mix_map_to_fes.POINT_TP_NAME= mix_temp_define.TAG_NAME AND
mix_temp_define.SEC_DEVTP_NAME = fesDevTempTagName
)tb1
INNER JOIN
(SELECT fes_mix.DOT_NO, fes_mix.SEQ_NO
FROM fes_mix
WHERE
fes_mix.DEV_TAG = fesDevTagName AND
getBeforeLastDot(fes_mix.FES_POINT_TP_NAME) = fesDevTempTagName
)tb2
ON
tb1.SEC_SEQ_NO = tb2.SEQ_NO;
#,
UPDATE fes_mix INNER JOIN tmpRelationToFesTbl ON
fes_mix.TAG_NAME = concat(rtuTagName,'.', tmpRelationToFesTbl.DOT_NO)
SET APP_TABLE_NAME='',APP_TAG_NAME='',APP_COLUMN_NAME='';
#
UPDATE mix INNER JOIN tmpRelationToFesTbl ON TAG_NAME = getAfterFirstDot(tmpRelationToFesTbl.KEY_ID_TAG) SET RTU_TAG = '' ;
UPDATE mix INNER JOIN tmpRelationToFesTbl ON TAG_NAME = getAfterFirstDot(tmpRelationToFesTbl.KEY_ID_TAG) SET RTU_TAG = rtuTagName;
UPDATE mix_map_to_fes INNER JOIN tmpRelationToFesTbl
ON mix_map_to_fes.KEY_ID_TAG = tmpRelationToFesTbl.KEY_ID_TAG
SET mix_map_to_fes.DOT_NO = tmpRelationToFesTbl.DOT_NO;
#,
#analog_ctrl
DELETE FROM tmpRelationToFesTbl;
INSERT INTO tmpRelationToFesTbl (KEY_ID_TAG , DOT_NO )
SELECT tb1.TAG_NAME, tb2.DOT_NO
FROM
(SELECT analog_control.TAG_NAME,analog_temp_define.OUT_SEC_SEQ_NO
FROM analog_control,analog_temp_define
WHERE
analog_control.TAG_NAME like concat(devTagName,'.','%') AND
analog_control.POINT_TP_NAME= analog_temp_define.TAG_NAME AND
COALESCE(analog_temp_define.OUT_SEC_SEQ_NO,-1) >= 0 AND
analog_temp_define.SEC_DEVTP_NAME = fesDevTempTagName
)tb1
INNER JOIN
(SELECT fes_analog_ctrl.DOT_NO, fes_analog_ctrl.SEQ_NO
FROM fes_analog_ctrl
WHERE
fes_analog_ctrl.DEV_TAG = fesDevTagName AND
getBeforeLastDot(fes_analog_ctrl.POINT_TP_NAME) = fesDevTempTagName
)tb2
ON
tb1.OUT_SEC_SEQ_NO = tb2.SEQ_NO;
UPDATE analog_control INNER JOIN tmpRelationToFesTbl
ON analog_control.TAG_NAME = tmpRelationToFesTbl.KEY_ID_TAG
SET analog_control.RTU_TAG = rtuTagName,
analog_control.OFFSET_NO = tmpRelationToFesTbl.DOT_NO;
#digital_Ctrl
DELETE FROM tmpRelationToFesTbl;
INSERT INTO tmpRelationToFesTbl (KEY_ID_TAG , DOT_NO ,OFFSET_NO)
SELECT tb1.TAG_NAME, tb2.DOT_NO ,1
FROM
(SELECT digital_control.TAG_NAME,digital_temp_define.OUT_SEC_SEQ_NO1
FROM digital_control,digital_temp_define
WHERE
digital_control.TAG_NAME like concat(devTagName,'.','%') AND
digital_control.POINT_TP_NAME= digital_temp_define.TAG_NAME AND
COALESCE(digital_temp_define.OUT_SEC_SEQ_NO1,-1) >= 0 AND
digital_temp_define.SEC_DEVTP_NAME = fesDevTempTagName
)tb1
INNER JOIN
(SELECT fes_digital_ctrl.DOT_NO, fes_digital_ctrl.SEQ_NO
FROM fes_digital_ctrl
WHERE
fes_digital_ctrl.DEV_TAG = fesDevTagName AND
getBeforeLastDot(fes_digital_ctrl.POINT_TP_NAME) = fesDevTempTagName
)tb2
ON
tb1.OUT_SEC_SEQ_NO1 = tb2.SEQ_NO;
INSERT INTO tmpRelationToFesTbl (KEY_ID_TAG , DOT_NO ,OFFSET_NO)
SELECT tb1.TAG_NAME, tb2.DOT_NO ,2
FROM
(SELECT digital_control.TAG_NAME,digital_temp_define.OUT_SEC_SEQ_NO2
FROM digital_control,digital_temp_define
WHERE
digital_control.TAG_NAME like concat(devTagName,'.','%') AND
digital_control.POINT_TP_NAME= digital_temp_define.TAG_NAME AND
COALESCE(digital_temp_define.OUT_SEC_SEQ_NO2,-1) >= 0 AND
digital_temp_define.SEC_DEVTP_NAME = fesDevTempTagName
)tb1
INNER JOIN
(SELECT fes_digital_ctrl.DOT_NO, fes_digital_ctrl.SEQ_NO
FROM fes_digital_ctrl
WHERE
fes_digital_ctrl.DEV_TAG = fesDevTagName AND
getBeforeLastDot(fes_digital_ctrl.POINT_TP_NAME) = fesDevTempTagName
)tb2
ON
tb1.OUT_SEC_SEQ_NO2 = tb2.SEQ_NO;
INSERT INTO tmpRelationToFesTbl (KEY_ID_TAG , DOT_NO ,OFFSET_NO)
SELECT tb1.TAG_NAME, tb2.DOT_NO ,3
FROM
(SELECT digital_control.TAG_NAME,digital_temp_define.OUT_SEC_SEQ_NO3
FROM digital_control,digital_temp_define
WHERE
digital_control.TAG_NAME like concat(devTagName,'.','%') AND
digital_control.POINT_TP_NAME= digital_temp_define.TAG_NAME AND
COALESCE(digital_temp_define.OUT_SEC_SEQ_NO3,-1) >= 0 AND
digital_temp_define.SEC_DEVTP_NAME = fesDevTempTagName
)tb1
INNER JOIN
(SELECT fes_digital_ctrl.DOT_NO, fes_digital_ctrl.SEQ_NO
FROM fes_digital_ctrl
WHERE
fes_digital_ctrl.DEV_TAG = fesDevTagName AND
getBeforeLastDot(fes_digital_ctrl.POINT_TP_NAME) = fesDevTempTagName
)tb2
ON
tb1.OUT_SEC_SEQ_NO3 = tb2.SEQ_NO;
INSERT INTO tmpRelationToFesTbl (KEY_ID_TAG , DOT_NO ,OFFSET_NO)
SELECT tb1.TAG_NAME, tb2.DOT_NO ,4
FROM
(SELECT digital_control.TAG_NAME,digital_temp_define.OUT_SEC_SEQ_NO4
FROM digital_control,digital_temp_define
WHERE
digital_control.TAG_NAME like concat(devTagName,'.','%') AND
digital_control.POINT_TP_NAME= digital_temp_define.TAG_NAME AND
COALESCE(digital_temp_define.OUT_SEC_SEQ_NO4,-1) >= 0 AND
digital_temp_define.SEC_DEVTP_NAME = fesDevTempTagName
)tb1
INNER JOIN
(SELECT fes_digital_ctrl.DOT_NO, fes_digital_ctrl.SEQ_NO
FROM fes_digital_ctrl
WHERE
fes_digital_ctrl.DEV_TAG = fesDevTagName AND
getBeforeLastDot(fes_digital_ctrl.POINT_TP_NAME) = fesDevTempTagName
)tb2
ON
tb1.OUT_SEC_SEQ_NO4 = tb2.SEQ_NO;
INSERT INTO tmpRelationToFesTbl (KEY_ID_TAG , DOT_NO ,OFFSET_NO)
SELECT tb1.TAG_NAME, tb2.DOT_NO ,5
FROM
(SELECT digital_control.TAG_NAME,digital_temp_define.OUT_SEC_SEQ_NO5
FROM digital_control,digital_temp_define
WHERE
digital_control.TAG_NAME like concat(devTagName,'.','%') AND
digital_control.POINT_TP_NAME= digital_temp_define.TAG_NAME AND
COALESCE(digital_temp_define.OUT_SEC_SEQ_NO5,-1) >= 0 AND
digital_temp_define.SEC_DEVTP_NAME = fesDevTempTagName
)tb1
INNER JOIN
(SELECT fes_digital_ctrl.DOT_NO, fes_digital_ctrl.SEQ_NO
FROM fes_digital_ctrl
WHERE
fes_digital_ctrl.DEV_TAG = fesDevTagName AND
getBeforeLastDot(fes_digital_ctrl.POINT_TP_NAME) = fesDevTempTagName
)tb2
ON
tb1.OUT_SEC_SEQ_NO5 = tb2.SEQ_NO;
UPDATE digital_control INNER JOIN tmpRelationToFesTbl
ON digital_control.TAG_NAME = tmpRelationToFesTbl.KEY_ID_TAG AND tmpRelationToFesTbl.OFFSET_NO = 1
SET digital_control.RTU_TAG = rtuTagName,
digital_control.OFFSET_NO1 = tmpRelationToFesTbl.DOT_NO;
UPDATE digital_control INNER JOIN tmpRelationToFesTbl
ON digital_control.TAG_NAME = tmpRelationToFesTbl.KEY_ID_TAG AND tmpRelationToFesTbl.OFFSET_NO = 2
SET digital_control.RTU_TAG = rtuTagName,
digital_control.OFFSET_NO2 = tmpRelationToFesTbl.DOT_NO;
UPDATE digital_control INNER JOIN tmpRelationToFesTbl
ON digital_control.TAG_NAME = tmpRelationToFesTbl.KEY_ID_TAG AND tmpRelationToFesTbl.OFFSET_NO = 3
SET digital_control.RTU_TAG = rtuTagName,
digital_control.OFFSET_NO3 = tmpRelationToFesTbl.DOT_NO;
UPDATE digital_control INNER JOIN tmpRelationToFesTbl
ON digital_control.TAG_NAME = tmpRelationToFesTbl.KEY_ID_TAG AND tmpRelationToFesTbl.OFFSET_NO = 4
SET digital_control.RTU_TAG = rtuTagName,
digital_control.OFFSET_NO4 = tmpRelationToFesTbl.DOT_NO;
UPDATE digital_control INNER JOIN tmpRelationToFesTbl
ON digital_control.TAG_NAME = tmpRelationToFesTbl.KEY_ID_TAG AND tmpRelationToFesTbl.OFFSET_NO = 5
SET digital_control.RTU_TAG = rtuTagName,
digital_control.OFFSET_NO5 = tmpRelationToFesTbl.DOT_NO;
#mix_ctrl
DELETE FROM tmpRelationToFesTbl;
INSERT INTO tmpRelationToFesTbl (KEY_ID_TAG , DOT_NO )
SELECT tb1.TAG_NAME, tb2.DOT_NO
FROM
(SELECT mix_control.TAG_NAME,mix_temp_define.OUT_SEC_SEQ_NO
FROM mix_control,mix_temp_define
WHERE
mix_control.TAG_NAME like concat(devTagName,'.','%') AND
mix_control.POINT_TP_NAME= mix_temp_define.TAG_NAME AND
COALESCE(mix_temp_define.OUT_SEC_SEQ_NO,-1) >= 0 AND
mix_temp_define.SEC_DEVTP_NAME = fesDevTempTagName
)tb1
INNER JOIN
(SELECT fes_mix_ctrl.DOT_NO, fes_mix_ctrl.SEQ_NO
FROM fes_mix_ctrl
WHERE
fes_mix_ctrl.DEV_TAG = fesDevTagName AND
getBeforeLastDot(fes_mix_ctrl.POINT_TP_NAME) = fesDevTempTagName
)tb2
ON
tb1.OUT_SEC_SEQ_NO = tb2.SEQ_NO;
UPDATE mix_control INNER JOIN tmpRelationToFesTbl
ON mix_control.TAG_NAME = tmpRelationToFesTbl.KEY_ID_TAG
SET mix_control.RTU_TAG = rtuTagName,
mix_control.OFFSET_NO = tmpRelationToFesTbl.DOT_NO;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `sortResPara1`;
DELIMITER $$
CREATE PROCEDURE `sortResPara1`(rtuTag varchar(64), startNum decimal(10,0))
body:BEGIN
/*
* 依据设备ID重排规约参数1
*
*/
#acc
set @tmpResParaVar = startNum;
UPDATE (
SELECT fes_accuml.TAG_NAME,fes_accuml.DESCRIPTION,fes_dev_info.DEV_DESC, fes_accuml.RES_PARA_INT1
FROM fes_accuml LEFT JOIN fes_dev_info on fes_accuml.DEV_TAG = fes_dev_info.TAG_NAME
WHERE fes_accuml.TAG_NAME LIKE concat(rtuTag,'.%')
ORDER BY fes_dev_info.DEV_ID,fes_accuml.SEQ_NO) temp
LEFT JOIN fes_accuml ON temp.TAG_NAME = fes_accuml.TAG_NAME
set fes_accuml.RES_PARA_INT1 = (@tmpResParaVar := @tmpResParaVar + 1);
#ana
set @tmpResParaVar = startNum;
UPDATE (
SELECT fes_analog.TAG_NAME,fes_analog.DESCRIPTION,fes_dev_info.DEV_DESC, fes_analog.RES_PARA_INT1
FROM fes_analog LEFT JOIN fes_dev_info on fes_analog.DEV_TAG = fes_dev_info.TAG_NAME
WHERE fes_analog.TAG_NAME LIKE concat(rtuTag,'.%')
ORDER BY fes_dev_info.DEV_ID,fes_analog.SEQ_NO) temp
LEFT JOIN fes_analog ON temp.TAG_NAME = fes_analog.TAG_NAME
set fes_analog.RES_PARA_INT1 = (@tmpResParaVar := @tmpResParaVar + 1);
#dig
set @tmpResParaVar = startNum;
UPDATE (
SELECT fes_digital.TAG_NAME,fes_digital.DESCRIPTION,fes_dev_info.DEV_DESC, fes_digital.RES_PARA_INT1
FROM fes_digital LEFT JOIN fes_dev_info on fes_digital.DEV_TAG = fes_dev_info.TAG_NAME
WHERE fes_digital.TAG_NAME LIKE concat(rtuTag,'.%')
ORDER BY fes_dev_info.DEV_ID,fes_digital.SEQ_NO) temp
LEFT JOIN fes_digital ON temp.TAG_NAME = fes_digital.TAG_NAME
set fes_digital.RES_PARA_INT1 = (@tmpResParaVar := @tmpResParaVar + 1);
#mix
set @tmpResParaVar = startNum;
UPDATE (
SELECT fes_mix.TAG_NAME,fes_mix.DESCRIPTION,fes_dev_info.DEV_DESC, fes_mix.RES_PARA_INT1
FROM fes_mix LEFT JOIN fes_dev_info on fes_mix.DEV_TAG = fes_dev_info.TAG_NAME
WHERE fes_mix.TAG_NAME LIKE concat(rtuTag,'.%')
ORDER BY fes_dev_info.DEV_ID,fes_mix.SEQ_NO) temp
LEFT JOIN fes_mix ON temp.TAG_NAME = fes_mix.TAG_NAME
set fes_mix.RES_PARA_INT1 = (@tmpResParaVar := @tmpResParaVar + 1);
#anaCtrl
set @tmpResParaVar = startNum;
UPDATE (
SELECT fes_analog_ctrl.TAG_NAME,fes_analog_ctrl.DESCRIPTION,fes_dev_info.DEV_DESC, fes_analog_ctrl.RES_PARA_INT1
FROM fes_analog_ctrl LEFT JOIN fes_dev_info on fes_analog_ctrl.DEV_TAG = fes_dev_info.TAG_NAME
WHERE fes_analog_ctrl.TAG_NAME LIKE concat(rtuTag,'.%')
ORDER BY fes_dev_info.DEV_ID,fes_analog_ctrl.SEQ_NO) temp
LEFT JOIN fes_analog_ctrl ON temp.TAG_NAME = fes_analog_ctrl.TAG_NAME
set fes_analog_ctrl.RES_PARA_INT1 = (@tmpResParaVar := @tmpResParaVar + 1);
#digCtrl
set @tmpResParaVar = startNum;
UPDATE (
SELECT fes_digital_ctrl.TAG_NAME,fes_digital_ctrl.DESCRIPTION,fes_dev_info.DEV_DESC, fes_digital_ctrl.RES_PARA_INT1
FROM fes_digital_ctrl LEFT JOIN fes_dev_info on fes_digital_ctrl.DEV_TAG = fes_dev_info.TAG_NAME
WHERE fes_digital_ctrl.TAG_NAME LIKE concat(rtuTag,'.%')
ORDER BY fes_dev_info.DEV_ID,fes_digital_ctrl.SEQ_NO) temp
LEFT JOIN fes_digital_ctrl ON temp.TAG_NAME = fes_digital_ctrl.TAG_NAME
set fes_digital_ctrl.RES_PARA_INT1 = (@tmpResParaVar := @tmpResParaVar + 1);
#mixCtrl
set @tmpResParaVar = startNum;
UPDATE (
SELECT fes_mix_ctrl.TAG_NAME,fes_mix_ctrl.DESCRIPTION,fes_dev_info.DEV_DESC, fes_mix_ctrl.RES_PARA_INT1
FROM fes_mix_ctrl LEFT JOIN fes_dev_info on fes_mix_ctrl.DEV_TAG = fes_dev_info.TAG_NAME
WHERE fes_mix_ctrl.TAG_NAME LIKE concat(rtuTag,'.%')
ORDER BY fes_dev_info.DEV_ID,fes_mix_ctrl.SEQ_NO) temp
LEFT JOIN fes_mix_ctrl ON temp.TAG_NAME = fes_mix_ctrl.TAG_NAME
set fes_mix_ctrl.RES_PARA_INT1 = (@tmpResParaVar := @tmpResParaVar + 1);
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `updateDescByFes`;
DELIMITER $$
CREATE PROCEDURE `updateDescByFes`(devTagName varchar(64))
body:BEGIN
#使,
#使
CREATE TEMPORARY TABLE IF NOT EXISTS tmpUpdateDescByFesTbl(
TAG_NAME varchar(64),
DESCRIPTION varchar(128)
);
#acc
DELETE FROM tmpUpdateDescByFesTbl;
INSERT INTO tmpUpdateDescByFesTbl(TAG_NAME,DESCRIPTION)
SELECT accuml.TAG_NAME,fes_accuml.DESCRIPTION
FROM (accuml INNER JOIN accuml_map_to_fes ON accuml.DEVICE = devTagName AND accuml_map_to_fes.KEY_ID_TAG = concat('accuml.',accuml.TAG_NAME))
INNER JOIN fes_accuml ON fes_accuml.TAG_NAME = concat(accuml_map_to_fes.RTU_TAG,'.',accuml_map_to_fes.DOT_NO);
UPDATE accuml INNER JOIN tmpUpdateDescByFesTbl
ON accuml.TAG_NAME = tmpUpdateDescByFesTbl.TAG_NAME
SET accuml.DESCRIPTION = tmpUpdateDescByFesTbl.DESCRIPTION;
#ana
DELETE FROM tmpUpdateDescByFesTbl;
INSERT INTO tmpUpdateDescByFesTbl(TAG_NAME,DESCRIPTION)
SELECT analog.TAG_NAME,fes_analog.DESCRIPTION
FROM (analog INNER JOIN analog_map_to_fes ON analog.DEVICE = devTagName AND analog_map_to_fes.KEY_ID_TAG = concat('analog.',analog.TAG_NAME))
INNER JOIN fes_analog ON fes_analog.TAG_NAME = concat(analog_map_to_fes.RTU_TAG,'.',analog_map_to_fes.DOT_NO);
UPDATE analog INNER JOIN tmpUpdateDescByFesTbl
ON analog.TAG_NAME = tmpUpdateDescByFesTbl.TAG_NAME
SET analog.DESCRIPTION = tmpUpdateDescByFesTbl.DESCRIPTION;
#dig
DELETE FROM tmpUpdateDescByFesTbl;
INSERT INTO tmpUpdateDescByFesTbl(TAG_NAME,DESCRIPTION)
SELECT digital.TAG_NAME,fes_digital.DESCRIPTION
FROM (digital INNER JOIN digital_map_to_fes ON digital.DEVICE = devTagName AND digital_map_to_fes.KEY_ID_TAG = concat('digital.',digital.TAG_NAME))
INNER JOIN fes_digital ON fes_digital.TAG_NAME = concat(digital_map_to_fes.RTU_TAG,'.',digital_map_to_fes.DOT_NO1);
UPDATE digital INNER JOIN tmpUpdateDescByFesTbl
ON digital.TAG_NAME = tmpUpdateDescByFesTbl.TAG_NAME
SET digital.DESCRIPTION = tmpUpdateDescByFesTbl.DESCRIPTION;
#mix
DELETE FROM tmpUpdateDescByFesTbl;
INSERT INTO tmpUpdateDescByFesTbl(TAG_NAME,DESCRIPTION)
SELECT mix.TAG_NAME,fes_mix.DESCRIPTION
FROM (mix INNER JOIN mix_map_to_fes ON mix.DEVICE = devTagName AND mix_map_to_fes.KEY_ID_TAG = concat('mix.',mix.TAG_NAME))
INNER JOIN fes_mix ON fes_mix.TAG_NAME = concat(mix_map_to_fes.RTU_TAG,'.',mix_map_to_fes.DOT_NO);
UPDATE mix INNER JOIN tmpUpdateDescByFesTbl
ON mix.TAG_NAME = tmpUpdateDescByFesTbl.TAG_NAME
SET mix.DESCRIPTION = tmpUpdateDescByFesTbl.DESCRIPTION;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `updateForwardBase`;
DELIMITER $$
CREATE PROCEDURE `updateForwardBase`(tableName varchar(64), rtuTagName varchar(64), bs decimal(22,6))
body:BEGIN
/*
* 修改转发表的修正值
*/
IF lower(tableName) = 'fes_forwarding_accuml' THEN
UPDATE fes_forwarding_accuml SET BASE = bs WHERE RTU_TAG = rtuTagName ;
ELSEIF lower(tableName) = 'fes_forwarding_anaolg' THEN
UPDATE fes_forwarding_anaolg SET BASE = bs WHERE RTU_TAG = rtuTagName ;
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `updateForwardCoeff`;
DELIMITER $$
CREATE PROCEDURE `updateForwardCoeff`( tableName varchar(64), rtuTagName varchar(64), coe decimal(22,6))
body:BEGIN
#
IF lower(tableName) = 'fes_forwarding_accuml' THEN
UPDATE fes_forwarding_accuml SET COEFF = coe WHERE RTU_TAG = rtuTagName ;
ELSEIF lower(tableName) = 'fes_forwarding_anaolg' THEN
UPDATE fes_forwarding_anaolg SET COEFF = coe WHERE RTU_TAG = rtuTagName ;
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `updateForwardId`;
DELIMITER $$
CREATE PROCEDURE `updateForwardId`(tableName varchar(64), rtuTagName varchar(64), remoteStartNo decimal(10,0))
body:BEGIN
#
#tableName
#rtuTagName RTU
#remoteStartNo
SET @forwardId := remoteStartNo - 1;
IF lower(tableName) = 'fes_forwarding_accuml' THEN
UPDATE fes_forwarding_accuml SET ID = (@forwardId := @forwardId + 1) WHERE RTU_TAG = rtuTagName ORDER BY ID;
ELSEIF lower(tableName) = 'fes_forwarding_anaolg' THEN
UPDATE fes_forwarding_anaolg SET ID = (@forwardId := @forwardId + 1) WHERE RTU_TAG = rtuTagName ORDER BY ID;
ELSEIF lower(tableName) = 'fes_forwarding_anaolg_ctrl' THEN
UPDATE fes_forwarding_anaolg_ctrl SET ID = (@forwardId := @forwardId + 1) WHERE RTU_TAG = rtuTagName ORDER BY ID;
ELSEIF lower(tableName) = 'fes_forwarding_digital' THEN
UPDATE fes_forwarding_digital SET ID = (@forwardId := @forwardId + 1) WHERE RTU_TAG = rtuTagName ORDER BY ID;
ELSEIF lower(tableName) = 'fes_forwarding_digital_ctrl' THEN
UPDATE fes_forwarding_digital_ctrl SET ID = (@forwardId := @forwardId + 1) WHERE RTU_TAG = rtuTagName ORDER BY ID;
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `updateForwardRemote`;
DELIMITER $$
CREATE PROCEDURE `updateForwardRemote`( tableName varchar(64), rtuTagName varchar(64), remoteStartNo decimal(10,0))
body:BEGIN
#
#1,1
SET @forwardRemoteNum := remoteStartNo - 1;
IF lower(tableName) = 'fes_forwarding_accuml' THEN
UPDATE fes_forwarding_accuml SET REMOTE_NO = (@forwardRemoteNum := @forwardRemoteNum + 1) WHERE RTU_TAG = rtuTagName ORDER BY ID;
ELSEIF lower(tableName) = 'fes_forwarding_anaolg' THEN
UPDATE fes_forwarding_anaolg SET REMOTE_NO = (@forwardRemoteNum := @forwardRemoteNum + 1) WHERE RTU_TAG = rtuTagName ORDER BY ID;
ELSEIF lower(tableName) = 'fes_forwarding_anaolg_ctrl' THEN
UPDATE fes_forwarding_anaolg_ctrl SET REMOTE_NO = (@forwardRemoteNum := @forwardRemoteNum + 1) WHERE RTU_TAG = rtuTagName ORDER BY ID;
ELSEIF lower(tableName) = 'fes_forwarding_digital' THEN
UPDATE fes_forwarding_digital SET REMOTE_NO = (@forwardRemoteNum := @forwardRemoteNum + 1) WHERE RTU_TAG = rtuTagName ORDER BY ID;
ELSEIF lower(tableName) = 'fes_forwarding_digital_ctrl' THEN
UPDATE fes_forwarding_digital_ctrl SET REMOTE_NO = (@forwardRemoteNum := @forwardRemoteNum + 1) WHERE RTU_TAG = rtuTagName ORDER BY ID;
END IF;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `updateUsergRegion`;
DELIMITER $$
CREATE PROCEDURE `updateUsergRegion`(roleId decimal(10,0))
BEGIN
#
#rm_userg_rsp_info表
CREATE TEMPORARY TABLE IF NOT EXISTS tmpUserGroupTbl(
PERM_USER_GROUP decimal(10,0)
);
DELETE FROM tmpUserGroupTbl;
CREATE TEMPORARY TABLE IF NOT EXISTS tmpUURegion(
PERM_USER_GROUP decimal(10,0),
PERM_ROLE decimal(10,0),
PERM_SPEFUNC decimal(10,0),
PERM_REGION1 decimal(10,0),
PERM_REGION2 decimal(10,0),
PERM_REGION3 decimal(10,0),
PERM_REGION4 decimal(10,0),
PERM_LOCATION1 decimal(10,0),
PERM_LOCATION2 decimal(10,0),
PERM_LOCATION3 decimal(10,0),
PERM_LOCATION4 decimal(10,0),
PERM_LOCATION5 decimal(10,0),
PERM_LOCATION6 decimal(10,0),
PERM_LOCATION7 decimal(10,0),
PERM_LOCATION8 decimal(10,0)
);
DELETE FROM tmpUURegion;
INSERT INTO tmpUserGroupTbl(PERM_USER_GROUP)
SELECT PERM_USER_GROUP FROM rm_userg_rsp_info WHERE PERM_ROLE = roleId GROUP BY PERM_USER_GROUP;
INSERT INTO tmpUURegion (PERM_USER_GROUP, PERM_ROLE, PERM_SPEFUNC, PERM_REGION1, PERM_REGION2, PERM_REGION3, PERM_REGION4, PERM_LOCATION1, PERM_LOCATION2, PERM_LOCATION3, PERM_LOCATION4, PERM_LOCATION5, PERM_LOCATION6, PERM_LOCATION7, PERM_LOCATION8)
SELECT PERM_USER_GROUP, PERM_ROLE, PERM_SPEFUNC, PERM_REGION1, PERM_REGION2, PERM_REGION3, PERM_REGION4, PERM_LOCATION1, PERM_LOCATION2, PERM_LOCATION3, PERM_LOCATION4, PERM_LOCATION5, PERM_LOCATION6, PERM_LOCATION7, PERM_LOCATION8
FROM rm_userg_rsp_info WHERE PERM_ROLE = roleId;
#
DELETE FROM rm_userg_rsp_info WHERE PERM_ROLE = roleId;
INSERT INTO rm_userg_rsp_info(PERM_USER_GROUP, PERM_ROLE, PERM_SPEFUNC, PERM_REGION1, PERM_REGION2, PERM_REGION3, PERM_REGION4, PERM_LOCATION1, PERM_LOCATION2, PERM_LOCATION3, PERM_LOCATION4, PERM_LOCATION5, PERM_LOCATION6, PERM_LOCATION7, PERM_LOCATION8)
SELECT tmpUserGroupTbl.PERM_USER_GROUP,roleId,rm_role_spef_reg.PERM_SPEFUNC,rm_role_spef_reg.PERM_REGION1,rm_role_spef_reg.PERM_REGION2,rm_role_spef_reg.PERM_REGION3,rm_role_spef_reg.PERM_REGION4,0,0,0,0,0,0,0,0
FROM rm_role_spef_reg ,tmpUserGroupTbl WHERE rm_role_spef_reg.PERM_ROLE=roleId;
UPDATE rm_userg_rsp_info INNER JOIN tmpUURegion
ON rm_userg_rsp_info.PERM_USER_GROUP = tmpUURegion.PERM_USER_GROUP
AND rm_userg_rsp_info.PERM_ROLE = roleId AND tmpUURegion.PERM_ROLE = roleId
AND rm_userg_rsp_info.PERM_SPEFUNC = tmpUURegion.PERM_SPEFUNC
SET
rm_userg_rsp_info.PERM_LOCATION1 = tmpUURegion.PERM_LOCATION1,
rm_userg_rsp_info.PERM_LOCATION2 = tmpUURegion.PERM_LOCATION2,
rm_userg_rsp_info.PERM_LOCATION3 = tmpUURegion.PERM_LOCATION3,
rm_userg_rsp_info.PERM_LOCATION4 = tmpUURegion.PERM_LOCATION4,
rm_userg_rsp_info.PERM_LOCATION5 = tmpUURegion.PERM_LOCATION5,
rm_userg_rsp_info.PERM_LOCATION6 = tmpUURegion.PERM_LOCATION6,
rm_userg_rsp_info.PERM_LOCATION7 = tmpUURegion.PERM_LOCATION7,
rm_userg_rsp_info.PERM_LOCATION8 = tmpUURegion.PERM_LOCATION8;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `updateUsergRsp`;
DELIMITER $$
CREATE PROCEDURE `updateUsergRsp`(userGId decimal(10,0))
BEGIN
#rm_userg_rsp_info表
UPDATE rm_userg_rsp_info INNER JOIN rm_role_spef_reg
ON rm_userg_rsp_info.PERM_ROLE = rm_role_spef_reg.PERM_ROLE AND rm_userg_rsp_info.PERM_SPEFUNC = rm_role_spef_reg.PERM_SPEFUNC
AND rm_userg_rsp_info.PERM_USER_GROUP = userGId
SET
rm_userg_rsp_info.PERM_REGION1 = rm_role_spef_reg.PERM_REGION1,
rm_userg_rsp_info.PERM_REGION2 = rm_role_spef_reg.PERM_REGION2,
rm_userg_rsp_info.PERM_REGION3 = rm_role_spef_reg.PERM_REGION3,
rm_userg_rsp_info.PERM_REGION4 = rm_role_spef_reg.PERM_REGION4;
END$$
DELIMITER ;
-- ------------------------------------------------------
DROP PROCEDURE IF EXISTS `userGRoleModify`;
DELIMITER $$
CREATE PROCEDURE `userGRoleModify`(userGroupId decimal(10,0), roleIdList varchar(100))
BEGIN
#
#userGroupId ID,
#roleIdList ID号列表,
#roleIdList表中的角色
DELETE FROM rm_userg_rsp_info WHERE PERM_USER_GROUP = userGroupId AND find_in_set(PERM_ROLE,roleIdList) = 0;
END$$
DELIMITER ;