|
|
@@ -20,7 +20,9 @@ import com.xjrsoft.module.base.dto.AddBaseClassPageDto;
|
|
|
import com.xjrsoft.module.base.dto.BaseClassPageDto;
|
|
|
import com.xjrsoft.module.base.dto.UpdateBaseClassPageDto;
|
|
|
import com.xjrsoft.module.base.entity.BaseClass;
|
|
|
+import com.xjrsoft.module.base.entity.BaseGrade;
|
|
|
import com.xjrsoft.module.base.mapper.BaseClassMapper;
|
|
|
+import com.xjrsoft.module.base.mapper.BaseGradeMapper;
|
|
|
import com.xjrsoft.module.base.service.IBaseClassService;
|
|
|
import com.xjrsoft.module.base.vo.BaseClassPageVo;
|
|
|
import com.xjrsoft.module.base.vo.StudentClassVo;
|
|
|
@@ -59,6 +61,8 @@ public class BaseClassServiceImpl extends MPJBaseServiceImpl<BaseClassMapper, Ba
|
|
|
|
|
|
private final IBandingTaskClassService bandingTaskClassService;
|
|
|
|
|
|
+ private final BaseGradeMapper gradeMapper;
|
|
|
+
|
|
|
/**
|
|
|
* 获取家长关联的学生 id 是家长的ID
|
|
|
*
|
|
|
@@ -161,6 +165,7 @@ public class BaseClassServiceImpl extends MPJBaseServiceImpl<BaseClassMapper, Ba
|
|
|
baseClass.setCreateDate(new Date());
|
|
|
baseClass.setEnabledMark(EnabledMark.ENABLED.getCode());
|
|
|
baseClass.setCreateUserId(StpUtil.getLoginIdAsLong());
|
|
|
+ baseClass.setCode(initClassCode(baseClass.getGradeId()));
|
|
|
if (baseClass.getTeacherId() != null) {
|
|
|
//查询该班主任是否是其他在读班级
|
|
|
long count = this.count(
|
|
|
@@ -224,10 +229,21 @@ public class BaseClassServiceImpl extends MPJBaseServiceImpl<BaseClassMapper, Ba
|
|
|
.ne(BaseClass::getId, dto.getId())
|
|
|
);
|
|
|
if (count > 0) {
|
|
|
- throw new MyException("该老师已是其他在读班级班主任,无法添加");
|
|
|
+ throw new MyException("该老师已是其他在读班级班主任,无法修改");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(!aClass.getCode().equals(dto.getCode())){
|
|
|
+ List<BaseClass> list = this.list(
|
|
|
+ new QueryWrapper<BaseClass>().lambda()
|
|
|
+ .eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ .eq(BaseClass::getCode, dto.getCode())
|
|
|
+ );
|
|
|
+ if(!list.isEmpty()){
|
|
|
+ throw new MyException("班级编码已存在,无法修改");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
BaseClass baseClass = BeanUtil.toBean(dto, BaseClass.class);
|
|
|
baseClass.setModifyDate(new Date());
|
|
|
baseClass.setModifyUserId(StpUtil.getLoginIdAsLong());
|
|
|
@@ -291,4 +307,28 @@ public class BaseClassServiceImpl extends MPJBaseServiceImpl<BaseClassMapper, Ba
|
|
|
return update;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据年级,查询并生成最新的classCode
|
|
|
+ * @param gradeId 年级id
|
|
|
+ * @return classCode
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public String initClassCode(Long gradeId) {
|
|
|
+ BaseGrade baseGrade = gradeMapper.selectById(gradeId);
|
|
|
+ String year = baseGrade.getTitle().replace("年", "");
|
|
|
+ List<BaseClass> list = this.list(
|
|
|
+ new QueryWrapper<BaseClass>().lambda()
|
|
|
+ .eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ .eq(BaseClass::getGradeId, gradeId)
|
|
|
+ .orderByDesc(BaseClass::getCode)
|
|
|
+ );
|
|
|
+ if(!list.isEmpty()){
|
|
|
+ String code = list.get(0).getCode();
|
|
|
+ code = code.trim().substring(code.length() - 3);
|
|
|
+
|
|
|
+ return year + String.format("%03d", Integer.parseInt(code) + 1);
|
|
|
+ }
|
|
|
+ return year + "001";
|
|
|
+ }
|
|
|
+
|
|
|
}
|