4 天以前 84ac2b6b12bc3e5de072661fb25e87877c01d0d7
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
85
86
87
88
89
90
91
92
-- =============================================
-- MES 生产主计划(MPS)表
-- =============================================
CREATE TABLE IF NOT EXISTS `mes_pro_mps` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    `code` varchar(64) NOT NULL COMMENT 'MPS 编码',
    `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0=草稿 1=已下发 2=已完成 3=已取消)',
 
    -- 来源信息(来自销售订单)
    `sale_order_id` bigint DEFAULT NULL COMMENT '销售订单ID',
    `sale_order_no` varchar(64) DEFAULT NULL COMMENT '销售订单号',
    `sale_order_item_id` bigint DEFAULT NULL COMMENT '销售订单明细ID',
 
    -- 产品信息
    `product_id` bigint NOT NULL COMMENT '产品编号',
    `quantity` decimal(24,6) NOT NULL COMMENT '计划生产数量',
    `quantity_produced` decimal(24,6) DEFAULT 0 COMMENT '已生产数量',
    `unit_measure_id` bigint DEFAULT NULL COMMENT '计量单位ID',
 
    -- 客户信息
    `client_id` bigint DEFAULT NULL COMMENT '客户编号',
 
    -- 时间信息
    `request_date` datetime DEFAULT NULL COMMENT '需求日期',
    `issue_date` datetime DEFAULT NULL COMMENT '下发日期',
    `finish_date` datetime DEFAULT NULL COMMENT '完成日期',
 
    -- 生产工单关联(下发后生成)
    `work_order_id` bigint DEFAULT NULL COMMENT '生产工单ID',
    `work_order_code` varchar(64) DEFAULT NULL COMMENT '生产工单编码',
 
    -- 合并下发标识
    `merge_flag` tinyint DEFAULT 0 COMMENT '是否合并下发(0=否 1=是)',
    `merge_batch_no` varchar(64) DEFAULT NULL COMMENT '合并批次号',
 
    -- 其他
    `remark` varchar(500) DEFAULT NULL COMMENT '备注',
    `creator` varchar(64) DEFAULT '' COMMENT '创建者',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` varchar(64) DEFAULT '' COMMENT '更新者',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
    PRIMARY KEY (`id`),
    KEY `idx_sale_order_item_id` (`sale_order_item_id`),
    KEY `idx_product_id` (`product_id`),
    KEY `idx_status` (`status`),
    KEY `idx_merge_batch_no` (`merge_batch_no`)
) ENGINE=InnoDB COMMENT='MES 生产主计划';
 
-- =============================================
-- MPS 合并下发明细表
-- =============================================
CREATE TABLE IF NOT EXISTS `mes_pro_mps_merge_item` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
    `merge_batch_no` varchar(64) NOT NULL COMMENT '合并批次号',
    `mps_id` bigint NOT NULL COMMENT 'MPS 编号',
    `work_order_id` bigint DEFAULT NULL COMMENT '生成的生产工单ID',
    `quantity` decimal(24,6) NOT NULL COMMENT '分配数量',
    `remark` varchar(500) DEFAULT NULL COMMENT '备注',
    `creator` varchar(64) DEFAULT '' COMMENT '创建者',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` varchar(64) DEFAULT '' COMMENT '更新者',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
    `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
    PRIMARY KEY (`id`),
    KEY `idx_merge_batch_no` (`merge_batch_no`),
    KEY `idx_mps_id` (`mps_id`)
) ENGINE=InnoDB COMMENT='MPS 合并下发明细';
 
-- =============================================
-- 销售订单明细表扩展字段
-- =============================================
ALTER TABLE `erp_sale_order_items`
ADD COLUMN `need_production` tinyint DEFAULT 0 COMMENT '是否需要生产(0=否 1=是)' AFTER `out_count`,
ADD COLUMN `mps_id` bigint DEFAULT NULL COMMENT '关联的MPS编号' AFTER `need_production`;
 
-- =============================================
-- 字典类型 - MPS 状态
-- =============================================
INSERT INTO `system_dict_type` (`name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
('MPS 状态', 'mes_pro_mps_status', 0, 'MPS 状态', '1', NOW(), '1', NOW(), b'0');
 
-- =============================================
-- 字典数据 - MPS 状态
-- =============================================
INSERT INTO `system_dict_data` (`sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES
(0, '草稿', '0', 'mes_pro_mps_status', 0, 'info', '', '', '1', NOW(), '1', NOW(), b'0'),
(1, '已下发', '1', 'mes_pro_mps_status', 0, 'success', '', '', '1', NOW(), '1', NOW(), b'0'),
(2, '已完成', '2', 'mes_pro_mps_status', 0, 'primary', '', '', '1', NOW(), '1', NOW(), b'0'),
(3, '已取消', '3', 'mes_pro_mps_status', 0, 'danger', '', '', '1', NOW(), '1', NOW(), b'0');