地质所 沉降监测网建设项目
zmk
2024-05-15 9e3afc6d0fa514f986d3fea40fa23124e6fb5070
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
package com.javaweb.geo.service.impl;
 
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.stream.Collectors;
 
import com.javaweb.common.utils.IdGenerate;
import com.javaweb.common.utils.StringUtils;
import com.javaweb.framework.util.ShiroUtils;
import com.javaweb.geotdp.enums.RecordType;
import com.javaweb.system.domain.SysRole;
import com.javaweb.system.domain.SysUser;
import com.javaweb.system.mapper.SysUserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.javaweb.geo.mapper.CompanyMapper;
import com.javaweb.geo.domain.Company;
import com.javaweb.geo.service.ICompanyService;
import com.javaweb.common.core.text.Convert;
import org.springframework.util.ObjectUtils;
 
/**
 * 勘察单位Service业务层处理
 * 
 * @author zmk
 * @date 2022-10-14
 */
@Service
public class CompanyServiceImpl implements ICompanyService 
{
    @Autowired
    private CompanyMapper companyMapper;
 
    @Autowired
    private SysUserMapper sysUserMapper;
 
    /**
     * 查询勘察单位
     * 
     * @param ids 勘察单位ID
     * @return 勘察单位
     */
    @Override
    public Company selectCompanyById(String ids)
    {
        return companyMapper.selectCompanyById(ids);
    }
 
    /**
     * 查询勘察单位列表
     * 
     * @param company 勘察单位
     * @return 勘察单位
     */
    @Override
    public List<Company> selectCompanyList(Company company)
    {
          // return companyMapper.selectCompanyList(company);
        List<Company> resultList = new ArrayList<>();
 
        SysUser sysUser = ShiroUtils.getSysUser();
        List<SysRole> roles = sysUser.getRoles();
 
        if (!ObjectUtils.isEmpty(roles)){
            LinkedHashSet<String> collect = roles.stream().map(SysRole::getRoleKey).collect(Collectors.toCollection(LinkedHashSet::new));
 
            // 管理员角色
            if (collect.contains(RecordType.role_admin.getId())){
                resultList = companyMapper.selectCompanyList(company);
            }
            // 普通角色
            if (collect.contains(RecordType.role_gongsi.getId())){
                SysUser u = sysUserMapper.selectUserById(sysUser.getUserId());
                company.setIds(u.getCompanyId());
                resultList = companyMapper.selectCompanyList(company);
            }
 
        }
 
        return resultList;
    }
 
    /**
     * 新增勘察单位
     * 
     * @param company 勘察单位
     * @return 结果
     */
    @Override
    public int insertCompany(Company company)
    {
        if(StringUtils.isEmpty(company.getIds())){
            company.setIds(IdGenerate.nextId());
        }
        if(company.getAddTime()==null){
            company.setAddTime(new Date());
        }
        company.setCity(1);//北京
        company.setProvince(1);//北京
        return companyMapper.insertCompany(company);
    }
 
    /**
     * 修改勘察单位
     * 
     * @param company 勘察单位
     * @return 结果
     */
    @Override
    public int updateCompany(Company company)
    {
        return companyMapper.updateCompany(company);
    }
 
    /**
     * 删除勘察单位对象
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteCompanyByIds(String ids)
    {
        return companyMapper.deleteCompanyByIds(Convert.toStrArray(ids));
    }
 
    /**
     * 删除勘察单位信息
     * 
     * @param ids 勘察单位ID
     * @return 结果
     */
    @Override
    public int deleteCompanyById(String ids)
    {
        return companyMapper.deleteCompanyById(ids);
    }
}