Blame view

项目文档相关/sql/为所有工资表添加员工确认字段.sql 4.47 KB
d8035736   “wangming”   Refactor project ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
  -- ============================================
  -- 为所有工资表添加员工确认字段
  -- 功能:支持员工确认工资条,确认后工资数据不可修改
  -- 创建时间:2025
  -- 说明:lq_employee_salary_statistics 表在创建时已包含这些字段,无需添加
  -- ============================================
  
  -- 注意:MySQL不支持 ADD COLUMN IF NOT EXISTS 语法
  -- 如果字段已存在,执行时会报错,可以忽略该错误或先检查字段是否存在
  
  -- 1. 健康师工资统计表
  ALTER TABLE lq_salary_statistics 
  ADD COLUMN F_EmployeeConfirmStatus INT NOT NULL DEFAULT 0 COMMENT '员工确认状态(0=未确认,1=已确认)',
  ADD COLUMN F_EmployeeConfirmTime DATETIME NULL COMMENT '员工确认时间',
  ADD COLUMN F_EmployeeConfirmRemark VARCHAR(500) NULL COMMENT '员工确认备注';
  
  -- 2. 科技部老师工资统计表
  ALTER TABLE lq_tech_teacher_salary_statistics 
  ADD COLUMN F_EmployeeConfirmStatus INT NOT NULL DEFAULT 0 COMMENT '员工确认状态(0=未确认,1=已确认)',
  ADD COLUMN F_EmployeeConfirmTime DATETIME NULL COMMENT '员工确认时间',
  ADD COLUMN F_EmployeeConfirmRemark VARCHAR(500) NULL COMMENT '员工确认备注';
  
  -- 3. 店助工资统计表
  ALTER TABLE lq_assistant_salary_statistics 
  ADD COLUMN F_EmployeeConfirmStatus INT NOT NULL DEFAULT 0 COMMENT '员工确认状态(0=未确认,1=已确认)',
  ADD COLUMN F_EmployeeConfirmTime DATETIME NULL COMMENT '员工确认时间',
  ADD COLUMN F_EmployeeConfirmRemark VARCHAR(500) NULL COMMENT '员工确认备注';
  
  -- 4. 店长工资统计表
  ALTER TABLE lq_store_manager_salary_statistics 
  ADD COLUMN F_EmployeeConfirmStatus INT NOT NULL DEFAULT 0 COMMENT '员工确认状态(0=未确认,1=已确认)',
  ADD COLUMN F_EmployeeConfirmTime DATETIME NULL COMMENT '员工确认时间',
  ADD COLUMN F_EmployeeConfirmRemark VARCHAR(500) NULL COMMENT '员工确认备注';
  
  -- 5. 主任工资统计表
  ALTER TABLE lq_director_salary_statistics 
  ADD COLUMN F_EmployeeConfirmStatus INT NOT NULL DEFAULT 0 COMMENT '员工确认状态(0=未确认,1=已确认)',
  ADD COLUMN F_EmployeeConfirmTime DATETIME NULL COMMENT '员工确认时间',
  ADD COLUMN F_EmployeeConfirmRemark VARCHAR(500) NULL COMMENT '员工确认备注';
  
  -- 6. 大项目部老师工资统计表
  ALTER TABLE lq_major_project_teacher_salary_statistics 
  ADD COLUMN F_EmployeeConfirmStatus INT NOT NULL DEFAULT 0 COMMENT '员工确认状态(0=未确认,1=已确认)',
  ADD COLUMN F_EmployeeConfirmTime DATETIME NULL COMMENT '员工确认时间',
  ADD COLUMN F_EmployeeConfirmRemark VARCHAR(500) NULL COMMENT '员工确认备注';
  
  -- 7. 大项目主管工资统计表
  ALTER TABLE lq_major_project_director_salary_statistics 
  ADD COLUMN F_EmployeeConfirmStatus INT NOT NULL DEFAULT 0 COMMENT '员工确认状态(0=未确认,1=已确认)',
  ADD COLUMN F_EmployeeConfirmTime DATETIME NULL COMMENT '员工确认时间',
  ADD COLUMN F_EmployeeConfirmRemark VARCHAR(500) NULL COMMENT '员工确认备注';
  
  -- 8. 科技部总经理工资统计表
  ALTER TABLE lq_tech_general_manager_salary_statistics 
  ADD COLUMN F_EmployeeConfirmStatus INT NOT NULL DEFAULT 0 COMMENT '员工确认状态(0=未确认,1=已确认)',
  ADD COLUMN F_EmployeeConfirmTime DATETIME NULL COMMENT '员工确认时间',
  ADD COLUMN F_EmployeeConfirmRemark VARCHAR(500) NULL COMMENT '员工确认备注';
  
  -- 9. 事业部总经理/经理工资统计表
  ALTER TABLE lq_business_unit_manager_salary_statistics 
  ADD COLUMN F_EmployeeConfirmStatus INT NOT NULL DEFAULT 0 COMMENT '员工确认状态(0=未确认,1=已确认)',
  ADD COLUMN F_EmployeeConfirmTime DATETIME NULL COMMENT '员工确认时间',
  ADD COLUMN F_EmployeeConfirmRemark VARCHAR(500) NULL COMMENT '员工确认备注';
  
  -- ============================================
  -- 验证字段是否添加成功
  -- ============================================
  SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT, COLUMN_COMMENT 
  FROM INFORMATION_SCHEMA.COLUMNS 
  WHERE TABLE_SCHEMA = DATABASE() 
    AND TABLE_NAME IN (
      'lq_salary_statistics',
      'lq_tech_teacher_salary_statistics',
      'lq_assistant_salary_statistics',
      'lq_store_manager_salary_statistics',
      'lq_director_salary_statistics',
      'lq_major_project_teacher_salary_statistics',
      'lq_major_project_director_salary_statistics',
      'lq_tech_general_manager_salary_statistics',
      'lq_business_unit_manager_salary_statistics',
      'lq_employee_salary_statistics'
    )
    AND COLUMN_NAME LIKE '%Confirm%' 
  ORDER BY TABLE_NAME, ORDINAL_POSITION;