person_info.sql 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. -- ----------------------------
  2. -- 人员信息表
  3. -- ----------------------------
  4. DROP TABLE IF EXISTS person_info;
  5. CREATE TABLE person_info (
  6. person_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '人员ID',
  7. person_type VARCHAR(20) NOT NULL COMMENT '人员类型(字典: person_type)',
  8. person_name VARCHAR(50) NOT NULL COMMENT '姓名',
  9. id_card VARCHAR(18) NOT NULL COMMENT '身份证号',
  10. age INT DEFAULT NULL COMMENT '年龄',
  11. work_store_id BIGINT DEFAULT NULL COMMENT '工作门店ID',
  12. work_store_name VARCHAR(100) DEFAULT NULL COMMENT '工作门店名称',
  13. insurance_status VARCHAR(1) DEFAULT '0' COMMENT '保险状态(0未投保 1已投保)',
  14. insurance_expire_date DATE DEFAULT NULL COMMENT '保险有效期',
  15. certificates TEXT DEFAULT NULL COMMENT '岗位证书(JSON数组)',
  16. status VARCHAR(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
  17. del_flag VARCHAR(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  18. create_dept BIGINT DEFAULT NULL COMMENT '创建部门',
  19. create_by BIGINT DEFAULT NULL COMMENT '创建者',
  20. create_time DATETIME DEFAULT NULL COMMENT '创建时间',
  21. update_by BIGINT DEFAULT NULL COMMENT '更新者',
  22. update_time DATETIME DEFAULT NULL COMMENT '更新时间',
  23. remark VARCHAR(500) DEFAULT NULL COMMENT '备注',
  24. PRIMARY KEY (person_id),
  25. KEY idx_person_type (person_type),
  26. KEY idx_work_store_id (work_store_id),
  27. KEY idx_insurance_status (insurance_status)
  28. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='人员信息表';
  29. -- 人员类型字典
  30. INSERT INTO sys_dict_type (dict_id, tenant_id, dict_name, dict_type, create_by, create_time, update_by, update_time, remark)
  31. SELECT IFNULL(MAX(dict_id), 0) + 1, '000000', '人员类型', 'person_type', 1, NOW(), 1, NOW(), NULL
  32. FROM sys_dict_type
  33. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type WHERE dict_type = 'person_type');
  34. INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark)
  35. SELECT IFNULL(MAX(dict_code), 0) + 1, 1, '防损人员', '1', 'person_type', '', 'default', 'N', 1, NOW(), 1, NOW(), NULL FROM sys_dict_data
  36. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'person_type' AND dict_value = '1');
  37. INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark)
  38. SELECT IFNULL(MAX(dict_code), 0) + 1, 2, '施工人员', '2', 'person_type', '', 'default', 'N', 1, NOW(), 1, NOW(), NULL FROM sys_dict_data
  39. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'person_type' AND dict_value = '2');
  40. INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark)
  41. SELECT IFNULL(MAX(dict_code), 0) + 1, 3, '特岗人员', '3', 'person_type', '', 'default', 'N', 1, NOW(), 1, NOW(), NULL FROM sys_dict_data
  42. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'person_type' AND dict_value = '3');
  43. -- 岗位证书类型字典
  44. INSERT INTO sys_dict_type (dict_id, tenant_id, dict_name, dict_type, create_by, create_time, update_by, update_time, remark)
  45. SELECT IFNULL(MAX(dict_id), 0) + 1, '000000', '岗位证书类型', 'certificate_type', 1, NOW(), 1, NOW(), NULL
  46. FROM sys_dict_type
  47. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type WHERE dict_type = 'certificate_type');
  48. INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark)
  49. SELECT IFNULL(MAX(dict_code), 0) + 1, 1, '特种作业操作证', '1', 'certificate_type', '', 'default', 'N', 1, NOW(), 1, NOW(), NULL FROM sys_dict_data
  50. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'certificate_type' AND dict_value = '1');
  51. INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark)
  52. SELECT IFNULL(MAX(dict_code), 0) + 1, 2, '安全生产管理人员证', '2', 'certificate_type', '', 'default', 'N', 1, NOW(), 1, NOW(), NULL FROM sys_dict_data
  53. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'certificate_type' AND dict_value = '2');
  54. INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark)
  55. SELECT IFNULL(MAX(dict_code), 0) + 1, 3, '电工证', '3', 'certificate_type', '', 'default', 'N', 1, NOW(), 1, NOW(), NULL FROM sys_dict_data
  56. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'certificate_type' AND dict_value = '3');
  57. INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark)
  58. SELECT IFNULL(MAX(dict_code), 0) + 1, 4, '焊工证', '4', 'certificate_type', '', 'default', 'N', 1, NOW(), 1, NOW(), NULL FROM sys_dict_data
  59. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'certificate_type' AND dict_value = '4');
  60. INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark)
  61. SELECT IFNULL(MAX(dict_code), 0) + 1, 5, '高处作业证', '5', 'certificate_type', '', 'default', 'N', 1, NOW(), 1, NOW(), NULL FROM sys_dict_data
  62. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'certificate_type' AND dict_value = '5');
  63. INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark)
  64. SELECT IFNULL(MAX(dict_code), 0) + 1, 6, '消防安全管理员证', '6', 'certificate_type', '', 'default', 'N', 1, NOW(), 1, NOW(), NULL FROM sys_dict_data
  65. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'certificate_type' AND dict_value = '6');
  66. -- 保险状态字典
  67. INSERT INTO sys_dict_type (dict_id, tenant_id, dict_name, dict_type, create_by, create_time, update_by, update_time, remark)
  68. SELECT IFNULL(MAX(dict_id), 0) + 1, '000000', '保险状态', 'insurance_status', 1, NOW(), 1, NOW(), NULL
  69. FROM sys_dict_type
  70. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_type WHERE dict_type = 'insurance_status');
  71. INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark)
  72. SELECT IFNULL(MAX(dict_code), 0) + 1, 1, '已投保', '1', 'insurance_status', '', 'success', 'N', 1, NOW(), 1, NOW(), NULL FROM sys_dict_data
  73. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'insurance_status' AND dict_value = '1');
  74. INSERT INTO sys_dict_data (dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_by, create_time, update_by, update_time, remark)
  75. SELECT IFNULL(MAX(dict_code), 0) + 1, 2, '未投保', '0', 'insurance_status', '', 'danger', 'N', 1, NOW(), 1, NOW(), NULL FROM sys_dict_data
  76. WHERE NOT EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = 'insurance_status' AND dict_value = '0');