|
@@ -3,6 +3,7 @@ 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;
|
|
@@ -29,7 +30,6 @@ import com.ruoyi.common.exception.ServiceException;
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
import com.ruoyi.common.utils.wrapper.SqlField;
|
|
|
-import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.apache.commons.collections4.MapUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -93,11 +93,9 @@ public class PayServiceImpl extends ServiceImpl<PayMapper, Pay> implements PaySe
|
|
|
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());
|
|
|
}
|
|
|
- //付款状态
|
|
|
if (StringUtils.isNotEmpty(dto.getPayStatus())) {
|
|
|
wrapper.eq("p", Pay::getPayStatus, dto.getPayStatus());
|
|
|
}
|
|
@@ -206,47 +204,50 @@ public class PayServiceImpl extends ServiceImpl<PayMapper, Pay> implements PaySe
|
|
|
this.removeById(id);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* 采购付款统计
|
|
|
+ *
|
|
|
* @param dto
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
public Map<String, Object> payStatistics(PaySelectDto dto) {
|
|
|
- List<Integer> statusList = Arrays.asList(0,1,2);//付款状态 0未付款 1部分付款 2已付款'
|
|
|
+ List<Integer> statusList = Arrays.asList(0, 1, 2);// 付款状态 0未付款 1部分付款 2已付款'
|
|
|
|
|
|
- //存放付款统计数据
|
|
|
- Map<String,Object> map = new HashMap<>();
|
|
|
+ // 存放付款统计数据
|
|
|
+ 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);
|
|
|
+ map.put("amount", amount);
|
|
|
|
|
|
- //赋值每个付款状态的金额
|
|
|
+ // 赋值每个付款状态的金额
|
|
|
for (Integer status : statusList) {
|
|
|
- //赋初始值
|
|
|
- Map<String,Object> statusMap = new HashMap<>();
|
|
|
- statusMap.put("payStatus",status);
|
|
|
- statusMap.put("payAmount",0);
|
|
|
- //赋值
|
|
|
+ // 赋初始值
|
|
|
+ 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());
|
|
|
+ if (CollectionUtils.isNotEmpty(payList)) {
|
|
|
+ statusMap.put("payAmount", payList.get(0).getAmount());
|
|
|
}
|
|
|
list.add(statusMap);
|
|
|
}
|
|
|
- map.put("payList",list);
|
|
|
+ map.put("payList", list);
|
|
|
return map;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
}
|