cz060_cz061_routing_align.sql 9.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. -- =====================================================================
  2. -- CZ060/CZ061 工艺路线对齐脚本(幂等可重复执行)
  3. -- 依据:《鑫政CZ060&061现场布线说明表 - 副本.xlsx》 + PDA图标 cz060_icon_100~119 的工序号
  4. -- 内容:
  5. -- 1) CZ060 工位名称对齐(060表 OP100/OP105 等 20 处名称互换修正,主码+A同步,不动 quality/repeat)
  6. -- 2) CZ060 人工清洁 OP155 → OP166(PDA图标105指向 OP166)
  7. -- 3) CZ060 新增 OP176 TIG手工焊(060表第二处TIG,位于抽芯拉铆OP175与支架安装OP180之间)、OP270 出货
  8. -- 4) CZ061 新增 OP160 支架安装(061表 OP180 重复行修正,位于OP155与OP170之间)
  9. -- 5) 生产模板同步
  10. -- 6) 跳站配置:CZ060/CZ061 非 PDA 工位(含A变体)允许跳过,PDA工位之间保持防流出
  11. -- 说明:工位/模板数据即时生效;sys_config 直插数据库需重启服务或后台"系统配置"页面重新保存一次触发缓存刷新
  12. -- =====================================================================
  13. -- ---------- 1. CZ060 工位名称对齐(line_id=2102288813172203520) ----------
  14. UPDATE mes_line_process SET title='前膨胀梁打码', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno IN ('OP100','OP100A');
  15. UPDATE mes_line_process SET title='预拼锁付', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno IN ('OP105','OP105A');
  16. UPDATE mes_line_process SET title='拉铆', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno IN ('OP150','OP150A');
  17. UPDATE mes_line_process SET title='箱体气密一序', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno IN ('OP160','OP160A');
  18. UPDATE mes_line_process SET title='水道气密一序', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno IN ('OP165','OP165A');
  19. UPDATE mes_line_process SET title='抽芯拉铆', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno IN ('OP175','OP175A');
  20. UPDATE mes_line_process SET title='支架安装', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno IN ('OP180','OP180A');
  21. UPDATE mes_line_process SET title='白件GP12', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno IN ('OP185','OP185A');
  22. UPDATE mes_line_process SET title='检具', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno IN ('OP190','OP190A');
  23. UPDATE mes_line_process SET title='氦检', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno IN ('OP205','OP205A');
  24. UPDATE mes_line_process SET title='箱体气密二序', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno IN ('OP210','OP210A');
  25. UPDATE mes_line_process SET title='水道气密二序', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno IN ('OP215','OP215A');
  26. UPDATE mes_line_process SET title='贴pc条', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno IN ('OP230','OP230A');
  27. UPDATE mes_line_process SET title='涂胶', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno IN ('OP235','OP235A');
  28. UPDATE mes_line_process SET title='全检', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno IN ('OP240','OP240A');
  29. UPDATE mes_line_process SET title='GP12成品检验', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno IN ('OP245','OP245A');
  30. UPDATE mes_line_process SET title='CCD检测', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno IN ('OP250','OP250A');
  31. UPDATE mes_line_process SET title='绝缘耐压测试', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno IN ('OP255','OP255A');
  32. UPDATE mes_line_process SET title='成品打包', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno IN ('OP260','OP260A');
  33. UPDATE mes_line_process SET title='入库', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno IN ('OP265','OP265A');
  34. -- ---------- 2. CZ060 人工清洁 OP155 → OP166 ----------
  35. UPDATE mes_line_process SET oprno='OP166', sorts=166, update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno='OP155';
  36. UPDATE mes_line_process SET oprno='OP166A', update_by='system', update_date=NOW() WHERE line_id='2102288813172203520' AND oprno='OP155A';
  37. UPDATE mes_template_items SET oprno='OP166', `rank`=166, update_by='system', update_date=NOW() WHERE template_id='2102266346164490240' AND oprno='OP155';
  38. -- ---------- 3. CZ060 新增 OP176 TIG手工焊、OP270 出货(幂等) ----------
  39. DELETE FROM mes_line_process WHERE id IN ('2026101517000001','2026101517000002','2026101517000003','2026101517000004');
  40. INSERT INTO mes_line_process (id, line_id, oprno, title, status, sorts, pid, quality, `repeat`, create_by, create_date, update_by, update_date) VALUES
  41. ('2026101517000001','2102288813172203520','OP176', 'TIG手工焊','0',176, NULL, '1','0','system',NOW(),'system',NOW()),
  42. ('2026101517000002','2102288813172203520','OP176A','TIG手工焊','0',176, '2026101517000001','0','0','system',NOW(),'system',NOW()),
  43. ('2026101517000003','2102288813172203520','OP270', '出货', '0',270, NULL, '1','0','system',NOW(),'system',NOW()),
  44. ('2026101517000004','2102288813172203520','OP270A','出货', '0',270, '2026101517000003','0','0','system',NOW(),'system',NOW());
  45. DELETE FROM mes_template_items WHERE id IN ('2026101517000011','2026101517000012');
  46. INSERT INTO mes_template_items (id, template_id, oprno, craft, title, status, `rank`, create_by, create_date, update_by, update_date) VALUES
  47. ('2026101517000011','2102266346164490240','OP176','100000','工位结果','0',176,'system',NOW(),'system',NOW()),
  48. ('2026101517000012','2102266346164490240','OP270','100000','工位结果','0',270,'system',NOW(),'system',NOW());
  49. -- ---------- 4. CZ061 新增 OP160 支架安装(幂等) ----------
  50. DELETE FROM mes_line_process WHERE id IN ('2026101517000005','2026101517000006');
  51. INSERT INTO mes_line_process (id, line_id, oprno, title, status, sorts, pid, quality, `repeat`, create_by, create_date, update_by, update_date) VALUES
  52. ('2026101517000005','2102288695354204160','OP160', '支架安装','0',160, NULL, '1','0','system',NOW(),'system',NOW()),
  53. ('2026101517000006','2102288695354204160','OP160A','支架安装','0',160, '2026101517000005','0','0','system',NOW(),'system',NOW());
  54. DELETE FROM mes_template_items WHERE id='2026101517000013';
  55. INSERT INTO mes_template_items (id, template_id, oprno, craft, title, status, `rank`, create_by, create_date, update_by, update_date) VALUES
  56. ('2026101517000013','2102266410110849024','OP160','100000','工位结果','0',160,'system',NOW(),'system',NOW());
  57. -- ---------- 5. 跳站配置(幂等):非 PDA 工位允许跳过,PDA 工位之间保持防流出 ----------
  58. -- CZ060 PDA工位(不在清单内,保持拦截):OP065,OP090,OP100,OP125,OP140,OP166,OP175,OP180,OP185,OP190,
  59. -- OP195,OP220,OP225,OP230,OP235,OP240,OP245,OP260,OP265,OP270
  60. -- CZ061 PDA工位(不在清单内):OP125,OP140,OP155,OP160,OP190,OP195,OP225,OP230,OP235,OP240,OP245,OP260,OP265,OP270,OP275
  61. DELETE FROM js_sys_config WHERE config_key IN ('mes.pass.oprno.cz060','mes.pass.oprno.cz061');
  62. INSERT INTO js_sys_config (id, config_name, config_key, config_value, is_sys, create_by, create_date, update_by, update_date, remarks) VALUES
  63. ('2026101517000021','CZ060跳过的工站','mes.pass.oprno.cz060',
  64. 'OP035,OP035A,OP040,OP040A,OP045,OP045A,OP050,OP050A,OP055,OP055A,OP060,OP060A,OP070,OP070A,OP075,OP075A,OP080,OP080A,OP085,OP085A,OP095,OP095A,OP105,OP105A,OP110,OP110A,OP115,OP115A,OP120,OP120A,OP130,OP130A,OP135,OP135A,OP145,OP145A,OP150,OP150A,OP160,OP160A,OP165,OP165A,OP170,OP170A,OP176,OP176A,OP200,OP200A,OP205,OP205A,OP210,OP210A,OP215,OP215A,OP250,OP250A',
  65. '0','system',NOW(),'system',NOW(),'非PDA工位允许跳过(设备未到位),设备联网后从清单移除'),
  66. ('2026101517000022','CZ061跳过的工站','mes.pass.oprno.cz061',
  67. 'OP035,OP035A,OP040,OP040A,OP045,OP045A,OP050,OP050A,OP055,OP055A,OP060,OP060A,OP065,OP065A,OP070,OP070A,OP075,OP075A,OP080,OP080A,OP085,OP085A,OP090,OP090A,OP095,OP095A,OP100,OP100A,OP105,OP105A,OP110,OP110A,OP115,OP115A,OP120,OP120A,OP130,OP130A,OP135,OP135A,OP145,OP145A,OP150,OP150A,OP165,OP165A,OP170,OP170A,OP175,OP175A,OP180,OP180A,OP185,OP185A,OP200,OP200A,OP205,OP205A,OP210,OP210A,OP215,OP215A,OP220,OP220A,OP250,OP250A,OP255,OP255A',
  68. '0','system',NOW(),'system',NOW(),'非PDA工位允许跳过(设备未到位),设备联网后从清单移除');
  69. -- ---------- 6. 验证 ----------
  70. SELECT p.oprno, p.title, p.quality, p.`repeat` FROM mes_line_process p JOIN mes_line l ON p.line_id=l.id WHERE l.sn='CZ060' ORDER BY CAST(SUBSTRING(p.oprno,3) AS UNSIGNED);
  71. SELECT p.oprno, p.title FROM mes_line_process p JOIN mes_line l ON p.line_id=l.id WHERE l.sn='CZ061' AND p.oprno LIKE 'OP160%';
  72. SELECT config_key, CHAR_LENGTH(config_value) AS len FROM js_sys_config WHERE config_key IN ('mes.pass.oprno.cz060','mes.pass.oprno.cz061');
  73. SELECT template_id, COUNT(*) AS items FROM mes_template_items WHERE template_id IN ('2102266346164490240','2102266410110849024') GROUP BY template_id;
  74. -- ---------- 7. 测试期开关:CZ060/CZ061 防呆全部=否,重复工作全部=是(主码+A变体,XT线不受影响) ----------
  75. UPDATE mes_line_process SET quality='0', `repeat`='1', update_by='system', update_date=NOW()
  76. WHERE line_id IN ('2102288813172203520','2102288695354204160');
  77. SELECT l.sn, p.quality, p.`repeat`, COUNT(*) AS cnt FROM mes_line_process p JOIN mes_line l ON p.line_id=l.id
  78. WHERE l.sn IN ('CZ060','CZ061') GROUP BY l.sn, p.quality, p.`repeat`;