sgj
2026-01-06 65f6665b28af5912b8fbacb43cf111087fbf812d
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreCompanyService.java
@@ -1,7 +1,10 @@
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;
@@ -20,46 +23,97 @@
public class CoreCompanyService {
    @Resource
    private CompanyRepository companyRepository;
    private CoreCompanyMapper coreCompanyMapper;
    /**
     * jpa查询公司信息
     * @param id
     * 根据用户类型获取对应公司列表信息
     * @return
     */
    public List<Company> getDataById(String id) {
    public List<Company> getCompanyByUserType() {
        return companyRepository.getDataById(id);
    }
    /**
     * jpa查询公司信息
     * @return
     */
    public List<Company> getAllData(String companyId) {
        if (StringUtils.isEmpty(companyId)) {
            companyId = ContextUtil.getCompanyId();
        }
        return companyRepository.getAllData(companyId);
    }
    /**
     * jpa查询公司信息
     * @return
     */
    public List<Company> getDataByParentId() {
        //获取当前登录人
        SysUser user = ContextUtil.getLoginUser();
        return companyRepository.getDataByParentId(user.getDeptId() + "%");
        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);
    }
    /**
     * 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;
        }
@@ -72,15 +126,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) {
@@ -91,7 +160,7 @@
        data.setUpdateBy(ContextUtil.getLoginUserName());
        data.setUpdateTime(new Date());
        companyRepository.save(data);
        coreCompanyMapper.updateById( data);
    }
    /**
@@ -100,6 +169,6 @@
     * @return
     */
    public void delData(String deptId) {
        companyRepository.deleteById(deptId);
        coreCompanyMapper.deleteById(deptId);
    }
}