fix: 统计分析,自测问题修复。
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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()+";<br/>";
|
||||
}
|
||||
}
|
||||
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<String, Object> 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 <String> 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()+";<br/>";
|
||||
}
|
||||
}
|
||||
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<String, Object> 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()+";<br/>";
|
||||
}
|
||||
}
|
||||
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<String, Object> 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()+"次;<br/>";
|
||||
}
|
||||
}
|
||||
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<String, Object> 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<InstallmentHistoryVo> 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()+";<br/>";
|
||||
|
||||
}
|
||||
}
|
||||
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<String, Object> 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<String, Object> 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()+";<br/>";
|
||||
}
|
||||
}
|
||||
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<String, Object> 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<String, Object> 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<AccountsDealRecordVo> 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 <String> 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()+";<br/>";
|
||||
}
|
||||
if(vo.getDealType().equals("2")){
|
||||
actualCreditBillDay-=vo.getAmount();
|
||||
details+=vo.getAccountName()+"于"+dateFormatSecond.format(vo.getCreateTime())+"因交易类别【"+vo.getDealCategory()+"】支出"+vo.getAmount()+";<br/>";
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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<String, Object> 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);
|
||||
|
||||
@@ -21,10 +21,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="remark" column="remark" />
|
||||
<result property="type" column="type" />
|
||||
<result property="periods" column="periods" />
|
||||
<result property="bankCardLendName" column="bank_card_lend_name" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectInstallmentHistoryDetailVo">
|
||||
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
|
||||
</sql>
|
||||
|
||||
<select id="selectInstallmentHistoryDetailList" parameterType="InstallmentHistoryDetailDto" resultMap="InstallmentHistoryDetailResult">
|
||||
|
||||
Reference in New Issue
Block a user