...
|
...
|
@@ -114,39 +114,111 @@ INSERT INTO `user-center`.`sys_role_menu` (`roleId`, `menuId`) VALUES (1, 100001 |
|
|
ALTER TABLE `cloud_backend_monitor`.`b_ops_project`
|
|
|
MODIFY COLUMN `state` int NULL DEFAULT 0 COMMENT '0:正常,1:延期,3:预留' AFTER `remark`;
|
|
|
|
|
|
-- 9、同步流程业务添加触发器
|
|
|
-- 新增触发器
|
|
|
DELIMITER $$
|
|
|
CREATE TRIGGER syn_business_add AFTER INSERT ON b_bustype
|
|
|
FOR EACH ROW
|
|
|
begin
|
|
|
IF NEW.isLeaf = 1 THEN
|
|
|
INSERT INTO `itsm_demo`.`system_handler` (`system_id`, `system_name`, `sort`, `system_type`, `enable`) VALUES (NEW.busId, NEW.busTypeName, NEW.sort, "0","0");
|
|
|
END IF;
|
|
|
end$$
|
|
|
DELIMITER ;
|
|
|
-- 修改触发器
|
|
|
DELIMITER $$
|
|
|
CREATE TRIGGER syn_business_change AFTER UPDATE ON b_bustype
|
|
|
FOR EACH ROW
|
|
|
begin
|
|
|
IF NEW.isLeaf = 1 and OLD.isLeaf =1 THEN
|
|
|
UPDATE `itsm_demo`.`system_handler` SET `system_name` = NEW.busTypeName, `sort` = NEW.sort WHERE `system_id` = OLD.busId;
|
|
|
ELSE
|
|
|
DELETE FROM `itsm_demo`.`system_handler` where `system_id` = OLD.busId;
|
|
|
END IF;
|
|
|
end$$
|
|
|
DELIMITER ;
|
|
|
-- 删除触发器
|
|
|
DELIMITER $$
|
|
|
CREATE TRIGGER syn_business_delete AFTER DELETE ON b_bustype
|
|
|
FOR EACH ROW
|
|
|
begin
|
|
|
IF OLD.isLeaf = 1 THEN
|
|
|
DELETE FROM `itsm_demo`.`system_handler` where `system_id` = OLD.busId;
|
|
|
END IF;
|
|
|
end$$
|
|
|
DELIMITER ;
|
|
|
-- 9、触发器及其他
|
|
|
-- 1、流程表添加是否是虚拟字段
|
|
|
ALTER TABLE `itsm_demo`.`system_handler`
|
|
|
MODIFY COLUMN `isvirtual` varchar(1) NULL DEFAULT NULL COMMENT '是否虚拟 0:虚拟;1:正常' AFTER `enable`;
|
|
|
-- 2、文件类型的备注由个人保密协议变成入场资料
|
|
|
ALTER TABLE `cloud_backend_monitor`.`b_ops_file`
|
|
|
MODIFY COLUMN `type` int NULL DEFAULT NULL COMMENT '上传文件类型:10:入场资料,11:个人月度总结,21:月报,22:考勤记录,23:健康检查报告,31:文档资料,32:项目保密协议' AFTER `id`;
|
|
|
-- 乙方运维项目表添加是否是虚拟字段
|
|
|
ALTER TABLE `cloud_backend_monitor`.`b_ops_project`
|
|
|
ADD COLUMN `isvirtual` varchar(1) NULL COMMENT '是否虚拟 0:虚拟;1:正常' AFTER `enable`;
|
|
|
-- 3、同步流程业务添加触发器
|
|
|
-- 新增触发器
|
|
|
DELIMITER $$
|
|
|
CREATE TRIGGER syn_business_add AFTER INSERT ON b_bustype
|
|
|
FOR EACH ROW
|
|
|
begin
|
|
|
IF NEW.isLeaf = 1 THEN
|
|
|
INSERT INTO `itsm_demo`.`system_handler` (`system_id`, `system_name`, `sort`, `system_type`, `enable`,`isvirtual`) VALUES (NEW.busId, NEW.busTypeName, NEW.sort, "0",NEW.isUse,"1");
|
|
|
END IF;
|
|
|
end$$
|
|
|
DELIMITER ;
|
|
|
|
|
|
|
|
|
-- 修改触发器
|
|
|
DELIMITER $$
|
|
|
CREATE TRIGGER syn_business_change AFTER UPDATE ON b_bustype
|
|
|
FOR EACH ROW
|
|
|
begin
|
|
|
IF NEW.isLeaf = 1 and OLD.isLeaf =1 THEN
|
|
|
UPDATE `itsm_demo`.`system_handler` SET `system_name` = NEW.busTypeName, `enable`= NEW.isUse, `sort` = NEW.sort WHERE `system_id` = OLD.busId;
|
|
|
ELSE
|
|
|
DELETE FROM `itsm_demo`.`system_handler` where `system_id` = OLD.busId;
|
|
|
END IF;
|
|
|
end$$
|
|
|
DELIMITER ;
|
|
|
|
|
|
-- 删除触发器
|
|
|
DELIMITER $$
|
|
|
CREATE TRIGGER syn_business_delete AFTER DELETE ON b_bustype
|
|
|
FOR EACH ROW
|
|
|
begin
|
|
|
IF OLD.isLeaf = 1 THEN
|
|
|
DELETE FROM `itsm_demo`.`system_handler` where `system_id` = OLD.busId;
|
|
|
END IF;
|
|
|
end$$
|
|
|
DELIMITER ;
|
|
|
|
|
|
-- 4、同步流程用户添加触发器 暂无删除触发器 如果有垃圾数据需要从库中sql进行删除
|
|
|
-- 新增触发器
|
|
|
DELIMITER $$
|
|
|
CREATE TRIGGER syn_person_add AFTER INSERT ON b_ops_project_person
|
|
|
FOR EACH ROW
|
|
|
begin
|
|
|
-- 根据插入的项目id获取业务id
|
|
|
select `busId` into @system_id_ from b_ops_project WHERE id = NEW.projectId;
|
|
|
-- 根据用户Id获取用户昵称、在职状态
|
|
|
select `nickname`,`state` INTO @user_name_,@enable_ from b_ops_person WHERE id = NEW.personId;
|
|
|
-- 插入用户信息
|
|
|
INSERT INTO `itsm_demo`.`system_handler_evaluate_user` (`system_id`, `user_id`, `user_name`, `enable`) VALUES (@system_id_, NEW.personId, @user_name_, @enable_);
|
|
|
end$$
|
|
|
DELIMITER ;
|
|
|
|
|
|
-- 修改触发器
|
|
|
-- 如果修改用户表,修改流程用户
|
|
|
DELIMITER $$
|
|
|
CREATE TRIGGER syn_ops_person_change AFTER UPDATE ON b_ops_person
|
|
|
FOR EACH ROW
|
|
|
begin
|
|
|
-- 根据用户信息获取业务id
|
|
|
select DISTINCT(a.`busId`) into @system_id_ from b_ops_project a left JOIN b_ops_project_person b on a.id=b.projectId where b.personId=OLD.id;
|
|
|
-- 根据用户id修改流程用户信息
|
|
|
UPDATE `itsm_demo`.`system_handler_evaluate_user` SET `user_name` = NEW.nickname , `enable` = NEW.state WHERE `system_id` = @system_id_ and `user_id` = OLD.id;
|
|
|
end$$
|
|
|
DELIMITER ;
|
|
|
|
|
|
-- 5、流程项目同步是否虚拟和是否乙方运维项目
|
|
|
-- 新增触发器 修改流程业务的是否乙方运维和是否虚拟
|
|
|
DELIMITER $$
|
|
|
CREATE TRIGGER syn_project_add AFTER INSERT ON b_ops_project
|
|
|
FOR EACH ROW
|
|
|
begin
|
|
|
-- 添加项目时修改是否乙方运维、是否虚拟
|
|
|
UPDATE `itsm_demo`.`system_handler` SET `system_type`=1 ,`isvirtual`=NEW.isvirtual WHERE `system_id` = NEW.busId;
|
|
|
end$$
|
|
|
DELIMITER ;
|
|
|
|
|
|
|
|
|
-- 修改触发器 修改流程业务的是否是虚拟
|
|
|
DELIMITER $$
|
|
|
CREATE TRIGGER syn_project_change AFTER UPDATE ON b_ops_project
|
|
|
FOR EACH ROW
|
|
|
begin
|
|
|
-- 相当于项目被隐藏
|
|
|
IF NEW.`enable` = 1 THEN
|
|
|
UPDATE `itsm_demo`.`system_handler` SET `system_type`=0 ,`isvirtual`=1 WHERE `system_id` = OLD.busId;
|
|
|
ELSE
|
|
|
-- 修改项目时修改是否是虚拟
|
|
|
UPDATE `itsm_demo`.`system_handler` SET `isvirtual`=NEW.isvirtual WHERE `system_id` = OLD.busId;
|
|
|
END IF;
|
|
|
end$$
|
|
|
DELIMITER ;
|
|
|
|
|
|
-- 6、乙方运维项目表添加业务唯一键
|
|
|
ALTER TABLE `cloud_backend_monitor`.`b_ops_project`
|
|
|
ADD UNIQUE INDEX `busId_unique`(`busId`);
|
|
|
|
|
|
-- 10、手动把系统中的业务同步到流程的itsm_demo库中的system_handler表。且同步过来的业务只能是叶子业务,并且不能为虚拟业务
|
|
|
--(system_handler中system_id是业务id busId,system_type为乙方运维时,能在monitor库b_ops_project查到 关键字段 busId)
|
...
|
...
|
|