Browse Source

逾期客户列表交回报备初始化sql优化

master
God 1 year ago
parent
commit
6424c1a132
  1. 31
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportCarInfo.java
  2. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyMapper.java
  3. 32
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyMapper.xml
  4. 17
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyService.java
  5. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanvehclearanceapply/LoanVehClearanceApplyMapper.java
  6. 116
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanvehclearanceapply/LoanVehClearanceApplyMapper.xml
  7. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanvehclearanceapply/LoanVehClearanceApplyService.java

31
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportCarInfo.java

@ -0,0 +1,31 @@
package com.yxt.anrui.riskcenter.api.loanrestorereportapply;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehFile;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/*
* 交回报备逾期车辆信息
* */
@Data
public class LoanRestoreReportCarInfo {
@ApiModelProperty("贷款合同编号")
private String loanContractNo;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车牌号")
private String carNum;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同编号")
private String bankContractNo;
@ApiModelProperty("客户名称")
private String custName;
@ApiModelProperty("贷款人")
private String loanName;
}

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyMapper.java

@ -29,6 +29,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportCarInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@ -85,4 +86,6 @@ public interface LoanRestoreReportApplyMapper extends BaseMapper<LoanRestoreRepo
String getYqjehsqs(String saleVehSid);
int selectBySid(String join);
LoanRestoreReportCarInfo jkCarInfo(String saleVehSid);
}

32
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyMapper.xml

