Browse Source

修改直还导入资方更新日期

master
fanzongzhe 12 months ago
parent
commit
4ba147b94b
  1. 15
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/UpdateTimeByBankName.java
  2. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.java
  3. 120
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml
  4. 109
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java
  5. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java
  6. 7
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml
  7. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java
  8. 10
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java

15
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/UpdateTimeByBankName.java

@ -0,0 +1,15 @@
package com.yxt.anrui.riskcenter.api.loanrepaymenthistory;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/5/17 15:17
*/
@Data
public class UpdateTimeByBankName {
private String updateDate;
private String bankName;
}

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

@ -79,4 +79,6 @@ public interface LoanRepaymentHistoryMapper extends BaseMapper<LoanRepaymentHist
List<PreTransferPaymentExportVo> preTransferPaymentExcel(@Param(Constants.WRAPPER) QueryWrapper<LoanRepaymentHistory> qw);
List<TransferedPaymentExportVo> transferedPaymentExcel(@Param(Constants.WRAPPER)QueryWrapper<LoanRepaymentHistory> qw);
List<UpdateTimeByBankName> selUpdateTimeByBankName(@Param("histories") List<String> histories);
}

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

@ -518,6 +518,28 @@
#{histories}
</foreach>
</select>
<select id="selUpdateTimeByBankName"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymenthistory.UpdateTimeByBankName">
SELECT
MAX(a.actualDate) as updateDate,
a.bankName
FROM
(SELECT
h.*,
p.bankName
FROM
loan_repayment_history AS h
LEFT JOIN loan_repayment_plan_details AS p ON h.planDetailSid = p.sid
WHERE
h.returnWayKey = '01'
AND h.updateState = '1'
AND h.sid IN
<foreach collection="histories" item="histories" index="index" open="(" close=")" separator=",">
#{histories}
</foreach>
) AS a
GROUP BY a.bankName
</select>
<select id="selPlanDetailsByBank"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymenthistory.NoImportVo">
SELECT DISTINCT *
@ -561,45 +583,33 @@
AND a.useOrgSid = #{useOrgSid}
</select>
<select id="selNotRuleForBuckSids" resultType="java.lang.String">
SELECT DISTINCT
b.sid
FROM
(
SELECT
his.*,
a.*
FROM
loan_repayment_history AS his
LEFT JOIN loan_repayment_plan_details as p ON his.planDetailSid = p.sid
LEFT JOIN (
SELECT
h.planDetailSid AS ppp,
IFNULL( SUM( h.actualMoney ), 0 ) AS sumActualMoney
FROM
loan_repayment_history AS h
WHERE
buckleKey != '002'
SELECT DISTINCT b.sid
FROM (
SELECT his.*,
a.*
FROM loan_repayment_history AS his
LEFT JOIN loan_repayment_plan_details as p ON his.planDetailSid = p.sid
LEFT JOIN (
SELECT h.planDetailSid AS ppp,
IFNULL(SUM(h.actualMoney), 0) AS sumActualMoney
FROM loan_repayment_history AS h
WHERE buckleKey != '002'
AND buckleKey != '003'
AND updateState = 1
GROUP BY
h.planDetailSid
) a ON his.planDetailSid = a.ppp
WHERE
his.buckleKey != '002'
GROUP BY
h.planDetailSid
) a ON his.planDetailSid = a.ppp
WHERE his.buckleKey != '002'
AND his.buckleKey != '003'
AND his.updateState = 1
AND p.useOrgSid = #{useOrgSid}
) AS b
WHERE
sumActualMoney &lt;= 0
) AS b
WHERE sumActualMoney &lt;= 0
</select>
<select id="selPayStateByPlanSid" resultType="java.lang.String">
SELECT
h.payState
FROM
loan_repayment_history AS h
WHERE
h.planDetailSid = #{key}
SELECT h.payState
FROM loan_repayment_history AS h
WHERE h.planDetailSid = #{key}
AND h.buckleKey != '002'
AND h.buckleKey != '003'
AND h.updateState = 1
@ -608,37 +618,28 @@
LIMIT 1
</select>
<select id="selSidsForBuckle" resultType="java.lang.String">
SELECT DISTINCT
b.sid
FROM
(
SELECT
his.*,
a.*
FROM
loan_repayment_history AS his
LEFT JOIN loan_repayment_plan_details as p ON his.planDetailSid = p.sid
LEFT JOIN (
SELECT
h.planDetailSid AS ppp,
IFNULL( SUM( h.actualMoney ), 0 ) AS sumActualMoney
FROM
loan_repayment_history AS h
WHERE
buckleKey != '002'
SELECT DISTINCT b.sid
FROM (
SELECT his.*,
a.*
FROM loan_repayment_history AS his
LEFT JOIN loan_repayment_plan_details as p ON his.planDetailSid = p.sid
LEFT JOIN (
SELECT h.planDetailSid AS ppp,
IFNULL(SUM(h.actualMoney), 0) AS sumActualMoney
FROM loan_repayment_history AS h
WHERE buckleKey != '002'
AND buckleKey != '003'
AND updateState = 1
GROUP BY
h.planDetailSid
) a ON his.planDetailSid = a.ppp
WHERE
his.buckleKey != '002'
GROUP BY
h.planDetailSid
) a ON his.planDetailSid = a.ppp
WHERE his.buckleKey != '002'
AND his.buckleKey != '003'
AND his.updateState = 1
AND p.useOrgSid = #{useOrgSid}
) AS b
WHERE
sumActualMoney = 0
) AS b
WHERE sumActualMoney = 0
</select>
<select id="exportStatisticsExcel"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.RecordCountVo">
@ -884,4 +885,5 @@
</where>
</select>
</mapper>
</mapper>

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

