Authored by XuHaoJie

杭州-乙方运维-文档信息添加

... ... @@ -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)
... ...
# 任务地址
[https://hgkj.5upm.com/task-view-72.html](任务地址)
## 涉及SQL
`V1015_1_乙方运维数据库设计SQL.txt`
## 涉及工程
> 1、hg-monitor-web-zj<br>
... ...