不同等级方案、编号可重复

pull/230/MERGE^2
dxfeng 3 years ago
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);
}
@ -167,20 +162,20 @@ public class GradeServiceImpl extends Service implements GradeService {
long l = System.currentTimeMillis();
Map<String, Object> completeParams = levelBrowserBean.getCompleteParams();
completeParams.put("currenttime", l);
completeParams.put("scheme_id_"+ l,gradePO.getSchemeId());
completeParams.put("level_id_"+ l,"''");
completeParams.put("scheme_id_" + l, gradePO.getSchemeId());
completeParams.put("level_id_" + l, "''");
Map<String, Object> conditionDataParams = levelBrowserBean.getConditionDataParams();
conditionDataParams.put("currenttime", l);
conditionDataParams.put("scheme_id_"+ l,gradePO.getSchemeId());
conditionDataParams.put("level_id_"+ l,"''");
conditionDataParams.put("scheme_id_" + l, gradePO.getSchemeId());
conditionDataParams.put("level_id_" + l, "''");
Map<String, Object> dataParams = levelBrowserBean.getDataParams();
dataParams.put("currenttime", l);
dataParams.put("scheme_id_"+ l,gradePO.getSchemeId());
dataParams.put("level_id_"+ l,"''");
dataParams.put("scheme_id_" + l, gradePO.getSchemeId());
dataParams.put("level_id_" + l, "''");
Map<String, Object> destDataParams = levelBrowserBean.getDestDataParams();
destDataParams.put("currenttime", l);
destDataParams.put("scheme_id_"+ l,gradePO.getSchemeId());
destDataParams.put("level_id_"+ l,"''");
destDataParams.put("scheme_id_" + l, gradePO.getSchemeId());
destDataParams.put("level_id_" + l, "''");
levelBrowserItem.setBrowserConditionParam(levelBrowserBean);
@ -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…
Cancel
Save