EnrollmentPlanMajorSetController.java 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. package com.xjrsoft.module.student.controller;
  2. import cn.dev33.satoken.annotation.SaCheckPermission;
  3. import cn.hutool.core.bean.BeanUtil;
  4. import com.baomidou.mybatisplus.core.metadata.IPage;
  5. import com.github.yulichang.wrapper.MPJLambdaWrapper;
  6. import com.xjrsoft.common.annotation.XjrLog;
  7. import com.xjrsoft.common.model.result.RT;
  8. import com.xjrsoft.common.page.ConventPage;
  9. import com.xjrsoft.common.page.PageOutput;
  10. import com.xjrsoft.common.utils.VoToColumnUtil;
  11. import com.xjrsoft.module.base.entity.BaseMajorSet;
  12. import com.xjrsoft.module.organization.entity.Department;
  13. import com.xjrsoft.module.student.dto.*;
  14. import com.xjrsoft.module.student.entity.EnrollmentPlanMajorSet;
  15. import com.xjrsoft.module.student.service.IEnrollmentPlanMajorSetService;
  16. import com.xjrsoft.module.student.vo.BaseGraduateSchoolOfEnrollmentPlanListVo;
  17. import com.xjrsoft.module.student.vo.BaseMajorSetOfEnrollmentPlanPageVo;
  18. import com.xjrsoft.module.student.vo.EnrollmentPlanMajorSetPageVo;
  19. import com.xjrsoft.module.student.vo.EnrollmentPlanMajorSetVo;
  20. import io.swagger.annotations.Api;
  21. import io.swagger.annotations.ApiOperation;
  22. import lombok.AllArgsConstructor;
  23. import org.springframework.web.bind.annotation.*;
  24. import javax.validation.Valid;
  25. import java.util.ArrayList;
  26. import java.util.List;
  27. /**
  28. * @title: 专业方向招生计划详情
  29. * @Author phoenix
  30. * @Date: 2024-06-13
  31. * @Version 1.0
  32. */
  33. @RestController
  34. @RequestMapping("/student" + "/enrollmentPlanMajorSet")
  35. @Api(value = "/student" + "/enrollmentPlanMajorSet", tags = "专业方向招生计划详情代码")
  36. @AllArgsConstructor
  37. public class EnrollmentPlanMajorSetController {
  38. private final IEnrollmentPlanMajorSetService enrollmentPlanMajorSetService;
  39. @GetMapping(value = "/generated-relation-page")
  40. @ApiOperation(value = "已生成招生专业方向+毕业中学关系列表(分页)")
  41. @SaCheckPermission("enrollmentplanmajorset:generatedrelationpage")
  42. @XjrLog(value = "已生成招生专业方向+毕业中学关系列表(分页)")
  43. public RT<PageOutput<EnrollmentPlanMajorSetPageVo>> generatedRelationPage(@Valid EnrollmentPlanMajorSetPageDto dto) {
  44. MPJLambdaWrapper<EnrollmentPlanMajorSet> queryWrapper = new MPJLambdaWrapper<>();
  45. queryWrapper
  46. .select(EnrollmentPlanMajorSet::getId)
  47. .selectAs(BaseMajorSet::getStudyYear, EnrollmentPlanMajorSetPageVo::getStudyYear)
  48. .selectAs(BaseMajorSet::getName, EnrollmentPlanMajorSetPageVo::getBaseMajorSetIdCn)
  49. .select("t3.name as baseMajorGradationIdCn")
  50. .selectAs(Department::getName, EnrollmentPlanMajorSetPageVo::getDepartmentIdCn)
  51. .select("(select count(*) from enrollment_plan_graduate_school a where a.delete_mark = 0 and a.enrollment_plan_major_set_id = t.id) as graduateSchoolSum")
  52. .select(EnrollmentPlanMajorSet.class, x -> VoToColumnUtil.fieldsToColumns(EnrollmentPlanMajorSetPageVo.class).contains(x.getProperty()))
  53. .leftJoin(BaseMajorSet.class, BaseMajorSet::getId, EnrollmentPlanMajorSet::getBaseMajorSetId)
  54. .leftJoin(Department.class, Department::getId, BaseMajorSet::getDepartmentId)
  55. .leftJoin("base_major_gradation t3 on t3.id = t1.major_gradation_id")
  56. .eq(dto.getEnrollmentPlanId() != null && dto.getEnrollmentPlanId() > 0, EnrollmentPlanMajorSet::getEnrollmentPlanId, dto.getEnrollmentPlanId())
  57. .eq(dto.getDepartmentId() != null && dto.getDepartmentId() > 0, BaseMajorSet::getDepartmentId, dto.getDepartmentId())
  58. .like(dto.getBaseMajorSetIdCn() != null && !dto.getBaseMajorSetIdCn().isEmpty(), BaseMajorSet::getName, dto.getBaseMajorSetIdCn())
  59. .orderByDesc(EnrollmentPlanMajorSet::getCreateDate);
  60. IPage<EnrollmentPlanMajorSetPageVo> page = enrollmentPlanMajorSetService.selectJoinListPage(ConventPage.getPage(dto), EnrollmentPlanMajorSetPageVo.class, queryWrapper);
  61. PageOutput<EnrollmentPlanMajorSetPageVo> pageOutput = ConventPage.getPageOutput(page, EnrollmentPlanMajorSetPageVo.class);
  62. return RT.ok(pageOutput);
  63. }
  64. @GetMapping(value = "/baseMajorSet-page")
  65. @ApiOperation(value = "专业分类(分页)")
  66. @SaCheckPermission("enrollmentplanmajorset:basemajorsetpage")
  67. @XjrLog(value = "专业分类(分页)")
  68. public RT<PageOutput<BaseMajorSetOfEnrollmentPlanPageVo>> baseMajorSetOfEnrollmentPlan(@Valid BaseMajorSetOfEnrollmentPlanPageDto dto) {
  69. IPage<BaseMajorSetOfEnrollmentPlanPageVo> page = enrollmentPlanMajorSetService.baseMajorSetOfEnrollmentPlan(dto);
  70. PageOutput<BaseMajorSetOfEnrollmentPlanPageVo> pageOutput = ConventPage.getPageOutput(page, BaseMajorSetOfEnrollmentPlanPageVo.class);
  71. return RT.ok(pageOutput);
  72. }
  73. @GetMapping(value = "/baseGraduateSchool-list")
  74. @ApiOperation(value = "毕业学校")
  75. @SaCheckPermission("enrollmentplanmajorset:basegraduateschoollist")
  76. @XjrLog(value = "毕业学校")
  77. public RT<List<BaseGraduateSchoolOfEnrollmentPlanListVo>> baseGraduateSchoolOfEnrollmentPlan(@Valid BaseGraduateSchoolOfEnrollmentPlanListDto dto) {
  78. List<BaseGraduateSchoolOfEnrollmentPlanListVo> result = enrollmentPlanMajorSetService.baseGraduateSchoolOfEnrollmentPlan(dto);
  79. return RT.ok(result);
  80. }
  81. @GetMapping(value = "/info")
  82. @ApiOperation(value = "根据id查询专业方向招生计划详情信息")
  83. @SaCheckPermission("enrollmentplanmajorset:info")
  84. @XjrLog(value = "根据id查询专业方向招生计划详情信息", saveResponseData = true)
  85. public RT<EnrollmentPlanMajorSetVo> info(@RequestParam Long id) {
  86. EnrollmentPlanMajorSet enrollmentPlanMajorSet = enrollmentPlanMajorSetService.getById(id);
  87. if (enrollmentPlanMajorSet == null) {
  88. return RT.error("找不到此数据!");
  89. }
  90. return RT.ok(BeanUtil.toBean(enrollmentPlanMajorSet, EnrollmentPlanMajorSetVo.class));
  91. }
  92. @PostMapping
  93. @ApiOperation(value = "新增专业方向招生计划详情")
  94. @SaCheckPermission("enrollmentplanmajorset:add")
  95. @XjrLog(value = "新增专业方向招生计划详情", saveResponseData = true)
  96. public RT<Boolean> add(@Valid @RequestBody AddEnrollmentPlanMajorSetDto dto) {
  97. boolean isSuccess = enrollmentPlanMajorSetService.add(dto);
  98. return RT.ok(isSuccess);
  99. }
  100. @PutMapping
  101. @ApiOperation(value = "修改专业方向招生计划详情")
  102. @SaCheckPermission("enrollmentplanmajorset:edit")
  103. @XjrLog(value = "修改专业方向招生计划详情", saveResponseData = true)
  104. public RT<Boolean> update(@Valid @RequestBody List<UpdateEnrollmentPlanMajorSetDto> dtos) {
  105. List<EnrollmentPlanMajorSet> enrollmentPlanMajorSets = new ArrayList<>();
  106. for (UpdateEnrollmentPlanMajorSetDto dto : dtos) {
  107. EnrollmentPlanMajorSet enrollmentPlanMajorSet = BeanUtil.toBean(dto, EnrollmentPlanMajorSet.class);
  108. enrollmentPlanMajorSets.add(enrollmentPlanMajorSet);
  109. }
  110. return RT.ok(enrollmentPlanMajorSetService.updateBatchById(enrollmentPlanMajorSets));
  111. }
  112. @DeleteMapping
  113. @ApiOperation(value = "删除专业方向招生计划详情")
  114. @SaCheckPermission("enrollmentplanmajorset:delete")
  115. @XjrLog(value = "删除专业方向招生计划详情", saveResponseData = true)
  116. public RT<Boolean> delete(@Valid @RequestBody List<Long> ids) {
  117. return RT.ok(enrollmentPlanMajorSetService.removeBatch(ids));
  118. }
  119. }