feat: 质检工单结论、库位批量/筛选与协议样本接收质检摘要

落库并展示质检工单级结论(可编辑/任务派生),库位树支持批量新增子节点与货架格子检索,协议/捐赠列表补充接收与门禁质检摘要,并同步生产物料与工单卡片展示优化。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
zlwuandCursor committed 2026-07-28 18:46:24 +08:00
1 parent f554d77e59
commit a3af039e74
54 files changed
+42429 -35006

No files matched your search

@@ -0,0 +1,6 @@
-- 质检工单增加质检结论(合格/不合格),可编辑落库;列表无值时仍可由任务结论派生。
-- 执行:在目标库运行本脚本。
ALTER TABLE `biz_qc_work_order`
ADD COLUMN `conclusion` varchar(16) DEFAULT NULL COMMENT '质检结论 tg合格 btg不合格'
AFTER `work_order_status`;
@@ -1,117 +0,0 @@
-- =============================================================================
-- 为全部有效角色授予【OA审批】及其全部子菜单权限
-- 依据:docs/sql/zkxw.sql(sys_menu / sys_role / sys_role_menu)
--
-- 菜单范围:
-- OA000...000001 OA审批(目录)
-- OA000...000101 审批管理
-- OA000...000102 工作流角色
-- OA000...000103 发起审批
-- OA000...000104 待办中心
-- OA000...000105 已办中心
-- OA000...000106 我发起的
-- OA000...000107 抄送我的
-- OA000...000201 审批设计(隐藏页)
-- OA000...000202 审批详情(隐藏页)
--
-- 另按权限约定补齐祖先菜单,避免侧栏孤儿节点无法展示:
-- 2 Web端菜单
-- TOP000...00005 系统管理(OA审批的上级目录)
--
-- 幂等:已存在且未删除则跳过;已软删则恢复;缺失则新增。
-- =============================================================================
SET NAMES utf8mb4;
-- -----------------------------------------------------------------------------
-- 目标菜单集合:OA审批 + 全部子菜单 + 祖先菜单
-- -----------------------------------------------------------------------------
DROP TEMPORARY TABLE IF EXISTS tmp_oa_grant_menus;
CREATE TEMPORARY TABLE tmp_oa_grant_menus (
menu_id VARCHAR(64) NOT NULL PRIMARY KEY
) ENGINE=Memory;
INSERT INTO tmp_oa_grant_menus (menu_id)
SELECT m.id
FROM sys_menu m
WHERE m.del_flag = 0
AND (
-- OA审批自身
m.id = 'OA000000000000000000000000000001'
-- OA审批下全部子菜单(当前均为一级子节点)
OR m.parent_id = 'OA000000000000000000000000000001'
-- 祖先:侧栏可展示
OR m.id IN (
'2', -- Web端菜单
'TOP00000000000000000000000000005' -- 系统管理
)
);
-- -----------------------------------------------------------------------------
-- 1) 恢复已软删的角色-菜单关联
-- -----------------------------------------------------------------------------
UPDATE sys_role_menu rm
INNER JOIN sys_role r
ON r.id = rm.role_id
AND r.del_flag = 0
INNER JOIN tmp_oa_grant_menus t
ON t.menu_id = rm.menu_id
SET
rm.del_flag = 0,
rm.update_time = NOW(),
rm.remark = COALESCE(rm.remark, 'grant OA审批 menu to all roles')
WHERE rm.del_flag = 1;
-- -----------------------------------------------------------------------------
-- 2) 为尚未关联的角色补插菜单权限
-- -----------------------------------------------------------------------------
INSERT INTO sys_role_menu (
id,
role_id,
menu_id,
tenant_no,
order_num,
remark,
create_by,
create_dept_id,
create_time,
update_by,
update_time,
del_flag
)
SELECT
-- MySQL 5.7 批量 INSERT…SELECT 时 UUID() 可能同批重复;用 role+menu 确定性主键
UPPER(MD5(CONCAT('oa-grant|', r.id, '|', t.menu_id))) AS id,
r.id AS role_id,
t.menu_id AS menu_id,
r.tenant_no AS tenant_no,
0 AS order_num,
'grant OA审批 menu to all roles' AS remark,
NULL AS create_by,
'' AS create_dept_id,
NOW() AS create_time,
NULL AS update_by,
NOW() AS update_time,
0 AS del_flag
FROM sys_role r
CROSS JOIN tmp_oa_grant_menus t
WHERE r.del_flag = 0
AND NOT EXISTS (
SELECT 1
FROM sys_role_menu x
WHERE x.role_id = r.id
AND x.menu_id = t.menu_id
);
-- -----------------------------------------------------------------------------
-- 校验(可选,执行后查看结果)
-- -----------------------------------------------------------------------------
-- SELECT r.role_name, COUNT(*) AS oa_menu_cnt
-- FROM sys_role r
-- INNER JOIN sys_role_menu rm ON rm.role_id = r.id AND rm.del_flag = 0
-- INNER JOIN tmp_oa_grant_menus t ON t.menu_id = rm.menu_id
-- WHERE r.del_flag = 0
-- GROUP BY r.id, r.role_name
-- ORDER BY r.role_name;
DROP TEMPORARY TABLE IF EXISTS tmp_oa_grant_menus;
+1
View File
@@ -15344,6 +15344,7 @@ CREATE TABLE `biz_qc_work_order` (
`production_task_id` varchar(64) DEFAULT NULL COMMENT '关联生产任务ID(可选)',
`production_step_output_id` varchar(64) DEFAULT NULL COMMENT '关联生产任务步骤产出物ID(生产过程触发时)',
`work_order_status` varchar(16) NOT NULL DEFAULT 'dpz' COMMENT 'dpz待配置 ypz已配置 ywc已完成',
`conclusion` varchar(16) DEFAULT NULL COMMENT '质检结论 tg合格 btg不合格',
`has_lab` char(1) NOT NULL DEFAULT '0' COMMENT '含实验室自检',
`has_third_party` char(1) NOT NULL DEFAULT '0' COMMENT '含第三方检测',
`configured_time` datetime DEFAULT NULL COMMENT '配置时间',