🐛 修复在途打卡绕过异常门禁:未了结异常落在在途之后时仍可打卡
在途的异常阻断此前按过程配置里节点的位置区间计算:异常节点及其后的节点不可打卡。 异常报在「卸货」这类排在在途之后的节点时,区间只有卸货、签收,在途被放行, 等于车越接近目的地越能报在途;而异常报在「装货」(在途之前)反而会锁住在途。 改为运单级判定:该运单只要存在未了结异常,在途就不可打卡,与异常归属哪个节点无关。 普通打卡节点仍按区间(异常所在节点及其后)阻断。判定集中在 WaybillProcessSupport.blockedNodeKeys,卡片禁用态与 /enroute/submit 的强制校验共用它。 异常落在非打卡节点上(接单/回单、或已从过程配置删掉的节点)时没有可跳转的具体异常, 故 blockedExceptionId 可能为空,卡片只显示不可打卡原因。
This commit is contained in:
+1
-1
@@ -39,7 +39,7 @@ public class DriverPunchNodeVO implements Serializable {
|
||||
@Schema(description = "当前是否可打卡(已打卡、被异常阻断、在途频次时段都会置否)")
|
||||
private Boolean actionable;
|
||||
|
||||
@Schema(description = "是否被未了结的异常阻断:该节点及其后的节点不可打卡")
|
||||
@Schema(description = "是否被未了结的异常阻断:异常所在节点及其后的节点不可打卡;在途只要有未了结异常即不可打卡")
|
||||
private Boolean blocked;
|
||||
|
||||
@Schema(description = "是否因前置节点未打卡而被顺序门禁拦住(在途豁免,恒为否)")
|
||||
|
||||
Reference in New Issue
Block a user