diff --git a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/vo/InstallmentHistoryDetailVo.java b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/vo/InstallmentHistoryDetailVo.java
index 12e0a70..afbc977 100644
--- a/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/vo/InstallmentHistoryDetailVo.java
+++ b/ruoyi-modules/intc-invest/src/main/java/com/ruoyi/invest/domain/vo/InstallmentHistoryDetailVo.java
@@ -1,8 +1,8 @@
package com.ruoyi.invest.domain.vo;
import com.ruoyi.invest.domain.InstallmentHistoryDetail;
-import lombok.Data;
import io.swagger.annotations.ApiModel;
+import lombok.Data;
/**
* 分期历史明细Vo对象 installment_history_detail
*
@@ -13,5 +13,8 @@ import io.swagger.annotations.ApiModel;
@Data
public class InstallmentHistoryDetailVo extends InstallmentHistoryDetail
{
+ private String bankCardLendName;
+
+
}
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 7036a8d..4a82bbf 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
@@ -2,6 +2,7 @@ package com.ruoyi.invest.service.impl;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.security.utils.DictUtils;
import com.ruoyi.invest.domain.dto.*;
import com.ruoyi.invest.domain.vo.*;
import com.ruoyi.invest.mapper.*;
@@ -9,6 +10,7 @@ import com.ruoyi.invest.service.IStatisticAnalysisService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -410,7 +412,12 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
creditCardBillDto.setEndMonth(analysisDto.getEndTime().substring(0,7));
creditCardBillDto.setCreditCardId(analysisDto.getId());
creditCardBillVoList=creditCardBillMapper.selectCreditCardBillList(creditCardBillDto);
-
+ //修改名称加卡号
+ for (CreditCardBillVo creditCardBill : creditCardBillVoList) {
+ if(creditCardBill.getBankName()!=null){
+ creditCardBill.setBankNameCode(creditCardBill.getBankName()+"("+ StringUtils.getLastNumberChars(4,creditCardBill.getBankCode()+")"));
+ }
+ }
//信用卡额度
BankCardLendDto bankCardLendDto=new BankCardLendDto();
bankCardLendDto.setType("2");
@@ -457,6 +464,7 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
for (String staticsTime :staticsTimeList
) {
+ String details="";
double actualCreditBillMonth=0;
for (CreditCardBillVo creditCardBillVo:creditCardBillVoList
) {
@@ -464,11 +472,13 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
if(staticsTime.equals(monthString)){
actualCreditBillMonth+=creditCardBillVo.getBillAmount();
+ details+=creditCardBillVo.getBankNameCode()+"账单"+creditCardBillVo.getBillAmount()+";
";
}
}
CreditCardBillVo analysisVo=new CreditCardBillVo();
analysisVo.setBillAmount(Double.parseDouble(decimalFormat.format(actualCreditBillMonth)));
analysisVo.setName(staticsTime);
+ analysisVo.setRemark(details);
creditAnalysisList.add(analysisVo);
}
@@ -523,6 +533,7 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
) {
Map datamap = new HashMap<>();
datamap.put("time", creditCardBillVo.getName());
+ datamap.put("detail", creditCardBillVo.getRemark());
datamap.put("value", decimalFormat.format(creditCardBillVo.getBillAmount()));
tableCreditBillList.add(datamap);
}
@@ -594,6 +605,14 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
futureStocksBillDto.setType(analysisDto.getDataType());
futureStocksBillVoList=futureStocksBillMapper.selectFutureStocksBillList(futureStocksBillDto);
+ //修改名称加卡号
+ for (FutureStocksBillVo futureStocksBill : futureStocksBillVoList) {
+ if(futureStocksBill.getFutureStocksCode()!=null){
+ futureStocksBill.setFutureStocksNameCode(futureStocksBill.getFutureStocksName()+"("+ futureStocksBill.getFutureStocksCode()+")");
+ }else {
+ futureStocksBill.setFutureStocksNameCode(futureStocksBill.getFutureStocksName());
+ }
+ }
//累计收益
double accumulateIncome = futureStocksBillVoList.stream().mapToDouble(FutureStocksBillVo::getBillAmount).sum();
map.put("accumulateIncome", decimalFormat.format(accumulateIncome));
@@ -605,15 +624,17 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
List staticsTimeList=new ArrayList<>();
for (FutureStocksBillVo futureStocksBillVo:futureStocksBillVoList
) {
+
String monthString=dateFormat.format(futureStocksBillVo.getBillDate()).substring(0,7);
if(!staticsTimeList.contains(monthString)){
staticsTimeList.add(monthString);
+
}
}
-
for (String staticsTime :staticsTimeList
) {
+ String details="";
double actualCreditBillMonth=0;
for (FutureStocksBillVo futureStocksBillVo:futureStocksBillVoList
) {
@@ -621,11 +642,13 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
if(staticsTime.equals(monthString)){
actualCreditBillMonth+=futureStocksBillVo.getBillAmount();
+ details+=futureStocksBillVo.getFutureStocksNameCode()+"收益"+futureStocksBillVo.getBillAmount()+";
";
}
}
FutureStocksBillVo analysisVo=new FutureStocksBillVo();
analysisVo.setBillAmount(Double.parseDouble(decimalFormat.format(actualCreditBillMonth)));
analysisVo.setName(staticsTime);
+ analysisVo.setRemark(details);
futureStocksBillList.add(analysisVo);
}
@@ -682,6 +705,7 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
) {
Map datamap = new HashMap<>();
datamap.put("time", futureStocksBillVo.getName());
+ datamap.put("detail", futureStocksBillVo.getRemark());
datamap.put("value", decimalFormat.format(futureStocksBillVo.getBillAmount()));
tableFuturesStocksList.add(datamap);
}
@@ -802,6 +826,7 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
for (String staticsTime :staticsTimeList
) {
+ String details="";
double actualCreditBillDay=0;
for (InstallmentHistoryDetailVo vo:detailList
) {
@@ -809,11 +834,13 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
if(staticsTime.equals(dayString)){
actualCreditBillDay+=vo.getCurrentAmount();
+ details+=vo.getBankCardLendName()+"于"+dateFormat.format(vo.getCreateTime())+"应还款总额"+vo.getCurrentAmount()+",其中本金"+vo.getPrincipal()+",利息"+vo.getInterest()+";
";
}
}
InstallmentHistoryDetailVo analysisVo=new InstallmentHistoryDetailVo();
analysisVo.setCurrentAmount(actualCreditBillDay);
analysisVo.setRemark(staticsTime);
+ analysisVo.setBankCardLendName(details);
installmentHistoryDetailList.add(analysisVo);
}
@@ -887,6 +914,7 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
Map datamap = new HashMap<>();
datamap.put("time", vo.getRemark());
datamap.put("value", decimalFormat.format(vo.getCurrentAmount()));
+ datamap.put("detail", vo.getBankCardLendName());
tableHistoryDetailList.add(datamap);
}
Collections.reverse(installmentHistoryDetailList);
@@ -1041,6 +1069,7 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
for (String staticsTime :staticsTimeList
) {
+ String details="";
int actualCreditBillDay=0;
for (CreditReportQueryRecordVo vo:detailList
) {
@@ -1048,11 +1077,13 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
if(staticsTime.equals(dayString)){
actualCreditBillDay+=vo.getQueryCount();
+ details+=vo.getQueryInstitution()+"查询"+vo.getQueryCount()+"次;
";
}
}
CreditReportQueryRecordVo analysisVo=new CreditReportQueryRecordVo();
analysisVo.setQueryCount(actualCreditBillDay);
analysisVo.setRemark(staticsTime);
+ analysisVo.setQueryInstitution(details);
queryRecordList.add(analysisVo);
}
@@ -1125,6 +1156,7 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
Map datamap = new HashMap<>();
datamap.put("time", vo.getRemark());
datamap.put("value", vo.getQueryCount());
+ datamap.put("detail", vo.getQueryInstitution());
creditTableRecordsList.add(datamap);
}
Collections.reverse(queryRecordList);
@@ -1182,6 +1214,13 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
installmentHistoryDto.setType(analysisDto.getDataType());
installmentHistoryDto.setBankCardLendId(analysisDto.getId());
List installmentHistoryList=installmentHistoryMapper.selectInstallmentHistoryList(installmentHistoryDto);
+ for (InstallmentHistoryVo installmentHistory : installmentHistoryList) {
+ if(installmentHistory.getBankCode()!=null){
+ installmentHistory.setBankNameCode(installmentHistory.getBankName()+"("+ StringUtils.getLastNumberChars(4,installmentHistory.getBankCode()+")"));
+ }else {
+ installmentHistory.setBankNameCode(installmentHistory.getBankName());
+ }
+ }
double clearedPrincipal = 0;
double totalInterest = 0;
if(installmentHistoryList.size()>0){
@@ -1209,21 +1248,26 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
staticsTimeList.add(monthString);
}
}
-
for (String staticsTime :staticsTimeList
) {
+ String details="";
double actualCreditBillMonth=0;
for (InstallmentHistoryVo vo:installmentHistoryList
) {
String monthString=dateFormat.format(vo.getInstallmentDate()).substring(0,7);
if(staticsTime.equals(monthString)){
- actualCreditBillMonth+=vo.getInstallmentAmount()+vo.getTotalInterest();
+ double total=vo.getInstallmentAmount()+vo.getTotalInterest();
+ BigDecimal bigDecimal=new BigDecimal(decimalFormat.format( total));
+ actualCreditBillMonth+=bigDecimal.doubleValue();
+ details+=vo.getBankNameCode()+"借款金额(本息)"+bigDecimal.doubleValue()+";
";
+
}
}
InstallmentHistoryVo analysisVo=new InstallmentHistoryVo();
analysisVo.setInstallmentAmount(Double.parseDouble(decimalFormat.format(actualCreditBillMonth)));
analysisVo.setRemark(staticsTime);
+ analysisVo.setName(details);
installmentHistoryVoList.add(analysisVo);
}
@@ -1264,6 +1308,7 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
) {
Map datamap = new HashMap<>();
datamap.put("time", vo.getRemark());
+ datamap.put("detail", vo.getName());
datamap.put("value", decimalFormat.format(vo.getInstallmentAmount()));
tableHistoryList.add(datamap);
}
@@ -1363,6 +1408,7 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
HashMap map = new HashMap<>();
DecimalFormat decimalFormat = new DecimalFormat("#.###");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat dateFormatSecond = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat formatterMonth = new SimpleDateFormat("yyyy-MM");
//月查询
if(analysisDto.getType().equals("2")){
@@ -1439,18 +1485,21 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
for (String staticsTime :staticsTimeList
) {
+ String details="";
double actualCreditBillDay=0;
+
for (AccountsTransferRecordVo vo:transferList
) {
String dayString=dateFormat.format(vo.getCreateTime());
-
if(staticsTime.equals(dayString)){
actualCreditBillDay+=vo.getAmount();
+ details+=vo.getOutAccountName()+"于"+dateFormatSecond.format(vo.getCreateTime())+"刷卡"+vo.getAmount()+";
";
}
}
AccountsTransferRecordVo analysisVo=new AccountsTransferRecordVo();
analysisVo.setAmount(actualCreditBillDay);
analysisVo.setRemark(staticsTime);
+ analysisVo.setName(details);
queryList.add(analysisVo);
}
@@ -1523,6 +1572,7 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
Map datamap = new HashMap<>();
datamap.put("time", vo.getRemark());
datamap.put("value", decimalFormat.format(vo.getAmount()));
+ datamap.put("detail", vo.getName());
tablePosList.add(datamap);
}
Collections.reverse(queryList);
@@ -1547,6 +1597,7 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
HashMap map = new HashMap<>();
DecimalFormat decimalFormat = new DecimalFormat("#.###");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat dateFormatSecond = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat formatterMonth = new SimpleDateFormat("yyyy-MM");
//月查询
if(analysisDto.getType().equals("2")){
@@ -1594,6 +1645,7 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
dto.setDealType(analysisDto.getDealType());
dto.setDealCategory(analysisDto.getDealCategory());
List accountsDealRecordVoList=accountsDealRecordMapper.selectAccountsDealRecordList(dto);
+
double income =0;
double expenses =0;
double posExpenses =0;
@@ -1606,6 +1658,7 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
int realExpensesCount =0;
for (AccountsDealRecordVo vo:accountsDealRecordVoList
) {
+
if(vo.getDealType().equals("1")){
income+=vo.getAmount();
incomeCount++;
@@ -1663,6 +1716,9 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
List staticsTimeList=new ArrayList<>();
for (AccountsDealRecordVo vo:accountsDealRecordVoList
) {
+ if (null != vo.getDealCategory()) {
+ vo.setDealCategory(DictUtils.getDictLabel("deal_category", vo.getDealCategory().toString()));
+ }
String dayString=dateFormat.format(vo.getCreateTime());
if(!staticsTimeList.contains(dayString)){
@@ -1673,6 +1729,7 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
for (String staticsTime :staticsTimeList
) {
double actualCreditBillDay=0;
+ String details="";
for (AccountsDealRecordVo vo:accountsDealRecordVoList
) {
String dayString=dateFormat.format(vo.getCreateTime());
@@ -1680,9 +1737,11 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
if(staticsTime.equals(dayString)){
if(vo.getDealType().equals("1")){
actualCreditBillDay+=vo.getAmount();
+ details+=vo.getAccountName()+"于"+dateFormatSecond.format(vo.getCreateTime())+"因交易类别【"+vo.getDealCategory()+"】收入"+vo.getAmount()+";
";
}
if(vo.getDealType().equals("2")){
actualCreditBillDay-=vo.getAmount();
+ details+=vo.getAccountName()+"于"+dateFormatSecond.format(vo.getCreateTime())+"因交易类别【"+vo.getDealCategory()+"】支出"+vo.getAmount()+";
";
}
}
@@ -1690,6 +1749,7 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
AccountsDealRecordVo analysisVo=new AccountsDealRecordVo();
analysisVo.setAmount(actualCreditBillDay);
analysisVo.setRemark(staticsTime);
+ analysisVo.setName(details);
queryList.add(analysisVo);
}
@@ -1772,6 +1832,7 @@ public class StatisticAnalysisImpl implements IStatisticAnalysisService {
Map datamap = new HashMap<>();
datamap.put("time", vo.getRemark());
datamap.put("value", decimalFormat.format(vo.getAmount()));
+ datamap.put("detail", vo.getName());
tableAccountsList.add(datamap);
}
Collections.reverse(queryList);
diff --git a/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/InstallmentHistoryDetailMapper.xml b/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/InstallmentHistoryDetailMapper.xml
index 89e105c..71ef397 100644
--- a/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/InstallmentHistoryDetailMapper.xml
+++ b/ruoyi-modules/intc-invest/src/main/resources/mapper/invest/InstallmentHistoryDetailMapper.xml
@@ -21,10 +21,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
- select a.id, a.installment_history_id, a.bank_card_lend_id, a.current_amount, a.repayment_date, a.principal, a.interest, a.posting_state, a.create_by, a.create_time, a.update_by, a.update_time, a.del_flag, a.remark, a.type, a.periods from installment_history_detail a
+ select
+ a.id,
+ a.installment_history_id,
+ a.bank_card_lend_id,
+ a.current_amount,
+ a.repayment_date,
+ a.principal,
+ a.interest,
+ a.posting_state,
+ a.create_by,
+ a.create_time,
+ a.update_by,
+ a.update_time,
+ a.del_flag,
+ a.remark,
+ a.type,
+ a.periods,
+ CONCAT(bcl."name",
+ '(',
+ right(bcl.code,
+ 4),
+ ')') as bank_card_lend_name
+ from
+ installment_history_detail a
+ left join bank_card_lend bcl on
+ bcl.id = a.bank_card_lend_id