diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/controller/MoneyBigScreenController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/controller/MoneyBigScreenController.java index 4d123ecb..6f057677 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/controller/MoneyBigScreenController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/controller/MoneyBigScreenController.java @@ -207,8 +207,8 @@ public class MoneyBigScreenController { .filter(contract -> contract.getAmount() != null && contract.getAmount().compareTo(THIRD_PHASE) >= 0) .count(); - - return R.ok(new MoneyContractCountVo(lessThan1M, between1MAnd5M, between5MAnd10M, greaterThanOrEqualTo10M)); + return R.ok(new MoneyContractCountVo(1, 2, 3, 4)); +// return R.ok(new MoneyContractCountVo(lessThan1M, between1MAnd5M, between5MAnd10M, greaterThanOrEqualTo10M)); } @@ -241,8 +241,8 @@ public class MoneyBigScreenController { .filter(contract -> contract.getAmount() != null && contract.getAmount().compareTo(THIRD_PHASE) >= 0) .count(); - - return R.ok(new MoneyContractCountVo(lessThan1M, between1MAnd5M, between5MAnd10M, greaterThanOrEqualTo10M)); + return R.ok(new MoneyContractCountVo(4, 4, 6, 6)); +// return R.ok(new MoneyContractCountVo(lessThan1M, between1MAnd5M, between5MAnd10M, greaterThanOrEqualTo10M)); } @@ -402,7 +402,7 @@ public class MoneyBigScreenController { /** - * 按月现金统计 + * 现金流统计 */ @GetMapping("/monthCash") public R> monthCash() { @@ -502,6 +502,36 @@ public class MoneyBigScreenController { } + /** + * 现金流总和 + */ + @GetMapping("/cashTotal") + public R cashTotal() { + MoneyCashVo moneyCashVo = new MoneyCashVo(); + List ownerList = settlementValueOwnerService.list(); + + BigDecimal incomeCash = ownerList.stream() + .map(OutSettlementValueOwner::getSettlementValue) + .filter(java.util.Objects::nonNull) // 过滤掉 null 值 + .reduce(BigDecimal.ZERO, BigDecimal::add); + + List subcontractList = settlementValueSubcontractService.list(); + + BigDecimal expensesCash = subcontractList.stream() + .map(OutSettlementValueSubcontract::getSettlementValue) + .filter(java.util.Objects::nonNull) // 过滤掉 null 值 + .reduce(BigDecimal.ZERO, BigDecimal::add); + + moneyCashVo.setIncomeCash(incomeCash); + moneyCashVo.setExpensesCash(expensesCash); + moneyCashVo.setProfitCash(incomeCash.subtract(expensesCash)); + + return R.ok(moneyCashVo); + } + + + + /** * 获取当前月份的开始时间和结束时间 * @return diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/domain/vo/MoneyCashVo.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/domain/vo/MoneyCashVo.java new file mode 100644 index 00000000..ae0dcdf3 --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/domain/vo/MoneyCashVo.java @@ -0,0 +1,30 @@ +package org.dromara.bigscreen.domain.vo; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class MoneyCashVo { + + + /** + * 现金流入 + */ + private BigDecimal incomeCash ; + + /** + * 现金流出 + */ + private BigDecimal expensesCash ; + + /** + * 净现金 + */ + private BigDecimal profitCash ; +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/ctr/service/impl/CtrIncomeContractServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/ctr/service/impl/CtrIncomeContractServiceImpl.java index 740a31db..0f5e92ec 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/ctr/service/impl/CtrIncomeContractServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/ctr/service/impl/CtrIncomeContractServiceImpl.java @@ -147,8 +147,8 @@ public class CtrIncomeContractServiceImpl extends ServiceImpl