From 71f2159b4d900a3f0ae4f63a014df64621b2cb18 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Wed, 23 Apr 2025 17:32:25 +0800 Subject: [PATCH] =?UTF-8?q?demand:=20=E8=AE=A1=E7=AE=97=E6=8C=87=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E8=8C=83=E5=9B=B4=E5=86=85=E6=AF=8F=E4=B8=80?= =?UTF-8?q?=E5=A4=A9=E7=9A=84=E6=94=B6=E6=AC=BE=E6=80=BB=E9=87=91=E9=A2=9D?= =?UTF-8?q?=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/emis/EmisSettleBillController.java | 13 ++++++++++ .../emis/service/IEmisSettleBillService.java | 11 ++++++++ .../impl/EmisSettleBillServiceImpl.java | 26 +++++++++++++++++++ 3 files changed, 50 insertions(+) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettleBillController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettleBillController.java index d081d4e4a..edf3dbd94 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettleBillController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisSettleBillController.java @@ -267,6 +267,19 @@ public class EmisSettleBillController extends BaseController } + /** + * 计算指定时间范围内每一天的收款总金额 + * + * @param beginTime 开始时间 + * @param endTime 结束时间 + * @return 每一天的收款总金额 + */ + @GetMapping("/calculateRecedMoney") + public AjaxResult calculateRecedMoney(String beginTime, String endTime) { + Map result = emisSettleBillService.calculateRecedMoney(beginTime, endTime); + return AjaxResult.success(result); + } + /** * 新增运单总账单 */ diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSettleBillService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSettleBillService.java index 6ad7e1af4..47aa051ba 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSettleBillService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisSettleBillService.java @@ -9,7 +9,9 @@ */ package com.xdadan.erp.emis.service; +import java.math.BigDecimal; import java.util.List; +import java.util.Map; import com.xdadan.erp.common.core.audit.IDataAuditService; import com.xdadan.erp.emis.domain.EmisSettleBill; @@ -127,4 +129,13 @@ public interface IEmisSettleBillService extends IDataAuditService public int reCalcSettleBillPayStatus(String settleBillNo); void exportSeaWayBill(HttpServletResponse response, EmisSettleBill emisSettleBill); + + /** + * 计算指定时间范围内每一天的收款总金额 + * + * @param beginTime 开始时间 + * @param endTime 结束时间 + * @return 每一天的收款总金额 + */ + Map calculateRecedMoney(String beginTime, String endTime); } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillServiceImpl.java index d19c40667..06b900175 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisSettleBillServiceImpl.java @@ -1079,6 +1079,32 @@ public class EmisSettleBillServiceImpl extends EmisBaseService implements IEmisS return 1; } + @Override + public Map calculateRecedMoney(String beginTime, String endTime) { + // 构建查询条件 + EmisSettleBill query = new EmisSettleBill(); + query.setParams(new HashMap<>()); + query.getParams().put("beginTime", beginTime); + query.getParams().put("endTime", endTime); + + // 查询符合条件的记录 + List list = emisSettleBillMapper.selectEmisSettleBillList(query); + + // 按天分组统计金额 + Map dailyAmounts = list.stream() + .filter(bill -> bill.getRecedMoney() != null && bill.getCreateTime() != null) + .collect(Collectors.groupingBy( + bill -> DateUtils.parseDateToStr("yyyy-MM-dd", bill.getCreateTime()), + Collectors.mapping( + EmisSettleBill::getRecedMoney, + Collectors.reducing(BigDecimal.ZERO, (a, b) -> { + BigDecimal sum = a.add(b).stripTrailingZeros(); + return new BigDecimal(sum.toPlainString()); + })))); + + return dailyAmounts; + } + /** * 删除结算总账单信息 *