Procházet zdrojové kódy

Merge branch 'master' of huangrui/CostAccount into dev

lijiaxi před 4 roky
rodič
revize
dbb06c5f13

+ 3 - 0
src/main/java/com/imed/costaccount/mapper/MenuMapper.java

@@ -2,6 +2,7 @@ package com.imed.costaccount.mapper;
 
 import com.imed.costaccount.model.Menu;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.imed.costaccount.model.vo.NavVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -17,4 +18,6 @@ import java.util.List;
 public interface MenuMapper extends BaseMapper<Menu> {
 
     List<Menu> getNav(@Param("id") Long id, @Param("hospId") Long hospId);
+
+    List<NavVO> getAllParentNav(@Param("id") Long id, @Param("hospId") Long hospId);
 }

+ 1 - 1
src/main/java/com/imed/costaccount/model/vo/CollectionVO.java

@@ -25,7 +25,7 @@ public class CollectionVO {
     @ApiModelProperty(name = "amount",value = "金额")
     private BigDecimal amount;
 
-    @ApiModelProperty(name = "isCollection",value = "是否已归集,true.是,0.否")
+    @ApiModelProperty(name = "isCollection",value = "是否已归集,true.是,false.否")
     private Boolean isCollection;
 
 }

+ 4 - 2
src/main/java/com/imed/costaccount/service/impl/MenuServiceImpl.java

@@ -24,6 +24,7 @@ import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Objects;
 import java.util.stream.Collectors;
@@ -184,13 +185,14 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements Me
         List<Menu> list = baseMapper.getNav(id, hospId);
         List<NavVO> navVOS = BeanUtil.convertList(list, NavVO.class);
         log.info("拷贝后的list:{}", navVOS);
-        List<NavVO> parentNavVOs = navVOS.stream().filter(i -> i.getParentId() == 0L).collect(Collectors.toList());
+//        List<NavVO> parentNavVOs = navVOS.stream().filter(i -> i.getParentId() == 0L).collect(Collectors.toList());
+        List<NavVO> parentNavVOs = baseMapper.getAllParentNav(id, hospId);
         List<NavVO> navVOList = new ArrayList<>();
         for (NavVO parentNavVO : parentNavVOs) {
             List<NavVO> navs = this.getSon(parentNavVO, navVOS);
             navVOList.addAll(navs);
         }
-
+        navVOList.removeIf(next -> CollUtil.isEmpty(next.getChildren()));
         return navVOList;
     }
 

+ 23 - 8
src/main/resources/mapper/MenuMapper.xml

@@ -22,14 +22,29 @@
         select *
         from sys_menu sm
         where sm.menu_id in (select distinct rm.menu_id
-                       from sys_user_role ur
-                                LEFT JOIN sys_role_menu rm on ur.role_id = rm.role_id
-                                LEFT JOIN sys_user su on ur.user_id = su.id
-                       where su.id = #{id}
-                         and su.hosp_id = #{hospId}
-                         and ur.hosp_id = #{hospId}
-                         and rm.hosp_id = #{hospId})
-          and sm.type != 3 order by order_num asc
+                             from sys_user_role ur
+                                      LEFT JOIN sys_role_menu rm on ur.role_id = rm.role_id
+                                      LEFT JOIN sys_user su on ur.user_id = su.id
+                             where su.id = #{id}
+                               and su.hosp_id = #{hospId}
+                               and ur.hosp_id = #{hospId}
+                               and rm.hosp_id = #{hospId})
+          and sm.type != 3
+        order by order_num asc
+    </select>
+    <select id="getAllParentNav" resultType="com.imed.costaccount.model.vo.NavVO">
+        select *
+        from sys_menu sm
+        where sm.menu_id in (select distinct rm.menu_id
+                             from sys_user_role ur
+                                      LEFT JOIN sys_role_menu rm on ur.role_id = rm.role_id
+                                      LEFT JOIN sys_user su on ur.user_id = su.id
+                             where su.id = #{id}
+                               and su.hosp_id = #{hospId}
+                               and ur.hosp_id = #{hospId}
+                               and rm.hosp_id = #{hospId})
+          and sm.type = 0
+        order by order_num asc
     </select>