| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264 |
- -- sql提交须知:
- -- 1. 请按如下分类提交sql!!!
- -- 2. 表名前不可有库名!!!
- -- 3. 表结构部分,新添加的表,不可先创建后修改!!!
- --
- -- Version
- -- uat
- -- prod
- ------------------------------------
- -- 表结构
- ------------------------------------
- ALTER TABLE `zh_tender`
- ADD COLUMN `share_token` varchar(20) NOT NULL DEFAULT '' COMMENT '标段分享token' AFTER `filter_fund`,
- ADD COLUMN `share_expiration` datetime NULL COMMENT '分享token到期时间' AFTER `share_token`;
- ALTER TABLE `zh_stage`
- ADD COLUMN `update_calc_time` timestamp NULL COMMENT '最后修改计算数据时间' AFTER `cache_time_l`,
- ADD COLUMN `update_expr_calc_time` timestamp NULL COMMENT '最后使用公式计算时间' AFTER `update_calc_time`;
- ALTER TABLE `zh_contract`
- ADD COLUMN `rela_tender` int NULL DEFAULT NULL COMMENT '关联标段id' AFTER `exist_supplement`,
- ADD COLUMN `settle_price` decimal(30, 8) NOT NULL DEFAULT 0 COMMENT '结算金额(独立字段,非合同结算功能)' AFTER `total_price`;
- ALTER TABLE `zh_contract_pay`
- ADD COLUMN `rela_stage` varchar(255) NULL DEFAULT NULL COMMENT '关联的标段期id或者独立支付期id' AFTER `remark`;
- ALTER TABLE `zh_project_col_set`
- ADD COLUMN `list` json NULL COMMENT '列表页列设置(见/const/project_setting)' AFTER `info`;
- ALTER TABLE `zh_contract`
- ADD COLUMN `selected` tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '报表用,是否选择' AFTER `create_time`;
- ALTER TABLE `zh_contract_tree`
- ADD COLUMN `selected` tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '报表用,是否选择' AFTER `calc2`;
- ALTER TABLE `zh_contract_pay`
- ADD COLUMN `kp_price` decimal(30, 8) NULL DEFAULT 0 COMMENT '开票金额' AFTER `pay_type`,
- ADD COLUMN `kp_time` datetime NULL DEFAULT NULL COMMENT '开票时间' AFTER `kp_price`;
- ALTER TABLE `zh_stage_audit`
- ADD COLUMN `audit_locked_lid` varchar(5000) NOT NULL DEFAULT '' COMMENT '审批退回锁定台账id' AFTER `audit_locked`;
- ALTER TABLE `zh_material_exponent`
- ADD COLUMN `m_up_risk` tinyint(3) NOT NULL DEFAULT 0 COMMENT '上涨幅度(%)' AFTER `basic_times`,
- ADD COLUMN `m_down_risk` tinyint(3) NOT NULL DEFAULT 0 COMMENT '下跌幅度(%)' AFTER `m_up_risk`,
- ADD COLUMN `effective_price` decimal(30,8) DEFAULT NULL COMMENT '有效价格指数(Ft)' AFTER `m_price`;
- ALTER TABLE `zh_material_exponent_history`
- ADD COLUMN `m_up_risk` tinyint(3) NOT NULL DEFAULT 0 COMMENT '本期上涨幅度(%)' AFTER `basic_times`,
- ADD COLUMN `m_down_risk` tinyint(3) NOT NULL DEFAULT 0 COMMENT '本期下跌幅度(%)' AFTER `m_up_risk`,
- ADD COLUMN `effective_price` decimal(30,8) DEFAULT NULL COMMENT '本期有效价格指数(Ft)' AFTER `m_price`;
- ALTER TABLE `zh_material_exponent_shard`
- ADD COLUMN `effective_price` decimal(30,8) DEFAULT NULL COMMENT '有效价格指数(Ft)' AFTER `m_price`;
- ALTER TABLE `zh_filing`
- ADD COLUMN `upload_tips` varchar(1000) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '上传说明' AFTER `tips`;
- ALTER TABLE `zh_filing`
- ADD COLUMN `create_uid` int(11) unsigned NOT NULL DEFAULT 0
- COMMENT '新版配置目录添加人ID'
- AFTER `add_user_id`;
- CREATE TABLE `zh_sub_project_filing_permission` (
- `id` varchar(36) COLLATE utf8_unicode_ci NOT NULL COMMENT 'UUID',
- `pid` int(11) unsigned NOT NULL COMMENT '项目ID',
- `spid` varchar(36) COLLATE utf8_unicode_ci NOT NULL COMMENT '子项目ID',
- `uid` int(11) unsigned NOT NULL COMMENT '项目用户ID',
- `filing_type` int(11) unsigned NOT NULL COMMENT '资料类别类型',
- `can_upload` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT '上传/引用权限',
- `can_edit_file` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT '编辑文件权限',
- `can_edit_dir` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT '编辑目录权限',
- `can_lock_file` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT '锁定文件权限',
- `create_uid` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '创建人ID',
- `update_uid` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '最后修改人ID',
- `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_sp_user_filing_type` (`spid`, `uid`, `filing_type`),
- KEY `idx_sp_user` (`spid`, `uid`),
- KEY `idx_sp_filing_type` (`spid`, `filing_type`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
- COMMENT='子项目资料类别用户操作权限';
- ALTER TABLE `zh_sub_project_filing_permission`
- ADD COLUMN `filing_id` varchar(36) COLLATE utf8_unicode_ci NULL DEFAULT NULL
- COMMENT '具体资料目录ID,NULL表示旧filing_type权限'
- AFTER `filing_type`,
- DROP INDEX `uk_sp_user_filing_type`,
- ADD UNIQUE KEY `uk_sp_user_filing_node`
- (`spid`, `uid`, `filing_id`),
- ADD KEY `idx_sp_filing_id`
- (`spid`, `filing_id`);
- ALTER TABLE `zh_file`
- ADD COLUMN `is_locked` tinyint(1) UNSIGNED NOT NULL DEFAULT 0
- COMMENT '文件锁定状态:0未锁定,1已锁定'
- AFTER `rela_info`;
- CREATE TABLE `zh_project_screen` (
- `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增ID',
- `pid` int(11) UNSIGNED NOT NULL COMMENT '项目ID(zh_project.id)',
- `template_code` varchar(50) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT '代码内注册的大屏模板编码',
- `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '大屏名称',
- `is_default` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否默认大屏',
- `config_json` json NULL COMMENT '大屏个性配置',
- `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_project_screen_template` (`pid`, `template_code`),
- KEY `idx_project_screen_list` (`pid`, `create_time`)
- ) ENGINE=InnoDB COMMENT='项目大屏配置';
- -- 台账分解附件关联纵横图纸:执行一次,drawing_access 仅保存只读访问凭证。
- ALTER TABLE `zh_ledger_attachment`
- ADD COLUMN `is_drawing` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否为图纸附件:0否,1是',
- ADD COLUMN `drawing_file_id` varchar(36) DEFAULT NULL COMMENT '纵横图纸文件ID',
- ADD COLUMN `drawing_access` text NULL COMMENT '纵横图纸只读访问凭证';
- ALTER TABLE `zh_advance_audit`
- ADD COLUMN `audit_type` tinyint(4) UNSIGNED NOT NULL DEFAULT 1 COMMENT '审批类型(1个人,2会签,3或签)' AFTER `audit_id`,
- ADD COLUMN `audit_order` tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '审批顺序' AFTER `audit_type`;
- ALTER TABLE `calculation`.`zh_budget_final`
- MODIFY COLUMN `tz_qc_qty` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '决算-变更令数量' AFTER `grow_dgn_qty`,
- MODIFY COLUMN `tz_qc_tp` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '决算-变更令金额' AFTER `tz_qc_qty`,
- ADD COLUMN `un_tz_qc_qty` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '未批复变更令数量' AFTER `tz_qc_tp`,
- ADD COLUMN `un_tz_qc_tp` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '未批复变更令金额' AFTER `un_tz_qc_qty`;
- -- 项目大屏:记录不展示的标段,与决策大屏的排除记录独立。
- CREATE TABLE `zh_project_screen_tender` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `pid` int(11) NOT NULL COMMENT '总项目 ID',
- `spid` varchar(36) NOT NULL COMMENT '具体项目 ID',
- `tid` int(11) NOT NULL COMMENT '不展示的标段 ID',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_project_screen_tender_pid_tid` (`pid`, `tid`),
- KEY `idx_project_screen_tender_pid_spid` (`pid`, `spid`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目大屏排除标段';
- ------------------------------------
- -- 表数据
- ------------------------------------
- UPDATE `zh_material_exponent` SET `effective_price` = `m_price` WHERE `effective_price` IS NULL;
- UPDATE `zh_material_exponent_history` SET `effective_price` = `m_price` WHERE `effective_price` IS NULL;
- UPDATE `zh_material_exponent_shard` SET `effective_price` = `m_price` WHERE `effective_price` IS NULL;
- -- 1. 安全巡检主表
- ALTER TABLE `zh_safe_inspection`
- ADD COLUMN `flow_version` tinyint unsigned NOT NULL DEFAULT 0
- COMMENT '流程版本:0旧流程,1上报整改批复流程',
- ADD COLUMN `need_rectification` tinyint unsigned NOT NULL DEFAULT 1
- COMMENT '是否整改:0否,跳过整改和批复;1是',
- ADD COLUMN `flow_stage` tinyint unsigned NOT NULL DEFAULT 0
- COMMENT '当前阶段:0旧流程,1上报,2整改,3批复;完成状态由status判断',
- ADD COLUMN `stage_round` int unsigned NOT NULL DEFAULT 1
- COMMENT '整改批复轮次:首次为1,重新整改时递增',
- ADD INDEX `idx_safe_inspection_stage`
- (`tid`, `flow_version`, `flow_stage`, `status`);
- -- 2. 安全巡检审批记录表
- ALTER TABLE `zh_safe_inspection_audit`
- ADD COLUMN `flow_stage` tinyint unsigned NOT NULL DEFAULT 0
- COMMENT '记录所属阶段:0旧流程,1上报,2整改,3批复',
- ADD COLUMN `stage_round` int unsigned NOT NULL DEFAULT 1
- COMMENT '所属整改批复轮次,与主表stage_round对应',
- ADD COLUMN `rectification_item` varchar(1000) NOT NULL DEFAULT ''
- COMMENT '该整改人本轮填写的整改内容',
- ADD COLUMN `rectification_date` datetime NULL DEFAULT NULL
- COMMENT '该整改人本轮填写的整改日期',
- ADD INDEX `idx_safe_audit_stage`
- (`qiid`, `times`, `flow_stage`, `stage_round`, `is_old`, `status`),
- ADD INDEX `idx_safe_audit_todo`
- (`aid`, `status`, `qiid`, `times`);
- -- 质量巡检:上报、多人整改、批复流程(以下两条 ALTER TABLE 各执行一次)
- -- 历史单据默认 flow_version = 0,保留旧流程;新流程由业务代码启用。
- -- 1. 质量巡检主表
- ALTER TABLE `zh_quality_inspection`
- ADD COLUMN `flow_version` tinyint unsigned NOT NULL DEFAULT 0
- COMMENT '流程版本:0旧流程,1上报整改批复流程',
- ADD COLUMN `need_rectification` tinyint unsigned NOT NULL DEFAULT 1
- COMMENT '是否整改:0否,跳过整改和批复;1是',
- ADD COLUMN `flow_stage` tinyint unsigned NOT NULL DEFAULT 0
- COMMENT '当前阶段:0旧流程,1上报,2整改,3批复;完成状态由status判断',
- ADD COLUMN `stage_round` int unsigned NOT NULL DEFAULT 1
- COMMENT '整改批复轮次:首次为1,重新整改时递增',
- ADD INDEX `idx_quality_inspection_stage`
- (`tid`, `flow_version`, `flow_stage`, `status`);
- -- 2. 质量巡检审批记录表(每名整改人独立保存本轮整改内容和日期)
- ALTER TABLE `zh_quality_inspection_audit`
- ADD COLUMN `flow_stage` tinyint unsigned NOT NULL DEFAULT 0
- COMMENT '记录所属阶段:0旧流程,1上报,2整改,3批复',
- ADD COLUMN `stage_round` int unsigned NOT NULL DEFAULT 1
- COMMENT '所属整改批复轮次,与主表stage_round对应',
- ADD COLUMN `rectification_item` varchar(1000) NOT NULL DEFAULT ''
- COMMENT '该整改人本轮填写的整改内容',
- ADD COLUMN `rectification_date` datetime NULL DEFAULT NULL
- COMMENT '该整改人本轮填写的整改日期',
- ADD INDEX `idx_quality_audit_stage`
- (`qiid`, `times`, `flow_stage`, `stage_round`, `is_old`, `status`),
- ADD INDEX `idx_quality_audit_todo`
- (`aid`, `status`, `qiid`, `times`);
- -- 安全、质量巡检附件阶段:flow_stage 字段已添加,本段不重复新增字段。
- -- 历史未标记附件默认归入上报,保留已标记的整改、批复附件;本段可重复执行。
- ALTER TABLE `zh_safe_inspection_attachment`
- MODIFY COLUMN `flow_stage` tinyint unsigned NOT NULL DEFAULT 1
- COMMENT '附件上传阶段:1上报(含历史附件),2整改,3批复';
- ALTER TABLE `zh_quality_inspection_attachment`
- MODIFY COLUMN `flow_stage` tinyint unsigned NOT NULL DEFAULT 1
- COMMENT '附件上传阶段:1上报(含历史附件),2整改,3批复';
- -- SAAS 工具:资料模板。以下结构变更仅首次执行;已更新的数据库不要重复执行。
- ALTER TABLE `zh_filing_template_list`
- ADD COLUMN `is_init` tinyint unsigned NOT NULL DEFAULT 0
- COMMENT '资料目录初始化可用:0否,1是' AFTER `memo`,
- ADD COLUMN `sort_order` int NOT NULL DEFAULT 0
- COMMENT '模板排序,数字越大越靠前' AFTER `is_init`,
- ADD INDEX `idx_ft_init_sort` (`ft_type`, `is_init`, `sort_order`);
- -- 仅首次迁移保留历史系统模板的初始化能力,之后不可重复启用已停用模板。
- UPDATE `zh_filing_template_list` SET `is_init` = 1 WHERE `ft_type` = 0;
- ALTER TABLE `zh_filing_template`
- ADD COLUMN `code` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci
- NOT NULL DEFAULT '' COMMENT '分类编号或序号' AFTER `tree_level`,
- ADD INDEX `idx_temp_parent_order` (`temp_id`, `tree_pid`, `tree_order`);
- INSERT INTO `zh_permission`
- (`name`, `controller`, `action`, `pid`, `icon_class`, `create_time`, `isshow`)
- SELECT '资料模板', 'filing-template', 'all', tool.`id`, '', 0, 1
- FROM `zh_permission` AS tool
- WHERE tool.`name` = '工具' AND tool.`pid` = 0
- AND NOT EXISTS (
- SELECT 1 FROM `zh_permission` AS existing
- WHERE existing.`controller` = 'filing-template'
- )
- LIMIT 1;
- -- 菜单直接归属“工具”,仅显示位置排在参考文件后、报表前。
- UPDATE `zh_permission` AS menu
- JOIN `zh_permission` AS tool ON tool.`name` = '工具' AND tool.`pid` = 0
- SET menu.`pid` = tool.`id`, menu.`name` = '资料模板', menu.`action` = 'all', menu.`isshow` = 1
- WHERE menu.`controller` = 'filing-template';
- UPDATE `zh_permission` AS menu
- JOIN `zh_permission` AS tool
- ON menu.`pid` = tool.`id` AND tool.`name` = '工具' AND tool.`pid` = 0
- JOIN `zh_permission` AS ref
- ON ref.`pid` = tool.`id` AND ref.`controller` = 'fileReference'
- SET menu.`create_time` = CASE menu.`controller`
- WHEN 'filing-template' THEN ref.`create_time` - 1
- WHEN 'report' THEN ref.`create_time` - 2
- END
- WHERE menu.`controller` IN ('filing-template', 'report');
|