From 19dbb9026527cdfba75b74e8048c46781fe91c9f Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期三, 21 一月 2026 15:10:15 +0800
Subject: [PATCH] 优化通知单审核后状态更新

---
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreCompanyService.java |  132 +++++++++++++++++++++++++++++++++++++------
 1 files changed, 113 insertions(+), 19 deletions(-)

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 84b2ecb..ccdd21c 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,12 +1,17 @@
 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.repository.CompanyRepository;
+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;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -19,27 +24,101 @@
 public class CoreCompanyService {
 
     @Resource
-    private CompanyRepository companyRepository;
+    private CoreCompanyMapper coreCompanyMapper;
+
 
     /**
-     * jpa鏌ヨ鍏徃淇℃伅
-     * @param companyId
+     * 鏍规嵁鐢ㄦ埛绫诲瀷鑾峰彇瀵瑰簲鍏徃鍒楄〃淇℃伅
      * @return
      */
-    public List<Company> getAllData(String companyId) {
+    public List<Company> getCompanyByUserType() {
 
-        if (StringUtils.isEmpty(companyId)) {
-            companyId = ContextUtil.getCompanyId();
+        //鑾峰彇褰撳墠鐧诲綍浜�
+        SysUser user = ContextUtil.getLoginUser();
+        if (Constant.USER_TYPE_10.equals(user.getUserType())) {
+            //鐩戠鐢ㄦ埛锛岀洿鎺ユ煡璇㈢粍缁囦笅鎵�鏈夊叕鍙�
+            return this.listCompany(null,user.getCompanyId(),null);
         }
-        return companyRepository.getAllData(companyId);
+        if (Constant.USER_TYPE_20.equals(user.getUserType())) {
+            //閾惰鐢ㄦ埛锛屾牴鎹悎鍚屾煡璇㈤摱琛屼笅鎵�鏈夊簱鍖�
+            return this.getCompanyByContract(user.getUserData());
+        }
+        if (Constant.USER_TYPE_30.equals(user.getUserType())) {
+            //搴撳尯鐢ㄦ埛
+            List<Company> companies = new ArrayList<>();
+            if (user.getDeptId() != null && StringUtils.isNotBlank(user.getDeptId().toString())) {
+                String substring = user.getDeptId().toString().substring(0, user.getDeptId().toString().length() - 3);
+                companies = this.listCompany(substring, null, null);
+            }
+            return companies;
+        }
+        return this.listCompany(null,user.getCompanyId(),null);
     }
 
     /**
-     * jpa鏂板鍏徃淇℃伅
-     * @param sysDept
+     * 鏍规嵁閾惰id锛屽叧鑱斿悎鍚岃〃鏌ヨ鍏徃鍒楄〃
+     * @param bankId
      * @return
      */
-    public void saveOrUpdate(SysDept sysDept) {
+    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
+     * @param companyId
+     * @param parentId
+     * @return
+     */
+    public List<Company> listCompany(String id, String companyId, String parentId) {
+
+        QueryWrapper<Company> 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);
+        }
+
+        return coreCompanyMapper.selectList(queryWrapper);
+    }
+
+    /**
+     * 鏌ヨ鍏徃鏁伴噺
+     * @param companyId
+     * @return
+     */
+    public Integer getCompanyNum(String companyId) {
+
+        QueryWrapper<Company> queryWrapper = new QueryWrapper<>();
+
+        if(StringUtils.isNotBlank(companyId)){
+            queryWrapper.eq("company_id", companyId);
+        }
+
+        return coreCompanyMapper.selectCount(queryWrapper);
+    }
+
+    /**
+     * 鏇存柊鎴栦繚瀛樺叕鍙镐俊鎭�
+     * @param sysDept
+     * @param isAdd
+     * @return
+     */
+    public void saveOrUpdate(SysDept sysDept, Boolean isAdd) {
         if (null == sysDept) {
             return;
         }
@@ -52,15 +131,30 @@
         company.setDwzt(sysDept.getStatus());
         company.setCompanyId(sysDept.getCompanyId());
 
-        //鍒涘缓淇℃伅
-        company.setCreateBy(ContextUtil.getLoginUserName());
-        company.setCreateTime(new Date());
-
-        this.update(company);
+        if (isAdd) {
+            this.save(company);
+        }else {
+            this.update(company);
+        }
     }
 
     /**
-     * jpa鏇存柊鍏徃淇℃伅
+     * 鏂板鍏徃淇℃伅
+     * @param data
+     */
+    public void save(Company data) {
+        if (StringUtils.isEmpty(data.getCompanyId())) {
+            data.setCompanyId(ContextUtil.getCompanyId());
+        }
+        //鏂板淇℃伅
+        data.setCreateBy(ContextUtil.getLoginUserName());
+        data.setCreateTime(new Date());
+
+        coreCompanyMapper.insert(data);
+    }
+
+    /**
+     * 鏇存柊鍏徃淇℃伅
      * @param data
      */
     public void update(Company data) {
@@ -71,7 +165,7 @@
         data.setUpdateBy(ContextUtil.getLoginUserName());
         data.setUpdateTime(new Date());
 
-        companyRepository.save(data);
+        coreCompanyMapper.updateById( data);
     }
 
     /**
@@ -80,6 +174,6 @@
      * @return
      */
     public void delData(String deptId) {
-        companyRepository.deleteById(deptId);
+        coreCompanyMapper.deleteById(deptId);
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3