| | |
| | | package com.ots.project.exam.service.impl; |
| | | |
| | | import com.ots.common.enums.UserTypeEnum; |
| | | import com.ots.common.utils.DateUtils; |
| | | import com.ots.common.utils.StringUtils; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import java.io.IOException; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 报告模板配置Service业务层处理 |
| | | * |
| | | * @author ots |
| | | * @date 2020-03-24 |
| | | */ |
| | | @Service |
| | | public class TReportTemplateServiceImpl implements ITReportTemplateService { |
| | | @Autowired |
| | | private TReportTemplateMapper tReportTemplateMapper; |
| | | |
| | | @Autowired |
| | | private ISysUserExtendService sysUserExtendService; |
| | | |
| | | @Autowired |
| | | private ISysUserPaperService userPaperService; |
| | | |
| | | @Autowired |
| | | private ITExamPaperService paperService; |
| | | |
| | | |
| | | /** |
| | | * 查询报告模板配置 |
| | | * |
| | | * @param id 报告模板配置ID |
| | | * @return 报告模板配置 |
| | | */ |
| | | @Override |
| | | public TReportTemplate selectTReportTemplateById(Long id) { |
| | | return tReportTemplateMapper.selectTReportTemplateById(id); |
| | | } |
| | | |
| | | @Override |
| | | public String selectTReportTemplateFilePath(TReportTemplate tReportTemplate) { |
| | | TReportTemplate tReportTemplateResult = tReportTemplateMapper.selectTReportTemplate(tReportTemplate); |
| | |
| | | } |
| | | return ""; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 查询报告模板配置列表 |
| | | * |
| | | * @param tReportTemplate 报告模板配置 |
| | | * @return 报告模板配置 |
| | | */ |
| | | @Override |
| | | public List<TReportTemplate> selectTReportTemplateList(TReportTemplate tReportTemplate) { |
| | | return tReportTemplateMapper.selectTReportTemplateList(tReportTemplate); |
| | | } |
| | | |
| | | @Override |
| | | public List<TReportTemplate> getReportTemplates(User user) { |
| | | return getReportTemplates(user, null); |
| | | } |
| | | |
| | | @Override |
| | | public List<TReportTemplate> getReportTemplates(User user, Long prodId) { |
| | | |
| | | if (Objects.nonNull(prodId)) { |
| | | TExamPaper tExamPaper = paperService.selectTExamPaperById(prodId); |
| | | String reportTemplateId = tExamPaper.getReportTemplateId(); |
| | |
| | | item.setReportType(value); |
| | | return item; |
| | | }).collect(Collectors.toList()); |
| | | |
| | | |
| | | //取用户授权和产品包配置的交集 |
| | | if (!Objects.equals(UserTypeEnum.SYS_USER.getUserType(), user.getUserType())) { |
| | | SysUserExtend sysUserExtend = sysUserExtendService.selectSysUserExtendById(user.getUserId()); |
| | | |
| | | //查询产品包授权分配的报告模板 |
| | | SysUserPaper sysUserPaper = new SysUserPaper(); |
| | | sysUserPaper.setUserId(user.getUserId()); |
| | | sysUserPaper.setProdId(prodId); |
| | | |
| | | List<SysUserPaper> sysUserPapers = userPaperService.selectSysUserPaperList(sysUserPaper); |
| | | |
| | | List<TReportTemplate> templates = new ArrayList<>(); |
| | | for (SysUserPaper paper : sysUserPapers) { |
| | | String rid = paper.getReportTemplateId(); |
| | |
| | | } |
| | | templates.addAll(selectTReportTemplates(rid)); |
| | | } |
| | | |
| | | List<Long> collect = ret.stream().map(pp -> pp.getId()).collect(Collectors.toList()); |
| | | List<TReportTemplate> resultTemplateList = new ArrayList<>(); |
| | | for (TReportTemplate template : templates) { |
| | |
| | | ArrayList::new |
| | | ) |
| | | ); |
| | | |
| | | //根据企业用户配置的支持语言类型过滤 |
| | | if (Objects.nonNull(sysUserExtend) && Objects.nonNull(sysUserExtend.getLangType())) { |
| | | List<String> langTypes = Arrays.asList(sysUserExtend.getLangType().split(",")); |
| | | tReportTemplates = tReportTemplates.stream().filter(f -> langTypes.contains(f.getLangType())).collect(Collectors.toList()); |
| | |
| | | } |
| | | return ret; |
| | | } |
| | | |
| | | if (Objects.equals(UserTypeEnum.SYS_USER.getUserType(), user.getUserType())) { |
| | | TReportTemplate template = new TReportTemplate(); |
| | | List<TReportTemplate> tReportTemplates = tReportTemplateMapper.selectTReportTemplateList(template); |
| | |
| | | }).collect(Collectors.toList()); |
| | | return ret; |
| | | } |
| | | |
| | | |
| | | //查询产品包授权分配的报告模板 |
| | | SysUserPaper sysUserPaper = new SysUserPaper(); |
| | | if (!Objects.equals(UserTypeEnum.SYS_USER.getUserType(), user.getUserType())) { |
| | | sysUserPaper.setUserId(user.getUserId()); |
| | | } |
| | | List<SysUserPaper> sysUserPapers = userPaperService.selectSysUserPaperList(sysUserPaper); |
| | | |
| | | List<TReportTemplate> templates = new ArrayList<>(); |
| | | for (SysUserPaper paper : sysUserPapers) { |
| | | String reportTemplateId = paper.getReportTemplateId(); |
| | |
| | | } |
| | | templates.addAll(selectTReportTemplates(reportTemplateId)); |
| | | } |
| | | |
| | | |
| | | //对象去重 |
| | | // List<TReportTemplate> tReportTemplates = templates.stream().distinct().collect(Collectors.toList()); |
| | | List<TReportTemplate> tReportTemplates = templates.stream().collect(Collectors.collectingAndThen |
| | | (Collectors.toCollection(() -> |
| | | new TreeSet<>(Comparator.comparing(t -> t.getLocation()))), |
| | | ArrayList::new |
| | | ) |
| | | ); |
| | | |
| | | //根据企业用户配置的支持语言类型过滤 |
| | | if (Objects.equals(UserTypeEnum.ENT_USER.getUserType(), user.getUserType())) { |
| | | SysUserExtend sysUserExtend = sysUserExtendService.selectSysUserExtendById(user.getUserId()); |
| | | if (Objects.nonNull(sysUserExtend) && Objects.nonNull(sysUserExtend.getLangType())) { |
| | |
| | | item.setReportType(value); |
| | | return item; |
| | | }).collect(Collectors.toList()); |
| | | |
| | | return result; |
| | | } |
| | | |
| | | @Override |
| | | public List<TReportTemplate> selectTReportTemplates(String ids) { |
| | | if (Objects.isNull(ids)) { |
| | |
| | | } |
| | | return tReportTemplateMapper.selectTReportTemplates(Convert.toStrArray(ids)); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 新增报告模板配置 |
| | | * |
| | | * @param tReportTemplate 报告模板配置 |
| | | * @return 结果 |
| | | */ |
| | | @Override |
| | | public int insertTReportTemplate(TReportTemplate tReportTemplate) { |
| | | tReportTemplate.setCreateTime(DateUtils.getNowDate()); |
| | |
| | | } |
| | | return tReportTemplateMapper.insertTReportTemplate(tReportTemplate); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 修改报告模板配置 |
| | | * |
| | | * @param tReportTemplate 报告模板配置 |
| | | * @return 结果 |
| | | */ |
| | | @Override |
| | | public int updateTReportTemplate(TReportTemplate tReportTemplate) { |
| | | tReportTemplate.setUpdateTime(DateUtils.getNowDate()); |
| | |
| | | } |
| | | return tReportTemplateMapper.updateTReportTemplate(tReportTemplate); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 删除报告模板配置对象 |
| | | * |
| | | * @param ids 需要删除的数据ID |
| | | * @return 结果 |
| | | */ |
| | | @Override |
| | | public int deleteTReportTemplateByIds(String ids) { |
| | | return tReportTemplateMapper.deleteTReportTemplateByIds(Convert.toStrArray(ids)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 删除报告模板配置信息 |
| | | * |
| | | * @param id 报告模板配置ID |
| | | * @return 结果 |
| | | */ |
| | | public int deleteTReportTemplateById(Long id) { |
| | | return tReportTemplateMapper.deleteTReportTemplateById(id); |
| | | } |