| | |
| | | @Autowired |
| | | private SvyLibTopicMapper svyLibTopicMapper; |
| | | |
| | | @Autowired |
| | | private SvyLibTopicoptionMapper svyLibTopicoptionMapper; |
| | | // @Autowired |
| | | // private SvyLibTopicoptionMapper svyLibTopicoptionMapper; |
| | | |
| | | /** |
| | | * 查询问卷题目 |
| | |
| | | @Override |
| | | public int deleteSvyLibTopicByTopicid(Long topicid) { |
| | | return svyLibTopicMapper.deleteSvyLibTopicByTopicid(topicid); |
| | | } |
| | | |
| | | /** |
| | | * 批量导入问问题目 |
| | | * |
| | | * @param multipartFile |
| | | * @return |
| | | */ |
| | | @Override |
| | | @Transactional |
| | | public List<SvyLibTopicRes> importLitTopic(SysUser user, MultipartFile multipartFile) { |
| | | List<SvyLibTopicRes> svyLibTopicErrors = new ArrayList<>(); |
| | | |
| | | try { |
| | | Workbook workbook = new XSSFWorkbook(multipartFile.getInputStream()); |
| | | Sheet sheet = workbook.getSheetAt(0); |
| | | |
| | | //问卷题目对象 |
| | | SvyLibTopic svyLibTopic = new SvyLibTopic(); |
| | | |
| | | |
| | | for (int i = sheet.getFirstRowNum() + 1; i < sheet.getLastRowNum(); i++) { |
| | | SvyLibTopicRes svyLibTopicRes = new SvyLibTopicRes(); |
| | | |
| | | Row row = sheet.getRow(i); |
| | | //如果行为空,进行下一次循环 |
| | | if (ObjectUtils.isEmpty(row.getCell(0)) && ObjectUtils.isEmpty(row.getCell(1)) && ObjectUtils.isEmpty(row.getCell(2))) { |
| | | continue; |
| | | } |
| | | //判断数据是否有问题 |
| | | svyLibTopicRes.setTopic(row.getCell(0).toString()); |
| | | if (ObjectUtils.isEmpty(row.getCell(0)) || StringUtils.isEmpty(row.getCell(0).toString())) { |
| | | svyLibTopicRes.setRemark("题目为空,"); |
| | | } else { |
| | | //判断一下该题是否已经在表里出现 |
| | | SvyLibTopic svyLibTopic1 = new SvyLibTopic(); |
| | | svyLibTopic1.setTopic(row.getCell(0).toString()); |
| | | List<SvyLibTopic> svyLibTopics = svyLibTopicMapper.selectSvyLibTopicList(svyLibTopic1); |
| | | if (svyLibTopics.size() > 0) { |
| | | //已经存在了,就不存了 |
| | | continue; |
| | | } |
| | | } |
| | | svyLibTopicRes.setTag(row.getCell(1).toString()); |
| | | if (ObjectUtils.isEmpty(row.getCell(1)) || StringUtils.isEmpty(row.getCell(1).toString())) { |
| | | svyLibTopicRes.setRemark(StringUtils.isNotEmpty(svyLibTopicRes.getRemark()) ? svyLibTopicRes.getRemark() : "" + "类别为空,"); |
| | | } |
| | | svyLibTopicRes.setTopictype(row.getCell(2).toString()); |
| | | if (ObjectUtils.isEmpty(row.getCell(2)) || StringUtils.isEmpty(row.getCell(2).toString())) { |
| | | svyLibTopicRes.setRemark(StringUtils.isNotEmpty(svyLibTopicRes.getRemark()) ? svyLibTopicRes.getRemark() : "" + "题目类型为空,"); |
| | | } |
| | | if (ObjectUtils.isNotEmpty(row.getCell(3))) { |
| | | svyLibTopicRes.setAnswer(row.getCell(3).toString()); |
| | | } |
| | | if (ObjectUtils.isNotEmpty(row.getCell(4))) { |
| | | svyLibTopicRes.setOptionA(row.getCell(4).toString()); |
| | | } |
| | | if (ObjectUtils.isNotEmpty(row.getCell(5))) { |
| | | svyLibTopicRes.setOptionB(row.getCell(5).toString()); |
| | | } |
| | | if (ObjectUtils.isNotEmpty(row.getCell(6))) { |
| | | svyLibTopicRes.setOptionC(row.getCell(6).toString()); |
| | | } |
| | | if (ObjectUtils.isNotEmpty(row.getCell(7))) { |
| | | svyLibTopicRes.setOptionD(row.getCell(7).toString()); |
| | | } |
| | | if (ObjectUtils.isNotEmpty(row.getCell(8))) { |
| | | svyLibTopicRes.setScore(row.getCell(8).toString()); |
| | | } |
| | | if (ObjectUtils.isNotEmpty(row.getCell(9))) { |
| | | svyLibTopicRes.setScore(row.getCell(9).toString()); |
| | | } |
| | | if (ObjectUtils.isNotEmpty(row.getCell(10))) { |
| | | svyLibTopicRes.setScore(row.getCell(10).toString()); |
| | | } |
| | | if (ObjectUtils.isNotEmpty(row.getCell(11))) { |
| | | svyLibTopicRes.setScore(row.getCell(11).toString()); |
| | | } |
| | | if (ObjectUtils.isNotEmpty(row.getCell(12))) { |
| | | svyLibTopicRes.setScore(row.getCell(12).toString()); |
| | | } |
| | | if (StringUtils.isNotEmpty(svyLibTopicRes.getRemark())) { |
| | | //说明该行数据有问题 |
| | | svyLibTopicErrors.add(svyLibTopicRes); |
| | | continue; |
| | | } |
| | | |
| | | //数据没有问题,开始插表 |
| | | svyLibTopic.setTopic(row.getCell(0).toString()); |
| | | if (row.getCell(2).toString().equals("单选")) { |
| | | svyLibTopic.setTopictype(1L); |
| | | } else if (row.getCell(2).toString().equals("多选")) { |
| | | svyLibTopic.setTopictype(2L); |
| | | } else { |
| | | svyLibTopic.setTopictype(3L); |
| | | } |
| | | svyLibTopic.setTopiccode(UUID.randomUUID().toString().replace("-", "")); |
| | | //题目类别 |
| | | svyLibTopic.setTag(row.getCell(1).toString()); |
| | | svyLibTopic.setCreateBy(user.getUserName()); |
| | | svyLibTopic.setOrgid(user.getDeptId().toString()); |
| | | svyLibTopic.setUpdateBy(user.getUserName()); |
| | | svyLibTopic.setUpdateTime(new Date()); |
| | | svyLibTopic.setCreateTime(new Date()); |
| | | svyLibTopic.setDelFlag("0"); |
| | | //新增题目表 |
| | | svyLibTopicMapper.insertSvyLibTopic(svyLibTopic); |
| | | |
| | | //新增题目选项表 |
| | | SvyLibTopicoption svyLibTopicoption = new SvyLibTopicoption(); |
| | | svyLibTopicoption.setTopicid(svyLibTopic.getTopicid()); |
| | | svyLibTopicoption.setTopictype(svyLibTopic.getTopictype()); |
| | | svyLibTopicoption.setOptioncode(UUID.randomUUID().toString().replace("-", "")); |
| | | svyLibTopicoption.setCreateBy(user.getUserName()); |
| | | svyLibTopicoption.setCreateTime(new Date()); |
| | | svyLibTopicoption.setUpdateBy(user.getUserName()); |
| | | svyLibTopicoption.setUpdateTime(new Date()); |
| | | svyLibTopicoption.setDelFlag("0"); |
| | | if (svyLibTopicoption.getTopictype() == 3) { |
| | | //解答题,不需要再设置选项 |
| | | svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption); |
| | | } else { |
| | | if (ObjectUtils.isNotEmpty(row.getCell(4))) { |
| | | if (StringUtils.isNotEmpty(row.getCell(4).toString())) { |
| | | svyLibTopicoption.setOptioncode("A"); |
| | | svyLibTopicoption.setOptioncontent(row.getCell(4).toString()); |
| | | svyLibTopicoption.setOptionid(null); |
| | | svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption); |
| | | } |
| | | } |
| | | if (ObjectUtils.isNotEmpty(row.getCell(5))) { |
| | | if (StringUtils.isNotEmpty(row.getCell(5).toString())) { |
| | | svyLibTopicoption.setOptioncode("B"); |
| | | svyLibTopicoption.setOptioncontent(row.getCell(5).toString()); |
| | | svyLibTopicoption.setOptionid(null); |
| | | svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption); |
| | | } |
| | | } |
| | | if (ObjectUtils.isNotEmpty(row.getCell(6))) { |
| | | if (StringUtils.isNotEmpty(row.getCell(6).toString())) { |
| | | svyLibTopicoption.setOptioncode("C"); |
| | | svyLibTopicoption.setOptioncontent(row.getCell(6).toString()); |
| | | svyLibTopicoption.setOptionid(null); |
| | | svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption); |
| | | } |
| | | } |
| | | if (ObjectUtils.isNotEmpty(row.getCell(7))) { |
| | | if (StringUtils.isNotEmpty(row.getCell(7).toString())) { |
| | | svyLibTopicoption.setOptioncode("D"); |
| | | svyLibTopicoption.setOptioncontent(row.getCell(7).toString()); |
| | | svyLibTopicoption.setOptionid(null); |
| | | svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption); |
| | | } |
| | | } |
| | | if (ObjectUtils.isNotEmpty(row.getCell(8))) { |
| | | if (StringUtils.isNotEmpty(row.getCell(8).toString())) { |
| | | svyLibTopicoption.setOptioncode("E"); |
| | | svyLibTopicoption.setOptioncontent(row.getCell(8).toString()); |
| | | svyLibTopicoption.setOptionid(null); |
| | | svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption); |
| | | } |
| | | } |
| | | if (ObjectUtils.isNotEmpty(row.getCell(9))) { |
| | | if (StringUtils.isNotEmpty(row.getCell(9).toString())) { |
| | | svyLibTopicoption.setOptioncode("F"); |
| | | svyLibTopicoption.setOptioncontent(row.getCell(9).toString()); |
| | | svyLibTopicoption.setOptionid(null); |
| | | svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption); |
| | | } |
| | | } |
| | | if (ObjectUtils.isNotEmpty(row.getCell(10))) { |
| | | if (StringUtils.isNotEmpty(row.getCell(10).toString())) { |
| | | svyLibTopicoption.setOptioncode("G"); |
| | | svyLibTopicoption.setOptioncontent(row.getCell(10).toString()); |
| | | svyLibTopicoption.setOptionid(null); |
| | | svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption); |
| | | } |
| | | } |
| | | if (ObjectUtils.isNotEmpty(row.getCell(11))) { |
| | | if (StringUtils.isNotEmpty(row.getCell(11).toString())) { |
| | | svyLibTopicoption.setOptioncode("H"); |
| | | svyLibTopicoption.setOptioncontent(row.getCell(11).toString()); |
| | | svyLibTopicoption.setOptionid(null); |
| | | svyLibTopicoptionMapper.insertSvyLibTopicoption(svyLibTopicoption); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if (CollectionUtils.isNotEmpty(svyLibTopicErrors)) { |
| | | return svyLibTopicErrors; |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | return null; |
| | | } |
| | | |
| | | @Override |
| | | public SvyLibTopicRes showTopic(SvyTopicReq svyTopicReq) { |
| | | List<SvyLibTopicAndOptionRes> svyLibTopicAndOptionRes = svyLibTopicMapper.showTopic(svyTopicReq); |
| | | Map<Long, List<SvyLibTopicAndOptionRes>> groupByAge = svyLibTopicAndOptionRes.stream().collect(Collectors.groupingBy(SvyLibTopicAndOptionRes::getTopicid)); |
| | | |
| | | return null; |
| | | } |
| | | |
| | | |