diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/vo/AccountsDealRecordVo.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/vo/AccountsDealRecordVo.java index b4d5244..422fe95 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/vo/AccountsDealRecordVo.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/vo/AccountsDealRecordVo.java @@ -26,4 +26,6 @@ public class AccountsDealRecordVo extends AccountsDealRecord private String childCategoryName; + private String dateStr; + } diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/mapper/StatisticAnalysisMapper.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/mapper/StatisticAnalysisMapper.java index 44dae73..5ccd757 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/mapper/StatisticAnalysisMapper.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/mapper/StatisticAnalysisMapper.java @@ -57,4 +57,13 @@ public interface StatisticAnalysisMapper { */ @DataScope(businessAlias = "a") public List selectSalaryByDate(AccountsDealRecordDto accountsDealRecordDto); + + /** + * 查询日常支出,按日统计 + * + * @param accountsDealRecordDto + * @return 收支集合 + */ + @DataScope(businessAlias = "a") + public List selectDailyExpensesDateList(AccountsDealRecordDto accountsDealRecordDto); } diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/StatisticAnalysisImpl.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/StatisticAnalysisImpl.java index f71163b..fe5cac9 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/StatisticAnalysisImpl.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/service/impl/StatisticAnalysisImpl.java @@ -2542,6 +2542,98 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService { dto.setAccountId(analysisDto.getId()); dto.setChildCategory(analysisDto.getChildCategory()); List accountsDealRecordVoList=statisticAnalysisMapper.selectDailyExpensesList(dto); + List accountsDateList=statisticAnalysisMapper.selectDailyExpensesDateList(dto); + + List queryList =new ArrayList<>(); + if("1".equals(analysisDto.getType())){ + for (AccountsDealRecordVo vo:accountsDateList + ) { + AccountsDealRecordVo analysisVo=new AccountsDealRecordVo(); + analysisVo.setAmount(vo.getAmount()); + analysisVo.setRemark(vo.getDateStr()); + queryList.add(analysisVo); + } + + //年查询 + } + else if("2".equals(analysisDto.getType())){ + //月列表 + List staticsTimeList=new ArrayList<>(); + for (AccountsDealRecordVo vo:accountsDealRecordVoList + ) { + String monthString=vo.getDateStr().substring(0,7); + if(!staticsTimeList.contains(monthString)){ + staticsTimeList.add(monthString); + } + } + for (String staticsTime :staticsTimeList + ) { + double actualCreditBillMonth=0; + for (AccountsDealRecordVo vo:accountsDealRecordVoList + ) { + String monthString=vo.getDateStr().substring(0,7); + if(staticsTime.equals(monthString)){ + actualCreditBillMonth+=vo.getAmount(); + } + } + AccountsDealRecordVo analysisVo=new AccountsDealRecordVo(); + analysisVo.setAmount(actualCreditBillMonth); + analysisVo.setRemark(staticsTime); + queryList.add(analysisVo); + } + + //年查询 + }else if("3".equals(analysisDto.getType())){ + List staticsTimeList=new ArrayList<>(); + for (AccountsDealRecordVo vo:accountsDealRecordVoList + ) { + String yearString=vo.getDateStr().substring(0,4); + + if(!staticsTimeList.contains(yearString)){ + staticsTimeList.add(yearString); + } + } + + for (String staticsTime :staticsTimeList + ) { + double actualCreditBillYear=0; + for (AccountsDealRecordVo vo:accountsDealRecordVoList + ) { + String yearString=vo.getDateStr().substring(0,4); + if(staticsTime.equals(yearString)){ + actualCreditBillYear+=vo.getAmount(); + } + } + AccountsDealRecordVo analysisVo=new AccountsDealRecordVo(); + analysisVo.setAmount(actualCreditBillYear); + analysisVo.setRemark(staticsTime); + queryList.add(analysisVo); + + } + + } + + ArrayList> acccountsDateList = new ArrayList<>(); + ArrayList> tableAccountsList = new ArrayList<>(); + for (AccountsDealRecordVo vo:queryList + ) { + Map datamap = new HashMap<>(); + datamap.put("time", vo.getRemark()); + datamap.put("value", decimalFormat.format(vo.getAmount())); + tableAccountsList.add(datamap); + } + Collections.reverse(queryList); + for (AccountsDealRecordVo vo:queryList + ) { + Map datamap = new HashMap<>(); + datamap.put("time", vo.getRemark()); + datamap.put("value", decimalFormat.format(vo.getAmount())); + acccountsDateList.add(datamap); + } + //列表 + map.put("acccountsDateList",acccountsDateList); + map.put("tableAccountsDateList",tableAccountsList); + //日常支出 1 double dailyExpenses=0; for (AccountsDealRecordVo vo:accountsDealRecordVoList @@ -2579,6 +2671,26 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService { map.put("top6Name",accountsDealRecordVoList.get(5).getName()); map.put("top6",accountsDealRecordVoList.get(5).getAmount()); } + if(accountsDealRecordVoList.size()>6){ + map.put("top7Name",accountsDealRecordVoList.get(6).getName()); + map.put("top7",accountsDealRecordVoList.get(6).getAmount()); + } + if(accountsDealRecordVoList.size()>7){ + map.put("top8Name",accountsDealRecordVoList.get(7).getName()); + map.put("top8",accountsDealRecordVoList.get(7).getAmount()); + } + if(accountsDealRecordVoList.size()>8){ + map.put("top9Name",accountsDealRecordVoList.get(8).getName()); + map.put("top9",accountsDealRecordVoList.get(8).getAmount()); + } + if(accountsDealRecordVoList.size()>9){ + map.put("top10Name",accountsDealRecordVoList.get(9).getName()); + map.put("top10",accountsDealRecordVoList.get(9).getAmount()); + } + if(accountsDealRecordVoList.size()>10){ + map.put("top11Name",accountsDealRecordVoList.get(10).getName()); + map.put("top11",accountsDealRecordVoList.get(10).getAmount()); + } ArrayList> acccountsList = new ArrayList<>(); for (AccountsDealRecordVo vo:accountsDealRecordVoList ) { diff --git a/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/StatisticAnalysisMapper.xml b/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/StatisticAnalysisMapper.xml index 3be245f..ee2585d 100644 --- a/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/StatisticAnalysisMapper.xml +++ b/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/StatisticAnalysisMapper.xml @@ -238,4 +238,32 @@ to_char(a.create_time, 'yyyy-MM-dd') + + \ No newline at end of file