002_add_trainingManagement.sql 6.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. -- 002_add_trainingManagement.sql
  2. -- 修复问题:模板 1.2.3 教育培训 / 1)教育培训管理 缺少 project.trainingManagement 要素
  3. -- 原因:init_database.sql 遗漏了 trainingManagement,node 822 (employeeTraining) 合并了两段内容
  4. -- 修改:
  5. -- 1. 新增 ELEMENT 节点 project.trainingManagement(教育培训管理)
  6. -- 2. 新增 VALUE 节点 PRJ-2024-001:project.trainingManagement
  7. -- 3. 拆分 node 822 的 value_text,将教育培训管理部分移到新 VALUE
  8. -- 4. 添加 HAS_ELEMENT / HAS_VALUE 边
  9. -- 5. 添加 node_properties(namespace, field_name, element_type, required, description, sort_order)
  10. BEGIN;
  11. -- ========== 1. 新增 ELEMENT 节点 ==========
  12. INSERT INTO nodes (id, node_type, node_key, name, status, created_by, created_at, updated_at) VALUES
  13. (1138, 'ELEMENT', 'project.trainingManagement', '教育培训管理', 'active', NULL, now(), now())
  14. ON CONFLICT (id) DO NOTHING;
  15. -- ========== 2. 新增 VALUE 节点 ==========
  16. INSERT INTO nodes (id, node_type, node_key, name, status, created_by, created_at, updated_at) VALUES
  17. (1139, 'VALUE', 'PRJ-2024-001:project.trainingManagement', '教育培训管理值', 'active', NULL, now(), now())
  18. ON CONFLICT (id) DO NOTHING;
  19. -- ========== 3. 新增 HAS_ELEMENT 边(project 10 -> element 1138)==========
  20. INSERT INTO edges (id, edge_type, from_node_id, to_node_id, sort_order, created_at) VALUES
  21. (2395, 'HAS_ELEMENT', 10, 1138, 0, now())
  22. ON CONFLICT (id) DO NOTHING;
  23. -- ========== 4. 新增 HAS_VALUE 边(project 10 -> value 1139)==========
  24. INSERT INTO edges (id, edge_type, from_node_id, to_node_id, sort_order, created_at) VALUES
  25. (2396, 'HAS_VALUE', 10, 1139, 0, now())
  26. ON CONFLICT (id) DO NOTHING;
  27. -- ========== 5. ELEMENT 节点属性 ==========
  28. INSERT INTO node_properties (id, node_id, prop_key, prop_value, prop_json, prop_number, prop_date, created_at, updated_at) VALUES
  29. (4413, 1138, 'namespace', 'project', NULL, NULL, NULL, now(), now()),
  30. (4414, 1138, 'field_name', 'trainingManagement', NULL, NULL, NULL, now(), now()),
  31. (4415, 1138, 'element_type', 'paragraph', NULL, NULL, NULL, now(), now()),
  32. (4416, 1138, 'required', 'true', NULL, NULL, NULL, now(), now()),
  33. (4417, 1138, 'description', '1.2.3 教育培训-教育培训管理', NULL, NULL, NULL, now(), now()),
  34. (4418, 1138, 'element_name', '教育培训管理', NULL, NULL, NULL, now(), now()),
  35. -- sort_order: 721(systematicManagement)=21, 722(employeeTraining)=22, 新的trainingManagement排在中间
  36. (4419, 1138, 'sort_order', '22', NULL, NULL, NULL, now(), now())
  37. ON CONFLICT (id) DO NOTHING;
  38. -- 把原 employeeTraining 的 sort_order 从 22 改为 23(给 trainingManagement 腾位)
  39. UPDATE node_properties SET prop_value = '23' WHERE node_id = 722 AND prop_key = 'sort_order';
  40. -- 后续元素 sort_order 都 +1
  41. UPDATE node_properties SET prop_value = (CAST(prop_value AS int) + 1)::text
  42. WHERE prop_key = 'sort_order'
  43. AND CAST(prop_value AS int) >= 23
  44. AND node_id != 1138;
  45. -- ========== 6. VALUE 节点属性:教育培训管理内容 ==========
  46. -- 从 node 822 的 value_text 中提取"1)教育培训管理"部分
  47. INSERT INTO node_properties (id, node_id, prop_key, prop_value, prop_json, prop_number, prop_date, created_at, updated_at) VALUES
  48. (4420, 1139, 'value_text', '成都院制定并实施了《安全生产教育培训管理规定》(SQE.01C0203),明确人力资源部是公司安全生产教育培训工作归口管理部门,负责公司安全生产教育培训的实施及归口工作。
  49. 成都院制定《公司2024年安全生产与职业健康、节能能源与生态环境保护教育培训工作计划》,培训包括上级对企业领导人员和安全管理人员培训、注册类和特种作业类培训、新员工三级安全教育培训、应急救援队伍专项培训以及分包单位现场负责人及主要管理人员轮训等内容。计划由刘建冰核定、鞠其凤批准、何彦锋签发。成都院按计划开展了相关培训计划,及时做好安全教育培训记录和档案管理工作,并对2024年已经开展的培训项目,进行了培训效果评价。', NULL, NULL, NULL, now(), now()),
  50. (4421, 1139, 'is_filled', 'true', NULL, NULL, NULL, now(), now()),
  51. (4422, 1139, 'fill_source', 'extract', NULL, NULL, NULL, now(), now())
  52. ON CONFLICT (id) DO NOTHING;
  53. -- ========== 7. 更新 node 822 (employeeTraining) 的 value_text ==========
  54. -- 去掉前面的"1)教育培训管理"部分,只保留"2)人员教育培训"部分
  55. UPDATE node_properties
  56. SET prop_value = '成都院主要负责人及安全管理人员均按要求参加培训并取得资格证书,如公司董事长何彦锋、总经理张世殊均取得安全生产考核合格证(A证),二级单位负责人雷军、刘兴强等取得安全生产考核合格证(B证),安全总监向林、安质环部主任刘建冰、安质环部副主任邱广东、专职安全管理人员李豆豆、黄凡等取得安全生产考核合格证(C证)等。成都院2024年已举办的住建系统安全管理"三类人员"复训,满足再培训学时等要求。
  57. 成都院2024年安全生产与职业健康、节约能源与生态环境保护教育培训工作计划包括了从业人员培训或培训考核上岗相关培训,如:特种作业人员资质培训、住建和水利系统"三类人员"资质取证和延期教育培训、新员工安全教育培训和各级负责人安全履职能力培训,复训学时满足要求。
  58. 成都院对2024年新员工开展了三级安全教育培训,参训234人,培训学时满足要求,有培训课件、试卷和成绩记录、培训效果评价,培训考核结果。成都院《安全生产教育培训管理规定》(SQE.01C0203)明确了转换岗人员、变换工种人员的安全教育培训要求。成都院《安全生产教育培训管理规定》(SQE.01C0203)明确了采用新技术、新工艺、新材料、新装备、新流程时的安全教育培训要求;经现场询问,成都院查评期内无新工艺、新技术、新材料、新设备设施投入使用情况。成都院特种作业建筑电工(15人)、爆破作业人员(23人)均在有效期内持证上岗,定期复审换证。2024年5月,公司应急救援队和公司西藏区域应急救援队共计58人参加了应急救援员(五级)国家职业资格鉴定培训。',
  59. updated_at = now()
  60. WHERE node_id = 822 AND prop_key = 'value_text';
  61. -- ========== 8. 更新序列值 ==========
  62. SELECT setval('nodes_id_seq', GREATEST(1139, (SELECT MAX(id) FROM nodes)));
  63. SELECT setval('edges_id_seq', GREATEST(2396, (SELECT MAX(id) FROM edges)));
  64. SELECT setval('node_properties_id_seq', GREATEST(4422, (SELECT MAX(id) FROM node_properties)));
  65. COMMIT;