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 c0c7387..0ad3b8a 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 @@ -7,6 +7,7 @@ import com.intc.invest.domain.dto.AccountsDto; import com.intc.invest.domain.dto.AnalysisDto; import com.intc.invest.domain.vo.AccountCalendarVo; import com.intc.invest.domain.vo.AccountsVo; +import com.intc.invest.domain.vo.OpenCardVo; import com.intc.invest.service.IStatisticAnalysisService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -185,7 +186,15 @@ public class StatisticAnalysisController extends BaseController { return getDataTable(list); } - - + /** + * 查询储蓄卡开卡统计数据 + */ + @ApiOperation(value="查询储蓄卡开卡统计数据",response = OpenCardVo.class) + @GetMapping("/openCardList") + public Map selectOpenCardList(AnalysisDto analysisDto) + { + Map resultMap = iStatisticAnalysisService.selectOpenCardList(analysisDto); + return AjaxResult.success(resultMap); + } } diff --git a/intc-modules/intc-invest/src/main/java/com/intc/invest/domain/dto/BankCardLendDto.java b/intc-modules/intc-invest/src/main/java/com/intc/invest/domain/dto/BankCardLendDto.java index fa514d7..ba84f8b 100644 --- a/intc-modules/intc-invest/src/main/java/com/intc/invest/domain/dto/BankCardLendDto.java +++ b/intc-modules/intc-invest/src/main/java/com/intc/invest/domain/dto/BankCardLendDto.java @@ -50,4 +50,15 @@ public class BankCardLendDto extends BaseEntity implements Serializable @ApiModelProperty(value="还款账户flag") private String repayFlag; + private String staticFlag; + + /** 结束月份 */ + @ApiModelProperty(value="结束月份") + private String endMonth; + + + /** 开始月份 */ + @ApiModelProperty(value="开始月份") + private String startMonth; + } diff --git a/intc-modules/intc-invest/src/main/java/com/intc/invest/domain/vo/OpenCardVo.java b/intc-modules/intc-invest/src/main/java/com/intc/invest/domain/vo/OpenCardVo.java new file mode 100644 index 0000000..29fb65a --- /dev/null +++ b/intc-modules/intc-invest/src/main/java/com/intc/invest/domain/vo/OpenCardVo.java @@ -0,0 +1,22 @@ +package com.intc.invest.domain.vo; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * + * @author tianyongbao + * @date 2025-03-04 + */ +@ApiModel("开卡数据Vo对象") +@Data +public class OpenCardVo +{ + private String type; + + private String name; + + private Integer count; + + +} 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 5a0915f..efa445f 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 @@ -105,4 +105,12 @@ public interface StatisticAnalysisMapper { public List selectAccountsList(AccountsDto accountsDto); + /** + * 查询储蓄卡开卡统计数据 + * + * @return 储蓄卡信息集合 + */ + @DataScope(businessAlias = "t") + public List selectOpenCardList(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 fcce365..841b04b 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 @@ -63,5 +63,12 @@ public interface IStatisticAnalysisService { */ public List selectAccountsList(AccountsDto accountsDto); + /** + * 查询储蓄卡开卡统计数据 + * + * @return 记账账户集合 + */ + public Map selectOpenCardList(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 a9888b3..9068bbb 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 @@ -3284,4 +3284,150 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService { } return accountsList; } + + + @Override + public Map selectOpenCardList(AnalysisDto analysisDto) { + //返回数据 + HashMap map = new HashMap<>(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + //月查询 + if(analysisDto.getType().equals("2")){ + if(StringUtils.isEmpty(analysisDto.getStartTime())&&StringUtils.isEmpty(analysisDto.getEndTime())){ + String endTime=dateFormat.format(DateUtils.addMonths(DateUtils.getNowDate(),-1)); + String startTime=dateFormat.format(DateUtils.addMonths(DateUtils.getNowDate(),-2400)); + analysisDto.setStartTime(startTime); + analysisDto.setEndTime(endTime); + }else { + analysisDto.setStartTime(analysisDto.getStartTime()+"-01"); + analysisDto.setEndTime(analysisDto.getEndTime()+"-31"); + } + + //年查询 + }else if(analysisDto.getType().equals("3")){ + if(StringUtils.isEmpty(analysisDto.getStartTime())&&StringUtils.isEmpty(analysisDto.getEndTime())){ + String endTime=dateFormat.format(DateUtils.getNowDate()); + String startTime=dateFormat.format(DateUtils.addYears(DateUtils.getNowDate(),-500)); + analysisDto.setStartTime(startTime); + analysisDto.setEndTime(endTime); + }else { + analysisDto.setStartTime(analysisDto.getStartTime()+"-01-01"); + analysisDto.setEndTime(analysisDto.getEndTime()+"-12-31"); + } + } + DecimalFormat decimalFormat = new DecimalFormat("#.##"); + + //获取数据 + List bankCardLendVoList=new ArrayList<>(); + BankCardLendDto bankCardLendDto=new BankCardLendDto(); + bankCardLendDto.setStartMonth(analysisDto.getStartTime().substring(0,7)); + bankCardLendDto.setEndMonth(analysisDto.getEndTime().substring(0,7)); + //只统计一类卡和二类卡 + bankCardLendDto.setStaticFlag("1"); + bankCardLendVoList=bankCardLendMapper.selectBankCardLendList(bankCardLendDto); + //修改名称加卡号 + for (BankCardLendVo vo : bankCardLendVoList) { + if(vo.getCode()!=null){ + vo.setNameCode(vo.getName()+"("+ vo.getCode()+")"); + }else { + vo.setNameCode(vo.getName()); + } + } + List debietList=new ArrayList<>(); + if("2".equals(analysisDto.getType())){ + //月列表 + List staticsTimeList=new ArrayList<>(); + for (BankCardLendVo vo:bankCardLendVoList + ) { + + String monthString=dateFormat.format(vo.getActivationDate()).substring(0,7); + + if(!staticsTimeList.contains(monthString)){ + staticsTimeList.add(monthString); + + } + } + for (String staticsTime :staticsTimeList + ) { + String details=""; + int actualCreditBillMonth=0; + for (BankCardLendVo vo:bankCardLendVoList + ) { + String monthString=dateFormat.format(vo.getActivationDate()).substring(0,7); + + if(staticsTime.equals(monthString)){ + actualCreditBillMonth++; + details+=vo.getNameCode()+"于"+dateFormat.format(vo.getActivationDate())+"在 "+vo.getOpeningBank()+" 开户;
"; + } + } + BankCardLendVo analysisVo=new BankCardLendVo(); + analysisVo.setName(actualCreditBillMonth+""); + analysisVo.setCode(staticsTime); + analysisVo.setRemark(details); + debietList.add(analysisVo); + } + + //年查询 + }else if("3".equals(analysisDto.getType())){ + //月列表 + List staticsTimeList=new ArrayList<>(); + for (BankCardLendVo vo:bankCardLendVoList + ) { + + String monthString=dateFormat.format(vo.getActivationDate()).substring(0,4); + + if(!staticsTimeList.contains(monthString)){ + staticsTimeList.add(monthString); + + } + } + for (String staticsTime :staticsTimeList + ) { + String details=""; + int actualCreditBillMonth=0; + for (BankCardLendVo vo:bankCardLendVoList + ) { + String monthString=dateFormat.format(vo.getActivationDate()).substring(0,4); + + if(staticsTime.equals(monthString)){ + actualCreditBillMonth++; + details+=vo.getNameCode()+"于"+dateFormat.format(vo.getActivationDate())+"在 "+vo.getOpeningBank()+" 开户;
"; + } + } + BankCardLendVo analysisVo=new BankCardLendVo(); + analysisVo.setName(actualCreditBillMonth+""); + analysisVo.setCode(staticsTime); + analysisVo.setRemark(details); + debietList.add(analysisVo); + } + + } + + + ArrayList> debitList = new ArrayList<>(); + ArrayList> tableDebitList = new ArrayList<>(); + for (BankCardLendVo bankCardLendVo:debietList + ) { + Map datamap = new HashMap<>(); + datamap.put("time", bankCardLendVo.getCode()); + datamap.put("detail", bankCardLendVo.getRemark()); + datamap.put("value", bankCardLendVo.getName()); + tableDebitList.add(datamap); + } + Collections.reverse(debietList); + for (BankCardLendVo bankCardLendVo:debietList + ) { + Map datamap = new HashMap<>(); + datamap.put("time", bankCardLendVo.getCode()); + datamap.put("value", bankCardLendVo.getName()); + debitList.add(datamap); + } + List accountsList=statisticAnalysisMapper.selectOpenCardList(new AccountsDto()); + //列表 + map.put("accountsList",accountsList); + map.put("debitList",debitList); + map.put("tableDebitList",tableDebitList); + + return map; + } } diff --git a/intc-modules/intc-invest/src/main/resources/mapper/invest/BankCardLendMapper.xml b/intc-modules/intc-invest/src/main/resources/mapper/invest/BankCardLendMapper.xml index 1a15906..bb78f25 100644 --- a/intc-modules/intc-invest/src/main/resources/mapper/invest/BankCardLendMapper.xml +++ b/intc-modules/intc-invest/src/main/resources/mapper/invest/BankCardLendMapper.xml @@ -77,10 +77,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and a.lend_type = #{lendType} and a.status = #{status} and a.debit_type in('1','2','3') + and ( a.debit_type in('1','2') and a.status!='2') + + and to_char(a.activation_date, 'yyyy-MM')>=#{startMonth} + + + and #{endMonth}>=to_char(a.activation_date, 'yyyy-MM') + ${params.dataScope} - order by a.type asc, a.bill_date asc,a.debit_type asc,a.update_time desc + + order by a.activation_date desc + + + order by a.type asc, a.bill_date asc,a.debit_type asc,a.update_time desc + + + \ No newline at end of file