|
|
@@ -10,6 +10,7 @@ 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;
|
|
|
@@ -227,6 +228,7 @@ public class BandingTaskClassServiceImpl extends MPJBaseServiceImpl<BandingTaskC
|
|
|
new QueryWrapper<BaseClass>().lambda()
|
|
|
.eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
.eq(BaseClass::getGradeId, task.getGradeId())
|
|
|
+ .eq(BaseClass::getEnrollType, task.getEnrollType())
|
|
|
);
|
|
|
|
|
|
Map<String, BaseClass> classMap = classList.stream().collect(Collectors.toMap(BaseClass::getName, x -> x));
|
|
|
@@ -320,6 +322,7 @@ public class BandingTaskClassServiceImpl extends MPJBaseServiceImpl<BandingTaskC
|
|
|
new QueryWrapper<BandingTask>().lambda()
|
|
|
.eq(BandingTask::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
.eq(BandingTask::getGradeId, baseClass.getGradeId())
|
|
|
+ .eq(BandingTask::getEnrollType, baseClass.getEnrollType())
|
|
|
.orderByDesc(BandingTask::getId)
|
|
|
.eq(BandingTask::getStatus, 0)
|
|
|
);
|
|
|
@@ -398,4 +401,37 @@ public class BandingTaskClassServiceImpl extends MPJBaseServiceImpl<BandingTaskC
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Boolean deleteClass(List<Long> ids) {
|
|
|
+ if(!ids.isEmpty()){
|
|
|
+ List<BandingTaskClassStudent> list = classStudentMapper.selectList(
|
|
|
+ new QueryWrapper<BandingTaskClassStudent>().lambda()
|
|
|
+ .in(BandingTaskClassStudent::getBandingTaskClassId, ids)
|
|
|
+ .eq(BandingTaskClassStudent::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ );
|
|
|
+ if(!list.isEmpty()){
|
|
|
+ throw new MyException("该班级下已分配学生,无法删除");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ List<BandingTaskClass> classList = this.listByIds(ids);
|
|
|
+ for (BandingTaskClass taskClass : classList) {
|
|
|
+
|
|
|
+ BandingTask bandingTask = bandingTaskMapper.selectById(taskClass.getBandingTaskId());
|
|
|
+ BaseClass baseClass = classMapper.selectOne(
|
|
|
+ new QueryWrapper<BaseClass>().lambda()
|
|
|
+ .eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ .eq(BaseClass::getGradeId, bandingTask.getGradeId())
|
|
|
+ .eq(BaseClass::getName, taskClass.getName())
|
|
|
+ .eq(BaseClass::getIsGraduate, 1)
|
|
|
+ .eq(BaseClass::getEnrollType, bandingTask.getEnrollType())
|
|
|
+ );
|
|
|
+
|
|
|
+ classMapper.deleteById(baseClass);
|
|
|
+ this.removeById(taskClass);
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
}
|