package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.enums.QaReportFileEnum;
import com.ruoyi.system.mapper.TQaReportFileMapper;
import com.ruoyi.system.mapper.TQaTestItemReportMapper;
import com.ruoyi.system.model.TQaReportFile;
import com.ruoyi.system.model.TQaTestItemReport;
import com.ruoyi.system.query.TQaTestItemReportQuery;
import com.ruoyi.system.service.TQaTestItemReportService;
import com.ruoyi.system.vo.TQaTestItemReportVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.stream.Collectors;
/**
*
* QA检测项报告 服务实现类
*
*
* @author xiaochen
* @since 2025-04-08
*/
@Service
public class TQaTestItemReportServiceImpl extends ServiceImpl implements TQaTestItemReportService {
@Autowired
private TQaReportFileMapper qaReportFileMapper;
@Override
public List getList(String itemId) {
List list = this.baseMapper.getList(itemId);
if(!CollectionUtils.isEmpty(list)){
List ids = list.stream().map(TQaTestItemReportVO::getId).collect(Collectors.toList());
List qaReportFileList = qaReportFileMapper.selectList(Wrappers.lambdaQuery(TQaReportFile.class)
.in(TQaReportFile::getReportId, ids));
for (TQaTestItemReportVO tQaTestItemReportVO : list) {
List qaReportFiles = qaReportFileList.stream().filter(item -> item.getReportId().equals(tQaTestItemReportVO.getId())
&& item.getReportType().equals(QaReportFileEnum.TEST_REPORT.getCode()))
.collect(Collectors.toList());
tQaTestItemReportVO.setQaReportFileList(qaReportFiles);
}
}
return list;
}
@Override
public PageInfo pageList(TQaTestItemReportQuery query) {
PageInfo pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
if(CollectionUtils.isEmpty(query.getTeamIds())){
return pageInfo;
}
List list = this.baseMapper.pageList(query,pageInfo);
pageInfo.setRecords(list);
return pageInfo;
}
@Override
public List getListByItemId(String itemId) {
return this.baseMapper.getListByItemId(itemId);
}
}