Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 8 months ago
parent
commit
3cccbd8611
  1. 161
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml
  2. 104
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java

161
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml

@ -660,20 +660,42 @@
</select> </select>
<select id="exportStatisticsExcel" <select id="exportStatisticsExcel"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.RecordCountVo"> resultType="com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.RecordCountVo">
SELECT SELECT * FROM
a.*,
(SELECT (SELECT
(fjj.reveivableMoney - fjj.m) c.*,
CASE
WHEN c.dueDate > c.updateDate or c.updateDate IS NULL THEN '否'
WHEN c.dueDate &lt;= c.updateDate AND (c.outstandingMoney + IFNULL(c.fund,0) + IFNULL(c.bankBeInter,0)) > 0 THEN '是'
WHEN c.dueDate &lt;= c.updateDate AND (c.outstandingMoney + IFNULL(c.fund,0) + IFNULL(c.bankBeInter,0)) &lt;= 0 THEN '否'
END AS nowOverdue
FROM FROM
(SELECT (
IFNULL((SELECT SUM(subscriptionMoney) FROM anrui_fin.fin_selected_receivables_detailed as s SELECT
WHERE s.auditState = '3' b.*,
and s.receivablesSid = fj.sid),0) as m, (
SELECT
( fjj.reveivableMoney - fjj.m )
FROM
(
SELECT
IFNULL((
SELECT
SUM( subscriptionMoney )
FROM
anrui_fin.fin_selected_receivables_detailed AS s
WHERE
s.auditState = '3'
AND s.receivablesSid = fj.sid
),
0
) AS m,
fj.* fj.*
FROM FROM
(SELECT j.busSid,j.sid,j.reveivableMoney FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j ( SELECT j.busSid, j.sid, j.reveivableMoney FROM anrui_fin.fin_uncollected_receivables_detailed_jr AS j WHERE j.payCostTitleKey = '006' ) AS fj
WHERE j.payCostTitleKey = '006') as fj ) as fjj ) AS fjj
WHERE fjj.busSid = a.sid) as fund WHERE
fjj.busSid = b.sid
) AS fund
FROM FROM
( (
SELECT SELECT
@ -693,7 +715,7 @@
pd.borrowerName, pd.borrowerName,
pd.period, pd.period,
pd.paymentMoney, pd.paymentMoney,
pd.paymentInterest as bankBeInter, pd.paymentInterest AS bankBeInter,
pd.dueMoney, pd.dueMoney,
t.repaidMoney, t.repaidMoney,
t.outstandingMoney, t.outstandingMoney,
@ -701,42 +723,54 @@
WHEN pd.overdue = '0' THEN '是' WHEN pd.overdue = '0' THEN '是'
WHEN pd.overdue = '1' THEN '否' WHEN pd.overdue = '1' THEN '否'
END AS dueOverdue, END AS dueOverdue,
pd.updateTime as updateDate, pd.updateTime AS updateDate,
CASE CASE
WHEN t.repaidMoney = 0 THEN WHEN t.repaidMoney = 0 THEN
'未还' '01'
WHEN t.repaidMoney &gt; 0 WHEN t.repaidMoney > 0
AND t.repaidMoney &lt; pd.dueMoney THEN '部分还款' WHEN t.repaidMoney &gt; 0 AND t.repaidMoney &lt; pd.dueMoney THEN '02' WHEN t.repaidMoney > 0
AND t.repaidMoney &gt;= pd.dueMoney THEN AND t.repaidMoney &lt;= pd.dueMoney THEN
'已还款' '03'
END AS returnState END AS returnState
FROM FROM
loan_repayment_plan_details AS pd loan_repayment_plan_details AS pd
LEFT JOIN ( LEFT JOIN (
SELECT SELECT
p.sid, p.sid,
IFNULL((SELECT IFNULL((
SELECT
SUM( SUM(
IFNULL( h.actualMoney, 0 )) IFNULL( h.actualMoney, 0 ))
FROM FROM
loan_repayment_history AS h loan_repayment_history AS h
WHERE WHERE
h.planDetailSid = p.sid h.planDetailSid = p.sid
AND h.updateState = '1'),0) as repaidMoney AND h.updateState = '1'
, ),
0
) AS repaidMoney,
IFNULL( IFNULL(
(p.dueMoney - IFNULL((SELECT (
SUM(IFNULL( h.actualMoney, 0 )) p.dueMoney - IFNULL((
SELECT
SUM(
IFNULL( h.actualMoney, 0 ))
FROM FROM
loan_repayment_history AS h loan_repayment_history AS h
WHERE WHERE
h.planDetailSid = p.sid h.planDetailSid = p.sid
AND h.updateState = '1' AND h.updateState = '1'
),0)),0) AS outstandingMoney ),
0
)),
0
) AS outstandingMoney
FROM FROM
loan_repayment_plan_details AS p loan_repayment_plan_details AS p
) AS t ON pd.sid = t.sid ) AS t ON pd.sid = t.sid
) AS a ) AS b
) c ) a
WHERE a.nowOverdue = 0
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
@ -922,20 +956,42 @@
</select> </select>
<select id="repaymentStatistics2" <select id="repaymentStatistics2"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymenthistory.RepaymentStatisticsVo"> resultType="com.yxt.anrui.riskcenter.api.loanrepaymenthistory.RepaymentStatisticsVo">
SELECT SELECT * FROM
a.*,
(SELECT (SELECT
(fjj.reveivableMoney - fjj.m) c.*,
CASE
WHEN c.dueDate > c.updateDate or c.updateDate IS NULL THEN '1'
WHEN c.dueDate &lt;= c.updateDate AND (c.outstandingMoney + IFNULL(c.fund,0) + IFNULL(c.bankBeInter,0)) > 0 THEN '0'
WHEN c.dueDate &lt;= c.updateDate AND (c.outstandingMoney + IFNULL(c.fund,0) + IFNULL(c.bankBeInter,0)) &lt;= 0 THEN '1'
END AS nowOverdue
FROM FROM
(SELECT (
IFNULL((SELECT SUM(subscriptionMoney) FROM anrui_fin.fin_selected_receivables_detailed as s SELECT
WHERE s.auditState = '3' b.*,
and s.receivablesSid = fj.sid),0) as m, (
SELECT
( fjj.reveivableMoney - fjj.m )
FROM
(
SELECT
IFNULL((
SELECT
SUM( subscriptionMoney )
FROM
anrui_fin.fin_selected_receivables_detailed AS s
WHERE
s.auditState = '3'
AND s.receivablesSid = fj.sid
),
0
) AS m,
fj.* fj.*
FROM FROM
(SELECT j.busSid,j.sid,j.reveivableMoney FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j ( SELECT j.busSid, j.sid, j.reveivableMoney FROM anrui_fin.fin_uncollected_receivables_detailed_jr AS j WHERE j.payCostTitleKey = '006' ) AS fj
WHERE j.payCostTitleKey = '006') as fj ) as fjj ) AS fjj
WHERE fjj.busSid = a.sid) as fund WHERE
fjj.busSid = b.sid
) AS fund
FROM FROM
( (
SELECT SELECT
@ -955,18 +1011,18 @@
pd.borrowerName, pd.borrowerName,
pd.period, pd.period,
pd.paymentMoney, pd.paymentMoney,
pd.paymentInterest as bankBeInter, pd.paymentInterest AS bankBeInter,
pd.dueMoney, pd.dueMoney,
t.repaidMoney, t.repaidMoney,
t.outstandingMoney, t.outstandingMoney,
pd.overdue as dueOverdue, pd.overdue AS dueOverdue,
pd.updateTime as updateDate, pd.updateTime AS updateDate,
CASE CASE
WHEN t.repaidMoney = 0 THEN WHEN t.repaidMoney = 0 THEN
'01' '01'
WHEN t.repaidMoney &gt; 0 WHEN t.repaidMoney > 0
AND t.repaidMoney &lt; pd.dueMoney THEN '02' WHEN t.repaidMoney &gt; 0 AND t.repaidMoney &lt; pd.dueMoney THEN '02' WHEN t.repaidMoney > 0
AND t.repaidMoney &gt;= pd.dueMoney THEN AND t.repaidMoney &lt;= pd.dueMoney THEN
'03' '03'
END AS returnState END AS returnState
FROM FROM
@ -974,28 +1030,39 @@
LEFT JOIN ( LEFT JOIN (
SELECT SELECT
p.sid, p.sid,
IFNULL((SELECT IFNULL((
SELECT
SUM( SUM(
IFNULL( h.actualMoney, 0 )) IFNULL( h.actualMoney, 0 ))
FROM FROM
loan_repayment_history AS h loan_repayment_history AS h
WHERE WHERE
h.planDetailSid = p.sid h.planDetailSid = p.sid
AND h.updateState = '1'),0) as repaidMoney AND h.updateState = '1'
, ),
0
) AS repaidMoney,
IFNULL( IFNULL(
(p.dueMoney - IFNULL((SELECT (
SUM(IFNULL( h.actualMoney, 0 )) p.dueMoney - IFNULL((
SELECT
SUM(
IFNULL( h.actualMoney, 0 ))
FROM FROM
loan_repayment_history AS h loan_repayment_history AS h
WHERE WHERE
h.planDetailSid = p.sid h.planDetailSid = p.sid
AND h.updateState = '1' AND h.updateState = '1'
),0)),0) AS outstandingMoney ),
0
)),
0
) AS outstandingMoney
FROM FROM
loan_repayment_plan_details AS p loan_repayment_plan_details AS p
) AS t ON pd.sid = t.sid ) AS t ON pd.sid = t.sid
) AS a ) AS b
) c ) a
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>

