原材料送检记录

This commit is contained in:
2026-05-18 16:59:34 +08:00
parent 5800b6b61c
commit a1181e49fc
19 changed files with 1182 additions and 1 deletions

View File

@@ -0,0 +1,66 @@
-- 原材料送检记录菜单与权限挂到 MES管理
SET NAMES utf8mb4;
SET @mes_parent_id = (
SELECT id
FROM sys_permission
WHERE url = '/mes' AND menu_type = 0
ORDER BY create_time ASC
LIMIT 1
);
SET @mes_parent_id = IFNULL(@mes_parent_id, '1860000000000000001');
-- 二级菜单原材料送检记录
INSERT INTO sys_permission(
id, parent_id, name, url, component, component_name, menu_type, perms, perms_type, sort_no,
is_route, is_leaf, hidden, status, del_flag, keep_alive, internal_or_external, create_by, create_time
)
VALUES (
'1860000000000099111', @mes_parent_id, '原材料送检记录',
'/xslmes/mesXslRawMaterialInspectRecordList',
'xslmes/mesXslRawMaterialInspectRecord/MesXslRawMaterialInspectRecordList',
'MesXslRawMaterialInspectRecordList', 1, NULL, '1', 22,
1, 1, 0, '1', 0, 1, 0, 'admin', NOW()
)
ON DUPLICATE KEY UPDATE
parent_id = VALUES(parent_id),
name = VALUES(name),
url = VALUES(url),
component = VALUES(component),
component_name = VALUES(component_name),
menu_type = VALUES(menu_type),
perms = VALUES(perms),
perms_type = VALUES(perms_type),
sort_no = VALUES(sort_no),
is_route = VALUES(is_route),
is_leaf = VALUES(is_leaf),
hidden = VALUES(hidden),
status = VALUES(status),
del_flag = VALUES(del_flag),
keep_alive = VALUES(keep_alive),
internal_or_external = VALUES(internal_or_external);
-- 按钮权限
INSERT INTO sys_permission(id, parent_id, name, menu_type, perms, perms_type, status, del_flag, create_by, create_time) VALUES
('1860000000000099112', '1860000000000099111', '编辑', 2, 'xslmes:mes_xsl_raw_material_inspect_record:edit', '1', '1', 0, 'admin', NOW()),
('1860000000000099113', '1860000000000099111', '导出', 2, 'xslmes:mes_xsl_raw_material_inspect_record:exportXls', '1', '1', 0, 'admin', NOW())
ON DUPLICATE KEY UPDATE
parent_id = VALUES(parent_id),
name = VALUES(name),
menu_type = VALUES(menu_type),
perms = VALUES(perms),
perms_type = VALUES(perms_type),
status = VALUES(status),
del_flag = VALUES(del_flag);
-- admin 角色授权
INSERT INTO sys_role_permission(id, role_id, permission_id, operate_date, operate_ip)
SELECT REPLACE(UUID(), '-', ''), 'f6817f48af4fb3af11b9e8bf182f618b', p.id, NOW(), '127.0.0.1'
FROM sys_permission p
WHERE p.id IN ('1860000000000099111', '1860000000000099112', '1860000000000099113')
AND NOT EXISTS (
SELECT 1
FROM sys_role_permission rp
WHERE rp.role_id = 'f6817f48af4fb3af11b9e8bf182f618b'
AND rp.permission_id = p.id
);

View File

@@ -0,0 +1,36 @@
-- 原材料送检记录测试数据重置脚本稳妥版
-- 作用
-- 1) 将存在送检记录关联的原材料卡片检测结果重置为未检(0)
-- 2) 清空原材料送检记录主表/子表数据
SET NAMES utf8mb4;
START TRANSACTION;
-- 执行前计数便于确认是否命中数据
SELECT COUNT(1) AS before_record_count FROM mes_xsl_raw_material_inspect_record;
SELECT COUNT(1) AS before_record_line_count FROM mes_xsl_raw_material_inspect_record_line;
-- 回写原材料卡片检测结果为未检0只重置存在送检记录关联的卡片
UPDATE mes_xsl_raw_material_card c
JOIN (
SELECT DISTINCT r.raw_material_card_id AS card_id
FROM mes_xsl_raw_material_inspect_record r
WHERE r.raw_material_card_id IS NOT NULL
AND r.raw_material_card_id <> ''
) t ON t.card_id = c.id
SET c.test_result = '0',
c.update_time = NOW();
-- 先删子表再删主表
DELETE FROM mes_xsl_raw_material_inspect_record_line
WHERE record_id IN (
SELECT id FROM mes_xsl_raw_material_inspect_record
);
DELETE FROM mes_xsl_raw_material_inspect_record;
COMMIT;
-- 执行后计数
SELECT COUNT(1) AS remaining_record_count FROM mes_xsl_raw_material_inspect_record;
SELECT COUNT(1) AS remaining_record_line_count FROM mes_xsl_raw_material_inspect_record_line;

