package com.ruoyi.web.controller.api; import cn.afterturn.easypoi.excel.ExcelImportUtil; import cn.afterturn.easypoi.excel.entity.ImportParams; import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.BasePage; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.domain.*; import com.ruoyi.system.dto.MahorImportExcel; import com.ruoyi.system.dto.TechImportExcel; import com.ruoyi.system.service.*; import com.ruoyi.system.vo.SysUserVO; import io.swagger.annotations.ApiOperation; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** *
* 专业列表 前端控制器 *
* * @author luodangjia * @since 2024-09-19 */ @RestController @RequestMapping("/t-title-major") public class TTitleMajorController { @Resource private TTitleMajorService tTitleMajorService; @Resource private TRegionService regionService; @Resource private TTechnicalTitleService tTechnicalTitleService; //增加专业 @ApiOperation(value = "添加",tags = "后台-系统设置-专业列表") @PostMapping(value = "/add") public R add(@RequestBody TTitleMajor tTitleMajor){ tTitleMajorService.save(tTitleMajor); return R.ok(); } //修改 @ApiOperation(value = "编辑",tags = "后台-系统设置-专业列表") @PostMapping(value = "/edit") public R edit(@RequestBody TTitleMajor tTitleMajor){ tTitleMajorService.updateById(tTitleMajor); return R.ok(); } @Resource private TUserChangeDetailService userChangeDetailService; @Resource private TConsultationService consultationService; @Resource private TDeclareNoticeService declareNoticeService; @Resource private TCommitteeTechnicalService committeeTechnicalService; @Resource private TCommitteeService committeeService; @Resource private TInformationService informationService; @Resource private TCourseService courseService; @Resource private TTitleMajorService majorService; //删除 @ApiOperation(value = "删除",tags = "后台-系统设置-专业列表") @PostMapping(value = "/deleteById") public R deleteById(Long id){ String s = id.toString(); //判断是否有关联数据 Long userChange = userChangeDetailService.lambdaQuery().eq(TUserChangeDetail::getMajorId, s).count(); if (userChange>0){ return R.fail("当前专业已有用户设为偏好,无法删除"); } Long consultation = consultationService.lambdaQuery().eq(TConsultation::getMajorId, s).count(); if (consultation>0){ return R.fail("当前专业已设置咨询,无法删除"); } Long declareNotice = declareNoticeService.lambdaQuery().eq(TDeclareNotice::getMajorId, s).count(); if (declareNotice>0){ return R.fail("当前专业已设置申报通知,无法删除"); } Long committeeTechnical = committeeTechnicalService.lambdaQuery().eq(TCommitteeTechnical::getMajorId, s).count(); if (committeeTechnical>0){ return R.fail("当前专业已设置委员会可评审职称,无法删除"); } Long committee = committeeService.lambdaQuery().eq(TCommittee::getMajorId, s).count(); if (committee>0){ return R.fail("当前专业已设置评审委员会,无法删除"); } Long infomation = informationService.lambdaQuery().eq(TInformation::getMajorId, s).count(); if (infomation>0){ return R.fail("当前专业已设置资料,无法删除"); } Long course = courseService.lambdaQuery().eq(TCourse::getMajorId, s).count(); if (course>0){ return R.fail("当前专业已设置课程,无法删除"); } tTitleMajorService.removeById(id); return R.ok(); } //分页列表 @ApiOperation(value = "查询",tags = "后台-系统设置-专业列表") @PostMapping(value = "/pageList") public R pageList(@RequestBody BasePage basePage){ PageInfo