Jelajahi Sumber

添加团队长渠道管理中机构只允许添加一个团队长

hxl13994548489 2 tahun lalu
induk
melakukan
d3307cab05

+ 8 - 0
src/main/java/com/ydtech/modules/admin/controller/SysUserController.java

@@ -645,6 +645,14 @@ public class SysUserController extends BaseController {
                 if (deptLevel != 6) {
                     throw new SystemException("团队长、代理人、出单员只能归属团队中");
                 }
+                //如果为团队长,判断是否已经存在团队长,存在不允许添加   add by  hxl  2024-05-07  ============begin
+                if(RoleConstants.R21.getCode().equals(sysUser.getRoleId())){
+                    int count= sysUserService.getCountByDeptAndRoleId(sysUser);
+                    if(count>0){
+                        throw new SystemException("该机构已存在团队长,不允许再添加!!");
+                    }
+                }
+                // =========================add by hxl   end ====================
             } else if (RoleConstants.R18.getCode().equals(sysUser.getRoleId())) { // 42 门店长
                 if (deptLevel != 5) {
                     throw new SystemException("机构管理员只能归属机构中");

+ 7 - 0
src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java

@@ -281,6 +281,13 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 
 
     List<SysUserBaseVO> getAgentUserIdsByAreaIds();
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/5/7 10:45
+     *  @Description:  通过角色id和部门id查询是否存在团队长
+     */
+    int getCountByDeptAndRoleId(@Param("user") SysUser sysUserVo);
 }
 
 

+ 7 - 1
src/main/java/com/ydtech/modules/admin/service/SysUserService.java

@@ -160,7 +160,13 @@ public interface SysUserService extends IService<SysUser> {
      *  @Description: 查询当前登陆人管理的渠道信息 ,即领导人为当前人的数据
      */
     List<String> getUserIdsByLeaderId(String userId);
-
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/5/7 10:44
+     *  @Description:  通过角色人id和部门查询是否存在团队长
+     */
+    int getCountByDeptAndRoleId(SysUser sysUserVo);
 }
 
 

+ 10 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -1297,6 +1297,16 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         findChildren(leadUsers, allUsers, strIds);
         return strIds;
     }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/5/7 10:45
+     *  @Description:  通过部门id和角色id查询是否存在团队长
+     */
+    @Override
+    public int getCountByDeptAndRoleId(SysUser sysUserVo) {
+        return sysUserMapper.getCountByDeptAndRoleId(sysUserVo);
+    }
 }
 
 

+ 12 - 0
src/main/resources/mapper/modules/admin/SysUserMapper.xml

@@ -924,4 +924,16 @@
             t3.role_id =20
           AND sd.management_source = 2
     </select>
+
+    <select id="getCountByDeptAndRoleId" resultType="Integer">
+        SELECT
+            count( 0 )
+        FROM
+            sys_user su
+                LEFT JOIN sys_user_role t3 ON su.id = t3.user_id
+                LEFT JOIN sys_role t4 ON t3.role_id = t4.id
+        WHERE
+            su.dept_id =  #{user.deptId}
+          AND t4.id = #{user.roleId}
+    </select>
 </mapper>