| | |
| | | import java.io.InputStream; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | public R deleteById(Long id){ |
| | | String s = id.toString(); |
| | | //判断是否有关联数据 |
| | | Long count = userChangeDetailService.lambdaQuery().eq(TUserChangeDetail::getMajorId, s).count(); |
| | | if (count>0){ |
| | | Long userChange = userChangeDetailService.lambdaQuery().eq(TUserChangeDetail::getMajorId, s).count(); |
| | | if (userChange>0){ |
| | | return R.fail("当前专业已有用户设为偏好,无法删除"); |
| | | } |
| | | Long count1 = consultationService.lambdaQuery().eq(TConsultation::getMajorId, s).count(); |
| | | if (count1>0){ |
| | | Long consultation = consultationService.lambdaQuery().eq(TConsultation::getMajorId, s).count(); |
| | | if (consultation>0){ |
| | | return R.fail("当前专业已设置咨询,无法删除"); |
| | | } |
| | | Long count2 = declareNoticeService.lambdaQuery().eq(TDeclareNotice::getMajorId, s).count(); |
| | | if (count2>0){ |
| | | Long declareNotice = declareNoticeService.lambdaQuery().eq(TDeclareNotice::getMajorId, s).count(); |
| | | if (declareNotice>0){ |
| | | return R.fail("当前专业已设置申报通知,无法删除"); |
| | | } |
| | | Long count3 = committeeTechnicalService.lambdaQuery().eq(TCommitteeTechnical::getMajorId, s).count(); |
| | | if (count3>0){ |
| | | Long committeeTechnical = committeeTechnicalService.lambdaQuery().eq(TCommitteeTechnical::getMajorId, s).count(); |
| | | if (committeeTechnical>0){ |
| | | return R.fail("当前专业已设置委员会可评审职称,无法删除"); |
| | | } |
| | | Long count4 = committeeService.lambdaQuery().eq(TCommittee::getMajorId, s).count(); |
| | | if (count4>0){ |
| | | Long committee = committeeService.lambdaQuery().eq(TCommittee::getMajorId, s).count(); |
| | | if (committee>0){ |
| | | return R.fail("当前专业已设置评审委员会,无法删除"); |
| | | } |
| | | Long count5 = informationService.lambdaQuery().eq(TInformation::getMajorId, s).count(); |
| | | if (count5>0){ |
| | | Long infomation = informationService.lambdaQuery().eq(TInformation::getMajorId, s).count(); |
| | | if (infomation>0){ |
| | | return R.fail("当前专业已设置资料,无法删除"); |
| | | } |
| | | |
| | | Long count7 = courseService.lambdaQuery().eq(TCourse::getMajorId, s).count(); |
| | | if (count7>0){ |
| | | Long course = courseService.lambdaQuery().eq(TCourse::getMajorId, s).count(); |
| | | if (course>0){ |
| | | return R.fail("当前专业已设置课程,无法删除"); |
| | | } |
| | | |
| | |
| | | @PostMapping("/export") |
| | | public R export (@RequestParam("file") MultipartFile file) { |
| | | List<TTitleMajor> tTechnicalTitles = new ArrayList<>(); |
| | | |
| | | |
| | | |
| | | int errorLines = 0; |
| | | int successLines = 0; |
| | | ImportParams params = new ImportParams(); |
| | | // params.setTitleRows(1);//标题行数 |
| | | params.setHeadRows(1); //表头行数 |
| | |
| | | try { |
| | | inputStream = file.getInputStream(); |
| | | List<MahorImportExcel> techImportExcels = ExcelImportUtil.importExcel(inputStream, MahorImportExcel.class, params); |
| | | List<TTechnicalTitle> tTechnicalTitleList = tTechnicalTitleService.lambdaQuery().list(); |
| | | |
| | | for (MahorImportExcel techImportExcel : techImportExcels) { |
| | | |
| | | List<Integer> regionIds; |
| | | if (techImportExcel.getAddress() == null || StringUtils.isEmpty(techImportExcel.getAddress())) { |
| | | msg = "第" + techImportExcels.indexOf(techImportExcel) + "行,地区不能为空"; |
| | | failMsg.add(msg); |
| | | continue; |
| | | } else { |
| | | String[] split = techImportExcel.getAddress().split(";"); |
| | | regionIds = new ArrayList<>(); |
| | | for (String s : split) { |
| | | TRegion region = regionService.lambdaQuery().like(TRegion::getName, s).one(); |
| | | if (region == null) { |
| | | msg = "第" + techImportExcels.indexOf(techImportExcel) + "行,地区不存在"; |
| | | failMsg.add(msg); |
| | | } else { |
| | | regionIds.add(region.getId()); |
| | | } |
| | | } |
| | | if (regionIds.size() != split.length) { |
| | | continue; |
| | | } |
| | | |
| | | } |
| | | TTitleMajor tTechnicalTitle = new TTitleMajor(); |
| | | if (techImportExcel.getTitileName()==null||StringUtils.isEmpty(techImportExcel.getTitileName())){ |
| | | msg = "第" + techImportExcels.indexOf(techImportExcel) + "行,职称名称不能为空"; |
| | | msg = "第" + techImportExcels.indexOf(techImportExcel)+1 + "行,职称名称不能为空"; |
| | | failMsg.add(msg); |
| | | continue; |
| | | }else { |
| | | TTechnicalTitle one = tTechnicalTitleService.lambdaQuery().eq(TTechnicalTitle::getTitileName, techImportExcel.getTitileName()).last("limit 1").one(); |
| | | if (one!=null){ |
| | | tTechnicalTitle.setTechnicalId(one.getId()); |
| | | TTechnicalTitle technicalTitle = tTechnicalTitleList.stream() |
| | | .filter(e -> e.getTitileName().equals(techImportExcel.getTitileName())).findFirst().orElse(null); |
| | | if (technicalTitle!=null){ |
| | | tTechnicalTitle.setTechnicalId(technicalTitle.getId()); |
| | | tTechnicalTitle.setRegionIds(technicalTitle.getRegionIds()); |
| | | }else { |
| | | msg = "第" + techImportExcels.indexOf(techImportExcel) + "行,职称名称不存在"; |
| | | msg = "第" + techImportExcels.indexOf(techImportExcel)+1 + "行,职称名称不存在"; |
| | | failMsg.add(msg); |
| | | continue; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | tTechnicalTitle.setRegionIds(StringUtils.join(regionIds, ",")); |
| | | tTechnicalTitle.setMajorName(techImportExcel.getMajorName()); |
| | | tTechnicalTitles.add(tTechnicalTitle); |
| | | } |
| | |
| | | if (failMsg.size()==0){ |
| | | tTitleMajorService.saveBatch(tTechnicalTitles); |
| | | }else { |
| | | return R.fail(failMsg); |
| | | return R.fail(failMsg.stream().collect(Collectors.joining(","))); |
| | | } |
| | | |
| | | } catch (Exception e) { |