From f2f8241dd52ef12ec109f6f4f0f13042055338ac Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期五, 14 二月 2025 14:55:56 +0800
Subject: [PATCH] 修改指派设备 修改设备结构树权限 优化查询 优化排序

---
 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PermissionStreamServiceImpl.java |  107 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 107 insertions(+), 0 deletions(-)

diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PermissionStreamServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PermissionStreamServiceImpl.java
index b7e0261..9f8de34 100644
--- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PermissionStreamServiceImpl.java
+++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PermissionStreamServiceImpl.java
@@ -1,5 +1,6 @@
 package org.jeecg.modules.dnc.service.impl;
 
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -53,6 +54,52 @@
         return list.get(0);
     }
 
+    /**
+     * 鏍规嵁闆朵欢缂栧彿锛岀敤鎴风紪鍙锋煡鎵炬潈闄�-宸ュ簭
+     * @param productId
+     * @param componentId
+     * @param userId
+     * @param partsId
+     * @return
+     */
+    @Override
+    public PermissionStream getByProcessIdAndUserId(String productId, String componentId, String partsId,String processId,String userId){
+        if(!ValidateUtil.validateString(productId) || !ValidateUtil.validateString(userId)
+                || !ValidateUtil.validateString(componentId) || !ValidateUtil.validateString(processId))
+            return null;
+        List<PermissionStream> list = super.lambdaQuery().eq(PermissionStream::getProductId, productId).
+                eq(PermissionStream::getUserId, userId).eq(PermissionStream::getComponentId, componentId)
+                .eq(StrUtil.isNotEmpty(partsId),PermissionStream::getPartsId, partsId)
+                .eq(PermissionStream::getProcessId, processId).list();
+        if(list == null || list.isEmpty())
+            return null;
+        return list.get(0);
+    }
+
+    /**
+     * 鏍规嵁闆朵欢缂栧彿锛岀敤鎴风紪鍙锋煡鎵炬潈闄�-宸ユ
+     * @param productId
+     * @param componentId
+     * @param userId
+     * @param partsId
+     * @return
+     */
+    @Override
+    public PermissionStream getByStepIdAndUserId(String productId, String componentId, String partsId,String processId,String stepId, String userId){
+        if(!ValidateUtil.validateString(productId) || !ValidateUtil.validateString(userId)
+                || !ValidateUtil.validateString(componentId) || !ValidateUtil.validateString(processId)
+                || !ValidateUtil.validateString(stepId))
+            return null;
+        List<PermissionStream> list = super.lambdaQuery().eq(PermissionStream::getProductId, productId).
+                eq(PermissionStream::getUserId, userId).eq(PermissionStream::getComponentId, componentId)
+                .eq(StrUtil.isNotEmpty(partsId),PermissionStream::getPartsId, partsId)
+                .eq(PermissionStream::getProcessId, processId)
+                .eq(PermissionStream::getStepId, stepId).list();
+        if(list == null || list.isEmpty())
+            return null;
+        return list.get(0);
+    }
+
     @Override
     public List<PermissionStream> getByProductId(String productId) {
         if(!ValidateUtil.validateString(productId))
@@ -84,6 +131,19 @@
         List<PermissionStream> list = super.lambdaQuery().eq(PermissionStream::getProductId, productId).
                 isNull(PermissionStream::getUserId).eq(PermissionStream::getComponentId, componentId)
                 .eq(PermissionStream::getPartsId, partsId).list();
+        if(list == null || list.isEmpty())
+            return null;
+        return list;
+    }
+
+    @Override
+    public List<PermissionStream> getByProcessId(String productId, String componentId, String partsId, String processId){
+        if(!ValidateUtil.validateString(productId) || !ValidateUtil.validateString(componentId)
+                || !ValidateUtil.validateString(partsId) || !ValidateUtil.validateString(processId))
+            return null;
+        List<PermissionStream> list = super.lambdaQuery().eq(PermissionStream::getProductId, productId).
+                isNull(PermissionStream::getUserId).eq(PermissionStream::getComponentId, componentId)
+                .eq(PermissionStream::getPartsId, partsId).eq(PermissionStream::getProcessId,processId).list();
         if(list == null || list.isEmpty())
             return null;
         return list;
@@ -209,6 +269,53 @@
         return list.get(0);
     }
 
+    /**
+     * 鏍规嵁宸ュ簭缂栧彿锛岀敤鎴风紪鍙锋煡鎵炬潈闄�
+     * @param productId
+     * @param componentId
+     * @param departId
+     * @param partsId
+     * @param processId
+     * @return
+     */
+    @Override
+    public PermissionStream getByProcessIdAndDepartId(String productId, String componentId, String partsId,String processId, String departId){
+        if(!ValidateUtil.validateString(productId) || !ValidateUtil.validateString(departId)
+                || !ValidateUtil.validateString(componentId) || !ValidateUtil.validateString(processId))
+            return null;
+        List<PermissionStream> list = super.lambdaQuery().eq(PermissionStream::getProductId, productId).eq(PermissionStream::getDepartId, departId)
+                .eq(PermissionStream::getComponentId, componentId).eq(StrUtil.isNotEmpty(partsId),PermissionStream::getPartsId, partsId).eq(PermissionStream::getProcessId,processId)
+                .isNull(PermissionStream::getUserId).list();
+        if(list == null || list.isEmpty())
+            return null;
+        return list.get(0);
+    }
+
+    /**
+     * 鏍规嵁宸ユ缂栧彿锛岀敤鎴风紪鍙锋煡鎵炬潈闄�
+     * @param productId
+     * @param componentId
+     * @param departId
+     * @param partsId
+     * @param processId
+     * @param stepId
+     * @return
+     */
+    @Override
+    public PermissionStream getByStepIdAndDepartId(String productId, String componentId, String partsId,String processId,String stepId, String departId){
+        if(!ValidateUtil.validateString(productId) || !ValidateUtil.validateString(departId)
+                || !ValidateUtil.validateString(componentId) || !ValidateUtil.validateString(processId)
+                || !ValidateUtil.validateString(stepId))
+            return null;
+        List<PermissionStream> list = super.lambdaQuery().eq(PermissionStream::getProductId, productId).eq(PermissionStream::getDepartId, departId)
+                .eq(PermissionStream::getComponentId, componentId).eq(StrUtil.isNotEmpty(partsId),PermissionStream::getPartsId, partsId).eq(PermissionStream::getProcessId,processId)
+                .eq(PermissionStream::getStepId,stepId)
+                .isNull(PermissionStream::getUserId).list();
+        if(list == null || list.isEmpty())
+            return null;
+        return list.get(0);
+    }
+
     @Override
     public List<PermissionStream> findByDepartId(String departId) {
         return super.lambdaQuery().eq(PermissionStream::getDepartId, departId).list();

--
Gitblit v1.9.3