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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
package com.hxzk.gps.service.impl.Department;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.hxzk.gps.controller.DepartMent.Results.DepartMentIconResult;
import com.hxzk.gps.controller.DepartMent.Results.DepartMentResult;
import com.hxzk.gps.controller.DepartMent.dto.DpeartMentIconTreeTableDto;
import com.hxzk.gps.controller.Person.Results.PersonResult;
import com.hxzk.gps.entity.Department.TbDepartMentIcon;
import com.hxzk.gps.entity.Department.TbDepartment;
import com.hxzk.gps.entity.System.TbSystemOperationLog;
import com.hxzk.gps.mapper.Department.TbDepartmentIconMapper;
import com.hxzk.gps.service.Company.TbCompanyService;
import com.hxzk.gps.service.Department.TbDepartMentIconService;
import com.hxzk.gps.service.System.TbSystemOperationLogService;
import com.hxzk.gps.util.AuToComplete;
import com.hxzk.gps.util.GetUser.UserInfoUtil;
import com.hxzk.gps.util.MessageUtils.MessageUtils;
import com.hxzk.gps.util.Result.ReturnMessage;
import com.hxzk.gps.util.Result.TableDto;
import com.hxzk.gps.controller.System.SystemLogUtil;
import com.hxzk.gps.util.Time.TimeUtil;
import com.hxzk.gps.util.UDP.UDP_Person;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
 
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
 
@Service
public class TbDepartmentIconServiceImpl extends ServiceImpl<TbDepartmentIconMapper, TbDepartMentIcon> implements TbDepartMentIconService {
    @Autowired
    TbCompanyService companyService;
    @Autowired
    private TbSystemOperationLogService systemOperationLogService;
    @Override
    public DepartMentIconResult FindDepartmentIconInfo(DpeartMentIconTreeTableDto departmentIconTreeTableDto) {
        // 创建查询包装器
        QueryWrapper<TbDepartMentIcon> queryWrapper = new QueryWrapper<>();
 
        // 处理部门 ID 为空的情况
        if (StringUtils.isEmpty(departmentIconTreeTableDto.getDepartmentId())) {
            List<Long> list = companyService.getChildCompanyIds(UserInfoUtil.getUserCompanyId());
            queryWrapper.in("companyid", list);
        } else {
            queryWrapper.eq("companyid", departmentIconTreeTableDto.getDepartmentId());
        }
 
        // 处理图标名称查询条件
        Optional.ofNullable(departmentIconTreeTableDto.getIconname()).ifPresent(iconname ->
                queryWrapper.like("iconname", iconname));
 
        // 使用PageHelper进行分页查询
        Page<TbDepartMentIcon> page = PageHelper.startPage(departmentIconTreeTableDto.getPageNum(), departmentIconTreeTableDto.getPageSize())
                .doSelectPage(() -> baseMapper.selectList(queryWrapper));
 
        // 封装图标列表
        TableDto tableDto = new TableDto(page.getResult(), page.getPageNum(), page.getPageSize(), page.getTotal());
 
        // 获取成功消息
        String message = MessageUtils.getMessage("Success");
 
        // 返回结果 - 根据DepartMentIconResult的构造函数调整参数
        return new DepartMentIconResult(200, message, tableDto);
    }
 
    @Override
    public ReturnMessage add(TbDepartMentIcon departMentIcon) {
         /*
        声明操作状态
        * */
        boolean isSuccess = false;
        QueryWrapper queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("iconname",departMentIcon.getIconname());
        queryWrapper.eq("company",departMentIcon.getCompany());
        Integer count = Math.toIntExact(baseMapper.selectCount(queryWrapper));
        if (count > 0){
            return ReturnMessage.ReturnMessageError("IconRepeat");
        }else{
            try {
                departMentIcon.setUsername(UserInfoUtil.getUserName());
                departMentIcon.setAddtime(TimeUtil.GetTime());
                departMentIcon.setCompanyid(UserInfoUtil.isNullGetCompanyId(departMentIcon.getCompanyid()));
                baseMapper.insert(departMentIcon);
                isSuccess = true;
            }catch (Exception e){
 
            }
            return SystemLogUtil.handleAddResult(isSuccess,"IconAdd",departMentIcon.getIconname());
        }
 
    }
 
    @Override
    public ReturnMessage update(TbDepartMentIcon departMentIcon) {
        /*
        声明操作状态
        * */
        boolean isSuccess = false;
        QueryWrapper queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("id",departMentIcon.getId());
        try {
            departMentIcon.setUsername(UserInfoUtil.getUserName());
            departMentIcon.setAddtime(TimeUtil.GetTime());
            baseMapper.update(departMentIcon,queryWrapper);
            isSuccess = true;
        }catch (Exception e){
 
        }
        return SystemLogUtil.handleUpdateResult(isSuccess,"IconUpdate",departMentIcon.getIconname());
    }
 
    @Override
    public ReturnMessage delete(TbDepartMentIcon departMentIcon) {
        /*
        声明操作状态
        * */
        boolean isSuccess = false;
        QueryWrapper queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("id",departMentIcon.getId());
        try {
            baseMapper.delete(queryWrapper);
            isSuccess = true;
        }catch (Exception e){
 
        }
        return SystemLogUtil.handleDeleteResult(isSuccess,"IconDelete",departMentIcon.getIconname());
    }
 
    @Override
    public List<AuToComplete> DepartmentIconAutocomplete(TbDepartMentIcon departMentIcon) {
        QueryWrapper<TbDepartMentIcon> queryWrapper = new QueryWrapper<>();
        String id = Optional.ofNullable(departMentIcon.getCompanyid())
                .filter(s -> !s.isEmpty())
                .orElse(UserInfoUtil.getUserCompanyId());
        queryWrapper.eq("companyid",id);
        List<TbDepartMentIcon> departmentList = baseMapper.selectList(queryWrapper);
        List<AuToComplete> addCustomerList = departmentList.stream()
                .map(departmenticons -> {
                    AuToComplete addCustomer = new AuToComplete();
                    addCustomer.setValue(departmenticons.getIconadress());
                    addCustomer.setLabel(departmenticons.getIconname());
                    return addCustomer;
                })
                .collect(Collectors.toList());
 
        return addCustomerList;
    }
 
 
}