From 7170021b59e28b0193a7f8e71403218f4c3d8a70 Mon Sep 17 00:00:00 2001 From: LIUFL Date: Tue, 10 Sep 2024 11:14:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=93=E6=9C=88=E5=9B=9E=E6=AC=BE=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E6=95=B0=E6=8D=AE=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91?= =?UTF-8?q?1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/vo/home/ReturnMoneyInfoVo.java | 11 ++++++++++ .../business/mapper/PsContractInfoMapper.java | 2 +- .../service/impl/HomeServiceImpl.java | 20 +++++++++++++++++-- .../mapper/business/PsContractInfoMapper.xml | 12 ++++++++--- 4 files changed, 39 insertions(+), 6 deletions(-) diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/home/ReturnMoneyInfoVo.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/home/ReturnMoneyInfoVo.java index f76837c..99c636b 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/home/ReturnMoneyInfoVo.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/home/ReturnMoneyInfoVo.java @@ -1,11 +1,22 @@ package com.pusong.business.domain.vo.home; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.math.BigDecimal; +import java.util.Date; @Data public class ReturnMoneyInfoVo { + /** + * 当前时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm") + private Date currentDate = new Date(); + /** + * 统计范围 + */ + private String dateStr; /** * 当月合同总数 */ diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/mapper/PsContractInfoMapper.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/mapper/PsContractInfoMapper.java index 1b44612..1b0fc7b 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/mapper/PsContractInfoMapper.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/mapper/PsContractInfoMapper.java @@ -42,5 +42,5 @@ public interface PsContractInfoMapper extends BaseMapperPlus querySalaryListByCodes(@Param(Constants.WRAPPER) Wrapper queryWrapper); - List> homePageReturnMoneyInfo(@Param("startDate") LocalDate startDate); + List> homePageReturnMoneyInfo(@Param("queryParam") Map queryParam); } diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/HomeServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/HomeServiceImpl.java index 197ede3..3498bb3 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/HomeServiceImpl.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/HomeServiceImpl.java @@ -150,12 +150,27 @@ public class HomeServiceImpl implements HomeService { //当月合同总数 Integer contractNum=0; - List> list = psContractInfoMapper.homePageReturnMoneyInfo(startDate); + Map queryParam=new HashMap<>(); + queryParam.put("startDate",startDate); + queryParam.put("endDate",endDate); + queryParam.put("payStatus",PayStatusEnum.SUCCESS.getCode()); + queryParam.put("contractStatus",ContractStatusEnum.INIT.getCode()); + queryParam.put("isCancel",CommonStatusEnum.SUCCESS.getCode()); + + List> list = psContractInfoMapper.homePageReturnMoneyInfo(queryParam); //记录合同编码,防止重复 Map repeatNum=new HashMap<>(); for(Map m : list){ + //计算已回款金额 BigDecimal money =m.get("money")==null?new BigDecimal(0):(BigDecimal) m.get("money"); - payMoney=payMoney.add(money); + String businessType=m.get("business_type")==null?"":m.get("business_type").toString(); + //判断是回款还是退款 + if(businessType.equals("1")){ + payMoney = payMoney.add(money); + }else{ + payMoney = payMoney.subtract(money); + } + String contractCode=m.get("contract_code").toString(); if(repeatNum.get(contractCode)==null){ @@ -166,6 +181,7 @@ public class HomeServiceImpl implements HomeService { } ReturnMoneyInfoVo res = new ReturnMoneyInfoVo(); + res.setDateStr(date); res.setContractNum(contractNum); res.setSumMoney(sumMoney); res.setPayMoney(payMoney); diff --git a/pusong-modules/pusong-business/src/main/resources/mapper/business/PsContractInfoMapper.xml b/pusong-modules/pusong-business/src/main/resources/mapper/business/PsContractInfoMapper.xml index 729529b..36dbb18 100644 --- a/pusong-modules/pusong-business/src/main/resources/mapper/business/PsContractInfoMapper.xml +++ b/pusong-modules/pusong-business/src/main/resources/mapper/business/PsContractInfoMapper.xml @@ -67,11 +67,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" info.contract_code, info.contract_amount, pay.money, + pay.business_type, info.apply_date FROM ps_contract_info info - LEFT JOIN ps_contract_pay pay on pay.contract_code=info.contract_code + LEFT JOIN ps_contract_pay pay on pay.contract_code=info.contract_code and pay.pay_status=#{queryParam.payStatus} - WHERE info.apply_date>="${startDate}" - ORDER BY info.contract_code + WHERE + info.apply_date >= #{queryParam.startDate} and + + info.apply_date <= #{queryParam.endDate} and + + info.contract_status != #{queryParam.contractStatus} and + info.is_cancel != #{queryParam.isCancel}