✨ 异常处置支持归属过程节点并新增打卡门禁
异常上报强制选择过程节点,节点归属写入 node_code / node_name;节点存在未了结 异常时,该节点及其后节点不可打卡(异常门禁),被拦节点仍可展开查看回填内容。 另新增顺序门禁:前置打卡节点未完成时后续节点不可打卡且不可展开;在途节点不受 顺序门禁约束,但仍受异常门禁约束。 配套: - 过程配置「上传货量为是、货量类型为空」的脏配置订正为不采集货量 - 网关补充 /blade-resource/** 路由(图片上传,小程序打卡与异常上报照片均经此)
This commit is contained in:
@@ -49,6 +49,28 @@
|
||||
],
|
||||
"uri": "lb://blade-system"
|
||||
},
|
||||
{
|
||||
"id": "resource-route",
|
||||
"order": 0,
|
||||
"predicates": [
|
||||
{
|
||||
"name": "Path",
|
||||
"args": {
|
||||
"pattern": "/blade-resource/**"
|
||||
}
|
||||
}
|
||||
],
|
||||
"filters": [
|
||||
{
|
||||
"name": "RewritePath",
|
||||
"args": {
|
||||
"regexp": "/blade-resource/(?<segment>.*)",
|
||||
"replacement": "/$\\{segment}"
|
||||
}
|
||||
}
|
||||
],
|
||||
"uri": "http://127.0.0.1:8010"
|
||||
},
|
||||
{
|
||||
"id": "example-route",
|
||||
"order": 0,
|
||||
|
||||
@@ -12,6 +12,8 @@ CREATE TABLE IF NOT EXISTS `blade_exception_disposal` (
|
||||
`is_deleted` int(11) DEFAULT '0' COMMENT '是否已删除',
|
||||
`waybill_id` bigint(20) DEFAULT NULL COMMENT '运单ID',
|
||||
`waybill_no` varchar(100) DEFAULT NULL COMMENT '运单号',
|
||||
`node_code` varchar(64) DEFAULT NULL COMMENT '过程节点 key(为空表示未指明节点)',
|
||||
`node_name` varchar(64) DEFAULT NULL COMMENT '过程节点名称(上报时复制,此后不随过程配置变化)',
|
||||
`loading_or_master_no` varchar(100) DEFAULT NULL COMMENT '配载单号/总单号',
|
||||
`project_id` bigint(20) DEFAULT NULL COMMENT '项目ID',
|
||||
`project_name` varchar(100) DEFAULT NULL COMMENT '项目',
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
-- 异常处置增加过程节点归属
|
||||
-- 日期:2026-10-05
|
||||
-- 节点归属用于打卡门禁:某节点有未了结异常时,该节点及其后的节点不可打卡。
|
||||
-- node_code 为空表示未指明节点(全局入口上报),此类异常阻断该运单所有尚未打卡的节点。
|
||||
-- node_name 在上报时复制,此后不随过程配置变化,与车牌、项目、承运商等展示字段同一口径。
|
||||
|
||||
DELIMITER $$
|
||||
|
||||
DROP PROCEDURE IF EXISTS `upgrade_blade_exception_disposal_node_code_20261005`$$
|
||||
CREATE PROCEDURE `upgrade_blade_exception_disposal_node_code_20261005`()
|
||||
BEGIN
|
||||
DECLARE db_name varchar(128);
|
||||
SET db_name = DATABASE();
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns
|
||||
WHERE table_schema = db_name
|
||||
AND table_name = 'blade_exception_disposal'
|
||||
AND column_name = 'node_code') THEN
|
||||
ALTER TABLE `blade_exception_disposal`
|
||||
ADD COLUMN `node_code` varchar(64) DEFAULT NULL COMMENT '过程节点 key(为空表示未指明节点)'
|
||||
AFTER `waybill_no`;
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM information_schema.columns
|
||||
WHERE table_schema = db_name
|
||||
AND table_name = 'blade_exception_disposal'
|
||||
AND column_name = 'node_name') THEN
|
||||
ALTER TABLE `blade_exception_disposal`
|
||||
ADD COLUMN `node_name` varchar(64) DEFAULT NULL COMMENT '过程节点名称(上报时复制,此后不随过程配置变化)'
|
||||
AFTER `node_code`;
|
||||
END IF;
|
||||
END$$
|
||||
|
||||
CALL `upgrade_blade_exception_disposal_node_code_20261005`()$$
|
||||
DROP PROCEDURE `upgrade_blade_exception_disposal_node_code_20261005`$$
|
||||
|
||||
DELIMITER ;
|
||||
@@ -0,0 +1,19 @@
|
||||
-- 订正过程配置中「上传货量为是、货量类型为空」的脏配置
|
||||
-- 日期:2026-10-05
|
||||
--
|
||||
-- 成因:过程配置页的「到场」「回单」两个节点模板缺 supportCargo 字段,货量开关
|
||||
-- 在界面上不渲染,导致这两个节点被写成 uploadCargo=true 且 cargoTypes 恒为空。
|
||||
-- 语义:「是否需要采集货量」以已勾选的货量类型为准——类型为空即不采集,
|
||||
-- 不存在「没配类型所以三项全采集」。
|
||||
-- 影响:订正后这些节点在小程序不再显示货量表单。因司机端解析过程配置时优先取
|
||||
-- 启用中的活配置,本次订正会同时改变所有引用该项目的运单(含历史运单)的呈现。
|
||||
-- 范围:只订正过程配置表,不修改 blade_waybill.process_json 快照列(那是历史留痕)。
|
||||
-- 幂等:执行后目标子串不再存在,重复执行匹配 0 行。
|
||||
|
||||
UPDATE `blade_process_config`
|
||||
SET `node_config_json` = REPLACE(
|
||||
`node_config_json`,
|
||||
'"uploadCargo":true,"cargoTypes":[]',
|
||||
'"uploadCargo":false,"cargoTypes":[]')
|
||||
WHERE `is_deleted` = 0
|
||||
AND `node_config_json` LIKE '%"uploadCargo":true,"cargoTypes":[]%';
|
||||
Reference in New Issue
Block a user