Просмотр исходного кода

工单处置数据权限改成rootTypeId参数控制

zengy 2 дней назад
Родитель
Сommit
7df440a081

+ 8 - 0
pipe-network-service/zksy-system/src/main/java/com/zksy/ops/dto/WorkOrderPageDTO.java

@@ -68,4 +68,12 @@ public class WorkOrderPageDTO extends BaseEntity {
      */
     @ApiModelProperty(value = "设备父类别ID,用于仅查询该类别下设备产生的工单,为空表示不限制")
     private String deviceTypeParentId;
+
+    /**
+     * rootTypeId 是 deviceTypeParentId 的别名。项目全局约定:菜单在 sys_menu.query 中以
+     * {"rootTypeId":N} 隔离各业务子系统设备范围(报警复核、设备预警阈值等菜单均如此),
+     * 工单处置页 dispose.vue 现统一改用此参数。两字段二选一即可,优先级:rootTypeId > deviceTypeParentId。
+     */
+    @ApiModelProperty(value = "设备根类别ID(rootTypeId,与 deviceTypeParentId 等价别名),用于隔离各业务子系统工单范围")
+    private String rootTypeId;
 }

+ 5 - 1
pipe-network-service/zksy-system/src/main/java/com/zksy/ops/service/impl/WorkOrderServiceImpl.java

@@ -791,7 +791,11 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
             });
         }
 
-        applyDeviceTypeScope(wrapper, condition.getDeviceTypeParentId());
+        // rootTypeId 优先(菜单 query 下发的全局约定),缺省时回退到 deviceTypeParentId(兼容 list.vue 等旧调用方)
+        String deviceScope = StringUtils.isNotEmpty(condition.getRootTypeId())
+                ? condition.getRootTypeId()
+                : condition.getDeviceTypeParentId();
+        applyDeviceTypeScope(wrapper, deviceScope);
         return wrapper;
     }