gunshi-project-ss/src/main/java/com/gunshi/project/xyt/service/InspectTaskDetailService.java

67 lines
2.2 KiB
Java
Raw Normal View History

2024-08-29 16:46:53 +08:00
package com.gunshi.project.xyt.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
2024-08-30 13:36:20 +08:00
import com.gunshi.project.xyt.entity.vo.InspectTaskDetailVo;
2024-08-29 16:46:53 +08:00
import com.gunshi.project.xyt.mapper.InspectTaskDetailMapper;
import com.gunshi.project.xyt.model.InspectTaskDetail;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
2024-08-30 13:36:20 +08:00
import java.util.ArrayList;
2024-08-29 16:46:53 +08:00
import java.util.List;
2024-08-30 13:36:20 +08:00
import java.util.Map;
import java.util.stream.Collectors;
2024-08-29 16:46:53 +08:00
/**
* :
* author: xusan
* date: 2024-08-29 14:21:45
*/
@Service
@Slf4j
@Transactional(rollbackFor = Exception.class)
public class InspectTaskDetailService extends ServiceImpl<InspectTaskDetailMapper, InspectTaskDetail>
{
public void saveDetail(List<InspectTaskDetail> items, Long taskId) {
items.stream().forEach(o->{
o.setId(IdWorker.getId());
o.setTaskId(taskId);
});
this.saveBatch(items);
}
public void updateDetail(List<InspectTaskDetail> items, Long taskId) {
delDetail(taskId);
saveDetail(items,taskId);
}
public void delDetail(Long taskId) {
this.remove(new QueryWrapper<InspectTaskDetail>().eq("task_id",taskId));
}
public List<InspectTaskDetail> getByTaskId(Long taskId) {
return this.list(new QueryWrapper<InspectTaskDetail>().eq("task_id",taskId));
}
2024-08-30 13:36:20 +08:00
public List<InspectTaskDetailVo> inspectInfo(Long id) {
List<InspectTaskDetailVo> res = new ArrayList<>();
List<InspectTaskDetailVo> list = this.baseMapper.inspectInfo(id);
Map<Long, List<InspectTaskDetailVo>> map = list.stream().collect(Collectors.groupingBy(InspectTaskDetailVo::getPointId));
map.entrySet().forEach(t->{
InspectTaskDetailVo vo = new InspectTaskDetailVo();
Long pointId = t.getKey();
vo.setPointId(pointId);
vo.setName(t.getValue().get(0).getName());
vo.setChildren(t.getValue());
res.add(vo);
});
return res;
}
2024-08-29 16:46:53 +08:00
}