xuhy
6 天以前 6ae35089a05b58dc31c243b9bb4f6a80b20c3a7b
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TExperimentSchemeServiceImpl.java
@@ -16,6 +16,7 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -82,4 +83,26 @@
        pageInfo.setRecords(list);
        return pageInfo;
    }
    @Override
    public List<TExperimentSchemeVO> getList(String dispatchId) {
        List<TExperimentSchemeVO> list = this.baseMapper.getList(dispatchId);
        List<String> schemeIds = list.stream().map(TExperimentSchemeVO::getId).collect(Collectors.toList());
        if(CollectionUtils.isEmpty(schemeIds)){
            return new ArrayList<>();
        }
        List<TExperimentSchemePerson> experimentSchemePersonList = experimentSchemePersonMapper.selectList(Wrappers.lambdaQuery(TExperimentSchemePerson.class).in(TExperimentSchemePerson::getSchemeId, schemeIds));
        List<Long> userIds = experimentSchemePersonList.stream().map(TExperimentSchemePerson::getUserId).collect(Collectors.toList());
        List<SysUser> sysUsers = sysUserMapper.selectUserByIds(userIds);
        sysUsers.forEach(sysUser -> {
            experimentSchemePersonList.stream().filter(experimentSchemePerson -> experimentSchemePerson.getUserId().equals(sysUser.getUserId())).forEach(experimentSchemePerson -> experimentSchemePerson.setNickName(sysUser.getNickName()));
        });
        for (TExperimentSchemeVO experimentSchemeVO : list) {
            List<TExperimentSchemePerson> personList = experimentSchemePersonList.stream().filter(experimentSchemePerson -> experimentSchemePerson.getSchemeId().equals(experimentSchemeVO.getId())).collect(Collectors.toList());
            experimentSchemeVO.setExperimentSchemePersons(personList);
            // 写入名称
            experimentSchemeVO.setSchemePersonName(personList.stream().map(TExperimentSchemePerson::getNickName).collect(Collectors.joining(",")));
        }
        return list;
    }
}