给用户模块增加检查当前机构是否存在经理

This commit is contained in:
季圣华
2023-02-21 00:28:59 +08:00
parent c80eb3611a
commit 1e58fbf8d6
5 changed files with 51 additions and 1 deletions

View File

@@ -67,6 +67,9 @@ public class ExceptionConstants {
//租户不能被删除
public static final int USER_LIMIT_TENANT_DELETE_CODE = 500008;
public static final String USER_LIMIT_TENANT_DELETE_MSG = "抱歉,租户不能被删除";
//当前机构已经存在经理
public static final int USER_LEADER_IS_EXIST_CODE = 500009;
public static final String USER_LEADER_IS_EXIST_MSG = "抱歉,当前机构已经存在经理";
/**
* 角色信息

View File

@@ -28,6 +28,8 @@ public class UserEx extends User{
private String expireTime;
private String leaderFlagStr;
public String getOrgAbr() {
return orgAbr;
}
@@ -99,4 +101,12 @@ public class UserEx extends User{
public void setExpireTime(String expireTime) {
this.expireTime = expireTime;
}
public String getLeaderFlagStr() {
return leaderFlagStr;
}
public void setLeaderFlagStr(String leaderFlagStr) {
this.leaderFlagStr = leaderFlagStr;
}
}

View File

@@ -32,4 +32,8 @@ public interface UserMapperEx {
List<TreeNodeEx> getNextNodeTree(Map<String, Object> parameterMap);
void disableUserByLimit(@Param("tenantId") Long tenantId);
List<User> getListByOrgaId(
@Param("id") Long id,
@Param("orgaId") Long orgaId);
}

View File

@@ -110,6 +110,14 @@ public class UserService {
userType = "普通";
}
ue.setUserType(userType);
//是否经理
String leaderFlagStr = "";
if("1".equals(ue.getLeaderFlag())) {
leaderFlagStr = "";
} else {
leaderFlagStr = "";
}
ue.setLeaderFlagStr(leaderFlagStr);
}
}catch(Exception e){
JshException.readFail(logger, e);
@@ -409,6 +417,14 @@ public class UserService {
//如果没有选择机构,就不建机构和用户的关联关系
return;
}
if(ue.getOrgaId()!=null && "1".equals(ue.getLeaderFlag())){
//检查当前机构是否存在经理
List<User> checkList = userMapperEx.getListByOrgaId(ue.getId(), ue.getOrgaId());
if(checkList.size()>0) {
throw new BusinessRunTimeException(ExceptionConstants.USER_LEADER_IS_EXIST_CODE,
ExceptionConstants.USER_LEADER_IS_EXIST_MSG);
}
}
//新增用户和机构关联关系
OrgaUserRel oul=new OrgaUserRel();
//机构id
@@ -554,6 +570,14 @@ public class UserService {
//如果没有选择机构,就不建机构和用户的关联关系
return;
}
if(ue.getOrgaId()!=null && "1".equals(ue.getLeaderFlag())){
//检查当前机构是否存在经理
List<User> checkList = userMapperEx.getListByOrgaId(ue.getId(), ue.getOrgaId());
if(checkList.size()>0) {
throw new BusinessRunTimeException(ExceptionConstants.USER_LEADER_IS_EXIST_CODE,
ExceptionConstants.USER_LEADER_IS_EXIST_MSG);
}
}
//更新用户和机构关联关系
OrgaUserRel oul = new OrgaUserRel();
//机构和用户关联关系id

View File

@@ -18,7 +18,7 @@
left join jsh_role r on ub.value=concat("[",r.id,"]") and ifnull(r.delete_flag,'0') !='1'
where ub.type='UserRole' and ub.key_id=tb.id limit 0,1) roleName
from (
select user.id, user.username, user.login_name, user.position, user.email, user.phonenum,
select user.id, user.username, user.login_name, user.position, user.leader_flag, user.email, user.phonenum,
user.description, user.remark,user.isystem,org.id as orgaId,user.tenant_id,user.status,org.org_abr,
rel.user_blng_orga_dspl_seq,rel.id as orgaUserRelId
FROM jsh_user user
@@ -135,4 +135,13 @@
update jsh_user set Status='2'
where tenant_id=#{tenantId} and id!=#{tenantId} and Status!='1'
</update>
<select id="getListByOrgaId" resultType="com.jsh.erp.datasource.entities.User">
select u.*,our.orga_id from jsh_user u
left join jsh_orga_user_rel our on u.id=our.user_id
where u.leader_flag='1' and orga_id= #{orgaId}
<if test="id != null">
and u.id != #{id}
</if>
</select>
</mapper>