package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.system.mapper.TTrainLibraryMapper;
import com.ruoyi.system.model.TProjectTeam;
import com.ruoyi.system.model.TTrainLibrary;
import com.ruoyi.system.query.TTrainLibraryDetailQuery;
import com.ruoyi.system.query.TTrainLibraryQuery;
import com.ruoyi.system.service.TProjectTeamService;
import com.ruoyi.system.service.TTrainLibraryService;
import com.ruoyi.system.vo.TTrainLibraryDetailVO;
import com.ruoyi.system.vo.TTrainLibraryVO;
import com.ruoyi.system.vo.TTrainLibraryWarehousingVO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
*
* 菌种库 服务实现类
*
*
* @author 无关风月
* @since 2025-04-12
*/
@Service
public class TTrainLibraryServiceImpl extends ServiceImpl implements TTrainLibraryService {
@Resource
private TProjectTeamService projectTeamService;
@Override
public PageInfo pageList(TTrainLibraryQuery query, String roleType) {
PageInfo pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
List list = this.baseMapper.pageList(query,pageInfo);
List resultList = new ArrayList<>();
for (TTrainLibraryVO tTrainLibraryVO : list) {
if (StringUtils.isNotEmpty(tTrainLibraryVO.getProjectId())) {
TProjectTeam byId = projectTeamService.getById(tTrainLibraryVO.getProjectId());
//未封存的数据
if (byId != null && ("2".equals(roleType) || byId.getStatus() == 1)) { // 只处理status为1的数据
tTrainLibraryVO.setProjectName(byId.getTeamName());
resultList.add(tTrainLibraryVO);
}
}
}
pageInfo.setRecords(resultList);
pageInfo.setTotal(resultList.size()); // 重新设置总记录数
return pageInfo;
}
@Override
public TTrainLibraryDetailVO getDetailById(TTrainLibraryDetailQuery query) {
TTrainLibraryDetailVO tTrainLibraryDetailVO = new TTrainLibraryDetailVO();
TTrainLibrary tTrainLibrary = this.baseMapper.selectById(query.getId());
BeanUtils.copyProperties(tTrainLibrary,tTrainLibraryDetailVO);
PageInfo pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
List list = this.baseMapper.getDetailById(query,pageInfo);
pageInfo.setRecords(list);
tTrainLibraryDetailVO.setWarehousingList(pageInfo);
return tTrainLibraryDetailVO;
}
}