From d2122bf5b4478aa2dabb42e6cf5973cd8e72057d Mon Sep 17 00:00:00 2001 From: tianyongbao Date: Fri, 2 Aug 2024 11:32:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=A6=96=E9=A1=B5=E6=97=A5=E5=8E=86?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=AE=8C=E5=96=84=EF=BC=8Cbug=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../invest/domain/vo/AccountCalendarVo.java | 2 + .../mapper/StatisticAnalysisMapper.java | 9 ++ .../service/impl/StatisticAnalysisImpl.java | 97 +++++++++++++++++-- .../mapper/invest/StatisticAnalysisMapper.xml | 29 +++++- 4 files changed, 129 insertions(+), 8 deletions(-) diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/vo/AccountCalendarVo.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/vo/AccountCalendarVo.java index f70436f..f5e9f04 100644 --- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/vo/AccountCalendarVo.java +++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/vo/AccountCalendarVo.java @@ -22,4 +22,6 @@ public class AccountCalendarVo private String color; + private String textColor; + } 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 1ad31f6..44dae73 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 @@ -48,4 +48,13 @@ public interface StatisticAnalysisMapper { */ @DataScope(businessAlias = "a") public List selectDailyExpensesByDate(AccountsDealRecordDto accountsDealRecordDto); + + /** + * 查询工资收入 + * + * @param accountsDealRecordDto + * @return 收支集合 + */ + @DataScope(businessAlias = "a") + public List selectSalaryByDate(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 29bdaf8..b89bb33 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 @@ -2595,7 +2595,6 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService { payDate.setStart(payDateStr); payDate.setTitle(nameCode+ "还款日"); payDate.setType(2); - payDate.setColor("red"); list.add(payDate); //周视图,月份不相同,下个月的也加入数据 if(!analysisDto.getStartTime().split("-")[1].equals(analysisDto.getEndTime().split("-")[1])&&analysisDto.getType().equals("2")){ @@ -2604,7 +2603,6 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService { nextPayDate.setStart(nextPayDateStr); nextPayDate.setTitle(nameCode+ "还款日"); nextPayDate.setType(2); - nextPayDate.setColor("red"); list.add(nextPayDate); } } @@ -2621,7 +2619,6 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService { billDate.setStart(billDateStr); billDate.setTitle(nameCode+ "账单:"+creditCardBill.getBillAmount()); billDate.setType(1); - billDate.setColor("green"); list.add(billDate); } } @@ -2640,12 +2637,10 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService { if(detail.getPostingState().equals("0")){ historyDetail.setTitle(detail.getBankCardLendName()+ "贷款待还:"+detail.getCurrentAmount()); historyDetail.setType(3); - historyDetail.setColor("orange"); } else { historyDetail.setTitle(detail.getBankCardLendName()+ "贷款已还:"+detail.getCurrentAmount()); historyDetail.setType(4); - historyDetail.setColor("blue"); } list.add(historyDetail); @@ -2659,6 +2654,15 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService { List dailyExpensesList=statisticAnalysisMapper.selectDailyExpensesByDate(dto); list.addAll(dailyExpensesList); + + //工资收入统计 + //获取数据 + dto.setEndTime(analysisDto.getEndTime()); + dto.setStartTime(analysisDto.getStartTime()); + List salaryList=statisticAnalysisMapper.selectSalaryByDate(dto); + list.addAll(salaryList); + + AccountsDealRecordDto dealDto=new AccountsDealRecordDto(); //获取数据 dealDto.setEndTime(analysisDto.getEndTime()); @@ -2704,10 +2708,89 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService { billDate.setType(6); billDate.setColor("purple"); list.add(billDate); - } - Collections.sort(list, Comparator.comparing(AccountCalendarVo::getType).reversed()); + AccountsTransferRecordDto posDto=new AccountsTransferRecordDto(); + //获取数据 + posDto.setEndTime(analysisDto.getEndTime()); + posDto.setStartTime(analysisDto.getStartTime()); + posDto.setType("1"); + List transferList=accountsTransferRecordMapper.selectAccountsTransferRecordList(posDto); + //日列表 + List posTimeList=new ArrayList<>(); + for (AccountsTransferRecordVo vo:transferList + ) { + String dayString=sdf.format(vo.getCreateTime()); + + if(!posTimeList.contains(dayString)){ + posTimeList.add(dayString); + } + } + + for (String staticsTime :posTimeList + ) { + double posAmount=0; + + for (AccountsTransferRecordVo vo:transferList + ) { + String dayString=sdf.format(vo.getCreateTime()); + if(staticsTime.equals(dayString)){ + posAmount+=vo.getAmount(); + + } + } + AccountCalendarVo billDate = new AccountCalendarVo(); + billDate.setStart(staticsTime); + billDate.setTitle("POS机刷卡:"+posAmount); + billDate.setType(7); + list.add(billDate); + } + + //统一设置事件背景色和字体颜色 + // 1信用卡账单,2还款日,3贷款待还,4贷款已还,5日常支出,6投资收益,7POS机刷卡,8工资收入 + for (AccountCalendarVo calendar:list + ) { + int type=calendar.getType(); + switch(type){ + case 1: + calendar.setColor("Khaki"); + calendar.setTextColor("DeepPink"); + break; + case 2: + calendar.setColor("LightCoral"); + calendar.setTextColor("SpringGreen"); + break; + case 3: + calendar.setColor("LightPink"); + calendar.setTextColor("Magenta"); + break; + case 4: + calendar.setColor("LightGreen"); + calendar.setTextColor("RoyalBlue"); + break; + case 5: + calendar.setColor("LemonChiffon"); + calendar.setTextColor("MediumBlue"); + break; + case 6: + calendar.setColor("LightBlue"); + calendar.setTextColor("Crimson"); + break; + case 7: + calendar.setColor("LavenderBlush"); + calendar.setTextColor("Black"); + break; + case 8: + calendar.setColor("Ivory"); + calendar.setTextColor("Tomato"); + break; + default: + calendar.setColor("White"); + calendar.setTextColor("DarkViolet"); + break; + } + + } return list; } } 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 70984d2..3be245f 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 @@ -199,7 +199,34 @@ and a.deal_type = '2' and a.deal_category = '1' - and #{endTime}>to_char(a.create_time, 'yyyy-MM-dd') + and #{endTime}>=to_char(a.create_time, 'yyyy-MM-dd') + + + and to_char(a.create_time, 'yyyy-MM-dd')>=#{startTime} + + + + ${params.dataScope} + group by + to_char(a.create_time, + 'yyyy-MM-dd') + + +