| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- package com.ruoyi.web.controller.dz;
- import java.util.List;
- import java.util.Objects;
- import java.util.stream.Collectors;
- import javax.servlet.http.HttpServletResponse;
- import cn.hutool.core.collection.CollectionUtil;
- import com.ruoyi.common.core.domain.entity.SysUser;
- import com.ruoyi.common.enums.BoolValues;
- import com.ruoyi.common.utils.SecurityUtils;
- import com.ruoyi.common.utils.StringUtils;
- import com.ruoyi.dz.domain.DzTeacher;
- import com.ruoyi.dz.domain.DzTeacherClass;
- import com.ruoyi.dz.service.IDzTeacherClassService;
- import com.ruoyi.enums.UserTypeEnum;
- import io.lettuce.core.dynamic.annotation.Param;
- import org.springframework.security.access.prepost.PreAuthorize;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.PutMapping;
- import org.springframework.web.bind.annotation.DeleteMapping;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import com.ruoyi.common.annotation.Log;
- import com.ruoyi.common.core.controller.BaseController;
- import com.ruoyi.common.core.domain.AjaxResult;
- import com.ruoyi.common.enums.BusinessType;
- import com.ruoyi.dz.domain.DzClasses;
- import com.ruoyi.dz.service.IDzClassesService;
- import com.ruoyi.common.utils.poi.ExcelUtil;
- import com.ruoyi.common.core.page.TableDataInfo;
- /**
- * 学生班级Controller
- *
- * @author ruoyi
- * @date 2025-09-29
- */
- @RestController
- @RequestMapping("/dz/classes")
- public class DzClassesController extends BaseController
- {
- @Autowired
- private IDzClassesService dzClassesService;
- @Autowired
- private IDzTeacherClassService teacherClassService;
- /**
- * 查询学生班级列表
- */
- @PreAuthorize("@ss.hasPermi('dz:classes:list')")
- @GetMapping("/list")
- public TableDataInfo list(DzClasses dzClasses)
- {
- startPage();
- SysUser sysUser = SecurityUtils.getLoginUser().getUser();
- if(!UserTypeEnum.isSys(sysUser.getUserType())) {
- dzClasses.setDeptId(sysUser.getDeptId());
- }
- List<DzClasses> list = dzClassesService.selectDzClassesList(dzClasses);
- return getDataTable(list);
- }
- @GetMapping("/listAll")
- public AjaxResult listAll(DzClasses dzClasses)
- {
- List<DzClasses> list = dzClassesService.selectDzClassesList(dzClasses);
- // if (null!=dzClasses.getTeacherId()){
- // DzTeacherClass query = new DzTeacherClass().setTeacherId(dzClasses.getTeacherId());
- // Long[] classIds = teacherClassService.selectDzTeacherClassList(query).stream()
- // .map(DzTeacherClass::getClassId)
- // .filter(Objects::nonNull)
- // .distinct() // 去重(如果需要)
- // .toArray(Long[]::new);
- // list.stream().forEach(c->c.setClassIds(classIds));
- // }
- return AjaxResult.success(list);
- }
- @GetMapping("/getClassesBySchoolId")
- public AjaxResult getClassesBySchoolId(@Param("schoolId") Long schoolId)
- {
- List<DzClasses> list = dzClassesService.selectDzClassesListBySchoolId(schoolId);
- return AjaxResult.success(list);
- }
- /**
- * 导出学生班级列表
- */
- @PreAuthorize("@ss.hasPermi('dz:classes:export')")
- @Log(title = "学生班级", businessType = BusinessType.EXPORT)
- @PostMapping("/export")
- public void export(HttpServletResponse response, DzClasses dzClasses)
- {
- List<DzClasses> list = dzClassesService.selectDzClassesList(dzClasses);
- ExcelUtil<DzClasses> util = new ExcelUtil<DzClasses>(DzClasses.class);
- util.exportExcel(response, list, "学生班级数据");
- }
- /**
- * 获取学生班级详细信息
- */
- @PreAuthorize("@ss.hasPermi('dz:classes:query')")
- @GetMapping(value = "/{classId}")
- public AjaxResult getInfo(@PathVariable("classId") Long classId)
- {
- return success(dzClassesService.selectDzClassesByClassId(classId));
- }
- /**
- * 新增学生班级
- */
- @PreAuthorize("@ss.hasPermi('dz:classes:add')")
- @Log(title = "学生班级", businessType = BusinessType.INSERT)
- @PostMapping
- public AjaxResult add(@RequestBody DzClasses dzClasses)
- {
- String name = dzClasses.getName();
- if(StringUtils.isNotEmpty(name)){
- for (String s : name.split(",")) {
- dzClasses.setName(s);
- dzClasses.setIsDefault(BoolValues.no.getValue());
- dzClassesService.insertDzClasses(dzClasses);
- }
- //把创建的默认旧班级删除
- if (null!=dzClasses.getSchoolId()){
- DzClasses query = new DzClasses();
- query.setIsDefault(BoolValues.yes.getValue());
- query.setSchoolId(dzClasses.getSchoolId());
- List<DzClasses> dzClassesList = dzClassesService.selectDzClassesList(query);
- if (CollectionUtil.isNotEmpty(dzClassesList)) {
- Long[] classesIds = dzClassesList.stream().map(DzClasses::getClassId).filter(id -> id != null).toArray(Long[]::new);
- if (null!=classesIds&&classesIds.length>0){
- dzClassesService.deleteDzClassesByClassIds(classesIds);
- }
- }
- }
- }
- return toAjax(1);
- }
- /**
- * 修改学生班级
- */
- @PreAuthorize("@ss.hasPermi('dz:classes:edit')")
- @Log(title = "学生班级", businessType = BusinessType.UPDATE)
- @PutMapping
- public AjaxResult edit(@RequestBody DzClasses dzClasses)
- {
- return toAjax(dzClassesService.updateDzClasses(dzClasses));
- }
- /**
- * 删除学生班级
- */
- @PreAuthorize("@ss.hasPermi('dz:classes:remove')")
- @Log(title = "学生班级", businessType = BusinessType.DELETE)
- @DeleteMapping("/{classIds}")
- public AjaxResult remove(@PathVariable Long[] classIds)
- {
- return toAjax(dzClassesService.deleteDzClassesByClassIds(classIds));
- }
- }
|