From 449e10ac595070ebe0d0e18ac61a1ebe742e44c2 Mon Sep 17 00:00:00 2001 From: yupeng <roc__yu@163.com> Date: 星期五, 28 二月 2025 20:30:52 +0800 Subject: [PATCH] feat: 新增账单统计接口 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java | 8 +++ ruoyi-system/src/main/java/com/ruoyi/system/dto/BillStatisticsDto.java | 20 ++++++++++ ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBillMapper.java | 9 ++++ ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java | 10 +++++ ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml | 16 ++++++++ ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java | 2 + 6 files changed, 64 insertions(+), 1 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java index dc7b6bf..2dbbbdd 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TBillController.java @@ -116,10 +116,16 @@ @PostMapping("cashPay") public R cashPay(@RequestBody CachPayDto cachPayDto){ tBillService.cashPay(cachPayDto); - return null; + return R.ok(); } + @ApiOperation("统计") + @GetMapping("statistics") + public R<BillStatisticsDto> statistics(){ + BillStatisticsDto dto = tBillService.statistics(); + return R.ok(dto); + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/BillStatisticsDto.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/BillStatisticsDto.java new file mode 100644 index 0000000..e0357a6 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/BillStatisticsDto.java @@ -0,0 +1,20 @@ +package com.ruoyi.system.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +public class BillStatisticsDto implements Serializable { + @ApiModelProperty("应收租金") + private BigDecimal rent; + @ApiModelProperty("待缴费") + private BigDecimal nopay; + @ApiModelProperty("已缴费") + private BigDecimal payed; + @ApiModelProperty("已逾期") + private BigDecimal overdue; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBillMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBillMapper.java index 45735ef..2ad934f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBillMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TBillMapper.java @@ -9,6 +9,7 @@ import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.math.BigDecimal; import java.util.List; /** @@ -35,4 +36,12 @@ List<TBillDto> invoiceList(@Param("query")TBillQuery query, @Param("pageInfo")PageInfo<TBillDto> pageInfo); TBillDto selectDetailByBillId(@Param("billId") String billId); + + BigDecimal statisticsAllRent(); + + BigDecimal statisticsNoPay(); + + BigDecimal statisticsPayed(); + + BigDecimal statisticsOverdue(); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java index 090fed4..19b7f69 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TBillService.java @@ -83,4 +83,6 @@ TBillDto getDetailByBillId(@NotEmpty String id); Boolean cashPay(CachPayDto offlinePayDto); + + BillStatisticsDto statistics(); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java index e0a820a..896ea36 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TBillServiceImpl.java @@ -500,5 +500,15 @@ return true; } + @Override + public BillStatisticsDto statistics() { + BillStatisticsDto dto = new BillStatisticsDto(); + dto.setRent(getBaseMapper().statisticsAllRent()); + dto.setNopay(getBaseMapper().statisticsNoPay()); + dto.setPayed(getBaseMapper().statisticsPayed()); + dto.setOverdue(getBaseMapper().statisticsOverdue()); + return dto; + } + } diff --git a/ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml index c6177a6..f5df42e 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TBillMapper.xml @@ -146,4 +146,20 @@ LEFT JOIN t_tenant t ON t.id = c.tenant_id and t.disabled=0 where b.id = #{billId} </select> + + <select id="statisticsAllRent" resultType="java.math.BigDecimal"> + SELECT sum(payable_fees_money) as amount FROM t_bill + </select> + + <select id="statisticsNoPay" resultType="java.math.BigDecimal"> + SELECT sum(outstanding_money) as amount FROM t_bill where pay_fees_status!=3 + </select> + + <select id="statisticsPayed" resultType="java.math.BigDecimal"> + SELECT sum(pay_fees_money) as amount FROM t_bill + </select> + + <select id="statisticsOverdue" resultType="java.math.BigDecimal"> + SELECT sum(outstanding_money) as amount FROM t_bill where pay_fees_status=4 + </select> </mapper> -- Gitblit v1.7.1