Explorar el Código

开始分班计划时,自动初始化班级数据

dzx hace 9 meses
padre
commit
77ed1f5ee0

+ 3 - 0
src/main/java/com/xjrsoft/module/banding/controller/BandingTaskController.java

@@ -18,6 +18,7 @@ import com.xjrsoft.module.banding.entity.BandingRule;
 import com.xjrsoft.module.banding.entity.BandingTask;
 import com.xjrsoft.module.banding.entity.BandingTaskRule;
 import com.xjrsoft.module.banding.service.IBandingRuleService;
+import com.xjrsoft.module.banding.service.IBandingTaskClassService;
 import com.xjrsoft.module.banding.service.IBandingTaskRuleService;
 import com.xjrsoft.module.banding.service.IBandingTaskService;
 import com.xjrsoft.module.banding.vo.BandingTaskPageVo;
@@ -58,6 +59,7 @@ public class BandingTaskController {
     private final IBandingTaskService bandingTaskService;
     private final IBandingRuleService ruleService;
     private final IBandingTaskRuleService taskRuleService;
+    private final IBandingTaskClassService bandingTaskClassService;
 
     @GetMapping(value = "/page")
     @ApiOperation(value="新生分班任务列表(分页)")
@@ -95,6 +97,7 @@ public class BandingTaskController {
         }
         BandingTask bandingTask = BeanUtil.toBean(dto, BandingTask.class);
         boolean isSuccess = bandingTaskService.add(bandingTask);
+        bandingTaskClassService.initClassByBaseClass(bandingTask);
         return RT.ok(isSuccess);
     }
 

+ 3 - 0
src/main/java/com/xjrsoft/module/banding/service/IBandingTaskClassService.java

@@ -4,6 +4,7 @@ import com.github.yulichang.base.MPJBaseService;
 import com.xjrsoft.module.banding.dto.BandingTaskClassPageDto;
 import com.xjrsoft.module.banding.dto.BandingTaskClassStudentPageDto;
 import com.xjrsoft.module.banding.dto.UpdateBandingClassDto;
+import com.xjrsoft.module.banding.entity.BandingTask;
 import com.xjrsoft.module.banding.entity.BandingTaskClass;
 import com.xjrsoft.module.banding.vo.BandingTaskClassPageVo;
 import com.xjrsoft.module.banding.vo.BandingTaskClassStudentListVo;
@@ -62,4 +63,6 @@ public interface IBandingTaskClassService extends MPJBaseService<BandingTaskClas
 
 
     Boolean updateByBaseClass(BaseClass baseClass);
+
+    Boolean initClassByBaseClass(BandingTask bandingTask);
 }

+ 33 - 2
src/main/java/com/xjrsoft/module/banding/service/impl/BandingTaskClassServiceImpl.java

@@ -10,7 +10,6 @@ import com.xjrsoft.common.enums.DeleteMark;
 import com.xjrsoft.common.enums.EnabledMark;
 import com.xjrsoft.common.enums.YesOrNoEnum;
 import com.xjrsoft.common.exception.MyException;
-import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.banding.dto.BandingTaskClassPageDto;
 import com.xjrsoft.module.banding.dto.BandingTaskClassStudentPageDto;
@@ -38,7 +37,6 @@ import com.xjrsoft.module.system.entity.DictionaryItem;
 import com.xjrsoft.module.system.mapper.DictionarydetailMapper;
 import com.xjrsoft.module.teacher.entity.BaseTeacher;
 import lombok.AllArgsConstructor;
-import org.camunda.bpm.engine.TaskService;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -358,4 +356,37 @@ public class BandingTaskClassServiceImpl extends MPJBaseServiceImpl<BandingTaskC
         }
         return true;
     }
+
+    /**
+     * 新增分班任务后,自动初始化班级数据
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean initClassByBaseClass(BandingTask bandingTask) {
+        List<BaseClass> classList = classMapper.selectList(
+                new QueryWrapper<BaseClass>().lambda()
+                        .eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode())
+                        .eq(BaseClass::getGradeId, bandingTask.getGradeId())
+        );
+        List<BandingTaskClass> insList = new ArrayList<>();//新增班级
+        for (BaseClass baseClass : classList) {
+            BandingTaskClass one = new BandingTaskClass();
+            one.setBandingTaskId(bandingTask.getId());
+            one.setIsOrderClass(baseClass.getIsOrderClass());
+            one.setClassType(baseClass.getClassType());
+            one.setTeacherId(baseClass.getTeacherId());
+            one.setMajorSetId(baseClass.getMajorSetId());
+            one.setClassroomId(baseClass.getClassroomId());
+            one.setDeleteMark(DeleteMark.NODELETE.getCode());
+            one.setCreateDate(new Date());
+            one.setEnabledMark(EnabledMark.ENABLED.getCode());
+            one.setName(baseClass.getName());
+            one.setCreateUserId(StpUtil.getLoginIdAsLong());
+            insList.add(one);
+        }
+        if(!insList.isEmpty()){
+           this.saveBatch(insList);
+        }
+        return true;
+    }
 }