|
@@ -18,16 +18,20 @@ import com.xjrsoft.common.page.PageOutput;
|
|
|
import com.xjrsoft.common.model.result.RT;
|
|
|
import com.xjrsoft.common.utils.VoToColumnUtil;
|
|
|
import com.xjrsoft.module.base.entity.BaseGrade;
|
|
|
+import com.xjrsoft.module.base.entity.BaseMajorSet;
|
|
|
+import com.xjrsoft.module.organization.entity.Department;
|
|
|
import com.xjrsoft.module.student.dto.AddEnrollmentPlanDto;
|
|
|
+import com.xjrsoft.module.student.dto.PreviewEnrollmentPlanDto;
|
|
|
import com.xjrsoft.module.student.dto.UpdateEnrollmentPlanDto;
|
|
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
|
|
|
|
import com.xjrsoft.module.student.dto.EnrollmentPlanPageDto;
|
|
|
import com.xjrsoft.module.student.entity.EnrollmentPlan;
|
|
|
+import com.xjrsoft.module.student.entity.EnrollmentPlanMajorSet;
|
|
|
+import com.xjrsoft.module.student.service.IEnrollmentPlanMajorSetService;
|
|
|
import com.xjrsoft.module.student.service.IEnrollmentPlanService;
|
|
|
-import com.xjrsoft.module.student.vo.EnrollmentPlanPageVo;
|
|
|
+import com.xjrsoft.module.student.vo.*;
|
|
|
|
|
|
-import com.xjrsoft.module.student.vo.EnrollmentPlanVo;
|
|
|
import com.xjrsoft.module.system.entity.DictionaryDetail;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
@@ -54,6 +58,8 @@ public class EnrollmentPlanController {
|
|
|
|
|
|
private final IEnrollmentPlanService enrollmentPlanService;
|
|
|
|
|
|
+ private final IEnrollmentPlanMajorSetService enrollmentPlanMajorSetService;
|
|
|
+
|
|
|
@GetMapping(value = "/page")
|
|
|
@ApiOperation(value="招生计划维护列表(分页)")
|
|
|
@SaCheckPermission("enrollmentplan:detail")
|
|
@@ -80,6 +86,49 @@ public class EnrollmentPlanController {
|
|
|
return RT.ok(pageOutput);
|
|
|
}
|
|
|
|
|
|
+ @GetMapping(value = "/preview-page")
|
|
|
+ @ApiOperation(value="预览招生计划")
|
|
|
+ @SaCheckPermission("enrollmentplan:detail")
|
|
|
+ public RT<PreviewEnrollmentPlanVo> previewPage(@Valid PreviewEnrollmentPlanDto dto){
|
|
|
+
|
|
|
+ MPJLambdaWrapper<EnrollmentPlan> queryWrapper = new MPJLambdaWrapper<>();
|
|
|
+ queryWrapper
|
|
|
+ .disableSubLogicDel()
|
|
|
+ .select(EnrollmentPlan::getId)
|
|
|
+ .selectAs(DictionaryDetail::getName, PreviewEnrollmentPlanVo::getEnrollTypeCn)
|
|
|
+ .selectAs(BaseGrade::getName, PreviewEnrollmentPlanVo::getGradeIdCn)
|
|
|
+ .select("(select sum(a.base_major_set_enrollment_num) from enrollment_plan_major_set a where a.enrollment_plan_id = t.id and a.delete_mark = 0) as enrollmentStuNum")
|
|
|
+ .select(EnrollmentPlan.class,x -> VoToColumnUtil.fieldsToColumns(PreviewEnrollmentPlanVo.class).contains(x.getProperty()))
|
|
|
+ .leftJoin(DictionaryDetail.class, DictionaryDetail::getCode, EnrollmentPlan::getEnrollType)
|
|
|
+ .leftJoin(BaseGrade.class, BaseGrade::getId, EnrollmentPlan::getGradeId)
|
|
|
+ .eq(EnrollmentPlan::getId, dto.getEnrollmentPlanId())
|
|
|
+ .eq(EnrollmentPlan::getDeleteMark, DeleteMark.NODELETE)
|
|
|
+ .orderByDesc(EnrollmentPlan::getStartDate)
|
|
|
+ ;
|
|
|
+ PreviewEnrollmentPlanVo result = enrollmentPlanService.selectJoinOne(PreviewEnrollmentPlanVo.class, queryWrapper);
|
|
|
+
|
|
|
+ if(result == null){
|
|
|
+ return RT.ok(result);
|
|
|
+ }
|
|
|
+
|
|
|
+ MPJLambdaWrapper<EnrollmentPlanMajorSet> queryWrapperPreviewEnrollmentPlanList = new MPJLambdaWrapper<>();
|
|
|
+ queryWrapperPreviewEnrollmentPlanList
|
|
|
+ .selectAs(BaseMajorSet::getStudyYear, PreviewEnrollmentPlanListVo::getStudyYear)
|
|
|
+ .selectAs(BaseMajorSet::getName, PreviewEnrollmentPlanListVo::getBaseMajorSetIdCn)
|
|
|
+ .selectAs(EnrollmentPlanMajorSet::getBaseMajorSetEnrollmentNum, PreviewEnrollmentPlanListVo::getBaseMajorSetEnrollmentNum)
|
|
|
+ .select("t3.name as baseMajorGradationIdCn")
|
|
|
+ .select("(select group_concat(b.name) from enrollment_plan_graduate_school a left join base_graduate_school b on a.base_graduate_school_id = b.id where a.enrollment_plan_major_set_id = t.id) as graduateSchool")
|
|
|
+ .leftJoin(BaseMajorSet.class, BaseMajorSet::getId, EnrollmentPlanMajorSet::getBaseMajorSetId)
|
|
|
+ .leftJoin(Department.class, Department::getId, BaseMajorSet::getDepartmentId)
|
|
|
+ .leftJoin("base_major_gradation t3 on t3.id = t1.major_gradation_id")
|
|
|
+ .eq(EnrollmentPlanMajorSet::getEnrollmentPlanId, dto.getEnrollmentPlanId())
|
|
|
+ .orderByDesc(BaseMajorSet::getMajorGradationId);
|
|
|
+ List<PreviewEnrollmentPlanListVo> previewEnrollmentPlanList = enrollmentPlanMajorSetService.selectJoinList(PreviewEnrollmentPlanListVo.class, queryWrapperPreviewEnrollmentPlanList);
|
|
|
+
|
|
|
+ result.setPreviewEnrollmentPlanListVoList(previewEnrollmentPlanList);
|
|
|
+ return RT.ok(result);
|
|
|
+ }
|
|
|
+
|
|
|
@GetMapping(value = "/info")
|
|
|
@ApiOperation(value="根据id查询招生计划维护信息")
|
|
|
@SaCheckPermission("enrollmentplan:detail")
|