gaoluyang
2026-11-05 d39e4f7d839167c16425086dfa2f8747bccfdff9
sql/mysql/finance_module_init.sql
@@ -110,7 +110,9 @@
    `net_value`                  decimal(24,6) NOT NULL DEFAULT 0 COMMENT '净值 = 原值 - 累计折旧',
    `location`                   varchar(255)  NULL DEFAULT '' COMMENT '存放地点',
    `department`                 varchar(128)  NULL DEFAULT '' COMMENT '使用部门',
    `department_id`              bigint        NULL DEFAULT NULL COMMENT '使用部门编号',
    `keeper`                     varchar(64)   NULL DEFAULT '' COMMENT '保管人',
    `keeper_id`                  bigint        NULL DEFAULT NULL COMMENT '保管人用户编号',
    `status`                     tinyint       NOT NULL DEFAULT 1 COMMENT '状态:1在用 2闲置 3维修中 4已报废',
    `remark`                     varchar(500)  NULL DEFAULT '' COMMENT '备注',
    `creator`                    varchar(64)   NULL DEFAULT '' COMMENT '创建者',
@@ -155,6 +157,28 @@
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '无形资产';
-- -------------------------------------------------------------------------------------
-- 1.6 已建表的补列(兼容早期脚本创建、缺少部门/保管人编号的库)
-- 说明:MySQL 不支持 ALTER TABLE ... ADD COLUMN IF NOT EXISTS,用 information_schema 判断
-- -------------------------------------------------------------------------------------
SET @col_exists = (SELECT COUNT(*) FROM information_schema.columns
                   WHERE table_schema = DATABASE() AND table_name = 'fin_fixed_asset' AND column_name = 'department_id');
SET @ddl = IF(@col_exists = 0,
              'ALTER TABLE `fin_fixed_asset` ADD COLUMN `department_id` bigint NULL DEFAULT NULL COMMENT ''使用部门编号'' AFTER `department`',
              'SELECT 1');
PREPARE stmt_fin_fixed_asset_department_id FROM @ddl;
EXECUTE stmt_fin_fixed_asset_department_id;
DEALLOCATE PREPARE stmt_fin_fixed_asset_department_id;
SET @col_exists = (SELECT COUNT(*) FROM information_schema.columns
                   WHERE table_schema = DATABASE() AND table_name = 'fin_fixed_asset' AND column_name = 'keeper_id');
SET @ddl = IF(@col_exists = 0,
              'ALTER TABLE `fin_fixed_asset` ADD COLUMN `keeper_id` bigint NULL DEFAULT NULL COMMENT ''保管人用户编号'' AFTER `keeper`',
              'SELECT 1');
PREPARE stmt_fin_fixed_asset_keeper_id FROM @ddl;
EXECUTE stmt_fin_fixed_asset_keeper_id;
DEALLOCATE PREPARE stmt_fin_fixed_asset_keeper_id;
-- -------------------------------------------------------------------------------------
-- 2. 字典
-- -------------------------------------------------------------------------------------
INSERT INTO `system_dict_type` (`name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`)