zhitong.yu
7 天以前 7fc9c42987a13c1d8d2159591a5803e70518827f
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
package com.hxzk.gps.controller.Company;
 
import cn.dev33.satoken.annotation.SaCheckLogin;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.hxzk.gps.controller.Company.Results.CompanyDepartmentResult;
import com.hxzk.gps.controller.Company.Results.CompanyResult;
import com.hxzk.gps.controller.Company.Results.CompanyTreeTableDto;
import com.hxzk.gps.controller.Role.Results.AddRoleDto;
import com.hxzk.gps.entity.Company.TbCompany;
import com.hxzk.gps.entity.Person.TbPerson;
import com.hxzk.gps.service.Company.TbCompanyService;
import com.hxzk.gps.util.AuToComplete;
import com.hxzk.gps.util.GetUser.UserInfoUtil;
import com.hxzk.gps.util.Result.ReturnMessage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
import java.security.PublicKey;
import java.util.List;
import java.util.stream.Collectors;
 
/**
 * <p>
 *  前端控制器
 *  公司管理
 * </p>
 *
 * @author YuZhiTong
 * @since 2025-04-17
 */
@RestController
@RequestMapping("/Company")
@Api(tags="公司管理")
public class TbCompanyController {
 
    @Autowired
    private TbCompanyService tbCompanyService;
 
 
    @SaCheckLogin
    @ApiOperation(value = "平台公司列表接口", notes = "该接口提供了平台公司的信息查询功能")
    @PostMapping("FindCompanyInfo")
    public CompanyResult FindCompanyInfo(@RequestBody CompanyTreeTableDto companyTreeTableDto){
        return tbCompanyService.FindCompanyInfo(companyTreeTableDto);
    }
 
 
    @SaCheckLogin
    @ApiOperation(value = "用户公司子部门列表接口", notes = "该接口提供了平台用户公司子部门列表")
    @PostMapping("Company")
    public CompanyDepartmentResult FindUserDepartmentCompany(){
        return tbCompanyService.FindUserDepartmentCompany();
    }
 
 
    @SaCheckLogin
    @ApiOperation(value = "获取当前公司系统名称", notes = "该接口提供了当前登录用户公司的系统名称")
    @PostMapping("FindCompanyName")
    public String FindCompanyName(){
        QueryWrapper queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("companyname",UserInfoUtil.getUserCompany());
        TbCompany tbCompany = tbCompanyService.getBaseMapper().selectOne(queryWrapper);
        return tbCompany.getSystemname();
    }
 
 
    /*
    * 公司下拉列表
    * @param company 公司信息
    * @return 公司信息
    * @author YuZhiTong
    * @since 2025-05-19
    * */
    @SaCheckLogin
    @PostMapping("CompanyAutocomplete")
    public List<AuToComplete> CompanyAutocomplete(@RequestBody TbCompany company){
      return tbCompanyService.CompanyAutocomplete(company);
    }
//    围栏列表所属公司
    @SaCheckLogin
    @PostMapping("FenceCompanyAutocomplete")
    public List<AuToComplete> FenceCompanyAutocomplete(){
        return tbCompanyService.FenceCompanyAutocomplete();
    }
 
    @SaCheckLogin
    @ApiOperation(value = "公司新增接口", notes = "该接口提供了平台公司新增功能")
    @PostMapping("add")
    public ReturnMessage add(@RequestBody TbCompany company){
        return tbCompanyService.add(company);
    }
 
    @SaCheckLogin
    @ApiOperation(value = "公司修改接口", notes = "该接口提供了平台公司修改功能")
    @PostMapping("update")
    public ReturnMessage update(@RequestBody TbCompany company){
        return tbCompanyService.update(company);
    }
 
    @SaCheckLogin
    @ApiOperation(value = "公司删除接口", notes = "该接口提供了平台公司删除功能")
    @PostMapping("delete")
    public ReturnMessage delete(@RequestBody TbCompany company){
        return tbCompanyService.delete(company);
    }
 
    @SaCheckLogin
    @ApiOperation(value = "检查公司是否可以删除", notes = "该接口检查公司是否存在绑定数据,如果存在则无法删除")
    @PostMapping("checkDelete")
    public ReturnMessage checkDelete(@RequestBody TbCompany company){
        return tbCompanyService.checkCompanyCanDelete(company.getId());
    }
    @SaCheckLogin
    @ApiOperation(value = "获取公司所属ID", notes = "获取公司所属ID")
    @PostMapping("SelectCompanyId")
    public String SelectCompanyId(){
        return UserInfoUtil.getUserCompanyId();
    }
 
 
}