|
|
@@ -2,6 +2,7 @@ package com.xjrsoft.module.banding.service.impl;
|
|
|
|
|
|
import cn.dev33.satoken.stp.StpUtil;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.util.NumberUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
|
|
@@ -28,8 +29,10 @@ import com.xjrsoft.module.banding.vo.BandingTaskClassStudentListVo;
|
|
|
import com.xjrsoft.module.banding.vo.BandingTaskClassSureListVo;
|
|
|
import com.xjrsoft.module.base.entity.BaseClass;
|
|
|
import com.xjrsoft.module.base.entity.BaseClassroom;
|
|
|
+import com.xjrsoft.module.base.entity.BaseGrade;
|
|
|
import com.xjrsoft.module.base.entity.BaseMajorSet;
|
|
|
import com.xjrsoft.module.base.mapper.BaseClassMapper;
|
|
|
+import com.xjrsoft.module.base.mapper.BaseGradeMapper;
|
|
|
import com.xjrsoft.module.base.service.IBaseClassroomService;
|
|
|
import com.xjrsoft.module.base.service.IBaseMajorSetService;
|
|
|
import com.xjrsoft.module.organization.entity.User;
|
|
|
@@ -52,6 +55,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.Comparator;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
@@ -78,6 +83,7 @@ public class BandingTaskClassServiceImpl extends MPJBaseServiceImpl<BandingTaskC
|
|
|
private final StudentReportRecordMapper reportRecordMapper;
|
|
|
private final EnrollmentPlanMapper enrollmentPlanMapper;
|
|
|
private final IStudentReportPlanService reportPlanService;
|
|
|
+ private final BaseGradeMapper gradeMapper;
|
|
|
|
|
|
|
|
|
@Override
|
|
|
@@ -245,6 +251,8 @@ public class BandingTaskClassServiceImpl extends MPJBaseServiceImpl<BandingTaskC
|
|
|
.eq(BaseClass::getGradeId, task.getGradeId())
|
|
|
.eq(BaseClass::getEnrollType, task.getEnrollType())
|
|
|
);
|
|
|
+ Collections.sort(classList, Comparator.nullsLast(Comparator.comparing(BaseClass::getCode)));
|
|
|
+ String classCode = classList.get(0).getCode();
|
|
|
|
|
|
Map<Long, BaseClass> classMap = classList.stream().collect(Collectors.toMap(BaseClass::getId, x -> x));
|
|
|
|
|
|
@@ -252,8 +260,13 @@ public class BandingTaskClassServiceImpl extends MPJBaseServiceImpl<BandingTaskC
|
|
|
new QueryWrapper<BaseMajorSet>().lambda()
|
|
|
.eq(BaseMajorSet::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
);
|
|
|
- Map<Long, Long> majorDeptMap = majorSetList.stream().collect(Collectors.toMap(BaseMajorSet::getId, BaseMajorSet::getDepartmentId));
|
|
|
|
|
|
+ Map<Long, Long> majorDeptMap = majorSetList.stream().collect(Collectors.toMap(BaseMajorSet::getId, BaseMajorSet::getDepartmentId));
|
|
|
+ BaseGrade baseGrade = gradeMapper.selectById(task.getGradeId());
|
|
|
+ int i = 0;
|
|
|
+ if(NumberUtil.isNumber(classCode)){
|
|
|
+ i = Integer.parseInt(classCode.trim().substring(classCode.length() - 3));
|
|
|
+ }
|
|
|
for (UpdateBandingClassDto dto : dtoList) {
|
|
|
if(dto.getSortCode() != null){
|
|
|
List<BandingTaskClass> list = this.list(
|
|
|
@@ -285,6 +298,7 @@ public class BandingTaskClassServiceImpl extends MPJBaseServiceImpl<BandingTaskC
|
|
|
baseClass.setEnrollType(task.getEnrollType());
|
|
|
classMapper.updateById(baseClass);
|
|
|
}else{
|
|
|
+ i ++;
|
|
|
BaseClass baseClass = new BaseClass();
|
|
|
baseClass.setClassType(sourceObj.getClassType());
|
|
|
baseClass.setTeacherId(sourceObj.getTeacherId());
|
|
|
@@ -298,6 +312,7 @@ public class BandingTaskClassServiceImpl extends MPJBaseServiceImpl<BandingTaskC
|
|
|
baseClass.setIsGraduate(1);
|
|
|
baseClass.setCreateUserId(StpUtil.getLoginIdAsLong());
|
|
|
baseClass.setCreateDate(new Date());
|
|
|
+ baseClass.setCode(baseGrade.getTitle().replace("年", "") + String.format("%03d", i));
|
|
|
classMapper.insert(baseClass);
|
|
|
sourceObj.setBaseClassId(baseClass.getId());
|
|
|
}
|
|
|
@@ -308,6 +323,7 @@ public class BandingTaskClassServiceImpl extends MPJBaseServiceImpl<BandingTaskC
|
|
|
}
|
|
|
}else{
|
|
|
//新增
|
|
|
+ i ++;
|
|
|
BandingTaskClass taskClass = BeanUtil.toBean(dto, BandingTaskClass.class);
|
|
|
taskClass.setCreateDate(new Date());
|
|
|
|
|
|
@@ -324,6 +340,7 @@ public class BandingTaskClassServiceImpl extends MPJBaseServiceImpl<BandingTaskC
|
|
|
baseClass.setIsGraduate(1);
|
|
|
baseClass.setCreateUserId(StpUtil.getLoginIdAsLong());
|
|
|
baseClass.setCreateDate(new Date());
|
|
|
+ baseClass.setCode(baseGrade.getTitle().replace("年", "") + String.format("%03d", i));
|
|
|
classMapper.insert(baseClass);
|
|
|
|
|
|
taskClass.setBaseClassId(baseClass.getId());
|