@ -748,18 +748,41 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
baseMapper.updateById(repaymentHistory);
}
}
Map<String, String> map = new HashMap<>();
if (!bankContractNos.isEmpty()) {
for (String bankContractNo : bankContractNos) {
String updateTime = baseMapper.getMaxUpdateTimeByBankContractNo(bankContractNo);
if (StringUtils.isNotBlank(updateTime)) {
map.put(bankContractNo, updateTime);
}
}
}
if (!map.isEmpty()) {
for (Map.Entry<String, String> entry : map.entrySet()) {
String updateTime = entry.getValue();
// Map<String, String> map = new HashMap<>();
// if (!bankContractNos.isEmpty()) {
// for (String bankContractNo : bankContractNos) {
// String updateTime = baseMapper.getMaxUpdateTimeByBankContractNo(bankContractNo);
// if (StringUtils.isNotBlank(updateTime)) {
// map.put(bankContractNo, updateTime);
// }
// }
// }
// if (!map.isEmpty()) {
// for (Map.Entry<String, String> entry : map.entrySet()) {
// String updateTime = entry.getValue();
// try {
// Date u = sdf.parse(updateTime);
// Date today = new Date();
// String f = sdf.format(today);
// Date date = sdf.parse(f);
// if (u.compareTo(date) >= 0) {
// Calendar cal_1 = Calendar.getInstance();// 使用默认时区和语言环境获得一个日历
// cal_1.setTime(date);
// cal_1.add(Calendar.DAY_OF_MONTH, -1);
// u = cal_1.getTime();
// }
// int i = loanRepaymentPlanDetailsService.updateTime(entry.getKey(), u, useOrgSid);
// } catch (ParseException e) {
// e.printStackTrace();
// }
// }
// }
//获取资方最大实还日期
List<UpdateTimeByBankName> bankNames = baseMapper.selUpdateTimeByBankName(histories);
if (!bankNames.isEmpty()) {
for (UpdateTimeByBankName updateTimeByBankName : bankNames) {
String updateTime = updateTimeByBankName.getUpdateDate();
String bankName = updateTimeByBankName.getBankName();
try {
Date u = sdf.parse(updateTime);
Date today = new Date();
@ -771,7 +794,7 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
cal_1.add(Calendar.DAY_OF_MONTH, -1);
u = cal_1.getTime();
}
int i = loanRepaymentPlanDetailsService.updateTime(entry.getKey(), u, useOrgSid);
int i = loanRepaymentPlanDetailsService.updateTimeByBankName(bankName, u, useOrgSid);
} catch (ParseException e) {
e.printStackTrace();
}
@ -842,6 +865,36 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
return rb.success();
}
public ResultBean noImportUpdate(NoImportQuery query) {
ResultBean rb = ResultBean.fireFail();
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(query.getOrgPath());
if (orgSidByPath.getSuccess()) {
String useOrgSid = orgSidByPath.getData();
List<NoImportVo> voList = baseMapper.selPlanDetailsByBank(query.getBankSid(), useOrgSid);
if (!voList.isEmpty()) {
List<String> stringList =
voList.stream().map(NoImportVo::getSid).collect(Collectors.toList());
LocalDate localDate = LocalDate.now().minusDays(1);
String formatDate = localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
int i = baseMapper.updateTimeByPlanSids(stringList, formatDate);
}
//判断当期是否逾期
List<HistoryOverDueVo> overDueVoList = loanRepaymentPlanDetailsService.overDueVoList(useOrgSid);
if (!overDueVoList.isEmpty()) {
List<String> planSids = new ArrayList<>();
overDueVoList.stream().forEach(v -> {
if (v.getOverdueState().equals("0")) {
planSids.add(v.getPlanSid());
}
});
if (!planSids.isEmpty()) {
int i = loanRepaymentPlanDetailsService.updateOverDueState(planSids);
}
}
}
return rb.success();
}
private void pushLateVoucher(String pushUseOrgSid) {
List<LoanPlanDetailsVoForLateVoucher> records = loanRepaymentPlanDetailsService.selListForLateVoucher(pushUseOrgSid);
List<String> planSids = new ArrayList<>();
@ -1669,35 +1722,7 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
return records;
}
public ResultBean noImportUpdate(NoImportQuery query) {
ResultBean rb = ResultBean.fireFail();
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(query.getOrgPath());
if (orgSidByPath.getSuccess()) {
String useOrgSid = orgSidByPath.getData();
List<NoImportVo> voList = baseMapper.selPlanDetailsByBank(query.getBankSid(), useOrgSid);
if (!voList.isEmpty()) {
List<String> stringList =
voList.stream().map(NoImportVo::getSid).collect(Collectors.toList());
LocalDate localDate = LocalDate.now().minusDays(1);
String formatDate = localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
int i = baseMapper.updateTimeByPlanSids(stringList, formatDate);
}
//判断当期是否逾期
List<HistoryOverDueVo> overDueVoList = loanRepaymentPlanDetailsService.overDueVoList(useOrgSid);
if (!overDueVoList.isEmpty()) {
List<String> planSids = new ArrayList<>();
overDueVoList.stream().forEach(v -> {
if (v.getOverdueState().equals("0")) {
planSids.add(v.getPlanSid());
}
});
if (!planSids.isEmpty()) {
int i = loanRepaymentPlanDetailsService.updateOverDueState(planSids);
}
}
}
return rb.success();
}
public List<RecordCountVo> exportStatisticsExcel(RepaymentStatisticsQuery pagerQuery) {
QueryWrapper<LoanRepaymentHistory> qw = new QueryWrapper<>();

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java

@ -34,6 +34,8 @@ public interface LoanRepaymentPlanDetailsMapper extends BaseMapper<LoanRepayment
int updateTime(@Param("bankContractNo")String bankContractNo,@Param("updateTime") Date updateTime,@Param("useOrgSid") String useOrgSid);
int updateTimeByBankName(@Param("bankName")String bankName,@Param("updateTime") Date updateTime,@Param("useOrgSid") String useOrgSid);
List<HistoryOverDueVo> overDueVoList(@Param("useOrgSid") String useOrgSid);
int updateOverDueState(@Param("planSids") List<String> planSids);
@ -81,4 +83,6 @@ public interface LoanRepaymentPlanDetailsMapper extends BaseMapper<LoanRepayment
LoanRepaymentPlanDetails fetchMainBankByBusVinSid(@Param("busVinSid") String busVinSid);
String fetchCwDeptCodeByBusVinSid(@Param("busVinSid") String busVinSid);
}

7
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml

@ -7,6 +7,12 @@
WHERE bankContractNo = #{bankContractNo}
and useOrgSid = #{useOrgSid};
</update>
<update id="updateTimeByBankName">
UPDATE loan_repayment_plan_details
SET updateTime = #{updateTime}
WHERE bankName = #{bankName}
and useOrgSid = #{useOrgSid};
</update>
<update id="updateOverDueState">
update loan_repayment_plan_details
set overdue = 0
@ -531,6 +537,7 @@
AND period = #{period}
</update>
<select id="selVehSidAndPeriod"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanMoneyVo">
SELECT lrpd.sid,

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java

@ -323,4 +323,8 @@ public class LoanRepaymentPlanDetailsService extends MybatisBaseService<LoanRepa
public String fetchCwDeptCodeByBusVinSid(String busVinSid) {
return baseMapper.fetchCwDeptCodeByBusVinSid(busVinSid);
}
public int updateTimeByBankName(String bankName, Date updateTime, String useOrgSid) {
return baseMapper.updateTimeByBankName(bankName, updateTime, useOrgSid);
}
}

10
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java

@ -1971,6 +1971,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
}
}
if (StringUtils.isNotBlank(scheduleSid)) {
pushScheduleVoucher3(scheduleSid);
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
@ -2082,9 +2083,9 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
}
});
// //推送还款计划总凭证
Future future2 = pool.submit(() -> {
pushScheduleVoucher3(schedule);
});
// Future future2 = pool.submit(() -> {
// pushScheduleVoucher3(schedule);
// });
//设置消贷合同是否生成还款计划状态
Future future3 = pool.submit(() -> {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@ -2388,7 +2389,8 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
}
}
public void pushScheduleVoucher3(LoanRepaymentSchedule schedule) {
public void pushScheduleVoucher3(String sid) {
LoanRepaymentSchedule schedule = fetchBySid(sid);
String salesOrderSid = schedule.getSalesOrderSid();
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(salesOrderSid).getData();
String loanContractSid = schedule.getLoanContractSid();

Loading…
Cancel
Save