From 5790d7573a83278667878e0f73104f8fc8ec5cf3 Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期二, 10 三月 2026 11:03:51 +0800
Subject: [PATCH] 巡检统计信息纠正

---
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java |  181 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 156 insertions(+), 25 deletions(-)

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 ad5fde1..388987c 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
@@ -1,13 +1,14 @@
 package com.fzzy.igds.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.fzzy.igds.constant.Constant;
 import com.fzzy.igds.domain.Dept;
-import com.fzzy.igds.repository.DeptRepository;
+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;
@@ -22,69 +23,195 @@
 public class CoreDeptService {
 
     @Resource
-    private ISysDeptService iSysDeptService;
+    private CoreDeptMapper coreDeptMapper;
     @Resource
-    private DeptRepository deptRepository;
-
+    private InoutConfService inoutConfService;
 
     /**
-     * jpa鏌ヨ淇℃伅
+     * 鏍规嵁鐢ㄦ埛绫诲瀷鑾峰彇瀵瑰簲搴撳尯鍒楄〃淇℃伅
+     *
      * @param parentId
      * @return
      */
-    public List<Dept> getDataByParentId(String parentId) {
-        return deptRepository.getDataByParentId(parentId + "%");
+    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.getDeptByBank(user.getUserData());
+        }
+        if (Constant.USER_TYPE_30.equals(user.getUserType())) {
+            //搴撳尯鐢ㄦ埛
+            String deptId = user.getDeptId() + "";
+            if(ContextUtil.isDepotUser(deptId)){
+                //鏌ヨ鐢ㄦ埛鎵�灞炲簱鍖�
+                return this.listDept(deptId,null,null);
+            }else {
+                //鏌ヨ鐢ㄦ埛鎵�灞炲叕鍙镐笅鎵�鏈夊簱鍖�
+                return this.listDept(null,null, deptId);
+            }
+        }
+        return this.listDept(null,user.getCompanyId(),null);
     }
 
 
     /**
-     * jpa鏌ヨ淇℃伅
+     * 鏍规嵁鐢ㄦ埛绫诲瀷鑾峰彇瀵瑰簲搴撳尯鍒楄〃淇℃伅APP
+     *
+     * @param
+     * @return
+     */
+    public List<Dept> getDeptByUserTypeApp(String userType,String deptId) {
+
+
+        if (Constant.USER_TYPE_10.equals(userType)) {
+            //鐩戠鐢ㄦ埛锛岀洿鎺ユ煡璇㈢粍缁囦笅鎵�鏈夊簱鍖�
+            return this.listDept(null,userType,null);
+        }
+        if (Constant.USER_TYPE_20.equals(userType)) {
+            //閾惰鐢ㄦ埛锛屾牴鎹悎鍚屾煡璇㈤摱琛屼笅鎵�鏈夊簱鍖�
+            return this.getDeptByBank(userType);
+        }
+        if (Constant.USER_TYPE_30.equals(userType)) {
+            //搴撳尯鐢ㄦ埛
+            if(ContextUtil.isDepotUser(deptId)){
+                //鏌ヨ鐢ㄦ埛鎵�灞炲簱鍖�
+                return this.listDept(deptId,null,null);
+            }else {
+                //鏌ヨ鐢ㄦ埛鎵�灞炲叕鍙镐笅鎵�鏈夊簱鍖�
+                return this.listDept(null,null, deptId);
+            }
+        }
+        return this.listDept(null,ContextUtil.getCompanyId(),null);
+    }
+    /**
+     * 鏍规嵁閾惰id锛屽叧鑱斿悎鍚岃〃鏌ヨ搴撳尯鍒楄〃
+     * @param bankId 閾惰鍙�
+     * @return
+     */
+    public List<Dept> getDeptByBank(String bankId) {
+        if (StringUtils.isBlank(bankId)){
+            return null;
+        }
+        QueryWrapper<PledgeContract> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("c.pledge_bank", bankId);
+
+        return coreDeptMapper.selectDeptByBankId(queryWrapper);
+    }
+
+    /**
+     * 鏍规嵁鏉′欢鏌ヨ搴撳尯淇℃伅
+     * @param id
+     * @param companyId
+     * @param parentId
+     * @return
+     */
+    public List<Dept> listDept(String id, String companyId, String parentId) {
+
+        QueryWrapper<Dept> queryWrapper = new QueryWrapper<>();
+
+        if(StringUtils.isNotBlank(id)){
+            queryWrapper.eq("id", id);
+        }
+        if(StringUtils.isNotBlank(companyId)){
+            queryWrapper.eq("company_id", companyId);
+        }
+        if(StringUtils.isNotBlank(parentId)){
+            queryWrapper.likeRight("id", parentId);
+        }
+        queryWrapper.orderByAsc("id");
+        return coreDeptMapper.selectList(queryWrapper);
+    }
+
+    /**
+     * 鏌ヨ淇℃伅
      * @return
      */
     public List<Dept> getDeptData() {
         SysUser user = ContextUtil.getLoginUser();
-        SysDept userDept = iSysDeptService.selectDeptById(user.getDeptId());
-        if (Constant.DEPT_TYPE_20.equals(userDept.getType())) {
-            return deptRepository.getDataById(ContextUtil.subDeptId(user));
+        if (Constant.USER_TYPE_30.equals(user.getUserType())) {
+            return this.listDept(ContextUtil.subDeptId(user),null,null);
         }else {
-            return deptRepository.getDataByParentId(user.getDeptId() + "%");
+            return this.listDept(null,null,user.getDeptId()+"");
         }
     }
 
     /**
-     * jpa鏂板搴撳尯淇℃伅
-     * @param sysDept
+     * 鏍规嵁ID鏌ヨ搴撳尯淇℃伅
+     * @param id
      * @return
      */
-    public void saveOrUpdate(SysDept sysDept) {
+    public Dept getDeptById(String id) {
+
+        return coreDeptMapper.selectById(id);
+    }
+
+    /**
+     * 鏂板鎴栨洿鏂板簱鍖轰俊鎭�
+     * @param sysDept
+     * @param isAdd
+     * @return
+     */
+    public void saveOrUpdate(SysDept sysDept, Boolean isAdd) {
         if (null == sysDept) {
             return;
         }
         Dept dept = new Dept();
-        dept.setId(sysDept.getDeptId() + "");
+        String deptId = sysDept.getDeptId() + "";
+        dept.setId(deptId);
+        dept.setParentId(deptId.substring(0, deptId.length() - 3));
         dept.setKqmc(sysDept.getDeptName());
         dept.setCompanyId(sysDept.getCompanyId());
 
-        //鍒涘缓淇℃伅
-        dept.setCreateBy(ContextUtil.getLoginUserName());
-        dept.setCreateTime(new Date());
-
-        this.update(dept);
+        if (isAdd) {
+            this.save(dept);
+        }else {
+            this.update(dept);
+        }
     }
 
     /**
-     * jpa鏇存柊搴撳尯淇℃伅
+     * 淇濆瓨搴撳尯淇℃伅
+     * @param data
+     */
+    public void save(Dept data) {
+        if (StringUtils.isEmpty(data.getCompanyId())) {
+            data.setCompanyId(ContextUtil.getCompanyId());
+        }
+        //鍒涘缓淇℃伅
+        data.setCreateBy(ContextUtil.getLoginUserName());
+        data.setCreateTime(new Date());
+
+        coreDeptMapper.insert(data);
+
+        //鍒濆鍖栧嚭鍏ュ簱娴佺▼閰嶇疆淇℃伅
+        inoutConfService.initSysConfData(data.getCompanyId(), data.getId());
+    }
+
+    /**
+     * 鏇存柊搴撳尯淇℃伅
      * @param data
      */
     public void update(Dept data) {
         if (StringUtils.isEmpty(data.getCompanyId())) {
             data.setCompanyId(ContextUtil.getCompanyId());
         }
+
         //鏇存柊淇℃伅
         data.setUpdateBy(ContextUtil.getLoginUserName());
         data.setUpdateTime(new Date());
 
-        deptRepository.save(data);
+        coreDeptMapper.updateById(data);
     }
 
     /**
@@ -93,6 +220,10 @@
      * @return
      */
     public void delData(String deptId) {
-        deptRepository.deleteById(deptId);
+        //鍒犻櫎搴撳尯淇℃伅
+        coreDeptMapper.deleteById(deptId);
+
+        //鍒犻櫎娴佺▼閰嶇疆淇℃伅
+        inoutConfService.delSysConfData(deptId);
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3