From 1e58fbf8d6ce03cf71de3bd03418be44f422aabf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <752718920@qq.com> Date: Tue, 21 Feb 2023 00:28:59 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=99=E7=94=A8=E6=88=B7=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A3=80=E6=9F=A5=E5=BD=93=E5=89=8D=E6=9C=BA?= =?UTF-8?q?=E6=9E=84=E6=98=AF=E5=90=A6=E5=AD=98=E5=9C=A8=E7=BB=8F=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsh/erp/constants/ExceptionConstants.java | 3 +++ .../jsh/erp/datasource/entities/UserEx.java | 10 ++++++++ .../erp/datasource/mappers/UserMapperEx.java | 4 ++++ .../com/jsh/erp/service/user/UserService.java | 24 +++++++++++++++++++ .../resources/mapper_xml/UserMapperEx.xml | 11 ++++++++- 5 files changed, 51 insertions(+), 1 deletion(-) diff --git a/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java b/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java index 96f6ffc3..ed67df9d 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/constants/ExceptionConstants.java @@ -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 = "抱歉,当前机构已经存在经理"; /** * 角色信息 diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/UserEx.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/UserEx.java index ecc2f3c9..54ba2847 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/UserEx.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/entities/UserEx.java @@ -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; + } } diff --git a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/UserMapperEx.java b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/UserMapperEx.java index 4e15d0c5..800df836 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/UserMapperEx.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/datasource/mappers/UserMapperEx.java @@ -32,4 +32,8 @@ public interface UserMapperEx { List getNextNodeTree(Map parameterMap); void disableUserByLimit(@Param("tenantId") Long tenantId); + + List getListByOrgaId( + @Param("id") Long id, + @Param("orgaId") Long orgaId); } \ No newline at end of file diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/user/UserService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/user/UserService.java index bc0b34c5..a53b437f 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/user/UserService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/user/UserService.java @@ -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 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 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 diff --git a/jshERP-boot/src/main/resources/mapper_xml/UserMapperEx.xml b/jshERP-boot/src/main/resources/mapper_xml/UserMapperEx.xml index 2a1fb721..d09cb2c6 100644 --- a/jshERP-boot/src/main/resources/mapper_xml/UserMapperEx.xml +++ b/jshERP-boot/src/main/resources/mapper_xml/UserMapperEx.xml @@ -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' + + \ No newline at end of file