PayrollManagementSystem/db/migration/V22__authorization.sql
liuwenxin 1461a8d113 feat(后端): 添加授权体系、系统监控与试用期计提
按 2026-11-02 需求补齐计划交付后端能力:
- 角色授权:权限目录化,接口统一准入校验,未登记默认拒绝;
  管理员判断改为按数据库角色重新判定,防止权限码持有者绕过
- 系统监控:单进程采集资源、请求与异常指标,分钟级聚合,
  阈值配置化;敏感配置增加 repr 保护,Redis 密码 URL 转义
- 试用期计提:按回款日判定并写入快照,年度结清与调整单联动;
  人员模型补试用期、离职日期与工资版本历史字段
- 计提模板:公式骨架受控,页面维护名称与参数绑定
- T+ 采集:自动化配置表与进度查询

内置角色禁停用保护对齐模块注释;核算规则版本提为常量并
补充批量核算失败堆栈日志。

影响范围:后端全部模块、数据库迁移 V22-V28
验证:uv run ruff check 通过;922 个单元测试全部通过;
集成测试因本机 MySQL 数据卷被其他容器锁定暂未运行
2026-11-03 11:20:55 +08:00

393 lines
59 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.

-- V22 完整权限管理;原有账号与工资数据保留。
CREATE TABLE authorization_settings (
id BIGINT UNSIGNED NOT NULL COMMENT '单例主键ID' AUTO_INCREMENT,
maker_user_id BIGINT UNSIGNED COMMENT '现任工资制作人账号ID',
revision INTEGER NOT NULL COMMENT '全局授权版本' DEFAULT '1',
updated_by BIGINT UNSIGNED COMMENT '最近修改人ID',
create_time DATETIME NOT NULL COMMENT '创建时间' DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME NOT NULL COMMENT '更新时间' DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
CONSTRAINT pk_authorization_settings PRIMARY KEY (id),
CONSTRAINT fk_authorization_settings_maker_user_id FOREIGN KEY(maker_user_id) REFERENCES users (id) ON DELETE RESTRICT,
CONSTRAINT fk_authorization_settings_updated_by FOREIGN KEY(updated_by) REFERENCES users (id) ON DELETE SET NULL
)ENGINE=InnoDB CHARSET=utf8mb4 COMMENT='授权设置表(单例与并发修改锁)' COLLATE utf8mb4_general_ci;
CREATE TABLE user_permission_overrides (
id BIGINT UNSIGNED NOT NULL COMMENT '主键ID' AUTO_INCREMENT,
user_id BIGINT UNSIGNED NOT NULL COMMENT '系统用户ID',
permission_id BIGINT UNSIGNED NOT NULL COMMENT '权限ID',
effect VARCHAR(8) NOT NULL COMMENT '个人覆盖:ALLOW允许 DENY禁止',
create_time DATETIME NOT NULL COMMENT '创建时间' DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME NOT NULL COMMENT '更新时间' DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
CONSTRAINT pk_user_permission_overrides PRIMARY KEY (id),
CONSTRAINT uk_user_permission_overrides_user_permission UNIQUE (user_id, permission_id),
CONSTRAINT fk_user_permission_overrides_user_id FOREIGN KEY(user_id) REFERENCES users (id) ON DELETE CASCADE,
CONSTRAINT fk_user_permission_overrides_permission_id FOREIGN KEY(permission_id) REFERENCES permissions (id) ON DELETE RESTRICT
)ENGINE=InnoDB CHARSET=utf8mb4 COMMENT='用户权限覆盖表(个人禁止优先)' COLLATE utf8mb4_general_ci;
CREATE INDEX idx_user_permission_overrides_permission_id ON user_permission_overrides (permission_id);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('dashboard:view','首页:查看',1,1,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:users:view','用户管理:查看',1,2,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:users:create','用户管理:新增',2,3,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:users:update','用户管理:编辑',2,4,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:users:delete','用户管理:删除',2,5,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:users:status','用户管理:变更状态',2,6,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:users:password','用户管理:重置密码',2,7,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:roles:view','角色管理:查看',1,8,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:roles:create','角色管理:新增',2,9,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:roles:update','角色管理:编辑',2,10,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:roles:delete','角色管理:删除',2,11,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:roles:status','角色管理:变更状态',2,12,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:authorization:view','权限与工资制作人:查看',1,13,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:authorization:update','权限与工资制作人:编辑',2,14,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:business_roles:view','岗位角色:查看',1,15,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:business_roles:create','岗位角色:新增',2,16,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:business_roles:update','岗位角色:编辑',2,17,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:business_roles:delete','岗位角色:删除',2,18,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:business_roles:status','岗位角色:变更状态',2,19,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:params:view','计提参数:查看',1,20,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:params:update','计提参数:编辑',2,21,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:params:withdraw','计提参数:撤回参数',2,22,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:params:export','计提参数:导出',2,23,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:params:preview','计提参数:预览',2,24,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:settings:view','公司信息:查看',1,25,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:settings:update','公司信息:编辑',2,26,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('system:logs:view','日志查询:查看',1,27,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('base:personnel:view','人员管理:查看',1,28,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('base:personnel:create','人员管理:新增',2,29,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('base:personnel:update','人员管理:编辑',2,30,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('base:personnel:delete','人员管理:删除',2,31,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('base:personnel:status','人员管理:变更状态',2,32,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('base:personnel:regions','人员管理:维护区域',2,33,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('base:personnel:plans','人员管理:维护计划',2,34,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('base:products:view','产品管理:查看',1,35,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('base:products:create','产品管理:新增',2,36,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('base:products:update','产品管理:编辑',2,37,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('base:products:delete','产品管理:删除',2,38,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('base:products:status','产品管理:变更状态',2,39,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('base:customers:view','客户管理:查看',1,40,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('base:customers:create','客户管理:新增',2,41,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('base:customers:update','客户管理:编辑',2,42,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('base:customers:delete','客户管理:删除',2,43,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('base:customers:rating','客户管理:客户评级',2,44,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('base:customers:ownership','客户管理:变更归属',2,45,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('business:businesses:view','业务管理:查看',1,46,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('business:businesses:create','业务管理:新增',2,47,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('business:businesses:update','业务管理:编辑',2,48,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('business:businesses:delete','业务管理:删除',2,49,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('business:businesses:status','业务管理:变更状态',2,50,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('business:businesses:ownership','业务管理:变更归属',2,51,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('business:shipments:view','发货管理:查看',1,52,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('business:shipments:create','发货管理:新增',2,53,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('business:shipments:update','发货管理:编辑',2,54,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('business:shipments:delete','发货管理:删除',2,55,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('business:receipts:view','回款管理:查看',1,56,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('business:receipts:create','回款管理:新增',2,57,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('business:receipts:update','回款管理:编辑',2,58,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('business:receipts:delete','回款管理:删除',2,59,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('business:ratings:view','评级标准:查看',1,60,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('business:ratings:create','评级标准:新增',2,61,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('business:ratings:update','评级标准:编辑',2,62,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('business:ratings:delete','评级标准:删除',2,63,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('tplus:view','采集与导入:查看',1,64,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('tplus:collect','采集与导入:创建采集',2,65,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('tplus:retry','采集与导入:重试采集',2,66,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('tplus:preview','采集与导入:预览',2,67,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('tplus:import','采集与导入:执行导入',2,68,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('tplus:facts','采集与导入:维护补充资料',2,69,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('tplus:export','采集与导入:导出',2,70,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('payroll:view','正式核算与分配:查看',1,71,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('payroll:prepare','正式核算与分配:准备核算资料',2,72,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('payroll:calculate','正式核算与分配:核算与重算',2,73,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('payroll:allocation','正式核算与分配:修改工资分配',2,74,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('settlements:view','月度工资:查看',1,75,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('settlements:generate','月度工资:生成工资',2,76,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('settlements:submit','月度工资:提交审核',2,77,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('adjustments:view','工资调整:查看',1,78,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('adjustments:create','工资调整:新增',2,79,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('approvals:view','审核记录:查看',1,80,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('approvals:finance','审核记录:财务复核',2,81,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('approvals:leader','审核记录:领导审核',2,82,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('reports:business:view','业务统计:查看',1,83,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('reports:business:export','业务统计:导出',2,84,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('reports:personal:view','个人明细:查看',1,85,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('reports:personal:export','个人明细:导出',2,86,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('reports:department:view','部门汇总:查看',1,87,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('reports:department:export','部门汇总:导出',2,88,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('reports:payments:view','回款统计:查看',1,89,1);
INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES ('reports:payments:export','回款统计:导出',2,90,1);
UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:users:view' SET p.parent_id=parent.id WHERE p.perm_code='system:users:create';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:users:view' SET p.parent_id=parent.id WHERE p.perm_code='system:users:update';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:users:view' SET p.parent_id=parent.id WHERE p.perm_code='system:users:delete';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:users:view' SET p.parent_id=parent.id WHERE p.perm_code='system:users:status';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:users:view' SET p.parent_id=parent.id WHERE p.perm_code='system:users:password';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:roles:view' SET p.parent_id=parent.id WHERE p.perm_code='system:roles:create';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:roles:view' SET p.parent_id=parent.id WHERE p.perm_code='system:roles:update';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:roles:view' SET p.parent_id=parent.id WHERE p.perm_code='system:roles:delete';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:roles:view' SET p.parent_id=parent.id WHERE p.perm_code='system:roles:status';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:authorization:view' SET p.parent_id=parent.id WHERE p.perm_code='system:authorization:update';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:business_roles:view' SET p.parent_id=parent.id WHERE p.perm_code='system:business_roles:create';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:business_roles:view' SET p.parent_id=parent.id WHERE p.perm_code='system:business_roles:update';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:business_roles:view' SET p.parent_id=parent.id WHERE p.perm_code='system:business_roles:delete';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:business_roles:view' SET p.parent_id=parent.id WHERE p.perm_code='system:business_roles:status';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:params:view' SET p.parent_id=parent.id WHERE p.perm_code='system:params:update';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:params:view' SET p.parent_id=parent.id WHERE p.perm_code='system:params:withdraw';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:params:view' SET p.parent_id=parent.id WHERE p.perm_code='system:params:export';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:params:view' SET p.parent_id=parent.id WHERE p.perm_code='system:params:preview';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:settings:view' SET p.parent_id=parent.id WHERE p.perm_code='system:settings:update';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='base:personnel:view' SET p.parent_id=parent.id WHERE p.perm_code='base:personnel:create';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='base:personnel:view' SET p.parent_id=parent.id WHERE p.perm_code='base:personnel:update';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='base:personnel:view' SET p.parent_id=parent.id WHERE p.perm_code='base:personnel:delete';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='base:personnel:view' SET p.parent_id=parent.id WHERE p.perm_code='base:personnel:status';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='base:personnel:view' SET p.parent_id=parent.id WHERE p.perm_code='base:personnel:regions';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='base:personnel:view' SET p.parent_id=parent.id WHERE p.perm_code='base:personnel:plans';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='base:products:view' SET p.parent_id=parent.id WHERE p.perm_code='base:products:create';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='base:products:view' SET p.parent_id=parent.id WHERE p.perm_code='base:products:update';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='base:products:view' SET p.parent_id=parent.id WHERE p.perm_code='base:products:delete';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='base:products:view' SET p.parent_id=parent.id WHERE p.perm_code='base:products:status';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='base:customers:view' SET p.parent_id=parent.id WHERE p.perm_code='base:customers:create';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='base:customers:view' SET p.parent_id=parent.id WHERE p.perm_code='base:customers:update';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='base:customers:view' SET p.parent_id=parent.id WHERE p.perm_code='base:customers:delete';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='base:customers:view' SET p.parent_id=parent.id WHERE p.perm_code='base:customers:rating';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='base:customers:view' SET p.parent_id=parent.id WHERE p.perm_code='base:customers:ownership';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='business:businesses:view' SET p.parent_id=parent.id WHERE p.perm_code='business:businesses:create';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='business:businesses:view' SET p.parent_id=parent.id WHERE p.perm_code='business:businesses:update';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='business:businesses:view' SET p.parent_id=parent.id WHERE p.perm_code='business:businesses:delete';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='business:businesses:view' SET p.parent_id=parent.id WHERE p.perm_code='business:businesses:status';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='business:businesses:view' SET p.parent_id=parent.id WHERE p.perm_code='business:businesses:ownership';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='business:shipments:view' SET p.parent_id=parent.id WHERE p.perm_code='business:shipments:create';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='business:shipments:view' SET p.parent_id=parent.id WHERE p.perm_code='business:shipments:update';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='business:shipments:view' SET p.parent_id=parent.id WHERE p.perm_code='business:shipments:delete';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='business:receipts:view' SET p.parent_id=parent.id WHERE p.perm_code='business:receipts:create';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='business:receipts:view' SET p.parent_id=parent.id WHERE p.perm_code='business:receipts:update';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='business:receipts:view' SET p.parent_id=parent.id WHERE p.perm_code='business:receipts:delete';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='business:ratings:view' SET p.parent_id=parent.id WHERE p.perm_code='business:ratings:create';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='business:ratings:view' SET p.parent_id=parent.id WHERE p.perm_code='business:ratings:update';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='business:ratings:view' SET p.parent_id=parent.id WHERE p.perm_code='business:ratings:delete';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='tplus:view' SET p.parent_id=parent.id WHERE p.perm_code='tplus:collect';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='tplus:view' SET p.parent_id=parent.id WHERE p.perm_code='tplus:retry';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='tplus:view' SET p.parent_id=parent.id WHERE p.perm_code='tplus:preview';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='tplus:view' SET p.parent_id=parent.id WHERE p.perm_code='tplus:import';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='tplus:view' SET p.parent_id=parent.id WHERE p.perm_code='tplus:facts';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='tplus:view' SET p.parent_id=parent.id WHERE p.perm_code='tplus:export';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='payroll:view' SET p.parent_id=parent.id WHERE p.perm_code='payroll:prepare';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='payroll:view' SET p.parent_id=parent.id WHERE p.perm_code='payroll:calculate';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='payroll:view' SET p.parent_id=parent.id WHERE p.perm_code='payroll:allocation';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='settlements:view' SET p.parent_id=parent.id WHERE p.perm_code='settlements:generate';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='settlements:view' SET p.parent_id=parent.id WHERE p.perm_code='settlements:submit';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='adjustments:view' SET p.parent_id=parent.id WHERE p.perm_code='adjustments:create';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='approvals:view' SET p.parent_id=parent.id WHERE p.perm_code='approvals:finance';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='approvals:view' SET p.parent_id=parent.id WHERE p.perm_code='approvals:leader';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='reports:business:view' SET p.parent_id=parent.id WHERE p.perm_code='reports:business:export';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='reports:personal:view' SET p.parent_id=parent.id WHERE p.perm_code='reports:personal:export';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='reports:department:view' SET p.parent_id=parent.id WHERE p.perm_code='reports:department:export';
UPDATE permissions p JOIN permissions parent ON parent.perm_code='reports:payments:view' SET p.parent_id=parent.id WHERE p.perm_code='reports:payments:export';
INSERT INTO roles (role_code,role_name,description,sort_order,status) VALUES ('payroll_maker','工资制作人','指定制作人还需在权限设置中绑定,角色本身不能绕过月份锁',5,1);
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='adjustments:create' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='adjustments:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='approvals:finance' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='approvals:leader' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='approvals:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:customers:create' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:customers:delete' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:customers:ownership' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:customers:rating' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:customers:update' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:customers:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:personnel:create' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:personnel:delete' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:personnel:plans' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:personnel:regions' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:personnel:status' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:personnel:update' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:personnel:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:products:create' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:products:delete' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:products:status' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:products:update' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:products:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:businesses:create' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:businesses:delete' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:businesses:ownership' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:businesses:status' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:businesses:update' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:businesses:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:ratings:create' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:ratings:delete' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:ratings:update' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:ratings:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:receipts:create' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:receipts:delete' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:receipts:update' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:receipts:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:shipments:create' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:shipments:delete' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:shipments:update' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:shipments:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='dashboard:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='payroll:allocation' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='payroll:calculate' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='payroll:prepare' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='payroll:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:business:export' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:business:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:department:export' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:department:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:payments:export' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:payments:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:personal:export' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:personal:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='settlements:generate' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='settlements:submit' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='settlements:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:authorization:update' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:authorization:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:business_roles:create' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:business_roles:delete' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:business_roles:status' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:business_roles:update' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:business_roles:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:logs:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:params:export' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:params:preview' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:params:update' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:params:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:params:withdraw' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:roles:create' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:roles:delete' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:roles:status' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:roles:update' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:roles:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:settings:update' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:settings:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:users:create' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:users:delete' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:users:password' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:users:status' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:users:update' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:users:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='tplus:collect' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='tplus:export' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='tplus:facts' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='tplus:import' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='tplus:preview' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='tplus:retry' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='tplus:view' WHERE r.role_code='admin';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:customers:view' WHERE r.role_code='user';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:personnel:view' WHERE r.role_code='user';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:products:view' WHERE r.role_code='user';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:businesses:view' WHERE r.role_code='user';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:ratings:view' WHERE r.role_code='user';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:receipts:view' WHERE r.role_code='user';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:shipments:view' WHERE r.role_code='user';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:customers:view' WHERE r.role_code='marketing_ops';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:personnel:view' WHERE r.role_code='marketing_ops';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:products:view' WHERE r.role_code='marketing_ops';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:businesses:view' WHERE r.role_code='marketing_ops';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:ratings:view' WHERE r.role_code='marketing_ops';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:receipts:view' WHERE r.role_code='marketing_ops';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:shipments:view' WHERE r.role_code='marketing_ops';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='adjustments:view' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='approvals:finance' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='approvals:view' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:customers:view' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:personnel:view' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:products:view' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:businesses:view' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:ratings:view' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:receipts:view' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:shipments:view' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='dashboard:view' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='payroll:view' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:business:export' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:business:view' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:department:export' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:department:view' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:payments:export' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:payments:view' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:personal:export' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:personal:view' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='settlements:view' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:params:preview' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:params:view' WHERE r.role_code='finance';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='adjustments:view' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='approvals:leader' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='approvals:view' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:customers:view' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:personnel:view' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:products:view' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:businesses:view' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:ratings:view' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:receipts:view' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:shipments:view' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='dashboard:view' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='payroll:view' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:business:export' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:business:view' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:department:export' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:department:view' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:payments:export' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:payments:view' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:personal:export' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:personal:view' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='settlements:view' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:params:preview' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='system:params:view' WHERE r.role_code='leader';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='adjustments:create' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='adjustments:view' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='approvals:view' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:customers:create' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:customers:delete' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:customers:ownership' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:customers:rating' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:customers:update' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:customers:view' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:personnel:create' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:personnel:delete' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:personnel:plans' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:personnel:regions' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:personnel:status' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:personnel:update' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:personnel:view' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:products:create' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:products:delete' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:products:status' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:products:update' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='base:products:view' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:businesses:create' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:businesses:delete' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:businesses:ownership' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:businesses:status' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:businesses:update' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:businesses:view' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:ratings:create' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:ratings:delete' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:ratings:update' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:ratings:view' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:receipts:create' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:receipts:delete' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:receipts:update' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:receipts:view' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:shipments:create' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:shipments:delete' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:shipments:update' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='business:shipments:view' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='payroll:allocation' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='payroll:calculate' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='payroll:prepare' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='payroll:view' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:business:view' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:department:view' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:payments:view' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='reports:personal:view' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='settlements:generate' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='settlements:submit' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='settlements:view' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='tplus:collect' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='tplus:export' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='tplus:facts' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='tplus:import' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='tplus:preview' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='tplus:retry' WHERE r.role_code='payroll_maker';
INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code='tplus:view' WHERE r.role_code='payroll_maker';
INSERT INTO authorization_settings (id,maker_user_id,revision) VALUES (1,NULL,1);