Browse Source

1.控制台树形权限bug

wuhp 1 năm trước cách đây
mục cha
commit
b8dc9191ce

+ 7 - 4
src/main/java/com/ydtech/modules/admin/service/impl/SysDeptServiceImpl.java

@@ -810,6 +810,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept>
 
     private List<SysDeptTreeVo> getFiveLevelDeptKzt(SysUser byUserId) {
         SysDept sysDept = getById("9");
+        SysDept dept = baseMapper.selectById(BaseController.getDeptId());
         SysDeptVo sysDeptVo = new SysDeptVo();
         String id = byUserId.getId();
         List<String> deptIds = new ArrayList<>();
@@ -820,10 +821,12 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept>
             List<SysUserDeptRelationship> relationships = sysUserDeptRelationshipMapper.selectList(new QueryWrapper<SysUserDeptRelationship>().eq("user_id", id));
             deptIds.addAll(relationships.stream().map(SysUserDeptRelationship::getDeptId).collect(Collectors.toList()));
         }
+        sysDeptVo.setDeptIds(deptIds);
         List<SysDept> sysDeptList = baseMapper.getFiveLevelDept(sysDeptVo);
-        sysDept.setComlevel("1");
-        sysDeptList.add(sysDept);
-
+        if("admin".equals(byUserId.getId())){
+            sysDept.setComlevel("1");
+            sysDeptList.add(sysDept);
+        }
         List<SysDeptTreeVo> sysDeptTreeVos = BeanUtil.copyToList(sysDeptList, SysDeptTreeVo.class);
         Map<String, List<SysDeptTreeVo>> map = sysDeptTreeVos.stream().sorted(Comparator.comparing(SysDeptTreeVo::getId))
                 .collect(Collectors.groupingBy(SysDeptTreeVo::getParentId));
@@ -833,7 +836,7 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept>
                 i.setDeptCount(i.getChildren().size());
             }
         });
-        return map.get(sysDept.getParentId());
+        return map.get(StringUtils.isNotEmpty(dept .getManagementSource()) ? dept.getParentId():dept.getParentId());
     }
     private void buildUserTree(List<SysUser> topUsers, List<SysUser> users) {
         for (SysUser user : topUsers) {

+ 2 - 2
src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

@@ -1793,9 +1793,9 @@
         agree.id as "agreeId",
         IFNULL(sum(iac.jqpremium),0) + IFNULL(sum(iac.sypremium),0) +IFNULL(sum(iac.jypremium),0) as "totalPremium",
         COUNT(0 ) AS "qutationInsureCount",
-        IFNULL(sum(iac.jqpremium),0) + IFNULL(sum(iac.sypremium),0) +IFNULL(sum(iac.jypremium),0) / COUNT(0 )  AS "averagePremium",
+        (IFNULL(sum(iac.jqpremium),0) + IFNULL(sum(iac.sypremium),0) +IFNULL(sum(iac.jypremium),0)) / COUNT(0 )  AS "averagePremium",
         COUNT(DISTINCT io.userId) AS "userNumber",
-        IFNULL(sum(iac.jqpremium),0) + IFNULL(sum(iac.sypremium),0) +IFNULL(sum(iac.jypremium),0) / COUNT(DISTINCT io.userId)  as "perCapitaAmount"
+        (IFNULL(sum(iac.jqpremium),0) + IFNULL(sum(iac.sypremium),0) +IFNULL(sum(iac.jypremium),0)) / COUNT(DISTINCT io.userId)  as "perCapitaAmount"
         FROM
         ins_area_company iac
         LEFT JOIN ptl_agreement agree ON iac.agreement_id = agree.id