批量更新
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
-- =============================================================
|
||||
-- OA 薪酬管理模块表结构
|
||||
--
|
||||
-- 说明:代码里有模型定义(models/backend_oa_compensation.go),
|
||||
-- 但此前缺少建表脚本,访问薪酬页面会因表不存在返回 500。
|
||||
-- 本脚本补齐三张表,仅新建、不改动任何既有数据。
|
||||
--
|
||||
-- 注意:不显式指定 COLLATE,沿用数据库默认排序规则,避免与既有表
|
||||
-- (utf8mb4_0900_ai_ci)在 JOIN 比较字符串时报 Illegal mix of collations。
|
||||
-- =============================================================
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
-- ---------------- 1. 员工薪酬方案 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_oa_compensation_schemes` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tid` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '租户ID',
|
||||
`employee_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '员工ID',
|
||||
`scheme_name` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '方案名称',
|
||||
`effective_date` DATE NOT NULL COMMENT '生效日期',
|
||||
`expiry_date` DATE DEFAULT NULL COMMENT '失效日期',
|
||||
`base_salary` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '基本工资',
|
||||
`post_allowance` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '岗位津贴',
|
||||
`performance_salary` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '绩效工资',
|
||||
`transport_allowance` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '交通补贴',
|
||||
`meal_allowance` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '餐费补贴',
|
||||
`communication_allowance` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '通讯补贴',
|
||||
`social_insurance_base` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '社保基数',
|
||||
`housing_fund_base` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '公积金基数',
|
||||
`social_insurance_rate` DECIMAL(6,4) NOT NULL DEFAULT 0 COMMENT '社保个人费率',
|
||||
`housing_fund_rate` DECIMAL(6,4) NOT NULL DEFAULT 0 COMMENT '公积金个人费率',
|
||||
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '1生效 0失效',
|
||||
`remark` TEXT,
|
||||
`is_deleted` TINYINT NOT NULL DEFAULT 0,
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_tid` (`tid`),
|
||||
KEY `idx_employee` (`employee_id`),
|
||||
KEY `idx_status` (`status`),
|
||||
KEY `idx_effective` (`effective_date`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='OA-员工薪酬方案';
|
||||
|
||||
-- ---------------- 2. 月度薪资单主表 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_oa_compensation_payrolls` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tid` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '租户ID',
|
||||
`employee_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '员工ID',
|
||||
`scheme_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '关联薪酬方案ID',
|
||||
`payroll_month` VARCHAR(7) NOT NULL DEFAULT '' COMMENT '薪资月份,格式 YYYY-MM',
|
||||
`employee_name` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '员工姓名快照',
|
||||
`department` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '部门快照',
|
||||
`position` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '职位快照',
|
||||
`base_salary` DECIMAL(12,2) NOT NULL DEFAULT 0,
|
||||
`post_allowance` DECIMAL(12,2) NOT NULL DEFAULT 0,
|
||||
`performance_salary` DECIMAL(12,2) NOT NULL DEFAULT 0,
|
||||
`transport_allowance` DECIMAL(12,2) NOT NULL DEFAULT 0,
|
||||
`meal_allowance` DECIMAL(12,2) NOT NULL DEFAULT 0,
|
||||
`communication_allowance` DECIMAL(12,2) NOT NULL DEFAULT 0,
|
||||
`overtime_pay` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '加班费',
|
||||
`bonus` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '奖金',
|
||||
`other_addition` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '其他加项',
|
||||
`leave_deduction` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '请假扣款',
|
||||
`late_deduction` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '迟到扣款',
|
||||
`other_deduction` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '其他扣款',
|
||||
`social_insurance` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '社保个人部分',
|
||||
`housing_fund` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '公积金个人部分',
|
||||
`personal_income_tax` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '个人所得税',
|
||||
`gross_salary` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '应发合计',
|
||||
`total_deduction` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '扣款合计',
|
||||
`net_salary` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '实发工资',
|
||||
`status` TINYINT NOT NULL DEFAULT 0 COMMENT '0草稿 1已确认 2已发放',
|
||||
`confirmed_at` DATETIME DEFAULT NULL,
|
||||
`paid_at` DATETIME DEFAULT NULL,
|
||||
`remark` TEXT,
|
||||
`is_deleted` TINYINT NOT NULL DEFAULT 0,
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_tid_employee_month` (`tid`, `employee_id`, `payroll_month`),
|
||||
KEY `idx_tid_month` (`tid`, `payroll_month`),
|
||||
KEY `idx_status` (`status`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='OA-月度薪资单';
|
||||
|
||||
-- ---------------- 3. 薪资单自定义增减项 ----------------
|
||||
CREATE TABLE IF NOT EXISTS `yz_backend_oa_compensation_payroll_items` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`tid` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '租户ID',
|
||||
`payroll_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '薪资单ID',
|
||||
`item_name` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '项目名称',
|
||||
`item_type` TINYINT NOT NULL DEFAULT 1 COMMENT '1加项 2扣项',
|
||||
`amount` DECIMAL(12,2) NOT NULL DEFAULT 0 COMMENT '金额',
|
||||
`remark` VARCHAR(500) DEFAULT NULL,
|
||||
`sort_order` INT NOT NULL DEFAULT 0,
|
||||
`is_deleted` TINYINT NOT NULL DEFAULT 0,
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_time` DATETIME DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
`delete_time` DATETIME DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_payroll` (`payroll_id`),
|
||||
KEY `idx_tid` (`tid`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='OA-薪资单增减项';
|
||||
Reference in New Issue
Block a user