104
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java

@ -1473,6 +1473,9 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
if (StringUtils.isNotBlank(pagerQuery.getDueOverdue())) { if (StringUtils.isNotBlank(pagerQuery.getDueOverdue())) {
qw.eq("a.dueOverdue", pagerQuery.getDueOverdue()); qw.eq("a.dueOverdue", pagerQuery.getDueOverdue());
} }
if (StringUtils.isNotBlank(pagerQuery.getNowOverdue())) {
qw.eq("a.nowOverdue", pagerQuery.getNowOverdue());
}
String dueStartDate = pagerQuery.getDueStartDate(); String dueStartDate = pagerQuery.getDueStartDate();
String dueEndDate = pagerQuery.getDueEndDate(); String dueEndDate = pagerQuery.getDueEndDate();
qw.apply(StringUtils.isNotEmpty(dueStartDate), "date_format (a.dueDate,'%Y-%m-%d') >= date_format('" + dueStartDate + "','%Y-%m-%d')"). qw.apply(StringUtils.isNotEmpty(dueStartDate), "date_format (a.dueDate,'%Y-%m-%d') >= date_format('" + dueStartDate + "','%Y-%m-%d')").
@ -1923,6 +1926,15 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
} }
qw.eq("a.dueOverdue", query); qw.eq("a.dueOverdue", query);
} }
if (StringUtils.isNotBlank(pagerQuery.getNowOverdue())) {
String query = "";
if (pagerQuery.getNowOverdue().equals("0")) {
query = "是";
} else if (pagerQuery.getNowOverdue().equals("1")) {
query = "否";
}
qw.eq("a.nowOverdue", query);
}
String dueStartDate = pagerQuery.getDueStartDate(); String dueStartDate = pagerQuery.getDueStartDate();
String dueEndDate = pagerQuery.getDueEndDate(); String dueEndDate = pagerQuery.getDueEndDate();
qw.apply(StringUtils.isNotEmpty(dueStartDate), "date_format (a.dueDate,'%Y-%m-%d') >= date_format('" + dueStartDate + "','%Y-%m-%d')"). qw.apply(StringUtils.isNotEmpty(dueStartDate), "date_format (a.dueDate,'%Y-%m-%d') >= date_format('" + dueStartDate + "','%Y-%m-%d')").
@ -1939,52 +1951,52 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
.orderBy(true, true, "a.loanContractNo") .orderBy(true, true, "a.loanContractNo")
; ;
List<RecordCountVo> records = baseMapper.exportStatisticsExcel(qw); List<RecordCountVo> records = baseMapper.exportStatisticsExcel(qw);
records.removeAll(Collections.singleton(null)); // records.removeAll(Collections.singleton(null));
int id = 1; // int id = 1;
if (!records.isEmpty()) { // if (!records.isEmpty()) {
for (RecordCountVo record : records) { // for (RecordCountVo record : records) {
if (StringUtils.isNotBlank(record.getUpdateDate())) { // if (StringUtils.isNotBlank(record.getUpdateDate())) {
try { // try {
Date u = sdf.parse(record.getUpdateDate()); // Date u = sdf.parse(record.getUpdateDate());
Date d = sdf.parse(record.getDueDate()); // Date d = sdf.parse(record.getDueDate());
if (d.compareTo(u) <= 0) { // if (d.compareTo(u) <= 0) {
BigDecimal sum = new BigDecimal(0); // BigDecimal sum = new BigDecimal(0);
if (StringUtils.isNotBlank(record.getOutstandingMoney())) { // if (StringUtils.isNotBlank(record.getOutstandingMoney())) {
sum = new BigDecimal(record.getOutstandingMoney()); // sum = new BigDecimal(record.getOutstandingMoney());
} // }
if (StringUtils.isNotBlank(record.getFund())) { // if (StringUtils.isNotBlank(record.getFund())) {
sum = sum.add(new BigDecimal(record.getFund())); // sum = sum.add(new BigDecimal(record.getFund()));
} // }
if (StringUtils.isNotBlank(record.getBankBeInter())) { // if (StringUtils.isNotBlank(record.getBankBeInter())) {
sum = sum.add(new BigDecimal(record.getBankBeInter())); // sum = sum.add(new BigDecimal(record.getBankBeInter()));
} // }
if (sum.compareTo(BigDecimal.ZERO) > 0) { // if (sum.compareTo(BigDecimal.ZERO) > 0) {
record.setNowOverdue("是"); // record.setNowOverdue("是");
} else { // } else {
record.setNowOverdue("否"); // record.setNowOverdue("否");
} // }
} else { // } else {
record.setNowOverdue("否"); // record.setNowOverdue("否");
} // }
} catch (ParseException e) { // } catch (ParseException e) {
e.printStackTrace(); // e.printStackTrace();
} // }
} else { // } else {
record.setNowOverdue("否"); // record.setNowOverdue("否");
} // }
record.setRankNo(id); // record.setRankNo(id);
id = id + 1; // id = id + 1;
} // }
} // }
if (StringUtils.isNotBlank(pagerQuery.getNowOverdue())) { // if (StringUtils.isNotBlank(pagerQuery.getNowOverdue())) {
if (pagerQuery.getNowOverdue().equals("0")) { // if (pagerQuery.getNowOverdue().equals("0")) {
records = records.stream().filter(r -> r.getNowOverdue().equals("是")) // records = records.stream().filter(r -> r.getNowOverdue().equals("是"))
.collect(Collectors.toList()); // .collect(Collectors.toList());
} else if (pagerQuery.getNowOverdue().equals("1")) { // } else if (pagerQuery.getNowOverdue().equals("1")) {
records = records.stream().filter(r -> r.getNowOverdue().equals("否")) // records = records.stream().filter(r -> r.getNowOverdue().equals("否"))
.collect(Collectors.toList()); // .collect(Collectors.toList());
} // }
} // }
return records; return records;
} }

Loading…
Cancel
Save