diff --git a/intc-modules/intc-invest/src/main/java/com/intc/invest/controller/StatisticAnalysisController.java b/intc-modules/intc-invest/src/main/java/com/intc/invest/controller/StatisticAnalysisController.java index 1cc8db5..cd52c1d 100644 --- a/intc-modules/intc-invest/src/main/java/com/intc/invest/controller/StatisticAnalysisController.java +++ b/intc-modules/intc-invest/src/main/java/com/intc/invest/controller/StatisticAnalysisController.java @@ -155,6 +155,20 @@ public class StatisticAnalysisController extends BaseController { return AjaxResult.success(resultMap); } + @ApiOperation("结算卡统计分析") + @GetMapping("/debitCardAnalysis") + public Map getDebitCardAnalysis(AnalysisDto analysisDto){ + Map resultMap = iStatisticAnalysisService.getDebitCardAnalysis(analysisDto); + return AjaxResult.success(resultMap); + } + + + @ApiOperation("pos机统计分析") + @GetMapping("/posStatics") + public Map getPosStatics(AnalysisDto analysisDto){ + Map resultMap = iStatisticAnalysisService.getPosStatics(analysisDto); + return AjaxResult.success(resultMap); + } diff --git a/intc-modules/intc-invest/src/main/java/com/intc/invest/domain/vo/AccountsDebitPosVo.java b/intc-modules/intc-invest/src/main/java/com/intc/invest/domain/vo/AccountsDebitPosVo.java new file mode 100644 index 0000000..50ea302 --- /dev/null +++ b/intc-modules/intc-invest/src/main/java/com/intc/invest/domain/vo/AccountsDebitPosVo.java @@ -0,0 +1,154 @@ +package com.intc.invest.domain.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 吃奶记录Vo对象 health_milk_powder_record + * + * @author tianyongbao + * @date 2025-02-01 + */ +@ApiModel("吃奶记录Vo对象") +@Data +public class AccountsDebitPosVo +{ + + /** 主键 */ + private Long id; + + /** 名称 */ + @ApiModelProperty(value="名称)") + private String name; + + /** 账号 */ + @ApiModelProperty(value="账号)") + + private String code; + + @ApiModelProperty(value="名称卡号") + private String nameCode; + + + /** 支付公司 */ + private String payCompany; + + /** 商户名称 */ + @ApiModelProperty(value="商户名称") + private String merchantName; + + /** 今日次数 */ + @ApiModelProperty(value="今日刷卡次数)") + private int todayCount; + + /** 今日刷卡次数 */ + @ApiModelProperty(value="今日金额)") + private double todayAmount; + + /** 今日平均金额 */ + @ApiModelProperty(value="今日平均金额)") + private double todayPerAmount; + + /** 近7日次数 */ + @ApiModelProperty(value="近7日次数)") + private int sevenDayCount; + + /** 近7日金额 */ + @ApiModelProperty(value="近7日金额)") + private double sevenDayAmount; + + /** 近7日平均金额 */ + @ApiModelProperty(value="近7日平均金额)") + private double sevenDayPerAmount; + + /** 近1月次数 */ + @ApiModelProperty(value="近1月次数)") + private int oneMonthCount; + + /** 近1月金额 */ + @ApiModelProperty(value="近1月金额)") + private double oneMonthAmount; + + /** 近1月平均金额 */ + @ApiModelProperty(value="近1月平均金额)") + private double oneMonthPerAmount; + + + /** 近3月次数 */ + @ApiModelProperty(value="近3月次数)") + private int threeMonthCount; + + /** 近3月金额 */ + @ApiModelProperty(value="近3月金额)") + private double threeMonthAmount; + + /** 近3月平均金额 */ + @ApiModelProperty(value="近3月平均金额)") + private double threeMonthPerAmount; + + /** 近6月次数 */ + @ApiModelProperty(value="近6月次数)") + private int sixMonthCount; + + /** 近6月金额 */ + @ApiModelProperty(value="近6月金额)") + private double sixMonthAmount; + + /** 近6月平均金额 */ + @ApiModelProperty(value="近6月平均金额)") + private double sixMonthPerAmount; + + /** 近1年次数 */ + @ApiModelProperty(value="近1年次数)") + private int oneYearCount; + + /** 近1年金额 */ + @ApiModelProperty(value="近1年金额)") + private double oneYearAmount; + + /** 近1年平均金额 */ + @ApiModelProperty(value="近1年平均金额)") + private double oneYearPerAmount; + + + /** 近2年次数 */ + @ApiModelProperty(value="近2年次数)") + private int twoYearCount; + + /** 近2年金额 */ + @ApiModelProperty(value="近2年金额)") + private double twoYearAmount; + + /** 近2年平均金额 */ + @ApiModelProperty(value="近2年平均金额)") + private double twoYearPerAmount; + + /** 近5年次数 */ + @ApiModelProperty(value="近5年次数)") + private int fiveYearCount; + + /** 近5年金额 */ + @ApiModelProperty(value="近5年金额)") + private double fiveYearAmount; + + /** 近5年平均金额 */ + @ApiModelProperty(value="近5年平均金额)") + private double fiveYearPerAmount; + + /** 总次数 */ + @ApiModelProperty(value="总次数)") + private int totalCount; + + /** 总金额 */ + @ApiModelProperty(value="总金额)") + private double totalAmount; + + /** 总平均金额 */ + @ApiModelProperty(value="总平均金额)") + private double totalPerAmount; + + + + +} diff --git a/intc-modules/intc-invest/src/main/java/com/intc/invest/mapper/StatisticAnalysisMapper.java b/intc-modules/intc-invest/src/main/java/com/intc/invest/mapper/StatisticAnalysisMapper.java index 42a203b..e17b22c 100644 --- a/intc-modules/intc-invest/src/main/java/com/intc/invest/mapper/StatisticAnalysisMapper.java +++ b/intc-modules/intc-invest/src/main/java/com/intc/invest/mapper/StatisticAnalysisMapper.java @@ -2,11 +2,9 @@ package com.intc.invest.mapper; import com.intc.common.datascope.annotation.DataScope; import com.intc.invest.domain.dto.AccountsDealRecordDto; +import com.intc.invest.domain.dto.AccountsDto; import com.intc.invest.domain.dto.BankCardLendDto; -import com.intc.invest.domain.vo.AccountCalendarVo; -import com.intc.invest.domain.vo.AccountsDealRecordVo; -import com.intc.invest.domain.vo.AccountsVo; -import com.intc.invest.domain.vo.BankCardLendVo; +import com.intc.invest.domain.vo.*; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -76,4 +74,25 @@ public interface StatisticAnalysisMapper { */ @DataScope(businessAlias = "a") public List selectCreditCardList(BankCardLendDto bankCardLendDto); + + + /** + * 查询储蓄卡pos收款统计数据 + * + * @param accountsDto 银行卡信息 + * @return 银行卡信息集合 + */ + @DataScope(businessAlias = "t") + public List selectDebitCardPosList(AccountsDto accountsDto); + + + /** + * 查询储蓄卡pos收款统计数据 + * + * @param accountsDto 银行卡信息 + * @return 银行卡信息集合 + */ + @DataScope(businessAlias = "t") + public List selectPosStaticList(AccountsDto accountsDto); + } diff --git a/intc-modules/intc-invest/src/main/java/com/intc/invest/service/IStatisticAnalysisService.java b/intc-modules/intc-invest/src/main/java/com/intc/invest/service/IStatisticAnalysisService.java index f408b39..0782664 100644 --- a/intc-modules/intc-invest/src/main/java/com/intc/invest/service/IStatisticAnalysisService.java +++ b/intc-modules/intc-invest/src/main/java/com/intc/invest/service/IStatisticAnalysisService.java @@ -48,4 +48,9 @@ public interface IStatisticAnalysisService { public Map getDailyExpensesAnalysis(AnalysisDto analysisDto); + public Map getDebitCardAnalysis(AnalysisDto analysisDto); + + + public Map getPosStatics(AnalysisDto analysisDto); + } diff --git a/intc-modules/intc-invest/src/main/java/com/intc/invest/service/impl/StatisticAnalysisImpl.java b/intc-modules/intc-invest/src/main/java/com/intc/invest/service/impl/StatisticAnalysisImpl.java index a4a6672..3043e98 100644 --- a/intc-modules/intc-invest/src/main/java/com/intc/invest/service/impl/StatisticAnalysisImpl.java +++ b/intc-modules/intc-invest/src/main/java/com/intc/invest/service/impl/StatisticAnalysisImpl.java @@ -2992,4 +2992,242 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService { } return list; } + + @Override + public Map getDebitCardAnalysis(AnalysisDto analysisDto) { + //返回数据 + HashMap map = new HashMap<>(); + DecimalFormat decimalFormat = new DecimalFormat("#.##"); + AccountsDto dto=new AccountsDto(); + + List debitCardList=statisticAnalysisMapper.selectDebitCardPosList(dto); + double todayCount =0; + double todayAmount =0; + + double sevenDayCount =0; + double sevenDayAmount =0; + + double oneMonthCount =0; + double oneMonthAmount =0; + + double threeMonthCount =0; + double threeMonthAmount =0; + + double sixMonthCount =0; + double sixMonthAmount =0; + + double oneYearCount =0; + double oneYearAmount =0; + + double twoYearCount =0; + double twoYearAmount =0; + + double fiveYearCount =0; + double fiveYearAmount =0; + + double totalCount =0; + double totalAmount =0; + + if(debitCardList.size()>0){ + todayCount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getTodayCount).sum(); + todayAmount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getTodayAmount).sum(); + + sevenDayCount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getSevenDayCount).sum(); + sevenDayAmount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getSevenDayAmount).sum(); + + oneMonthCount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getOneMonthCount).sum(); + oneMonthAmount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getOneMonthAmount).sum(); + + threeMonthCount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getThreeMonthCount).sum(); + threeMonthAmount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getThreeMonthAmount).sum(); + + sixMonthCount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getSixMonthCount).sum(); + sixMonthAmount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getSixMonthAmount).sum(); + + oneYearCount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getOneYearCount).sum(); + oneYearAmount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getOneYearAmount).sum(); + + twoYearCount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getTwoYearCount).sum(); + twoYearAmount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getTwoYearAmount).sum(); + + fiveYearCount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getFiveYearCount).sum(); + fiveYearAmount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getFiveYearAmount).sum(); + + totalCount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getTotalCount).sum(); + totalAmount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getTotalAmount).sum(); + + } + map.put("todayCount",todayCount); + map.put("todayAmount",decimalFormat.format(todayAmount)); + + map.put("sevenDayCount",sevenDayCount); + map.put("sevenDayAmount",decimalFormat.format(sevenDayAmount)); + + + map.put("oneMonthCount",oneMonthCount); + map.put("oneMonthAmount",decimalFormat.format(oneMonthAmount)); + + + map.put("threeMonthCount",threeMonthCount); + map.put("threeMonthAmount",decimalFormat.format(threeMonthAmount)); + + map.put("sixMonthCount",sixMonthCount); + map.put("sixMonthAmount",decimalFormat.format(sixMonthAmount)); + + map.put("oneYearCount",oneYearCount); + map.put("oneYearAmount",decimalFormat.format(oneYearAmount)); + + map.put("twoYearCount",twoYearCount); + map.put("twoYearAmount",decimalFormat.format(twoYearAmount)); + + map.put("fiveYearCount",fiveYearCount); + map.put("fiveYearAmount",decimalFormat.format(fiveYearAmount)); + + map.put("totalCount",totalCount); + map.put("totalAmount",decimalFormat.format(totalAmount)); + + //修改名称加卡号 + for (AccountsDebitPosVo accounts : debitCardList) { + + if(accounts.getCode()!=null){ + accounts.setNameCode(accounts.getName()+"("+ StringUtils.getLastNumberChars(4,accounts.getCode()+")")); + }else { + accounts.setNameCode(accounts.getName()); + } + } + ArrayList> accountsOneYearList = new ArrayList<>(); + + for (AccountsDebitPosVo vo:debitCardList + ) { + Map datamap = new HashMap<>(); + datamap.put("debitCard", vo.getNameCode()); + datamap.put("amount", vo.getSixMonthAmount()); + accountsOneYearList.add(datamap); + } + //列表 + map.put("debitCardList",accountsOneYearList); + + //表格列表 + map.put("debitCardTableList",debitCardList); + + + return map; + } + + + @Override + public Map getPosStatics(AnalysisDto analysisDto) { + //返回数据 + HashMap map = new HashMap<>(); + DecimalFormat decimalFormat = new DecimalFormat("#.##"); + AccountsDto dto=new AccountsDto(); + + List debitCardList=statisticAnalysisMapper.selectPosStaticList(dto); + double todayCount =0; + double todayAmount =0; + + double sevenDayCount =0; + double sevenDayAmount =0; + + double oneMonthCount =0; + double oneMonthAmount =0; + + double threeMonthCount =0; + double threeMonthAmount =0; + + double sixMonthCount =0; + double sixMonthAmount =0; + + double oneYearCount =0; + double oneYearAmount =0; + + double twoYearCount =0; + double twoYearAmount =0; + + double fiveYearCount =0; + double fiveYearAmount =0; + + double totalCount =0; + double totalAmount =0; + + if(debitCardList.size()>0){ + todayCount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getTodayCount).sum(); + todayAmount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getTodayAmount).sum(); + + sevenDayCount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getSevenDayCount).sum(); + sevenDayAmount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getSevenDayAmount).sum(); + + oneMonthCount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getOneMonthCount).sum(); + oneMonthAmount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getOneMonthAmount).sum(); + + threeMonthCount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getThreeMonthCount).sum(); + threeMonthAmount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getThreeMonthAmount).sum(); + + sixMonthCount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getSixMonthCount).sum(); + sixMonthAmount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getSixMonthAmount).sum(); + + oneYearCount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getOneYearCount).sum(); + oneYearAmount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getOneYearAmount).sum(); + + twoYearCount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getTwoYearCount).sum(); + twoYearAmount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getTwoYearAmount).sum(); + + fiveYearCount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getFiveYearCount).sum(); + fiveYearAmount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getFiveYearAmount).sum(); + + totalCount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getTotalCount).sum(); + totalAmount=debitCardList.stream().mapToDouble(AccountsDebitPosVo::getTotalAmount).sum(); + + } + map.put("todayCount",todayCount); + map.put("todayAmount",decimalFormat.format(todayAmount)); + + map.put("sevenDayCount",sevenDayCount); + map.put("sevenDayAmount",decimalFormat.format(sevenDayAmount)); + + + map.put("oneMonthCount",oneMonthCount); + map.put("oneMonthAmount",decimalFormat.format(oneMonthAmount)); + + + map.put("threeMonthCount",threeMonthCount); + map.put("threeMonthAmount",decimalFormat.format(threeMonthAmount)); + + map.put("sixMonthCount",sixMonthCount); + map.put("sixMonthAmount",decimalFormat.format(sixMonthAmount)); + + map.put("oneYearCount",oneYearCount); + map.put("oneYearAmount",decimalFormat.format(oneYearAmount)); + + map.put("twoYearCount",twoYearCount); + map.put("twoYearAmount",decimalFormat.format(twoYearAmount)); + + map.put("fiveYearCount",fiveYearCount); + map.put("fiveYearAmount",decimalFormat.format(fiveYearAmount)); + + map.put("totalCount",totalCount); + map.put("totalAmount",decimalFormat.format(totalAmount)); + + //修改名称加卡号 + for (AccountsDebitPosVo accounts : debitCardList) { + accounts.setNameCode(accounts.getName()+"-"+ accounts.getMerchantName()); + } + ArrayList> accountsOneYearList = new ArrayList<>(); + + for (AccountsDebitPosVo vo:debitCardList + ) { + Map datamap = new HashMap<>(); + datamap.put("pos", vo.getNameCode()); + datamap.put("amount", vo.getSixMonthAmount()); + accountsOneYearList.add(datamap); + } + //列表 + map.put("posList",accountsOneYearList); + + //表格列表 + map.put("posTableList",debitCardList); + + + return map; + } } diff --git a/intc-modules/intc-invest/src/main/resources/mapper/invest/StatisticAnalysisMapper.xml b/intc-modules/intc-invest/src/main/resources/mapper/invest/StatisticAnalysisMapper.xml index 4e83b03..945bc25 100644 --- a/intc-modules/intc-invest/src/main/resources/mapper/invest/StatisticAnalysisMapper.xml +++ b/intc-modules/intc-invest/src/main/resources/mapper/invest/StatisticAnalysisMapper.xml @@ -281,4 +281,522 @@ group by a."name" + + + + + \ No newline at end of file