mes_work_order.sql 5.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. -- 工单:维护和导入。不参与现场上线。
  2. CREATE TABLE IF NOT EXISTS `mes_work_order` (
  3. `id` varchar(64) NOT NULL COMMENT '主键',
  4. `work_no` varchar(64) NOT NULL COMMENT '工单号,M开头',
  5. `project_code` varchar(64) DEFAULT NULL COMMENT '项目别',
  6. `material_sn` varchar(64) NOT NULL COMMENT '总成料号,1开头',
  7. `spec_name` varchar(255) DEFAULT NULL COMMENT '规格名称',
  8. `drawing_no` varchar(128) DEFAULT NULL COMMENT '图号',
  9. `plan_qty` int(11) NOT NULL COMMENT '需生产数量',
  10. `open_date` date NOT NULL COMMENT '开单日期',
  11. `produce_date` date NOT NULL COMMENT '生产日期',
  12. `sale_order_no` varchar(64) DEFAULT NULL COMMENT '订单编号',
  13. `line_sn` varchar(64) DEFAULT NULL COMMENT '产线编号,下达前填写',
  14. `cate_sn` varchar(64) DEFAULT NULL COMMENT '工件类型编号',
  15. `state` char(1) NOT NULL DEFAULT '0' COMMENT '0待下达 1已下达 2生产中 3完工 4暂停 5关闭',
  16. `done_qty` int(11) NOT NULL DEFAULT 0 COMMENT '已完工数量,本阶段固定为0',
  17. `status` char(1) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1删除 2停用)',
  18. `create_by` varchar(64) NOT NULL COMMENT '创建者',
  19. `create_date` datetime NOT NULL COMMENT '创建时间',
  20. `update_by` varchar(64) NOT NULL COMMENT '更新者',
  21. `update_date` datetime NOT NULL COMMENT '更新时间',
  22. `remarks` varchar(500) DEFAULT NULL COMMENT '备注信息',
  23. PRIMARY KEY (`id`),
  24. UNIQUE KEY `uk_mes_work_order_no` (`work_no`),
  25. KEY `idx_mes_work_order_produce` (`produce_date`),
  26. KEY `idx_mes_work_order_state` (`state`),
  27. KEY `idx_mes_work_order_material` (`material_sn`)
  28. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工单';
  29. -- 菜单挂在「生产线管理」下。执行后重新登录刷新菜单。
  30. DELETE FROM `js_sys_role_menu` WHERE `menu_code` = '2099101000000000001';
  31. DELETE FROM `js_sys_menu` WHERE `menu_code` = '2099101000000000001';
  32. INSERT INTO `js_sys_menu`
  33. (`menu_code`, `parent_code`, `parent_codes`, `tree_sort`, `tree_sorts`, `tree_leaf`, `tree_level`,
  34. `tree_names`, `menu_name`, `menu_type`, `menu_href`, `menu_target`, `menu_icon`, `menu_color`, `menu_title`,
  35. `permission`, `weight`, `is_show`, `sys_code`, `module_codes`, `component`, `params`, `status`,
  36. `create_by`, `create_date`, `update_by`, `update_date`, `remarks`)
  37. SELECT
  38. '2099101000000000001', p.`menu_code`, CONCAT(p.`parent_codes`, p.`menu_code`, ','),
  39. 180, CONCAT(p.`tree_sorts`, '0000000180,'), '1', p.`tree_level` + 1,
  40. CONCAT(p.`tree_names`, '/工单管理'), '工单管理', '1',
  41. '/mes/mesWorkOrder/list', '', 'fa fa-list-alt', '', '',
  42. 'mes:mesWorkOrder:view,mes:mesWorkOrder:edit', 40, '1', 'default', 'core', NULL, NULL, '0',
  43. 'system', NOW(), 'system', NOW(), '工单维护与导入,不影响现场生产'
  44. FROM `js_sys_menu` p
  45. WHERE p.`menu_code` = '1680784143702568960';
  46. INSERT INTO `js_sys_role_menu` (`role_code`, `menu_code`)
  47. SELECT DISTINCT rm.`role_code`, '2099101000000000001'
  48. FROM `js_sys_role_menu` rm
  49. INNER JOIN `js_sys_menu` m ON m.`menu_code` = rm.`menu_code`
  50. WHERE m.`parent_code` = '1680784143702568960'
  51. AND NOT EXISTS (
  52. SELECT 1 FROM `js_sys_role_menu` x
  53. WHERE x.`role_code` = rm.`role_code`
  54. AND x.`menu_code` = '2099101000000000001'
  55. );
  56. -- 上线工单校验开关。1 生效,0 关闭。在参数设置中修改,修改后重启应用。
  57. INSERT INTO `js_sys_config` (`id`, `config_name`, `config_key`, `config_value`, `is_sys`, `create_by`, `create_date`, `update_by`, `update_date`, `remarks`)
  58. SELECT '2099101000000000002', '生产工单-上线校验开关', 'mes.workOrder.check', '1', '0', 'system', NOW(), 'system', NOW(), '1:上线校验工单并回写完工数量;0:不校验、不回写'
  59. FROM DUAL
  60. WHERE NOT EXISTS (
  61. SELECT 1 FROM `js_sys_config` WHERE `config_key` = 'mes.workOrder.check'
  62. );
  63. -- 工单工件页。执行后重新登录刷新菜单。
  64. INSERT INTO `js_sys_menu`
  65. (`menu_code`, `parent_code`, `parent_codes`, `tree_sort`, `tree_sorts`, `tree_leaf`, `tree_level`,
  66. `tree_names`, `menu_name`, `menu_type`, `menu_href`, `menu_target`, `menu_icon`, `menu_color`, `menu_title`,
  67. `permission`, `weight`, `is_show`, `sys_code`, `module_codes`, `component`, `params`, `status`,
  68. `create_by`, `create_date`, `update_by`, `update_date`, `remarks`)
  69. SELECT
  70. '2099101000000000003', p.`menu_code`, CONCAT(p.`parent_codes`, p.`menu_code`, ','),
  71. 190, CONCAT(p.`tree_sorts`, '0000000190,'), '1', p.`tree_level` + 1,
  72. CONCAT(p.`tree_names`, '/工单工件'), '工单工件', '1',
  73. '/mes/mesWorkOrder/snList', '', 'fa fa-barcode', '', '',
  74. 'mes:mesWorkOrder:view', 40, '1', 'default', 'core', NULL, NULL, '0',
  75. 'system', NOW(), 'system', NOW(), '查看工单下的工件及状态'
  76. FROM `js_sys_menu` p
  77. WHERE p.`menu_code` = '1680784143702568960'
  78. AND NOT EXISTS (SELECT 1 FROM `js_sys_menu` WHERE `menu_code` = '2099101000000000003');
  79. INSERT INTO `js_sys_role_menu` (`role_code`, `menu_code`)
  80. SELECT DISTINCT rm.`role_code`, '2099101000000000003'
  81. FROM `js_sys_role_menu` rm
  82. WHERE rm.`menu_code` = '2099101000000000001'
  83. AND NOT EXISTS (
  84. SELECT 1 FROM `js_sys_role_menu` x
  85. WHERE x.`role_code` = rm.`role_code`
  86. AND x.`menu_code` = '2099101000000000003'
  87. );
  88. -- 上线记录回写工单号。已有库执行一次即可。
  89. ALTER TABLE `mes_product_record`
  90. ADD COLUMN `work_no` varchar(64) DEFAULT NULL COMMENT '工单号' AFTER `line_sn`,
  91. ADD INDEX `idx_mes_product_record_work_no` (`work_no`);