linwe
2024-08-09 8b7258c9427882bb1798f1502eaa35184c6e374e
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
package org.springblade.modules.patrol.service.impl;
 
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.common.utils.NodeTreeUtil;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.tool.node.TreeNode;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.modules.patrol.dto.PatrolGroupDTO;
import org.springblade.modules.patrol.entity.PatrolGroup;
import org.springblade.modules.patrol.entity.PatrolGroupItem;
import org.springblade.modules.patrol.mapper.PatrolGroupMapper;
import org.springblade.modules.patrol.service.IPatrolGroupItemService;
import org.springblade.modules.patrol.service.IPatrolGroupService;
import org.springblade.modules.patrol.vo.PatrolGroupItemVO;
import org.springblade.modules.patrol.vo.PatrolGroupVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.List;
 
/**
 * @Description: 巡查指标组
 */
@Service
public class PatrolGroupServiceImpl extends ServiceImpl<PatrolGroupMapper, PatrolGroup> implements IPatrolGroupService {
    @Autowired
    private IPatrolGroupItemService patrolGroupItemService;
 
    @Override
    public IPage<PatrolGroupVO> selectPatrolGroupPage(IPage<PatrolGroupVO> page, PatrolGroupVO patrolGroup) {
        patrolGroup.setIsDeleted(0);
        List<PatrolGroupVO> patrolGroupVOS = baseMapper.selectPatrolGroupPage(page, patrolGroup);
        return page.setRecords(patrolGroupVOS);
    }
 
    @Override
    public IPage<PatrolGroup> selectPatrolConfig(IPage<Object> page, PatrolGroup patrolGroup) {
        return null;
    }
 
    @Override
    public List<PatrolGroup> getPatrolGroupByProjectId(String projectId) {
        return baseMapper.getPatrolGroupByProjectId(projectId);
    }
 
    /**
     * 查询巡查项树数据
     *
     * @return
     */
    @Override
    public Object getPatrolGroupTree(String type, String childType) {
        // 查询父树目录
        List<TreeNode> patrolGroupTree = baseMapper.getPatrolGroupTree(type);
        // 查询孩子树目录
        List<TreeNode> patrolGroupItemTree = baseMapper.getPatrolGroupItemTree(childType);
        // 数据处理
        return NodeTreeUtil.getNodeTree(patrolGroupTree, patrolGroupItemTree);
    }
 
    @Override
    public List<PatrolGroup> getPatrolGroupByItemId(String itemIds) {
        return baseMapper.getPatrolGroupByItemId(itemIds);
    }
 
    @Override
    public List<PatrolGroupVO> getAllPatrolGroupByTaskId(String taskId) {
        return baseMapper.getAllPatrolGroupByTaskId(taskId);
    }
 
    @Override
    public List<PatrolGroupDTO> getPatrolGroupDTO(String taskId) {
        return baseMapper.getPatrolGroupDTO(taskId);
    }
 
    @Override
    public List<PatrolGroup> getPatrolGroupByTaskId(String taskId) {
        return baseMapper.getPatrolGroupByTaskId(taskId);
    }
 
    @Override
    public List<PatrolGroupDTO> getGroupDTORecord(String taskId) {
        return baseMapper.getGroupDTORecord(taskId);
    }
 
    @Override
    public boolean addTwo(PatrolGroupVO patrolGroup) {
        boolean orUpdate = saveOrUpdate(patrolGroup);
        if (orUpdate) {
            List<PatrolGroupItemVO> patrolGroupItemList = patrolGroup.getPatrolGroupItemList();
            for (PatrolGroupItemVO patrolGroupItemVO : patrolGroupItemList) {
                patrolGroupItemVO.setGroupId(patrolGroup.getId());
            }
            List<PatrolGroupItem> patrolGroupItems = BeanUtil.copy(patrolGroupItemList, PatrolGroupItem.class);
            patrolGroupItemService.saveOrUpdateBatch(patrolGroupItems);
        }
        return false;
    }
 
    @Override
    public boolean removePatrolGroupByIds(List<String> asList) {
        if (asList == null || asList.isEmpty()) {
            return false;
        }
        // 将IPatrolGroupItemService实例化提到循环外部以避免重复实例化
        IPatrolGroupItemService bean = SpringUtils.getBean(IPatrolGroupItemService.class);
        boolean allSuccess = true; // 记录是否有任何操作失败
        for (String id : asList) {
            try {
                PatrolGroup patrolGroup = baseMapper.selectById(id);
                if (patrolGroup != null) {
                    patrolGroup.setIsDeleted(1);
                    int update = baseMapper.updateById(patrolGroup);
                    if (update > 0) {
                        allSuccess = bean.update(Wrappers.<PatrolGroupItem>lambdaUpdate()
                            .set(PatrolGroupItem::getIsDeleted, 1)
                            .eq(PatrolGroupItem::getGroupId, id));
                    }
                }
            } catch (Exception e) {
                // 记录或处理异常,例如日志记录
                // log.error("Failed to remove patrol group by id: " + id, e);
                allSuccess = false;
            }
        }
        return allSuccess;
    }
 
}