不同等级方案、编号可重复
This commit is contained in:
parent
6765fd8fc4
commit
120b4efdba
|
|
@ -91,4 +91,5 @@ public interface GradeMapper {
|
|||
GradePO getGradeByLevelId(@Param("levelId") long levelId);
|
||||
|
||||
|
||||
int checkRepeatNo(@Param("schemeId") Long schemeId, @Param("no") String no, @Param("id") Long id);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -245,9 +245,20 @@
|
|||
<select id="getGradeByLevelId" resultType="com.engine.organization.entity.scheme.po.GradePO">
|
||||
select
|
||||
<include refid="baseColumns"/>
|
||||
from jcl_org_grade t where
|
||||
from jcl_org_grade t where delete_type = 0
|
||||
<include refid="likeSQL"/>
|
||||
</select>
|
||||
<select id="checkRepeatNo" resultType="java.lang.Integer">
|
||||
select
|
||||
count(1)
|
||||
from jcl_org_grade
|
||||
where delete_type = 0
|
||||
and scheme_id =#{schemeId}
|
||||
and grade_no = #{no}
|
||||
<if test=" id!=null ">
|
||||
and id != #{id}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<sql id="likeSQL">
|
||||
concat(',', level_id, ',') like concat('%,', cast(#{levelId} as CHAR), ',%')
|
||||
|
|
|
|||
|
|
@ -98,4 +98,6 @@ public interface LevelMapper {
|
|||
ArrayList<TreeData> getTreeData();
|
||||
|
||||
List<LevelPO> getLevelsByIds(@Param("ids")Collection<Long> ids);
|
||||
|
||||
int checkRepeatNo(@Param("schemeId") Long schemeId, @Param("no") String no, @Param("id") Long id);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -89,6 +89,17 @@
|
|||
#{id}
|
||||
</foreach>
|
||||
</select>
|
||||
<select id="checkRepeatNo" resultType="java.lang.Integer">
|
||||
select
|
||||
count(1)
|
||||
from jcl_org_level
|
||||
where delete_type = 0
|
||||
and scheme_id =#{schemeId}
|
||||
and level_no = #{no}
|
||||
<if test=" id!=null ">
|
||||
and id != #{id}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<update id="updateLevel" parameterType="com.engine.organization.entity.scheme.po.LevelPO">
|
||||
update jcl_org_level
|
||||
|
|
|
|||
|
|
@ -73,8 +73,7 @@ public class GradeServiceImpl extends Service implements GradeService {
|
|||
@Override
|
||||
public int saveGrade(GradeSearchParam param) {
|
||||
HasRightUtil.hasRight(user, RIGHT_NAME, false);
|
||||
List<GradePO> list = getGradeMapper().listByNo(Util.null2String(param.getGradeNo()));
|
||||
OrganizationAssert.isEmpty(list, "编号不允许重复");
|
||||
OrganizationAssert.isTrue(checkRepeatNo(param.getSchemeId(), param.getGradeNo(), null), "同一等级方案下编号不能重复");
|
||||
GradePO gradePO = GradeDTO.convertParamToPO(param, (long) user.getUID());
|
||||
return getGradeMapper().insertIgnoreNull(gradePO);
|
||||
}
|
||||
|
|
@ -83,11 +82,7 @@ public class GradeServiceImpl extends Service implements GradeService {
|
|||
public int updateGrade(GradeSearchParam param) {
|
||||
HasRightUtil.hasRight(user, RIGHT_NAME, false);
|
||||
GradePO gradePO = GradeDTO.convertParamToPO(param, (long) user.getUID());
|
||||
String oldGradeNo = getGradeMapper().getGradeByID(gradePO.getId()).getGradeNo();
|
||||
if (!oldGradeNo.equals(gradePO.getGradeNo())) {
|
||||
List<GradePO> list = getGradeMapper().listByNo(Util.null2String(param.getGradeNo()));
|
||||
OrganizationAssert.isEmpty(list, "编号不允许重复");
|
||||
}
|
||||
OrganizationAssert.isTrue(checkRepeatNo(gradePO.getSchemeId(), gradePO.getGradeNo(), gradePO.getId()), "同一等级方案下编号不能重复");
|
||||
return getGradeMapper().updateGrade(gradePO);
|
||||
}
|
||||
|
||||
|
|
@ -253,4 +248,11 @@ public class GradeServiceImpl extends Service implements GradeService {
|
|||
return sqlWhere;
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验重复编号
|
||||
*/
|
||||
private boolean checkRepeatNo(Long schemeId, String no, Long id) {
|
||||
return 0 == getGradeMapper().checkRepeatNo(schemeId, no, id);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ public class LevelServiceImpl extends Service implements LevelService {
|
|||
public int saveLevel(LevelSearchParam param) {
|
||||
HasRightUtil.hasRight(user, RIGHT_NAME, false);
|
||||
List<LevelPO> list = getLevelMapper().listByNo(Util.null2String(param.getLevelNo()));
|
||||
OrganizationAssert.isEmpty(list, "编号不允许重复");
|
||||
OrganizationAssert.isTrue(checkRepeatNo(param.getSchemeId(), param.getLevelNo(), null), "同一等级方案下编号不能重复");
|
||||
LevelPO levelPO = LevelDTO.convertParamToPO(param, (long) user.getUID());
|
||||
return getLevelMapper().insertIgnoreNull(levelPO);
|
||||
}
|
||||
|
|
@ -79,12 +79,7 @@ public class LevelServiceImpl extends Service implements LevelService {
|
|||
public int updateLevel(LevelSearchParam param) {
|
||||
HasRightUtil.hasRight(user, RIGHT_NAME, false);
|
||||
LevelPO levelPO = LevelDTO.convertParamToPO(param, (long) user.getUID());
|
||||
// 更新前先查询下旧编号,
|
||||
String oldLevelNo = getLevelMapper().getLevelByID(levelPO.getId()).getLevelNo();
|
||||
if (!oldLevelNo.equals(levelPO.getLevelNo())) {
|
||||
List<LevelPO> list = getLevelMapper().listByNo(Util.null2String(levelPO.getLevelNo()));
|
||||
OrganizationAssert.isEmpty(list, "编号不允许重复");
|
||||
}
|
||||
OrganizationAssert.isTrue(checkRepeatNo(levelPO.getSchemeId(), levelPO.getLevelNo(), levelPO.getId()), "同一等级方案下编号不能重复");
|
||||
return getLevelMapper().updateLevel(levelPO);
|
||||
}
|
||||
|
||||
|
|
@ -220,4 +215,11 @@ public class LevelServiceImpl extends Service implements LevelService {
|
|||
}
|
||||
return sqlWhere;
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验重复编号
|
||||
*/
|
||||
private boolean checkRepeatNo(Long schemeId, String no, Long id) {
|
||||
return 0 == getLevelMapper().checkRepeatNo(schemeId, no, id);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue