EnrollmentPlanMajorSetController.java 7.0 KB

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