@ -202,4 +202,36 @@
WHERE nodeState != '待提交'
and find_in_set(sid, #{list})
</select>
<select id="jkCarInfo" resultType="com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportCarInfo">
SELECT
a1.`loanContractNo`,
RIGHT (a1.vinNo, 8) AS vinNo,
a1.vehMark AS carNum,
a1.`bankName`,
a1.bankContractNo,
a1.customer AS custName,
a1.borrowerName AS loanName
FROM
(SELECT
lrpd.sid,
lrpd.busVinSid,
lrpd.`loanContractNo`,
lrpd.bankContractNo,
lrpd.`vinNo`,
lrpd.vehMark,
lrpd.customer,
lrpd.borrowerName,
lrpd.`bankName`,
lrpd.`dueMoney` - SUM(IFNULL(lrh.actualMoney, 0)) AS yq_total
FROM
loan_repayment_plan_details lrpd
LEFT JOIN `loan_repayment_history` lrh
ON lrh.planDetailSid = lrpd.`sid`
WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') &lt; CURDATE()
GROUP BY lrpd.`sid`
HAVING (yq_total > 0)) a1
WHERE a1.busVinSid = #{saleVehSid}
GROUP BY a1.busVinSid
</select>
</mapper>

17
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyService.java

@ -338,19 +338,18 @@ public class LoanRestoreReportApplyService extends MybatisBaseService<LoanRestor
loanRestoreReportApplyDetailsVo.setUseOrgSid(useOrgSid);
loanRestoreReportApplyDetailsVo.setUseOrgName(sysOrganizationVo1.getName());
loanRestoreReportApplyDetailsVo.setOrgPath(orgPath);
LoanVehClearanceVehInit loanVehClearanceVehInit = loanVehClearanceApplyService.initVehListBySaleVehSid(saleVehSid);
loanRestoreReportApplyDetailsVo.setVinNo(loanVehClearanceVehInit.getVinNo());
loanRestoreReportApplyDetailsVo.setCarNum(loanVehClearanceVehInit.getCarNum());
loanRestoreReportApplyDetailsVo.setCustName(loanVehClearanceVehInit.getCustName());
loanRestoreReportApplyDetailsVo.setBorrName(loanVehClearanceVehInit.getLoanName());
loanRestoreReportApplyDetailsVo.setLoanContractNo(loanVehClearanceVehInit.getLoanContractNo());
loanRestoreReportApplyDetailsVo.setBankName(loanVehClearanceVehInit.getBankName());
loanRestoreReportApplyDetailsVo.setBankContractNo(loanVehClearanceVehInit.getBankContractNo());
LoanRestoreReportCarInfo loanRestoreReportCarInfo = baseMapper.jkCarInfo(saleVehSid);
loanRestoreReportApplyDetailsVo.setVinNo(loanRestoreReportCarInfo.getVinNo());
loanRestoreReportApplyDetailsVo.setCarNum(loanRestoreReportCarInfo.getCarNum());
loanRestoreReportApplyDetailsVo.setCustName(loanRestoreReportCarInfo.getCustName());
loanRestoreReportApplyDetailsVo.setBorrName(loanRestoreReportCarInfo.getLoanName());
loanRestoreReportApplyDetailsVo.setLoanContractNo(loanRestoreReportCarInfo.getLoanContractNo());
loanRestoreReportApplyDetailsVo.setBankName(loanRestoreReportCarInfo.getBankName());
loanRestoreReportApplyDetailsVo.setBankContractNo(loanRestoreReportCarInfo.getBankContractNo());
loanRestoreReportApplyDetailsVo.setCsjlSid(saleVehSid);
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(saleVehSid).getData();
LoanSolutions loanSolutions = loanSolutionsService.selectBySaleOrderSid(busSalesOrderVehicle.getSalesOrderSid());
loanRestoreReportApplyDetailsVo.setJrfaSid(loanSolutions.getSid());
loanRestoreReportApplyDetailsVo.setCurrentBeMoney(loanVehClearanceVehInit.getBeOverdueMoney());
loanRestoreReportApplyDetailsVo.setSaleVehSid(saleVehSid);
AlrepaidAndArrVo alrepaidAndArr = getAlrepaidAndArr(saleVehSid);
loanRestoreReportApplyDetailsVo.setAlRepaidMoney(alrepaidAndArr.getAlRepaidMoney());

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanvehclearanceapply/LoanVehClearanceApplyMapper.java

@ -71,8 +71,6 @@ public interface LoanVehClearanceApplyMapper extends BaseMapper<LoanVehClearance
IPage<LoanVehClearanceLockCarVo> lockCarList(IPage<LoanVehClearanceApply> page, @Param(Constants.WRAPPER) QueryWrapper<LoanVehClearanceApply> qw);
LoanVehClearanceVehInit initVehListBySaleVehSid(String saleVehSid);
int updateFlowFiled(Map<String, Object> map);
int selectBySid(String join);

116
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanvehclearanceapply/LoanVehClearanceApplyMapper.xml

@ -43,122 +43,6 @@
</where>
</select>
<select id="initVehListBySaleVehSid"
resultType="com.yxt.anrui.riskcenter.api.loanvehclearanceveh.LoanVehClearanceVehInit">
SELECT
a1.`loanContractNo`,
RIGHT (a1.vinNo, 8) AS vinNo,
a1.vehMark AS carNum,
a1.`bankName`,
a1.bankContractNo,
a1.customer AS custName,
a1.borrowerName AS loanName,
a1.dueDate AS firstBeDate,
COUNT(a1.sid) AS beOverduePeriod,
(
SUM(a1.yq_total) + IFNULL(
(SELECT
SUM(lbpv.`bankBeInter`)
FROM
loan_be_padsincere_veh lbpv
WHERE lbpv.saleVehSid = a1.busVinSid),
0
) + IFNULL(
(SELECT
SUM(fund)
FROM
loan_fund_day
WHERE busSid IN
(SELECT
lrpd.sid
FROM
loan_repayment_plan_details lrpd
WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') &lt; CURDATE())),
0
)
) AS beOverdueMoney,
ROUND((
SUM(a1.yq_total) + IFNULL(
(SELECT
SUM(lbpv.`bankBeInter`)
FROM
loan_be_padsincere_veh lbpv
WHERE lbpv.saleVehSid = a1.busVinSid),
0
) + IFNULL(
(SELECT
SUM(fund)
FROM
loan_fund_day
WHERE busSid IN
(SELECT
lrpd.sid
FROM
loan_repayment_plan_details lrpd
WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') &lt; CURDATE())),
0
)
) / a1.dueMoney, 1) AS beOverdueMoneyAndPeriod,
a1.busVinSid AS saleVehSid,
a1.salesOrderSid,
a1.lockCarMoney
FROM
(SELECT
lrpd.sid,
lrpd.busVinSid,
lrpd.`loanContractNo`,
lrpd.bankContractNo,
lrpd.`vinNo`,
lrpd.`bankName`,
lrpd.borrowerName,
lrpd.dueDate,
lrpd.vehMark,
lrpd.dueMoney,
(
lrpd.`dueMoney` - SUM(IFNULL(lrh.actualMoney, 0))
) AS yq_total,
(
lrpd.`dueMoney` - SUM(IFNULL(lrh.actualMoney, 0))
) / lrpd.`dueMoney` AS yq_hsqs,
lrpd.customer,
ct.mobile,
lr.createTime,
lrpd.borrowerSid,
lrpd.salesOrderSid,
lv.lockCarMoney,
lv.lockCarState
FROM
`loan_repayment_plan_details` lrpd
LEFT JOIN `loan_repayment_history` lrh
ON lrh.planDetailSid = lrpd.`sid`
LEFT JOIN anrui_buscenter.`bus_sales_order_vehicle` bv
ON lrpd.busVinSid = bv.sid
LEFT JOIN
(SELECT
saleVehSid,
createTime
FROM
loan_be_collection_record
ORDER BY createTime DESC
LIMIT 1) lr
ON lrpd.busVinSid = lr.saleVehSid
LEFT JOIN anrui_crm.`crm_customer_temp` ct
ON lrpd.customerSid = ct.sid
LEFT JOIN (SELECT
*
FROM
loan_be_collection_veh
WHERE lockCarState = '1') lv
ON lrpd.busVinSid = lv.saleVehSid
WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') &lt; CURDATE()
GROUP BY lrpd.`sid`
HAVING (yq_total > 0)) a1
WHERE a1.busVinSid = #{saleVehSid}
GROUP BY a1.loanContractNo,
a1.vinNo,
a1.busVinSid
</select>
<update id="updateFlowFiled">
UPDATE loan_veh_clearance_apply
SET nodeState=#{nodeState}, nodeSid=#{taskDefKey}, modifyTime = NOW()

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanvehclearanceapply/LoanVehClearanceApplyService.java

@ -388,11 +388,6 @@ public class LoanVehClearanceApplyService extends MybatisBaseService<LoanVehClea
return vo;
}
public LoanVehClearanceVehInit initVehListBySaleVehSid(String saleVehSid) {
LoanVehClearanceVehInit loanVehClearanceVehInit = baseMapper.initVehListBySaleVehSid(saleVehSid);
return loanVehClearanceVehInit;
}
public LoanVehClearanceApplyDetailsVo init(LoanVehClearanceInitQuery query) {
List<String> saleVehSids = query.getSaleVehSids();
LoanVehClearanceApplyDetailsVo loanVehClearanceApplyDetailsVo = new LoanVehClearanceApplyDetailsVo();

Loading…
Cancel
Save