update.sql 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. -- sql提交须知:
  2. -- 1. 请按如下分类提交sql!!!
  3. -- 2. 表名前不可有库名!!!
  4. -- 3. 表结构部分,新添加的表,不可先创建后修改!!!
  5. --
  6. -- Version
  7. -- uat
  8. -- prod
  9. ------------------------------------
  10. -- 表结构
  11. ------------------------------------
  12. ALTER TABLE `zh_tender`
  13. ADD COLUMN `share_token` varchar(20) NOT NULL DEFAULT '' COMMENT '标段分享token' AFTER `filter_fund`,
  14. ADD COLUMN `share_expiration` datetime NULL COMMENT '分享token到期时间' AFTER `share_token`;
  15. ALTER TABLE `zh_stage`
  16. ADD COLUMN `update_calc_time` timestamp NULL COMMENT '最后修改计算数据时间' AFTER `cache_time_l`,
  17. ADD COLUMN `update_expr_calc_time` timestamp NULL COMMENT '最后使用公式计算时间' AFTER `update_calc_time`;
  18. ALTER TABLE `zh_contract`
  19. ADD COLUMN `rela_tender` int NULL DEFAULT NULL COMMENT '关联标段id' AFTER `exist_supplement`,
  20. ADD COLUMN `settle_price` decimal(30, 8) NOT NULL DEFAULT 0 COMMENT '结算金额(独立字段,非合同结算功能)' AFTER `total_price`;
  21. ALTER TABLE `zh_contract_pay`
  22. ADD COLUMN `rela_stage` varchar(255) NULL DEFAULT NULL COMMENT '关联的标段期id或者独立支付期id' AFTER `remark`;
  23. ALTER TABLE `zh_project_col_set`
  24. ADD COLUMN `list` json NULL COMMENT '列表页列设置(见/const/project_setting)' AFTER `info`;
  25. ALTER TABLE `zh_contract`
  26. ADD COLUMN `selected` tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '报表用,是否选择' AFTER `create_time`;
  27. ALTER TABLE `zh_contract_tree`
  28. ADD COLUMN `selected` tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '报表用,是否选择' AFTER `calc2`;
  29. ALTER TABLE `zh_contract_pay`
  30. ADD COLUMN `kp_price` decimal(30, 8) NULL DEFAULT 0 COMMENT '开票金额' AFTER `pay_type`,
  31. ADD COLUMN `kp_time` datetime NULL DEFAULT NULL COMMENT '开票时间' AFTER `kp_price`;
  32. ALTER TABLE `zh_stage_audit`
  33. ADD COLUMN `audit_locked_lid` varchar(5000) NOT NULL DEFAULT '' COMMENT '审批退回锁定台账id' AFTER `audit_locked`;
  34. ALTER TABLE `zh_material_exponent`
  35. ADD COLUMN `m_up_risk` tinyint(3) NOT NULL DEFAULT 0 COMMENT '上涨幅度(%)' AFTER `basic_times`,
  36. ADD COLUMN `m_down_risk` tinyint(3) NOT NULL DEFAULT 0 COMMENT '下跌幅度(%)' AFTER `m_up_risk`,
  37. ADD COLUMN `effective_price` decimal(30,8) DEFAULT NULL COMMENT '有效价格指数(Ft)' AFTER `m_price`;
  38. ALTER TABLE `zh_material_exponent_history`
  39. ADD COLUMN `m_up_risk` tinyint(3) NOT NULL DEFAULT 0 COMMENT '本期上涨幅度(%)' AFTER `basic_times`,
  40. ADD COLUMN `m_down_risk` tinyint(3) NOT NULL DEFAULT 0 COMMENT '本期下跌幅度(%)' AFTER `m_up_risk`,
  41. ADD COLUMN `effective_price` decimal(30,8) DEFAULT NULL COMMENT '本期有效价格指数(Ft)' AFTER `m_price`;
  42. ALTER TABLE `zh_material_exponent_shard`
  43. ADD COLUMN `effective_price` decimal(30,8) DEFAULT NULL COMMENT '有效价格指数(Ft)' AFTER `m_price`;
  44. ALTER TABLE `zh_filing`
  45. ADD COLUMN `upload_tips` varchar(1000) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '上传说明' AFTER `tips`;
  46. ALTER TABLE `zh_filing`
  47. ADD COLUMN `create_uid` int(11) unsigned NOT NULL DEFAULT 0
  48. COMMENT '新版配置目录添加人ID'
  49. AFTER `add_user_id`;
  50. CREATE TABLE `zh_sub_project_filing_permission` (
  51. `id` varchar(36) COLLATE utf8_unicode_ci NOT NULL COMMENT 'UUID',
  52. `pid` int(11) unsigned NOT NULL COMMENT '项目ID',
  53. `spid` varchar(36) COLLATE utf8_unicode_ci NOT NULL COMMENT '子项目ID',
  54. `uid` int(11) unsigned NOT NULL COMMENT '项目用户ID',
  55. `filing_type` int(11) unsigned NOT NULL COMMENT '资料类别类型',
  56. `can_upload` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT '上传/引用权限',
  57. `can_edit_file` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT '编辑文件权限',
  58. `can_edit_dir` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT '编辑目录权限',
  59. `can_lock_file` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT '锁定文件权限',
  60. `create_uid` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '创建人ID',
  61. `update_uid` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '最后修改人ID',
  62. `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  63. `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  64. PRIMARY KEY (`id`),
  65. UNIQUE KEY `uk_sp_user_filing_type` (`spid`, `uid`, `filing_type`),
  66. KEY `idx_sp_user` (`spid`, `uid`),
  67. KEY `idx_sp_filing_type` (`spid`, `filing_type`)
  68. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
  69. COMMENT='子项目资料类别用户操作权限';
  70. ALTER TABLE `zh_sub_project_filing_permission`
  71. ADD COLUMN `filing_id` varchar(36) COLLATE utf8_unicode_ci NULL DEFAULT NULL
  72. COMMENT '具体资料目录ID,NULL表示旧filing_type权限'
  73. AFTER `filing_type`,
  74. DROP INDEX `uk_sp_user_filing_type`,
  75. ADD UNIQUE KEY `uk_sp_user_filing_node`
  76. (`spid`, `uid`, `filing_id`),
  77. ADD KEY `idx_sp_filing_id`
  78. (`spid`, `filing_id`);
  79. ALTER TABLE `zh_file`
  80. ADD COLUMN `is_locked` tinyint(1) UNSIGNED NOT NULL DEFAULT 0
  81. COMMENT '文件锁定状态:0未锁定,1已锁定'
  82. AFTER `rela_info`;
  83. CREATE TABLE `zh_project_screen` (
  84. `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  85. `pid` int(11) UNSIGNED NOT NULL COMMENT '项目ID(zh_project.id)',
  86. `template_code` varchar(50) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL COMMENT '代码内注册的大屏模板编码',
  87. `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '大屏名称',
  88. `is_default` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否默认大屏',
  89. `config_json` json NULL COMMENT '大屏个性配置',
  90. `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  91. `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
  92. PRIMARY KEY (`id`),
  93. UNIQUE KEY `uk_project_screen_template` (`pid`, `template_code`),
  94. KEY `idx_project_screen_list` (`pid`, `create_time`)
  95. ) ENGINE=InnoDB COMMENT='项目大屏配置';
  96. -- 台账分解附件关联纵横图纸:执行一次,drawing_access 仅保存只读访问凭证。
  97. ALTER TABLE `zh_ledger_attachment`
  98. ADD COLUMN `is_drawing` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否为图纸附件:0否,1是',
  99. ADD COLUMN `drawing_file_id` varchar(36) DEFAULT NULL COMMENT '纵横图纸文件ID',
  100. ADD COLUMN `drawing_access` text NULL COMMENT '纵横图纸只读访问凭证';
  101. ALTER TABLE `zh_advance_audit`
  102. ADD COLUMN `audit_type` tinyint(4) UNSIGNED NOT NULL DEFAULT 1 COMMENT '审批类型(1个人,2会签,3或签)' AFTER `audit_id`,
  103. ADD COLUMN `audit_order` tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '审批顺序' AFTER `audit_type`;
  104. ALTER TABLE `calculation`.`zh_budget_final`
  105. MODIFY COLUMN `tz_qc_qty` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '决算-变更令数量' AFTER `grow_dgn_qty`,
  106. MODIFY COLUMN `tz_qc_tp` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '决算-变更令金额' AFTER `tz_qc_qty`,
  107. ADD COLUMN `un_tz_qc_qty` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '未批复变更令数量' AFTER `tz_qc_tp`,
  108. ADD COLUMN `un_tz_qc_tp` decimal(24, 8) NOT NULL DEFAULT 0 COMMENT '未批复变更令金额' AFTER `un_tz_qc_qty`;
  109. -- 项目大屏:记录不展示的标段,与决策大屏的排除记录独立。
  110. CREATE TABLE `zh_project_screen_tender` (
  111. `id` int(11) NOT NULL AUTO_INCREMENT,
  112. `pid` int(11) NOT NULL COMMENT '总项目 ID',
  113. `spid` varchar(36) NOT NULL COMMENT '具体项目 ID',
  114. `tid` int(11) NOT NULL COMMENT '不展示的标段 ID',
  115. PRIMARY KEY (`id`),
  116. UNIQUE KEY `uk_project_screen_tender_pid_tid` (`pid`, `tid`),
  117. KEY `idx_project_screen_tender_pid_spid` (`pid`, `spid`)
  118. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目大屏排除标段';
  119. ------------------------------------
  120. -- 表数据
  121. ------------------------------------
  122. UPDATE `zh_material_exponent` SET `effective_price` = `m_price` WHERE `effective_price` IS NULL;
  123. UPDATE `zh_material_exponent_history` SET `effective_price` = `m_price` WHERE `effective_price` IS NULL;
  124. UPDATE `zh_material_exponent_shard` SET `effective_price` = `m_price` WHERE `effective_price` IS NULL;
  125. -- 1. 安全巡检主表
  126. ALTER TABLE `zh_safe_inspection`
  127. ADD COLUMN `flow_version` tinyint unsigned NOT NULL DEFAULT 0
  128. COMMENT '流程版本:0旧流程,1上报整改批复流程',
  129. ADD COLUMN `need_rectification` tinyint unsigned NOT NULL DEFAULT 1
  130. COMMENT '是否整改:0否,跳过整改和批复;1是',
  131. ADD COLUMN `flow_stage` tinyint unsigned NOT NULL DEFAULT 0
  132. COMMENT '当前阶段:0旧流程,1上报,2整改,3批复;完成状态由status判断',
  133. ADD COLUMN `stage_round` int unsigned NOT NULL DEFAULT 1
  134. COMMENT '整改批复轮次:首次为1,重新整改时递增',
  135. ADD INDEX `idx_safe_inspection_stage`
  136. (`tid`, `flow_version`, `flow_stage`, `status`);
  137. -- 2. 安全巡检审批记录表
  138. ALTER TABLE `zh_safe_inspection_audit`
  139. ADD COLUMN `flow_stage` tinyint unsigned NOT NULL DEFAULT 0
  140. COMMENT '记录所属阶段:0旧流程,1上报,2整改,3批复',
  141. ADD COLUMN `stage_round` int unsigned NOT NULL DEFAULT 1
  142. COMMENT '所属整改批复轮次,与主表stage_round对应',
  143. ADD COLUMN `rectification_item` varchar(1000) NOT NULL DEFAULT ''
  144. COMMENT '该整改人本轮填写的整改内容',
  145. ADD COLUMN `rectification_date` datetime NULL DEFAULT NULL
  146. COMMENT '该整改人本轮填写的整改日期',
  147. ADD INDEX `idx_safe_audit_stage`
  148. (`qiid`, `times`, `flow_stage`, `stage_round`, `is_old`, `status`),
  149. ADD INDEX `idx_safe_audit_todo`
  150. (`aid`, `status`, `qiid`, `times`);
  151. -- 质量巡检:上报、多人整改、批复流程(以下两条 ALTER TABLE 各执行一次)
  152. -- 历史单据默认 flow_version = 0,保留旧流程;新流程由业务代码启用。
  153. -- 1. 质量巡检主表
  154. ALTER TABLE `zh_quality_inspection`
  155. ADD COLUMN `flow_version` tinyint unsigned NOT NULL DEFAULT 0
  156. COMMENT '流程版本:0旧流程,1上报整改批复流程',
  157. ADD COLUMN `need_rectification` tinyint unsigned NOT NULL DEFAULT 1
  158. COMMENT '是否整改:0否,跳过整改和批复;1是',
  159. ADD COLUMN `flow_stage` tinyint unsigned NOT NULL DEFAULT 0
  160. COMMENT '当前阶段:0旧流程,1上报,2整改,3批复;完成状态由status判断',
  161. ADD COLUMN `stage_round` int unsigned NOT NULL DEFAULT 1
  162. COMMENT '整改批复轮次:首次为1,重新整改时递增',
  163. ADD INDEX `idx_quality_inspection_stage`
  164. (`tid`, `flow_version`, `flow_stage`, `status`);
  165. -- 2. 质量巡检审批记录表(每名整改人独立保存本轮整改内容和日期)
  166. ALTER TABLE `zh_quality_inspection_audit`
  167. ADD COLUMN `flow_stage` tinyint unsigned NOT NULL DEFAULT 0
  168. COMMENT '记录所属阶段:0旧流程,1上报,2整改,3批复',
  169. ADD COLUMN `stage_round` int unsigned NOT NULL DEFAULT 1
  170. COMMENT '所属整改批复轮次,与主表stage_round对应',
  171. ADD COLUMN `rectification_item` varchar(1000) NOT NULL DEFAULT ''
  172. COMMENT '该整改人本轮填写的整改内容',
  173. ADD COLUMN `rectification_date` datetime NULL DEFAULT NULL
  174. COMMENT '该整改人本轮填写的整改日期',
  175. ADD INDEX `idx_quality_audit_stage`
  176. (`qiid`, `times`, `flow_stage`, `stage_round`, `is_old`, `status`),
  177. ADD INDEX `idx_quality_audit_todo`
  178. (`aid`, `status`, `qiid`, `times`);
  179. -- 安全、质量巡检附件阶段:flow_stage 字段已添加,本段不重复新增字段。
  180. -- 历史未标记附件默认归入上报,保留已标记的整改、批复附件;本段可重复执行。
  181. ALTER TABLE `zh_safe_inspection_attachment`
  182. MODIFY COLUMN `flow_stage` tinyint unsigned NOT NULL DEFAULT 1
  183. COMMENT '附件上传阶段:1上报(含历史附件),2整改,3批复';
  184. ALTER TABLE `zh_quality_inspection_attachment`
  185. MODIFY COLUMN `flow_stage` tinyint unsigned NOT NULL DEFAULT 1
  186. COMMENT '附件上传阶段:1上报(含历史附件),2整改,3批复';