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;
|
}
|
|
}
|