Forráskód Böngészése

1.控制台代理人树形

wuhp 1 éve
szülő
commit
31aa7e5a6a

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

@@ -456,6 +456,9 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
      *  @Description: 分页查询人员数据
      */
     Page<QxFrontlineAgentDto> findUserListByParam(@Param("page") Page page, @Param("vo") QxFrontlineAgentVo qxFrontlineAgentVo);
+
+    List<SysUser> getAllAgent(String pid ,  List<String>  ids);
+
 }
 
 

+ 4 - 0
src/main/java/com/ydtech/modules/admin/model/SysUser.java

@@ -160,6 +160,10 @@ public class SysUser extends BaseEntity {
     @TableField(exist = false)
     private String pdeptId;
 
+    @ApiModelProperty(value = "用户父id")
+    @TableField(exist = false)
+    private String parentId;
+
 
     @TableField(exist = false)
     @Excel(name = "状态")

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

@@ -248,7 +248,11 @@ public interface SysUserService extends BaseIService<SysUser> {
      */
     List<SysUser> findNextTree();
 
-
+    /**
+     * 获取当前用户的所有代理人
+     * @return
+     */
+    List<SysUser> findNextAgentTree(String pid);
 }
 
 

+ 19 - 11
src/main/java/com/ydtech/modules/admin/service/impl/SysMenuServiceImpl.java

@@ -9,6 +9,7 @@ import com.ydtech.modules.admin.model.SysRoleMenu;
 import com.ydtech.modules.admin.service.SysMenuService;
 import com.ydtech.modules.admin.service.SysRoleMenuKztService;
 import com.ydtech.modules.admin.service.SysRoleMenuService;
+import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -187,18 +188,25 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu>
         List<SysMenu> sysMenus = new ArrayList<>();
 
         List<SysMenu> menus = sysRoleMenuKztService.findMenuIdsByRoleId(roleId,sysType);
-
-        for (SysMenu menu : menus) {
-            if (menu.getParentId() == null || menu.getParentId().equalsIgnoreCase("0")) {
-                menu.setLevel(0);
-                if (!exists(sysMenus, menu)) {
-                    sysMenus.add(menu);
-                }
-            }
-        }
-        sysMenus.sort((o1, o2) -> o1.getOrderNum().compareTo(o2.getOrderNum()));
+//        for (SysMenu menu : menus) {
+//            if (menu.getParentId() == null || menu.getParentId().equalsIgnoreCase("0")) {
+//                menu.setLevel(0);
+//                if (!exists(sysMenus, menu)) {
+//                    sysMenus.add(menu);
+//                }
+//            }else {
+//                SysMenu pidSysMenu = baseMapper.selectById(menu.getParentId());
+//                if(ObjectUtils.isNotEmpty(pidSysMenu)){
+//                    pidSysMenu.setLevel(0);
+//                    if (!exists(sysMenus, pidSysMenu)) {
+//                        sysMenus.add(pidSysMenu);
+//                    }
+//                }
+//            }
+//        }
+//        sysMenus.sort((o1, o2) -> o1.getOrderNum().compareTo(o2.getOrderNum()));
         findChildren(sysMenus, menus, 0);
-        return sysMenus;
+        return menus;
     }
     /**
      *  @version

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

@@ -16,6 +16,7 @@ import com.ydtech.modules.admin.constants.QuMarks;
 import com.ydtech.modules.admin.constants.RoleConstants;
 import com.ydtech.modules.admin.constants.SystemType;
 import com.ydtech.modules.admin.constants.UserWorkStatus;
+import com.ydtech.modules.admin.dao.SysUserLinkAreaMapper;
 import com.ydtech.modules.admin.dao.SysUserMapper;
 import com.ydtech.modules.admin.model.*;
 import com.ydtech.modules.admin.model.dto.IpInfoDto;
@@ -88,6 +89,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Autowired
     private SysPcAddressService sysPcAddressService;
 
+    @Autowired
+    private SysUserLinkAreaMapper sysUserLinkAreaMapper;
+
     @Override
     public IPage<SysUserBaseVO> findUserList(PageDto<SysUserDto> pageDto) {
         PageVo<SysUserBaseVO> pageVo = new PageVo();
@@ -1632,4 +1636,23 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             return topUsers;
         }
     }
+    @Override
+    public List<SysUser> findNextAgentTree(String pid) {
+        //查询所有的代理人
+        //查询绑定的区域的代理人信息
+        String userId = BaseController.getUser().getId();
+
+        if("admin".equals(userId)){
+            return sysUserMapper.getAllAgent(pid,null);
+        }
+
+        List<String> agentUserIds = new ArrayList<>();
+        List<String> areaCodes = sysUserLinkAreaMapper.findAreaCodeByUserId(userId);
+        if (areaCodes != null && !areaCodes.isEmpty()){
+            agentUserIds = sysUserLinkAreaMapper.findAreaIdsByAgentUserId(userId, areaCodes);
+            return  sysUserMapper.getAllAgent(pid,agentUserIds);
+        }else {
+            return  new ArrayList<>();
+        }
+    }
 }

+ 2 - 0
src/main/java/com/ydtech/modules/admin/utils/KztGetDeptUtils.java

@@ -75,11 +75,13 @@ public class KztGetDeptUtils {
                 resultDto.setType("1");
             }
         } else if ("3".equals(dataPermissionId)) {
+
             ApplicationContext applicationContext = SpringContextUtil.getApplicationContext();
             EsmUserReferrerService dataPermissionMapper = applicationContext.getBean(EsmUserReferrerService.class);
 
             List<String> ids = new ArrayList<>();
             List<String> userList = dataPermissionMapper.getUpUser(userId,ids); // 假设此方法直接返回用户列表
+            userList.add(userId);  //添加本人
             if (!userList.isEmpty()) {
                 resultDto.setIds(userList);
                 resultDto.setType("2");

+ 1 - 1
src/main/java/com/ydtech/modules/fnc/service/impl/ImportAsyncServiceImpl.java

@@ -517,7 +517,7 @@ public class ImportAsyncServiceImpl extends ServiceImpl<ImportAsyncMapper, Impor
                             totalAmount = totalAmount.add(insPlyIncome.getCommissionFeevalue());  //添加总手续费
                         }
                         if (excelItem.getNoSuperviseCostsProportion()!=null  &&  excelItem.getNoSuperviseCostsProportion().compareTo(BigDecimal.ZERO) != 0 &&  excelItem.getNoSuperviseCostsProportion().compareTo(insPlyIncome.getNoSuperviseCostsProportion()) != 0 ) {
-                            BigDecimal noSuperviseCostsProportion = excelItem.getNoSuperviseCostsProportion();//商业保单号
+                            BigDecimal noSuperviseCostsProportion = excelItem.getNoSuperviseCostsProportion();//非车手续费比例
                             params.put("noSuperviseCostsProportion", noSuperviseCostsProportion);
                             InsPlyIncome byBxLicenseno = insPlyIncomeMapper.findByBxLicenseno(params);
                             if (ObjectUtils.isEmpty(byBxLicenseno)) {

+ 38 - 1
src/main/resources/mapper/modules/admin/SysUserMapper.xml

@@ -1502,7 +1502,7 @@
         FROM
         sys_user su
         LEFT JOIN sys_dept sd ON sd.id = su.dept_id
-        LEFT JOIN  ins_upload_files   inf on  su.head_sculpture  =inf.id
+        LEFT JOIN      inf on  su.head_sculpture  =inf.id
         LEFT JOIN sys_user_role sur ON sur.user_id = su.id
         <where>
             <if test="vo.ids  != null  and  vo.ids.size()>0 ">
@@ -1522,4 +1522,41 @@
             </if>
         </where>
     </select>
+
+
+    <select id="getAllAgent" resultType="com.ydtech.modules.admin.model.SysUser">
+        SELECT
+        su.id as "id",
+        eur.referrer_id as "parentId",
+        su.name as "name"
+        FROM
+        sys_user su
+        LEFT JOIN sys_user_info info ON info.id = su.id
+        LEFT JOIN sys_dept sd ON su.dept_id = sd.id
+        LEFT JOIN sys_dept psd ON psd.id = sd.parent_id
+        LEFT JOIN sys_user_role t3 ON su.id = t3.user_id
+        LEFT JOIN sys_role t4 ON t3.role_id = t4.id
+        left join esm_user_referrer eur on eur.id =su.id
+        WHERE
+        (t3.role_id = 20 or t3.role_id = 21)
+        and sd.management_source = 2
+        AND sd.del_flag = '0'
+        AND su.STATUS = 1
+        <if test="ids !=null  and ids !='' and ids .size()>0">
+            AND
+            su.id IN
+            <foreach collection="ids" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <choose>
+            <when test="pid !=null and pid !=''">
+                and eur.level != '1'
+                and eur.referrer_id =#{pid}
+            </when>
+            <when test='pid ==  null'>
+                and eur.level = '1'
+            </when>
+        </choose>
+    </select>
 </mapper>