Browse Source

优化了代码

LiRong 2 months ago
parent
commit
b905f285c3

+ 4 - 6
ruoyi-equity/src/main/java/com/ruoyi/equity/service/impl/ShareholderInfoServiceImpl.java

@@ -181,21 +181,19 @@ public class ShareholderInfoServiceImpl extends ServiceImpl<ShareholderInfoMappe
                 //获取主体上层的所有节点
                 List<ShareholderUpPicVO> upNodes = shareholderInfoMapper.getAllUpNode();
                 //计算 已经配股
-                upNodes.forEach(upNode -> {
+               /* upNodes.forEach(upNode -> {
                     Long parentId = upNode.getParentId();
                     Long id = upNode.getId();
-                 // 如果只看金之程何金斗笠  if (parentId == 1) {}
+                 // 如果只看金之程何金斗笠
                     BigDecimal assigned = shareholderInfoMapper.getNotAssigned(id);
                         if ( assigned == null){
                             assigned = BigDecimal.ZERO;
                         }
-
                         BigDecimal hundred = new BigDecimal("100");
                         BigDecimal result = hundred.subtract(assigned);
                         upNode.setNotAssigned(result);
-                        upNode.setNotAssigned(result);
-
-                });
+                }
+                );*/
                 ups = ForestNodeMerger2.merge(upNodes);
 
             }

+ 10 - 3
ruoyi-equity/src/main/resources/mapper/equity/ShareholderInfoMapper.xml

@@ -41,9 +41,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where shareholder_id = #{shareholderId}
     </select>
     <select id="getAllUpNode" resultType="com.ruoyi.equity.domain.vo.ShareholderUpPicVO">
-        select shareholder_id as id,parent_id as parentId,shareholder_name as name,shareholding_ratio as shareholdingRatio
-        from e_shareholder_info
-        where node_type = 1 or is_subject = 1
+            select
+                shareholder_id as id,
+                parent_id as parentId,
+                shareholder_name as name,
+                shareholding_ratio as shareholdingRatio,
+                100 - COALESCE((select sum(shareholding_ratio) from e_shareholder_info e where e.parent_id = esi.shareholder_id), 0) as notAssigned
+            from
+                e_shareholder_info esi
+            where
+                node_type = 1 or is_subject = 1
     </select>
     <select id="getSubjectCompany" resultType="com.ruoyi.equity.domain.ShareholderInfo">
          select shareholder_id, parent_id, ancestors, shareholder_name, shareholder_type, shareholding_ratio,