View File

@@ -0,0 +1,80 @@
-- 原材料送检记录主表 + 子表
SET NAMES utf8mb4;
CREATE TABLE IF NOT EXISTS `mes_xsl_raw_material_inspect_record` (
`id` varchar(32) NOT NULL COMMENT '主键',
`raw_material_card_id` varchar(32) DEFAULT NULL COMMENT '原材料卡片ID',
`barcode` varchar(128) DEFAULT NULL COMMENT '条码',
`batch_no` varchar(128) DEFAULT NULL COMMENT '批次号',
`material_id` varchar(32) DEFAULT NULL COMMENT '物料ID',
`material_name` varchar(200) DEFAULT NULL COMMENT '物料名称',
`inspect_status` varchar(10) DEFAULT '0' COMMENT '检验状态字典 xslmes_inspect_status0待检 1合格 2不合格',
`inspect_time` datetime DEFAULT NULL COMMENT '送检时间',
`result_time` datetime DEFAULT NULL COMMENT '判定时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`tenant_id` int DEFAULT NULL COMMENT '租户',
PRIMARY KEY (`id`),
KEY `idx_xsl_rm_ir_card` (`raw_material_card_id`),
KEY `idx_xsl_rm_ir_status` (`inspect_status`),
KEY `idx_xsl_rm_ir_time` (`inspect_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='原材料送检记录';
CREATE TABLE IF NOT EXISTS `mes_xsl_raw_material_inspect_record_line` (
`id` varchar(32) NOT NULL COMMENT '主键',
`record_id` varchar(32) NOT NULL COMMENT '送检记录主表ID',
`inspect_std_id` varchar(32) DEFAULT NULL COMMENT '检验标准ID',
`inspect_item_id` varchar(32) DEFAULT NULL COMMENT '检验项目ID',
`inspect_item_name` varchar(200) DEFAULT NULL COMMENT '检验项目名称',
`allow_min` decimal(24,6) DEFAULT NULL COMMENT '容许最小值',
`include_min_flag` int NOT NULL DEFAULT '0' COMMENT '包含最小值1是 0否',
`allow_max` decimal(24,6) DEFAULT NULL COMMENT '容许最大值',
`include_max_flag` int NOT NULL DEFAULT '0' COMMENT '包含最大值1是 0否',
`inspect_value` decimal(24,6) DEFAULT NULL COMMENT '检验值',
`pass_flag` varchar(10) DEFAULT '0' COMMENT '判定状态字典 xslmes_inspect_status0待检 1合格 2不合格',
`sort_no` int DEFAULT NULL COMMENT '排序',
`create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_xsl_rm_irl_record` (`record_id`),
KEY `idx_xsl_rm_irl_item` (`inspect_item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='原材料送检记录-检验明细';
-- 字典送检状态
INSERT INTO `sys_dict` (`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `type`)
SELECT REPLACE(UUID(), '-', ''), '送检状态', 'xslmes_inspect_status', '原材料送检状态待检/合格/不合格', 0, 'admin', NOW(), 0
WHERE NOT EXISTS (
SELECT 1 FROM `sys_dict` WHERE `dict_code` = 'xslmes_inspect_status' AND `del_flag` = 0
);
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '待检', '0', '待检', 1, 1, 'admin', NOW()
FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_inspect_status'
AND d.`del_flag` = 0
AND NOT EXISTS (
SELECT 1 FROM `sys_dict_item` i WHERE i.dict_id = d.id AND i.item_value = '0'
);
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '合格', '1', '合格', 2, 1, 'admin', NOW()
FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_inspect_status'
AND d.`del_flag` = 0
AND NOT EXISTS (
SELECT 1 FROM `sys_dict_item` i WHERE i.dict_id = d.id AND i.item_value = '1'
);
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`)
SELECT REPLACE(UUID(), '-', ''), d.id, '不合格', '2', '不合格', 3, 1, 'admin', NOW()
FROM `sys_dict` d
WHERE d.`dict_code` = 'xslmes_inspect_status'
AND d.`del_flag` = 0
AND NOT EXISTS (
SELECT 1 FROM `sys_dict_item` i WHERE i.dict_id = d.id AND i.item_value = '2'
);