ソースを参照

1.查询罚款退款记录 客户经理数据权限筛查

GouGengquan 3 ヶ月 前
コミット
885d65a401

+ 3 - 0
dao/src/main/resources/mapper/FinanceFineRefundMapper.xml

@@ -109,6 +109,9 @@
         <if test="dto != null and dto.startRefundDate != null and dto.startRefundDate!= null">
             AND refund.refund_date BETWEEN #{dto.startRefundDate} AND #{dto.startRefundDate}
         </if>
+        <if test="dto != null and dto.clientManagerId != null">
+            AND `order`.client_manager_id = #{dto.clientManagerId}
+        </if>
     </sql>
 
     <!--条件分页查询罚款退款记录-->

+ 5 - 0
domain/src/main/java/com/dayou/dto/FinanceFineRefundSelectDTO.java

@@ -61,4 +61,9 @@ public class FinanceFineRefundSelectDTO {
      */
     private LocalDateTime endRefundDate;
 
+    /**
+     * 客户经理id
+     */
+    private Long clientManagerId;
+
 }

+ 14 - 0
service/src/main/java/com/dayou/service/impl/FinanceFineRefundServiceImpl.java

@@ -2,6 +2,7 @@ package com.dayou.service.impl;
 
 import com.dayou.common.BaseEntity;
 import com.dayou.dto.FinanceFineRefundSelectDTO;
+import com.dayou.dto.SimplePostModel;
 import com.dayou.entity.FinanceFineRefund;
 import com.dayou.enums.FineRefundStatusEnum;
 import com.dayou.mapper.FinanceFineRefundMapper;
@@ -55,6 +56,12 @@ public class FinanceFineRefundServiceImpl extends ServiceImpl<FinanceFineRefundM
      */
     @Override
     public Page<FinanceFineRefundVO> selectPage(Page page, FinanceFineRefundSelectDTO dto) {
+        // 此处数据权限,客户经理只能查看自己的项目
+        if (LoginContext.getLoginCacheUserBO().getPostList().stream()
+                .map(SimplePostModel::getName)
+                .anyMatch(name -> name.contains("客户经理") || name.contains("销售代表"))) {
+            dto.setClientManagerId(LoginContext.getUserId());
+        }
         return financeFineRefundMapper.selectPage(page, dto);
     }
 
@@ -65,6 +72,13 @@ public class FinanceFineRefundServiceImpl extends ServiceImpl<FinanceFineRefundM
      */
     @Override
     public List<FinanceFineRefundVO> exportList(FinanceFineRefundSelectDTO dto) {
+        List<SimplePostModel> postModelList = LoginContext.getLoginCacheUserBO().getPostList();
+        // 此处数据权限,客户经理只能查看自己的项目
+        if (LoginContext.getLoginCacheUserBO().getPostList().stream()
+                .map(SimplePostModel::getName)
+                .anyMatch(name -> name.contains("客户经理") || name.contains("销售代表"))) {
+            dto.setClientManagerId(LoginContext.getUserId());
+        }
         return financeFineRefundMapper.exportList(dto);
     }
 

+ 18 - 9
service/src/main/java/com/dayou/service/impl/FinanceFineServiceImpl.java

@@ -39,34 +39,42 @@ public class FinanceFineServiceImpl extends ServiceImpl<FinanceFineMapper, Finan
 
     /**
      * 分页查询超期罚款
-     * @param page 分页
+     *
+     * @param page                 分页
      * @param financeFineSelectDTO 查询条件dto
      * @return Page<FinanceFineVO>
      */
     @Override
     public Page<FinanceFineVO> selectPage(Page page, FinanceFineSelectDTO financeFineSelectDTO) {
-        List<SimplePostModel> postModelList = LoginContext.getLoginCacheUserBO().getPostList();
         // 此处数据权限,客户经理只能查看自己的项目
-        for (SimplePostModel postModel : postModelList) {
-            if (postModel.getName().equals("客户经理") || postModel.getName().equals("销售代表")) {
-                financeFineSelectDTO.setClientManagerId(LoginContext.getUserId());
-            }
+        if (LoginContext.getLoginCacheUserBO().getPostList().stream()
+                .map(SimplePostModel::getName)
+                .anyMatch(name -> name.contains("客户经理") || name.contains("销售代表"))) {
+            financeFineSelectDTO.setClientManagerId(LoginContext.getUserId());
         }
         return financeFineMapper.selectPage(page, financeFineSelectDTO);
     }
 
     /**
      * 导出查询超期罚款
+     *
      * @param financeFineSelectDTO 查询条件dto
      * @return List<FinanceFineVO>
      */
     @Override
     public List<FinanceFineVO> exportList(FinanceFineSelectDTO financeFineSelectDTO) {
+        // 此处数据权限,客户经理只能查看自己的项目
+        if (LoginContext.getLoginCacheUserBO().getPostList().stream()
+                .map(SimplePostModel::getName)
+                .anyMatch(name -> name.contains("客户经理") || name.contains("销售代表"))) {
+            financeFineSelectDTO.setClientManagerId(LoginContext.getUserId());
+        }
         return financeFineMapper.exportList(financeFineSelectDTO);
     }
 
     /**
      * 确认罚款金额
+     *
      * @return Boolean
      */
     @Override
@@ -122,7 +130,7 @@ public class FinanceFineServiceImpl extends ServiceImpl<FinanceFineMapper, Finan
                     // 没有应收款的话,罚款金额就是 standard_amount * 30% * 5%
                     if (ObjectUtil.isNotNull(assetsOrder.getStandardAmount())) {
                         fineAmount = assetsOrder.getStandardAmount().multiply(BigDecimal.valueOf(0.3)).multiply(BigDecimal.valueOf(0.05));
-                    }else {
+                    } else {
                         fineAmount = BigDecimal.valueOf(0);
                     }
                 }
@@ -168,7 +176,7 @@ public class FinanceFineServiceImpl extends ServiceImpl<FinanceFineMapper, Finan
                     // 没有应收款的话,罚款金额就是 standard_amount * 30% * 5%
                     if (ObjectUtil.isNotNull(majorOrder.getStandardAmount())) {
                         fineAmount = majorOrder.getStandardAmount().multiply(BigDecimal.valueOf(0.3)).multiply(BigDecimal.valueOf(0.05));
-                    }else {
+                    } else {
                         fineAmount = BigDecimal.valueOf(0);
                     }
                 }
@@ -197,7 +205,8 @@ public class FinanceFineServiceImpl extends ServiceImpl<FinanceFineMapper, Finan
     /**
      * 根据收款信息获取符合条件的罚款表信息
      * 且已确认罚款
-     * @param orderFundId 订单收款id
+     *
+     * @param orderFundId      订单收款id
      * @param productionFundId 产品收款id
      * @return FinanceFine
      */