From c6fdc1e8ec03c93977de6ddbebf84613c7d8b26e Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期三, 31 十二月 2025 14:30:47 +0800
Subject: [PATCH] 统一库区及公司列表方法

---
 fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/CoreCompanyMapper.java   |   16 +++
 fzzy-igdss-view/src/main/java/com/fzzy/igds/Dept.view.xml                   |    2 
 fzzy-igdss-view/src/main/java/com/fzzy/igds/PatrolSuper.view.xml            |    2 
 fzzy-igdss-core/src/main/java/com/fzzy/igds/data/IgdsBaseParam.java         |    6 +
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java    |   60 ++++++++++++++-
 fzzy-igdss-view/src/main/java/com/fzzy/igds/Company.view.xml                |    2 
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreCompanyService.java |   45 +++++++++++
 fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml         |   46 +++++-----
 fzzy-igdss-view/src/main/java/com/fzzy/igds/DeptPR.java                     |   12 ++
 fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/CoreDeptMapper.java      |   14 +++
 fzzy-igdss-view/src/main/java/com/fzzy/igds/CompanyPR.java                  |   14 +++
 11 files changed, 186 insertions(+), 33 deletions(-)

diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/IgdsBaseParam.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/IgdsBaseParam.java
index 21f23dc..2bfda1c 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/IgdsBaseParam.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/IgdsBaseParam.java
@@ -18,6 +18,12 @@
 
     private String depotId;
 
+    private String userType;
+
+    private String parentId;
+
+    private String bankId;
+
     private String key;//鑷畾涔夊叧閿瓧
 
     @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/CoreCompanyMapper.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/CoreCompanyMapper.java
index 0b6d531..7363142 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/CoreCompanyMapper.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/CoreCompanyMapper.java
@@ -1,9 +1,14 @@
 package com.fzzy.igds.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.fzzy.igds.domain.Camera;
 import com.fzzy.igds.domain.Company;
+import com.fzzy.igds.domain.PledgeContract;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
 
 /**
  * @Description
@@ -13,4 +18,13 @@
 @Mapper
 public interface CoreCompanyMapper extends BaseMapper<Company> {
 
+    /**
+     * 鑷畾涔夊叧鑱旀煡璇QL
+     * 鍏宠仈鍚堝悓琛紝鏍规嵁閾惰id鏌ヨ鍏徃鍒楄〃
+     * @param queryWrapper
+     * @return
+     */
+    @Select("SELECT d.* FROM d_pledge_contract c LEFT JOIN d_company d ON d.id = c.pledge_company ${ew.customSqlSegment}")
+    List<Company> selectCompanyByBankId(@Param("ew") QueryWrapper<PledgeContract> queryWrapper);
+
 }
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/CoreDeptMapper.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/CoreDeptMapper.java
index b089ea2..f536ee7 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/CoreDeptMapper.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/CoreDeptMapper.java
@@ -1,8 +1,13 @@
 package com.fzzy.igds.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fzzy.igds.domain.Dept;
+import com.fzzy.igds.domain.PledgeContract;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import java.util.List;
 
 /**
  * @Description
@@ -12,4 +17,13 @@
 @Mapper
 public interface CoreDeptMapper extends BaseMapper<Dept> {
 
+    /**
+     * 鑷畾涔夊叧鑱旀煡璇QL
+     * 鍏宠仈鍚堝悓琛紝鏍规嵁閾惰id鏌ヨ搴撳尯鍒楄〃
+     * @param queryWrapper
+     * @return
+     */
+    @Select("SELECT d.* FROM d_pledge_contract c LEFT JOIN d_dept d ON d.id = c.pledge_dept ${ew.customSqlSegment}")
+    List<Dept> selectDeptByBankId(@Param("ew") QueryWrapper<PledgeContract> queryWrapper);
+
 }
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreCompanyService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreCompanyService.java
index db7e6f0..4c9faf3 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreCompanyService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreCompanyService.java
@@ -1,10 +1,13 @@
 package com.fzzy.igds.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fzzy.igds.constant.Constant;
 import com.fzzy.igds.domain.Company;
+import com.fzzy.igds.domain.PledgeContract;
 import com.fzzy.igds.mapper.CoreCompanyMapper;
 import com.fzzy.igds.utils.ContextUtil;
 import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.StringUtils;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
@@ -22,6 +25,48 @@
     @Resource
     private CoreCompanyMapper coreCompanyMapper;
 
