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 id="exportStatisticsExcel"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.RecordCountVo">
SELECT
a.*,
SELECT * FROM
(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
(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,
(
SELECT
b.*,
(
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.*
FROM
(SELECT j.busSid,j.sid,j.reveivableMoney FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j
WHERE j.payCostTitleKey = '006') as fj ) as fjj
WHERE fjj.busSid = a.sid) as fund
( SELECT j.busSid, j.sid, j.reveivableMoney FROM anrui_fin.fin_uncollected_receivables_detailed_jr AS j WHERE j.payCostTitleKey = '006' ) AS fj
) AS fjj
WHERE
fjj.busSid = b.sid
) AS fund
FROM
(
SELECT
@ -693,7 +715,7 @@
pd.borrowerName,
pd.period,
pd.paymentMoney,
pd.paymentInterest as bankBeInter,
pd.paymentInterest AS bankBeInter,
pd.dueMoney,
t.repaidMoney,
t.outstandingMoney,
@ -701,42 +723,54 @@
WHEN pd.overdue = '0' THEN '是'
WHEN pd.overdue = '1' THEN '否'
END AS dueOverdue,
pd.updateTime as updateDate,
pd.updateTime AS updateDate,
CASE
WHEN t.repaidMoney = 0 THEN
'未还'
WHEN t.repaidMoney &gt; 0
AND t.repaidMoney &lt; pd.dueMoney THEN '部分还款' WHEN t.repaidMoney &gt; 0
AND t.repaidMoney &gt;= pd.dueMoney THEN
'已还款'
'01'
WHEN t.repaidMoney > 0
AND t.repaidMoney &lt; pd.dueMoney THEN '02' WHEN t.repaidMoney > 0
AND t.repaidMoney &lt;= pd.dueMoney THEN
'03'
END AS returnState
FROM
loan_repayment_plan_details AS pd
LEFT JOIN (
SELECT
p.sid,
IFNULL((SELECT
IFNULL((
SELECT
SUM(
IFNULL( h.actualMoney, 0 ))
FROM
loan_repayment_history AS h
WHERE
h.planDetailSid = p.sid
AND h.updateState = '1'),0) as repaidMoney
,
AND h.updateState = '1'
),
0
) AS repaidMoney,
IFNULL(
(p.dueMoney - IFNULL((SELECT
SUM(IFNULL( h.actualMoney, 0 ))
(
p.dueMoney - IFNULL((
SELECT
SUM(
IFNULL( h.actualMoney, 0 ))
FROM
loan_repayment_history AS h
WHERE
h.planDetailSid = p.sid
AND h.updateState = '1'
),0)),0) AS outstandingMoney
),
0
)),
0
) AS outstandingMoney
FROM
loan_repayment_plan_details AS p
) AS t ON pd.sid = t.sid
) AS a
) AS b
) c ) a
WHERE a.nowOverdue = 0
<where>
${ew.sqlSegment}
</where>
@ -922,20 +956,42 @@
</select>
<select id="repaymentStatistics2"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymenthistory.RepaymentStatisticsVo">
SELECT
a.*,
SELECT * FROM
(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
(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,
(
SELECT
b.*,
(
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.*
FROM
(SELECT j.busSid,j.sid,j.reveivableMoney FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j
WHERE j.payCostTitleKey = '006') as fj ) as fjj
WHERE fjj.busSid = a.sid) as fund
( SELECT j.busSid, j.sid, j.reveivableMoney FROM anrui_fin.fin_uncollected_receivables_detailed_jr AS j WHERE j.payCostTitleKey = '006' ) AS fj
) AS fjj
WHERE
fjj.busSid = b.sid
) AS fund
FROM
(
SELECT
@ -955,18 +1011,18 @@
pd.borrowerName,
pd.period,
pd.paymentMoney,
pd.paymentInterest as bankBeInter,
pd.paymentInterest AS bankBeInter,
pd.dueMoney,
t.repaidMoney,
t.outstandingMoney,
pd.overdue as dueOverdue,
pd.updateTime as updateDate,
pd.overdue AS dueOverdue,
pd.updateTime AS updateDate,
CASE
WHEN t.repaidMoney = 0 THEN
'01'
WHEN t.repaidMoney &gt; 0
AND t.repaidMoney &lt; pd.dueMoney THEN '02' WHEN t.repaidMoney &gt; 0
AND t.repaidMoney &gt;= pd.dueMoney THEN
WHEN t.repaidMoney > 0
AND t.repaidMoney &lt; pd.dueMoney THEN '02' WHEN t.repaidMoney > 0
AND t.repaidMoney &lt;= pd.dueMoney THEN
'03'
END AS returnState
FROM
@ -974,28 +1030,39 @@
LEFT JOIN (
SELECT
p.sid,
IFNULL((SELECT
IFNULL((
SELECT
SUM(
IFNULL( h.actualMoney, 0 ))
FROM
loan_repayment_history AS h
WHERE
h.planDetailSid = p.sid
AND h.updateState = '1'),0) as repaidMoney
,
AND h.updateState = '1'
),
0
) AS repaidMoney,
IFNULL(
(p.dueMoney - IFNULL((SELECT
SUM(IFNULL( h.actualMoney, 0 ))
(
p.dueMoney - IFNULL((
SELECT
SUM(
IFNULL( h.actualMoney, 0 ))
FROM
loan_repayment_history AS h
WHERE
h.planDetailSid = p.sid
AND h.updateState = '1'
),0)),0) AS outstandingMoney
),
0
)),
0
) AS outstandingMoney
FROM
loan_repayment_plan_details AS p
) AS t ON pd.sid = t.sid
) AS a
) AS b
) c ) a
<where>
${ew.sqlSegment}
</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())) {
qw.eq("a.dueOverdue", pagerQuery.getDueOverdue());
}
if (StringUtils.isNotBlank(pagerQuery.getNowOverdue())) {
qw.eq("a.nowOverdue", pagerQuery.getNowOverdue());
}
String dueStartDate = pagerQuery.getDueStartDate();
String dueEndDate = pagerQuery.getDueEndDate();
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);
}
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 dueEndDate = pagerQuery.getDueEndDate();
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")
;
List<RecordCountVo> records = baseMapper.exportStatisticsExcel(qw);
records.removeAll(Collections.singleton(null));
int id = 1;
if (!records.isEmpty()) {
for (RecordCountVo record : records) {
if (StringUtils.isNotBlank(record.getUpdateDate())) {
try {
Date u = sdf.parse(record.getUpdateDate());
Date d = sdf.parse(record.getDueDate());
if (d.compareTo(u) <= 0) {
BigDecimal sum = new BigDecimal(0);
if (StringUtils.isNotBlank(record.getOutstandingMoney())) {
sum = new BigDecimal(record.getOutstandingMoney());
}
if (StringUtils.isNotBlank(record.getFund())) {
sum = sum.add(new BigDecimal(record.getFund()));
}
if (StringUtils.isNotBlank(record.getBankBeInter())) {
sum = sum.add(new BigDecimal(record.getBankBeInter()));
}
if (sum.compareTo(BigDecimal.ZERO) > 0) {
record.setNowOverdue("是");
} else {
record.setNowOverdue("否");
}
} else {
record.setNowOverdue("否");
}
} catch (ParseException e) {
e.printStackTrace();
}
} else {
record.setNowOverdue("否");
}
record.setRankNo(id);
id = id + 1;
}
}
if (StringUtils.isNotBlank(pagerQuery.getNowOverdue())) {
if (pagerQuery.getNowOverdue().equals("0")) {
records = records.stream().filter(r -> r.getNowOverdue().equals("是"))
.collect(Collectors.toList());
} else if (pagerQuery.getNowOverdue().equals("1")) {
records = records.stream().filter(r -> r.getNowOverdue().equals("否"))
.collect(Collectors.toList());
}
}
// records.removeAll(Collections.singleton(null));
// int id = 1;
// if (!records.isEmpty()) {
// for (RecordCountVo record : records) {
// if (StringUtils.isNotBlank(record.getUpdateDate())) {
// try {
// Date u = sdf.parse(record.getUpdateDate());
// Date d = sdf.parse(record.getDueDate());
// if (d.compareTo(u) <= 0) {
// BigDecimal sum = new BigDecimal(0);
// if (StringUtils.isNotBlank(record.getOutstandingMoney())) {
// sum = new BigDecimal(record.getOutstandingMoney());
// }
// if (StringUtils.isNotBlank(record.getFund())) {
// sum = sum.add(new BigDecimal(record.getFund()));
// }
// if (StringUtils.isNotBlank(record.getBankBeInter())) {
// sum = sum.add(new BigDecimal(record.getBankBeInter()));
// }
// if (sum.compareTo(BigDecimal.ZERO) > 0) {
// record.setNowOverdue("是");
// } else {
// record.setNowOverdue("否");
// }
// } else {
// record.setNowOverdue("否");
// }
// } catch (ParseException e) {
// e.printStackTrace();
// }
// } else {
// record.setNowOverdue("否");
// }
// record.setRankNo(id);
// id = id + 1;
// }
// }
// if (StringUtils.isNotBlank(pagerQuery.getNowOverdue())) {
// if (pagerQuery.getNowOverdue().equals("0")) {
// records = records.stream().filter(r -> r.getNowOverdue().equals("是"))
// .collect(Collectors.toList());
// } else if (pagerQuery.getNowOverdue().equals("1")) {
// records = records.stream().filter(r -> r.getNowOverdue().equals("否"))
// .collect(Collectors.toList());
// }
// }
return records;
}

Loading…
Cancel
Save