瀏覽代碼

班级专业调整

dzx 1 年之前
父節點
當前提交
612adcd84e

+ 27 - 1
src/main/java/com/xjrsoft/module/base/controller/BaseClassController.java

@@ -3,6 +3,7 @@ package com.xjrsoft.module.base.controller;
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xjrsoft.common.enums.DeleteMark;
 import com.xjrsoft.common.enums.EnabledMark;
@@ -16,6 +17,8 @@ import com.xjrsoft.module.base.entity.BaseClass;
 import com.xjrsoft.module.base.service.IBaseClassService;
 import com.xjrsoft.module.base.vo.BaseClassPageVo;
 import com.xjrsoft.module.base.vo.BaseClassVo;
+import com.xjrsoft.module.student.entity.BaseClassMajorSet;
+import com.xjrsoft.module.student.service.IBaseClassMajorSetService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -44,6 +47,7 @@ import java.util.List;
 @AllArgsConstructor
 public class BaseClassController {
     private final IBaseClassService baseClassService;
+    private final IBaseClassMajorSetService majorSetService;
 
     @GetMapping(value = "/page")
     @ApiOperation(value="班级列表(分页)")
@@ -83,6 +87,14 @@ public class BaseClassController {
         baseClass.setEnabledMark(EnabledMark.ENABLED.getCode());
         baseClass.setCreateUserId(StpUtil.getLoginIdAsLong());
         boolean isSuccess = baseClassService.save(baseClass);
+
+        if(isSuccess){
+            BaseClassMajorSet majorSet = new BaseClassMajorSet();
+            majorSet.setClassId(baseClass.getId());
+            majorSet.setMajorSetId(dto.getMajorSetId());
+            majorSet.setCreateDate(new Date());
+            majorSetService.save(majorSet);
+        }
         return RT.ok(isSuccess);
     }
 
@@ -94,6 +106,20 @@ public class BaseClassController {
         BaseClass baseClass = BeanUtil.toBean(dto, BaseClass.class);
         baseClass.setModifyDate(new Date());
         baseClass.setModifyUserId(StpUtil.getLoginIdAsLong());
-        return RT.ok(baseClassService.updateById(baseClass));
+        boolean update = baseClassService.updateById(baseClass);
+        if(update){
+            BaseClassMajorSet majorSet = majorSetService.getOne(
+                    new QueryWrapper<BaseClassMajorSet>().lambda()
+                            .eq(BaseClassMajorSet::getClassId, baseClass.getId())
+            );
+            if(majorSet != null){
+                majorSet.setClassId(baseClass.getId());
+                majorSet.setMajorSetId(dto.getMajorSetId());
+                majorSet.setModifyDate(new Date());
+                majorSetService.updateById(majorSet);
+            }
+        }
+
+        return RT.ok(update);
     }
 }

+ 2 - 0
src/main/java/com/xjrsoft/module/base/dto/AddBaseClassPageDto.java

@@ -43,4 +43,6 @@ public class AddBaseClassPageDto implements Serializable {
     @ApiModelProperty("班级类型(xjr_dictionary_item[class_type])")
     private String classType;
 
+    @ApiModelProperty("专业方向id(base_major_set)")
+    private Long majorSetId;
 }

+ 3 - 0
src/main/java/com/xjrsoft/module/base/entity/BaseClass.java

@@ -73,4 +73,7 @@ public class BaseClass implements Serializable {
 
     @ApiModelProperty("班级类型(xjr_dictionary_item[class_type])")
     private String classType;
+
+    @ApiModelProperty("专业方向id(base_major_set)")
+    private Long majorSetId;
 }

+ 5 - 0
src/main/java/com/xjrsoft/module/base/vo/BaseClassPageVo.java

@@ -52,4 +52,9 @@ public class BaseClassPageVo {
     @ApiModelProperty("机构名称")
     private String orgName;
 
+    @ApiModelProperty("专业方向id(base_major_set)")
+    private Long majorSetId;
+
+    @ApiModelProperty("专业方向名称")
+    private Long majorSetName;
 }

+ 3 - 0
src/main/java/com/xjrsoft/module/base/vo/BaseClassVo.java

@@ -68,4 +68,7 @@ public class BaseClassVo {
     @ApiModelProperty("班级类型(xjr_dictionary_item[class_type])")
     private String classType;
 
+    @ApiModelProperty("专业方向id(base_major_set)")
+    private Long majorSetId;
+
 }

+ 3 - 1
src/main/resources/mapper/base/BaseClass.xml

@@ -25,13 +25,15 @@
         LEFT JOIN base_student_school_roll a2 ON a1.id = a2.user_id
         WHERE a1.delete_mark = 0 AND a2.delete_mark = 0
         AND a2.class_id = t1.id AND a2.stduy_status = 'FB3001'
-        AND a2.archives_status = 'FB2901') AS not_stay_count,t7.name AS org_name FROM base_class t1
+        AND a2.archives_status = 'FB2901') AS not_stay_count,t7.name AS org_name,
+        t8.name as major_set_name,t1.major_set_id FROM base_class t1
         LEFT JOIN xjr_user t2 ON t1.teacher_id = t2.id
         LEFT JOIN xjr_dictionary_detail t3 ON t3.code = t1.enroll_type AND t3.item_id = 2023000000000000027
         LEFT JOIN xjr_dictionary_detail t5 ON t5.code = t1.class_type AND t5.item_id = 1784405535724978177
         LEFT JOIN base_grade t4 ON t1.grade_id = t4.id
         LEFT JOIN base_classroom t6 ON t1.classroom_id = t6.id
         LEFT JOIN xjr_department t7 ON t1.org_id = t7.id
+        left join base_major_set t8 on t1.major_set_id = t8.id
         WHERE t1.delete_mark = 0
         <if test="dto.name != null and dto.name != ''">
             and t1.name like concat('%', #{dto.name}, '%')