+
+    /**
+     * 鏍规嵁鐢ㄦ埛绫诲瀷鑾峰彇瀵瑰簲鍏徃鍒楄〃淇℃伅
+     * @return
+     */
+    public List<Company> getCompanyByUserType() {
+
+        //鑾峰彇褰撳墠鐧诲綍浜�
+        SysUser user = ContextUtil.getLoginUser();
+        if (Constant.USER_TYPE_10.equals(user.getUserType())) {
+            //鐩戠鐢ㄦ埛锛岀洿鎺ユ煡璇㈢粍缁囦笅鎵�鏈夊叕鍙�
+            return this.listCompany(null,user.getCompanyId(),null);
+        }
+        if (Constant.USER_TYPE_20.equals(user.getUserType())) {
+            //閾惰鐢ㄦ埛锛屾牴鎹悎鍚屾煡璇㈤摱琛屼笅鎵�鏈夊簱鍖�
+            return this.getCompanyByContract(user.getUserData());
+        }
+        if (Constant.USER_TYPE_30.equals(user.getUserType())) {
+            //搴撳尯鐢ㄦ埛
+            return this.listCompany(user.getDeptId()+"",null,null);
+
+        }
+        return this.listCompany(null,user.getCompanyId(),null);
+    }
+
+    /**
+     * 鏍规嵁閾惰id锛屽叧鑱斿悎鍚岃〃鏌ヨ鍏徃鍒楄〃
+     * @param bankId
+     * @return
+     */
+    public List<Company> getCompanyByContract(String bankId) {
+
+        if (StringUtils.isBlank(bankId)){
+            return null;
+        }
+
+        QueryWrapper<PledgeContract> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("c.pledge_bank", bankId);
+
+        return coreCompanyMapper.selectCompanyByBankId(queryWrapper);
+    }
+
     /**
      * 鏍规嵁鏉′欢鏌ヨ鍏徃淇℃伅
      * @param id
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java
index d218b7a..752f946 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java
@@ -3,12 +3,12 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.fzzy.igds.constant.Constant;
 import com.fzzy.igds.domain.Dept;
+import com.fzzy.igds.domain.PledgeContract;
 import com.fzzy.igds.mapper.CoreDeptMapper;
 import com.fzzy.igds.utils.ContextUtil;
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.system.service.ISysDeptService;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import java.util.Date;
@@ -23,11 +23,63 @@
 public class CoreDeptService {
 
     @Resource
-    private ISysDeptService iSysDeptService;
-    @Resource
     private CoreDeptMapper coreDeptMapper;
     @Resource
     private InoutConfService inoutConfService;
+
+    /**
+     * 鏍规嵁鐢ㄦ埛绫诲瀷鑾峰彇瀵瑰簲搴撳尯鍒楄〃淇℃伅
+     *
+     * @param parentId
+     * @return
+     */
+    public List<Dept> getDeptByUserType(String parentId) {
+
+        if(StringUtils.isNotBlank(parentId)){
+            //鏌ュ叕鍙镐笅鎵�鏈夊簱鍖�
+            return this.listDept(null,null, parentId);
+        }
+        //鑾峰彇褰撳墠鐧诲綍浜�
+        SysUser user = ContextUtil.getLoginUser();
+
+        if (Constant.USER_TYPE_10.equals(user.getUserType())) {
+            //鐩戠鐢ㄦ埛锛岀洿鎺ユ煡璇㈢粍缁囦笅鎵�鏈夊簱鍖�
+            return this.listDept(null,user.getCompanyId(),null);
+        }
+        if (Constant.USER_TYPE_20.equals(user.getUserType())) {
+            //閾惰鐢ㄦ埛锛屾牴鎹悎鍚屾煡璇㈤摱琛屼笅鎵�鏈夊簱鍖�
+            return this.getDeptByContract(user.getUserData());
+        }
+        if (Constant.USER_TYPE_30.equals(user.getUserType())) {
+            //搴撳尯鐢ㄦ埛
+            String deptId = user.getDeptId() + "";
+            if(deptId.length() > 7){
+                //鏌ヨ鐢ㄦ埛鎵�灞炲簱鍖�
+                return this.listDept(deptId,null,null);
+            }else {
+                //鏌ヨ鐢ㄦ埛鎵�灞炲叕鍙镐笅鎵�鏈夊簱鍖�
+                return this.listDept(null,null, deptId);
+            }
+        }
+        return this.listDept(null,user.getCompanyId(),null);
+    }
+
+    /**
+     * 鏍规嵁閾惰id锛屽叧鑱斿悎鍚岃〃鏌ヨ搴撳尯鍒楄〃
+     * @param bankId
+     * @return
+     */
+    public List<Dept> getDeptByContract(String bankId) {
+
+        if (StringUtils.isBlank(bankId)){
+            return null;
+        }
+
+        QueryWrapper<PledgeContract> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("c.pledge_bank", bankId);
+
+        return coreDeptMapper.selectDeptByBankId(queryWrapper);
+    }
 
     /**
      * 鏍规嵁鏉′欢鏌ヨ搴撳尯淇℃伅
@@ -62,7 +114,7 @@
         if (Constant.USER_TYPE_30.equals(user.getUserType())) {
             return this.listDept(ContextUtil.subDeptId(user),null,null);
         }else {
-            return this.listDept(null,null,user.getDeptId() + "%");
+            return this.listDept(null,null,user.getDeptId()+"");
         }
     }
 
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/Company.view.xml b/fzzy-igdss-view/src/main/java/com/fzzy/igds/Company.view.xml
index be8731e..4cd8137 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/Company.view.xml
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/Company.view.xml
@@ -245,7 +245,7 @@
 }</ClientEvent>
     <Property name="packages">font-awesome,css-common</Property>
     <DataSet id="dsMain">
-      <Property name="dataProvider">companyPR#getData</Property>
+      <Property name="dataProvider">companyPR#getCompanyByUserType</Property>
       <Property name="dataType">[dtMain]</Property>
     </DataSet>
     <Container>
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/CompanyPR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/CompanyPR.java
index b5f88ef..ed84285 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/CompanyPR.java
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/CompanyPR.java
@@ -22,6 +22,19 @@
 	@Resource
 	private CoreCompanyService coreCompanyService;
 
+
+	/**
+	 * 鏍规嵁鐢ㄦ埛绫诲瀷鑾峰彇鍏徃淇℃伅
+	 * companyPR#getCompanyByUserType
+	 * @return
+	 */
+	@DataProvider
+	public List<Company> getCompanyByUserType() {
+
+		return coreCompanyService.getCompanyByUserType();
+
+	}
+
 	/**
 	 * 鑾峰彇褰撳墠璐﹀彿涓嬪睘鎵�鏈夊叕鍙镐俊鎭�
 	 *
@@ -34,7 +47,6 @@
 		SysUser user = ContextUtil.getLoginUser();
 		return coreCompanyService.listCompany(null, null, user.getDeptId() + "");
 	}
-
 
 	/**
 	 * companyPR#saveData
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/Dept.view.xml b/fzzy-igdss-view/src/main/java/com/fzzy/igds/Dept.view.xml
index 7abed23..67c1679 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/Dept.view.xml
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/Dept.view.xml
@@ -191,7 +191,7 @@
 }</ClientEvent>
     <Property name="packages">font-awesome,css-common</Property>
     <DataSet id="dsMain">
-      <Property name="dataProvider">deptPR#getData</Property>
+      <Property name="dataProvider">deptPR#getDeptByUserType</Property>
       <Property name="dataType">[dtMain]</Property>
       <Property name="loadMode">manual</Property>
     </DataSet>
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/DeptPR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/DeptPR.java
index b5345af..ee8a188 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/DeptPR.java
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/DeptPR.java
@@ -10,7 +10,6 @@
 import org.springframework.stereotype.Component;
 import javax.annotation.Resource;
 import java.util.List;
-import java.util.Map;
 
 /**
  * @Description 搴撳尯淇℃伅
@@ -24,6 +23,17 @@
 	private CoreDeptService coreDeptService;
 
 	/**
+	 * 鏍规嵁鐢ㄦ埛绫诲瀷鑾峰彇瀵瑰簲搴撳尯鍒楄〃淇℃伅
+	 * deptPR#getDeptByUserType
+	 * @return
+	 */
+	@DataProvider
+	public List<Dept> getDeptByUserType(String parentId) {
+
+		return coreDeptService.getDeptByUserType(parentId);
+	}
+
+	/**
 	 * 鏌ヨ璁惧,灏嗘搷浣滀俊鎭皟鏁翠负绌猴紝榛樿鍖呮嫭鍒嗗簱鍙傛暟
 	 *
 	 * deptPR#getAllData
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/PatrolSuper.view.xml b/fzzy-igdss-view/src/main/java/com/fzzy/igds/PatrolSuper.view.xml
index cae85d2..4ce6009 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/PatrolSuper.view.xml
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/PatrolSuper.view.xml
@@ -74,7 +74,7 @@
     var cur = view.get(&quot;#dgMain&quot;).get(&quot;selection&quot;);&#xD;
     var deptId = cur.get(&quot;deptId&quot;);&#xD;
     var url = &quot;/com.fzzy.igds.Patrol.d&quot;;&#xD;
-    window.$openParentTab(&quot;宸℃洿璇︽儏&quot;, url,false, panelId);
+    window.$openParentTab(&quot;宸℃洿璇︽儏&quot;, url);
 };&#xD;
 &#xD;
 renderStatus = function(arg){&#xD;
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml b/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml
index 9b9f70d..496c380 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml
@@ -347,17 +347,17 @@
     </DataSetDropDown>
     <CustomDropDown id="CDDDept">
       <ClientEvent name="onOpen">&#xD;
-          var entity = view.get(&quot;#dsMain.data:#&quot;);&#xD;
-          if(!entity){&#xD;
-          $alert(&quot;璇峰厛閫夋嫨璐ㄦ娂搴撳尯&quot;);&#xD;
-          }else{&#xD;
-          var pledgeDept = entity.get(&quot;pledgeDept&quot;);&#xD;
-          if(!pledgeDept){&#xD;
-          $alert(&quot;璇峰厛閫夋嫨璐ㄦ娂搴撳尯&quot;);&#xD;
-          }else{&#xD;
-          view.get(&quot;#dsDeptSelect&quot;).set(&quot;parameter&quot;,entity.get(&quot;pledgeDept&quot;)).flushAsync();&#xD;
-          }
-          }</ClientEvent>
+var entity = view.get(&quot;#dsMain.data:#&quot;);&#xD;
+if(!entity){&#xD;
+    $alert(&quot;璇峰厛閫夋嫨璐ㄦ娂搴撳尯&quot;);&#xD;
+}else{&#xD;
+    var pledgeDept = entity.get(&quot;pledgeDept&quot;);&#xD;
+    if(!pledgeDept){&#xD;
+        $alert(&quot;璇峰厛閫夋嫨璐ㄦ娂搴撳尯&quot;);&#xD;
+    }else{&#xD;
+        view.get(&quot;#dsDeptSelect&quot;).set(&quot;parameter&quot;,entity.get(&quot;pledgeDept&quot;)).flushAsync();&#xD;
+    }
+}</ClientEvent>
       <Property name="minWidth">400</Property>
       <Property name="minHeight">400</Property>
       <Property name="assignmentMap">depotIds=depotIds,depotNames=depotNames</Property>
@@ -366,18 +366,18 @@
         <Buttons>
           <Button>
             <ClientEvent name="onClick">var selection = view.get(&quot;#dgDepotSelect&quot;).get(&quot;selection&quot;);&#xD;
-                if(!selection || selection.length == 0){&#xD;
-                $alert(&quot;璇烽�夋嫨浠撳簱&quot;);&#xD;
-                return;&#xD;
-                }&#xD;
-                &#xD;
-                var depotIds = &quot;&quot;,depotNames=&quot;&quot;;&#xD;
-                selection.each(function(item){&#xD;
-                depotIds += item.get(&quot;id&quot;)+&quot;,&quot;;&#xD;
-                depotNames+=item.get(&quot;name&quot;)+&quot;,&quot;;&#xD;
-                });&#xD;
-                &#xD;
-                view.get(&quot;#CDDDept&quot;).close({depotIds:depotIds,depotNames:depotNames});</ClientEvent>
+if(!selection || selection.length == 0){&#xD;
+    $alert(&quot;璇烽�夋嫨浠撳簱&quot;);&#xD;
+    return;&#xD;
+}&#xD;
+&#xD;
+var depotIds = &quot;&quot;,depotNames=&quot;&quot;;&#xD;
+selection.each(function(item){&#xD;
+    depotIds += item.get(&quot;id&quot;)+&quot;,&quot;;&#xD;
+    depotNames+=item.get(&quot;name&quot;)+&quot;,&quot;;&#xD;
+});&#xD;
+&#xD;
+view.get(&quot;#CDDDept&quot;).close({depotIds:depotIds,depotNames:depotNames});</ClientEvent>
             <Property name="caption">纭閫夋嫨</Property>
           </Button>
           <Button>

--
Gitblit v1.9.3