From f7c9ab66e06c9bd9fd19a2a8cc3e3244337ba990 Mon Sep 17 00:00:00 2001 From: hdka <823267011@qq.com> Date: Sun, 22 Jun 2025 20:07:12 +0800 Subject: [PATCH] =?UTF-8?q?=E8=96=AA=E8=B5=84=E7=AE=A1=E7=90=86=E5=AE=8C?= =?UTF-8?q?=E6=95=B4=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script/sql/salary.sql | 52 +++++++++++++++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 12 deletions(-) diff --git a/script/sql/salary.sql b/script/sql/salary.sql index cf36537..09a868a 100644 --- a/script/sql/salary.sql +++ b/script/sql/salary.sql @@ -1,3 +1,19 @@ +-- 0. 员工基础信息表 +CREATE TABLE `oa_employee` +( + `employee_id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '员工ID', + `employee_name` VARCHAR(100) NOT NULL COMMENT '姓名', + `company` VARCHAR(100) NOT NULL COMMENT '公司', + `del_flag` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '删除标志 0=未删,1=已删', + `remark` VARCHAR(255) COMMENT '备注', + `create_by` VARCHAR(50) COMMENT '创建人', + `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` VARCHAR(50) COMMENT '更新人', + `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP + ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' +) ENGINE = InnoDB + CHARSET = utf8mb4 COMMENT ='员工基础信息'; + -- 1. 社保/公积金模板主表 CREATE TABLE `oa_insurance_template` ( @@ -5,9 +21,9 @@ CREATE TABLE `oa_insurance_template` `template_name` VARCHAR(100) NOT NULL COMMENT '模板名称', `del_flag` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '删除标志 0=未删,1=已删', `remark` VARCHAR(255) COMMENT '备注', - `created_by` VARCHAR(50) COMMENT '创建人', + `create_by` VARCHAR(50) COMMENT '创建人', `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `updated_by` VARCHAR(50) COMMENT '更新人', + `update_by` VARCHAR(50) COMMENT '更新人', `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ) ENGINE = InnoDB @@ -22,9 +38,9 @@ CREATE TABLE `oa_insurance_template_detail` `amount` DECIMAL(12, 2) NOT NULL COMMENT '金额或比例', `del_flag` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '删除标志', `remark` VARCHAR(255) COMMENT '备注', - `created_by` VARCHAR(50) COMMENT '创建人', + `create_by` VARCHAR(50) COMMENT '创建人', `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `updated_by` VARCHAR(50) COMMENT '更新人', + `update_by` VARCHAR(50) COMMENT '更新人', `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', INDEX (`insurance_template_id`) @@ -38,9 +54,9 @@ CREATE TABLE `oa_salary_template` `template_name` VARCHAR(100) NOT NULL COMMENT '模板名称', `del_flag` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '删除标志', `remark` VARCHAR(255) COMMENT '备注', - `created_by` VARCHAR(50) COMMENT '创建人', + `create_by` VARCHAR(50) COMMENT '创建人', `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `updated_by` VARCHAR(50) COMMENT '更新人', + `update_by` VARCHAR(50) COMMENT '更新人', `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' ) ENGINE = InnoDB @@ -56,9 +72,9 @@ CREATE TABLE `oa_salary_template_detail` `rate` DECIMAL(12, 4) DEFAULT NULL COMMENT '费率,仅针对费率项', `del_flag` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '删除标志', `remark` VARCHAR(255) COMMENT '备注', - `created_by` VARCHAR(50) COMMENT '创建人', + `create_by` VARCHAR(50) COMMENT '创建人', `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `updated_by` VARCHAR(50) COMMENT '更新人', + `update_by` VARCHAR(50) COMMENT '更新人', `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', INDEX (`salary_template_id`) @@ -79,9 +95,9 @@ CREATE TABLE `oa_employee_template_binding` `status` VARCHAR(20) NOT NULL COMMENT '状态(已发/待发)', `del_flag` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '删除标志', `remark` VARCHAR(255) COMMENT '备注', - `created_by` VARCHAR(50) COMMENT '创建人', + `create_by` VARCHAR(50) COMMENT '创建人', `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `updated_by` VARCHAR(50) COMMENT '更新人', + `update_by` VARCHAR(50) COMMENT '更新人', `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', INDEX (`employee_id`), @@ -100,12 +116,24 @@ CREATE TABLE `oa_binding_item_detail` `paid_amount` DECIMAL(12, 2) NOT NULL COMMENT '实际缴纳/支付金额', `del_flag` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '删除标志', `remark` VARCHAR(255) COMMENT '备注', - `created_by` VARCHAR(50) COMMENT '创建人', + `create_by` VARCHAR(50) COMMENT '创建人', `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `updated_by` VARCHAR(50) COMMENT '更新人', + `update_by` VARCHAR(50) COMMENT '更新人', `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', INDEX (`binding_id`), INDEX (`template_type`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='绑定记录明细表'; +# +# 重新设计了一个员工id是因为有的工人不进入oa系统 +# +# 首先是设计模板就是薪资模板和保险模板以及他们的细节项 +# 接下来就是针对每一个员工计算他们的薪资了。 +# 每个员工可以绑定一个薪资模板和一个保险模板 +# 绑定之后就可以根据每一个模板中的细节添加记录明细 +# 添加完了之后就可以计算总共的实际发放工资 +# +# 因为每一个员工他可能对应的模板不同,因为公司的登记地点不同,例如江苏的险种金额和山东的金额不同 +# +# 如果可以的话在首次配置好之后,第二个月用户点击计算薪资后可以直接先拷贝一下上一个月的。然后在此基础上更换模板或者修改金额 \ No newline at end of file