24282 2 سال پیش
والد
کامیت
d5b1da88f6
1فایلهای تغییر یافته به همراه59 افزوده شده و 57 حذف شده
  1. 59 57
      hx-purchase/src/main/java/com/fjhx/purchase/service/pay/impl/PayServiceImpl.java

+ 59 - 57
hx-purchase/src/main/java/com/fjhx/purchase/service/pay/impl/PayServiceImpl.java

@@ -2,6 +2,9 @@ package com.fjhx.purchase.service.pay.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.account.entity.account.po.AccountPayment;
@@ -32,9 +35,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 
@@ -78,19 +79,19 @@ public class PayServiceImpl extends ServiceImpl<PayMapper, Pay> implements PaySe
         IWrapper<Pay> wrapper = getWrapper();
         wrapper.orderByDesc("p", Pay::getCreateTime);
 
-        // //供应商ID
-        // wrapper.eq("p",Pay::getSupplyId,dto.getSupplyId());
-        //
-        // //付款方式
-        // wrapper.eq("p",Pay::getPayType,dto.getPayType());
-        //
-        // //申请金额
-        // wrapper.ge("p",Pay::getAmount,dto.getStartAmount());
-        // wrapper.le("p",Pay::getAmount,dto.getEndAmount());
+        // 供应商ID
+        wrapper.eq("p", Pay::getSupplyId, dto.getSupplyId());
 
-        //申请时间
-        wrapper.ge("p", Pay::getCreateTime,dto.getBeginTime());
-        wrapper.le("p",Pay::getCreateTime,dto.getEndTime());
+        // 付款方式
+        wrapper.eq("p", Pay::getPayType, dto.getPayType());
+
+        // 申请金额
+        wrapper.ge("p", Pay::getAmount, dto.getStartAmount());
+        wrapper.le("p", Pay::getAmount, dto.getEndAmount());
+
+        // 申请时间
+        wrapper.ge("p", Pay::getCreateTime, dto.getBeginTime());
+        wrapper.le("p", Pay::getCreateTime, dto.getEndTime());
 
         if (StringUtils.isNotEmpty(dto.getStatus())) {
             wrapper.eq("p", Pay::getStatus, dto.getStatus());
@@ -204,48 +205,49 @@ public class PayServiceImpl extends ServiceImpl<PayMapper, Pay> implements PaySe
     }
 
 
-    // /**
-    //  * 采购付款统计
-    //  * @param dto
-    //  * @return
-    //  */
-    // @Override
-    // public Map<String, Object> payStatistics(PaySelectDto dto) {
-    //     List<Integer> statusList =  Arrays.asList(0,1,2);//付款状态  0未付款  1部分付款  2已付款'
-    //
-    //     //存放付款统计数据
-    //     Map<String,Object> map = new HashMap<>();
-    //
-    //     //存放付款统计详情列表
-    //     List<Map<String, Object>> list = new ArrayList<>();
-    //
-    //     //查询付款详情
-    //     QueryWrapper<Pay> query = Wrappers.query();
-    //     query.select("ifnull(pay_status,-1) payStatus,ifnull(amount,0) amount");
-    //     query.groupBy("pay_status");
-    //     List<Pay> pays = baseMapper.selectList(query);
-    //     Map<String, List<Pay>> payMap = pays.stream().collect(Collectors.groupingBy(Pay::getPayStatus));
-    //
-    //     //计算合计金额
-    //     BigDecimal amount = pays.stream().map(Pay::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
-    //     map.put("amount",amount);
-    //
-    //     //赋值每个付款状态的金额
-    //     for (Integer status : statusList) {
-    //         //赋初始值
-    //         Map<String,Object> statusMap = new HashMap<>();
-    //         statusMap.put("payStatus",status);
-    //         statusMap.put("payAmount",0);
-    //         //赋值
-    //         List<Pay> payList = payMap.get(status);
-    //         if (CollectionUtils.isNotEmpty(payList)){
-    //             statusMap.put("payAmount",payList.get(0).getAmount());
-    //         }
-    //         list.add(statusMap);
-    //     }
-    //     map.put("payList",list);
-    //     return map;
-    // }
+    /**
+     * 采购付款统计
+     *
+     * @param dto
+     * @return
+     */
+    @Override
+    public Map<String, Object> payStatistics(PaySelectDto dto) {
+        List<Integer> statusList = Arrays.asList(0, 1, 2);// 付款状态  0未付款  1部分付款  2已付款'
+
+        // 存放付款统计数据
+        Map<String, Object> map = new HashMap<>();
+
+        // 存放付款统计详情列表
+        List<Map<String, Object>> list = new ArrayList<>();
+
+        // 查询付款详情
+        QueryWrapper<Pay> query = Wrappers.query();
+        query.select("ifnull(pay_status,-1) payStatus,ifnull(amount,0) amount");
+        query.groupBy("pay_status");
+        List<Pay> pays = baseMapper.selectList(query);
+        Map<String, List<Pay>> payMap = pays.stream().collect(Collectors.groupingBy(Pay::getPayStatus));
+
+        // 计算合计金额
+        BigDecimal amount = pays.stream().map(Pay::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+        map.put("amount", amount);
+
+        // 赋值每个付款状态的金额
+        for (Integer status : statusList) {
+            // 赋初始值
+            Map<String, Object> statusMap = new HashMap<>();
+            statusMap.put("payStatus", status);
+            statusMap.put("payAmount", 0);
+            // 赋值
+            List<Pay> payList = payMap.get(status);
+            if (CollectionUtils.isNotEmpty(payList)) {
+                statusMap.put("payAmount", payList.get(0).getAmount());
+            }
+            list.add(statusMap);
+        }
+        map.put("payList", list);
+        return map;
+    }
 
 
 }