Browse Source

结清申请部分代码

master
dimengzhe 1 year ago
parent
commit
5c7c2a3b87
  1. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApply.java
  2. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyDetailsVo.java
  3. 62
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyDto.java
  4. 30
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyQuery.java
  5. 64
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyVo.java
  6. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettlebankcost/LoanSettleBankCostVo.java
  7. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettlecompanycost/LoanSettleCompanyCost.java
  8. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettlecompanycost/LoanSettleCompanyCostVo.java
  9. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.java
  10. 52
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.xml
  11. 1
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyRest.java
  12. 137
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java
  13. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettlebankcost/LoanSettleBankCostMapper.java
  14. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettlebankcost/LoanSettleBankCostMapper.xml
  15. 36
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettlebankcost/LoanSettleBankCostService.java
  16. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettlecompanycost/LoanSettleCompanyCostMapper.java
  17. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettlecompanycost/LoanSettleCompanyCostMapper.xml
  18. 14
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettlecompanycost/LoanSettleCompanyCostService.java
  19. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettlecompanyreduction/LoanSettleCompanyReductionMapper.java
  20. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettlecompanyreduction/LoanSettleCompanyReductionMapper.xml
  21. 14
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettlecompanyreduction/LoanSettleCompanyReductionService.java
  22. 5
      doc/databases/risk_center.sql

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApply.java

@ -70,5 +70,11 @@ public class LoanSettleApply extends BaseEntity {
private String nodeState;
@ApiModelProperty("是否勾选减免,1勾选,0不勾选")
private int trueReduction;
@ApiModelProperty("01正常结清,02提前结清")
private String typeState;
@ApiModelProperty("结清类型")
private String typeStateValue;
@ApiModelProperty("预计结清日期")
private String settingDateBe;
}

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyDetailsVo.java

@ -73,5 +73,7 @@ public class LoanSettleApplyDetailsVo {
@ApiModelProperty("是否勾选减免,1勾选,0不勾选")
private int trueReduction;
@ApiModelProperty("预计结清日期")
private String settingDateBe;
}

62
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyDto.java

@ -1,5 +1,9 @@
package com.yxt.anrui.riskcenter.api.loansettleapply;
import com.yxt.anrui.riskcenter.api.loansettlebankcost.LoanSettleBankCostVo;
import com.yxt.anrui.riskcenter.api.loansettlecompanycost.LoanSettleCompanyCostVo;
import com.yxt.anrui.riskcenter.api.loansettlecompanyreduction.LoanSettleCompanyReductionVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@ -14,4 +18,62 @@ public class LoanSettleApplyDto {
private String sid;
private String userSid;
private String orgPath;
@ApiModelProperty("申请部门")
private String createDept;
@ApiModelProperty("申请部门sid")
private String createDeptSid;
@ApiModelProperty("申请人")
private String createByName;
@ApiModelProperty("申请日期")
private String createTime;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("贷款人")
private String loanName;
@ApiModelProperty("贷款人sid")
private String loanSid;
@ApiModelProperty("贷款合同编号")
private String loanContractNo;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同编号")
private String bankContractNo;
@ApiModelProperty("结清日期")
private String settingDate;
@ApiModelProperty("公司当前逾期月还")
private String overdueMonthPrice;
@ApiModelProperty("公司当期未到期月还")
private String currentNotDuePrice;
@ApiModelProperty("公司未到期月还")
private String notDuePrice;
@ApiModelProperty("资方结清费用")
private LoanSettleBankCostVo loanSettleBankCostVo = new LoanSettleBankCostVo();
@ApiModelProperty("公司结清费用")
private LoanSettleCompanyCostVo loanSettleCompanyCostVo = new LoanSettleCompanyCostVo();
@ApiModelProperty("公司结清费用减免情况")
private LoanSettleCompanyReductionVo loanSettleCompanyReductionVo = new LoanSettleCompanyReductionVo();
@ApiModelProperty("分公司sid")
private String useOrgSid;
@ApiModelProperty("分公司")
private String useOrgName;
@ApiModelProperty("销售订单车辆表sid")
private String busVinSid;
@ApiModelProperty("销售订单sid")
private String saleOrderSid;
@ApiModelProperty("是否勾选减免,1勾选,0不勾选")
private int trueReduction;
@ApiModelProperty("预计结清日期")
private String settingDateBe;
private String busSid;
}

30
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyQuery.java

@ -1,6 +1,7 @@
package com.yxt.anrui.riskcenter.api.loansettleapply;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@ -17,4 +18,33 @@ public class LoanSettleApplyQuery implements Query {
private String orgPath;
private String userSid;
@ApiModelProperty("分公司")
private String useOrgName;
@ApiModelProperty("申请部门")
private String createDept;
@ApiModelProperty("申请人")
private String createByName;
@ApiModelProperty("申请日期")
private String createTimeStart;
private String createTimeEnd;
@ApiModelProperty("办结日期")
private String closeDateStart;
private String closeDateEnd;
@ApiModelProperty("贷款合同编号")
private String loanContractNo;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同编号")
private String bankContractNo;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("贷款人")
private String loanName;
@ApiModelProperty("结清日期")
private String settingDateStart;
private String settingDateEnd;
}

64
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyVo.java

@ -1,5 +1,6 @@
package com.yxt.anrui.riskcenter.api.loansettleapply;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@ -13,4 +14,67 @@ public class LoanSettleApplyVo {
private String createBySid;
private boolean allowModify;
@ApiModelProperty("流程状态")
private String nodeState;
@ApiModelProperty("分公司")
private String useOrgName;
@ApiModelProperty("申请部门")
private String createDept;
@ApiModelProperty("申请人")
private String createByName;
@ApiModelProperty("申请日期")
private String createTime;
@ApiModelProperty("办结日期")
private String closeDate;
@ApiModelProperty("贷款合同编号")
private String loanContractNo;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同编号")
private String bankContractNo;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("贷款人")
private String loanName;
@ApiModelProperty("结清类型")
private String typeStateValue;
@ApiModelProperty("结清日期")
private String settingDate;
@ApiModelProperty("资方结清金额")
private String bankSettlePrice;
@ApiModelProperty("公司正常结清合计")
private String settleAll;
@ApiModelProperty("减免后结清合计")
private String amountTo;
@ApiModelProperty("结清利润")
private String profit;
@ApiModelProperty("流程定义id")
private String procDefId;
@ApiModelProperty("流程实例id")
private String procInstId;
private String sid;
}

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettlebankcost/LoanSettleBankCostVo.java

@ -1,9 +1,12 @@
package com.yxt.anrui.riskcenter.api.loansettlebankcost;
import com.yxt.anrui.riskcenter.api.loanoverduefin.UrlQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
@ -31,4 +34,6 @@ public class LoanSettleBankCostVo {
private String otherReceivableRemarks;
@ApiModelProperty("资方结清金额")
private String bankSettlePrice;
private List<UrlQuery> filesList = new ArrayList<>();
}

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettlecompanycost/LoanSettleCompanyCost.java

@ -42,6 +42,8 @@ public class LoanSettleCompanyCost extends BaseEntity {
private String otherCostRemarks;
@ApiModelProperty("公司正常结清合计")
private BigDecimal settleAll;
@ApiModelProperty("截止当前资金占用费")
private BigDecimal fundAll;
}

3
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettlecompanycost/LoanSettleCompanyCostVo.java

@ -39,4 +39,7 @@ public class LoanSettleCompanyCostVo {
private String otherCostRemarks;
@ApiModelProperty("公司正常结清合计")
private String settleAll;
@ApiModelProperty("截止当前资金占用费")
private String fundAll;
}

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.java

@ -41,4 +41,8 @@ public interface LoanSettleApplyMapper extends BaseMapper<LoanSettleApply> {
String selectGsWdq(@Param("busVinSid") String busVinSid, @Param("settingDate") String settingDate);
int selvehOverdueCount(@Param("busVinSid") String busVinSid);
String selectDk(@Param("busVinSid") String busVinSid, @Param("settingDate") String settingDate);
int updateBus(String busVinSid);
}

52
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.xml

@ -20,6 +20,37 @@
</update>
<select id="selectPageVo" resultType="com.yxt.anrui.riskcenter.api.loansettleapply.LoanSettleApplyVo">
select la.sid,
la.createBySid,
if(length(la.nodeState) > 0, la.nodeState, '待提交') as nodeState,
la.useOrgName,
la.createDept,
la.createByName,
DATE_FORMAT(la.createTime, '%Y-%m-%d') as createTime,
la.closeDate,
la.loanContractNo,
la.vinNo,
la.vehMark,
la.bankName,
la.bankContractNo,
la.customerName,
la.loanName,
la.typeStateValue,
la.settingDate,
la.procDefId,
la.procInstId,
lc.bankSettlePrice,
lcc.settleAll,
lr.amountTo,
lr.profit
from loan_settle_apply la
left join loan_settle_bank_cost lc on lc.mainSid = la.sid
left join loan_settle_company_cost lcc on lcc.mainSid = la.sid
left join loan_settle_company_reduction lr on lr.mainSid = la.sid
<where>
${ew.sqlSegment}
</where>
order by la.useOrgName desc, la.createTime desc, la.loanContractNo desc, la.vinNo
</select>
<select id="selectBySid" resultType="int">
@ -44,6 +75,7 @@
${ew.sqlSegment}
</where>
group by ld.busVinSid
order by ld.loanContractNo desc, ld.vinNo desc
</select>
<select id="selectByBusVinSid"
@ -99,9 +131,25 @@
AND lrpd.`busVinSid` = #{busVinSid}
</select>
<select id="selvehOverdueCount" resultType="java.lang.Integer">
SELECT COUNT(*) FROM loan_be_padsincere_veh as v
LEFT JOIN loan_be_padsincere_apply as a ON v.mainSid = a.sid
SELECT COUNT(*)
FROM loan_be_padsincere_veh as v
LEFT JOIN loan_be_padsincere_apply as a ON v.mainSid = a.sid
WHERE v.saleVehSid = #{busVinSid}
AND a.nodeState = '已办结'
</select>
<select id="selectDk" resultType="java.lang.String">
SELECT IFNULL(SUM(paymentMoney), 0)
FROM loan_repayment_plan_details lrpd
WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') &lt;
#{settingDate}
AND lrpd.busVinSid =
#{busVinSid}
</select>
<update id="updateBus">
update anrui_buscenter.bus_sales_order_vehicle
set settleState = 1
where sid = #{busVinSid}
</update>
</mapper>

1
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyRest.java

@ -2,7 +2,6 @@ package com.yxt.anrui.riskcenter.biz.loansettleapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.riskcenter.api.loansecondarysalesapply.LoanSecondarySalesApplyVo;
import com.yxt.anrui.riskcenter.api.loansettleapply.*;
import com.yxt.anrui.riskcenter.api.loansettleapply.flowable.*;
import com.yxt.common.core.query.PagerQuery;

137
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java

@ -22,12 +22,8 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanoverduefin.UrlQuery;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger;
import com.yxt.anrui.riskcenter.api.loansecondarysalesapply.LoanSecondarySalesApply;
import com.yxt.anrui.riskcenter.api.loansecondarysalesapply.LoanSecondarySalesApplyQuery;
import com.yxt.anrui.riskcenter.api.loansecondarysalesapply.LoanSecondarySalesApplyVo;
import com.yxt.anrui.riskcenter.api.loansecondarysalesveh.LoanSecondarySalesVehVo;
import com.yxt.anrui.riskcenter.api.loansettleapply.*;
import com.yxt.anrui.riskcenter.api.loansettleapply.flowable.*;
import com.yxt.anrui.riskcenter.api.loansettlebankcost.LoanSettleBankCost;
@ -43,6 +39,7 @@ import com.yxt.anrui.riskcenter.biz.loansettlecompanycost.LoanSettleCompanyCostS
import com.yxt.anrui.riskcenter.biz.loansettlecompanyreduction.LoanSettleCompanyReductionService;
import com.yxt.anrui.riskcenter.biz.loansolutions.LoanSolutionsMapper;
import com.yxt.anrui.riskcenter.biz.loansolutionsdetail.LoanSolutionsDetailService;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
@ -57,6 +54,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
@ -93,6 +92,9 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
private LoanSolutionsMapper loanSolutionsMapper;
@Autowired
private LoanSolutionsDetailService loanSolutionsDetailService;
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private SysParameterFeign sysParameterFeign;
@ -100,6 +102,59 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
LoanSettleApplyQuery query = pq.getParams();
QueryWrapper<LoanSettleApply> qw = new QueryWrapper<>();
if (query != null) {
//分公司
if (StringUtils.isNotBlank(query.getUseOrgName())) {
qw.like("la.useOrgName", query.getUseOrgName());
}
//申请部门
if (StringUtils.isNotBlank(query.getCreateDept())) {
qw.like("la.createDept", query.getCreateDept());
}
//申请人
if (StringUtils.isNotBlank(query.getCreateByName())) {
qw.like("la.createByName", query.getCreateByName());
}
//办结日期
qw.apply(StringUtils.isNotBlank(query.getCloseDateStart()), "date_format (la.closeDate,'%Y-%m-%d') >= date_format('" + query.getCloseDateStart() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getCloseDateEnd()), "date_format (la.closeDate,'%Y-%m-%d') <= date_format('" + query.getCloseDateEnd() + "','%Y-%m-%d')"
);
//申请日期
qw.apply(StringUtils.isNotBlank(query.getCreateTimeStart()), "date_format (la.createTime,'%Y-%m-%d') >= date_format('" + query.getCreateTimeStart() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getCreateTimeEnd()), "date_format (la.createTime,'%Y-%m-%d') <= date_format('" + query.getCreateTimeEnd() + "','%Y-%m-%d')"
);
//贷款合同编号
if (StringUtils.isNotBlank(query.getLoanContractNo())) {
qw.like("la.loanContractNo", query.getLoanContractNo());
}
//贷款人
if (StringUtils.isNotBlank(query.getLoanName())) {
qw.like("la.loanName", query.getLoanName());
}
//资方
if (StringUtils.isNotBlank(query.getBankName())) {
qw.like("la.bankName", query.getBankName());
}
//资方合同编号
if (StringUtils.isNotBlank(query.getBankContractNo())) {
qw.like("la.bankContractNo", query.getBankContractNo());
}
//客户名称
if (StringUtils.isNotBlank(query.getCustomerName())) {
qw.like("la.customerName", query.getCustomerName());
}
//车架号
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("la.vinNo", query.getVinNo());
}
//车牌号
if (StringUtils.isNotBlank(query.getVehMark())) {
qw.like("la.vehMark", query.getVehMark());
}
//结清日期
qw.apply(StringUtils.isNotBlank(query.getSettingDateStart()), "date_format (la.settingDate,'%Y-%m-%d') >= date_format('" + query.getSettingDateStart() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getSettingDateEnd()), "date_format (la.settingDate,'%Y-%m-%d') <= date_format('" + query.getSettingDateEnd() + "','%Y-%m-%d')"
);
if (StringUtils.isNotBlank(query.getMenuUrl())) {
//=======================
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
@ -161,9 +216,48 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
ResultBean<String> rb = ResultBean.fireFail();
String sid = dto.getSid();
if (StringUtils.isBlank(sid)) {//新增
LoanSettleApply loanSettleApply = new LoanSettleApply();
BeanUtil.copyProperties(dto, loanSettleApply, "sid");
sid = loanSettleApply.getSid();
loanSettleApply.setCreateBySid(dto.getSid());
loanSettleApply.setOrgSidPath(dto.getOrgPath());
LoanSettleBankCostVo loanSettleBankCostVo = dto.getLoanSettleBankCostVo();
if (loanSettleBankCostVo != null) {
loanSettleBankCostService.saveCost(sid, loanSettleBankCostVo);
}
LoanSettleCompanyCostVo loanSettleCompanyCostVo = dto.getLoanSettleCompanyCostVo();
if (loanSettleCompanyCostVo != null) {
loanSettleCompanyCostService.saveCost(sid, loanSettleCompanyCostVo);
}
LoanSettleCompanyReductionVo loanSettleCompanyReductionVo = dto.getLoanSettleCompanyReductionVo();
if (loanSettleCompanyReductionVo != null) {
loanSettleCompanyReductionService.saveReduction(sid, loanSettleCompanyReductionVo);
}
if (StringUtils.isNotBlank(dto.getBusSid())) {
loanSettleApply.setTypeState("02");
loanSettleApply.setTypeStateValue("提前结清");
} else {
loanSettleApply.setTypeState("01");
loanSettleApply.setTypeStateValue("正常结清");
}
} else {//修改
LoanSettleApply loanSettleApply = fetchBySid(sid);
if (loanSettleApply == null) {
return rb.setMsg("该申请不存在");
}
BeanUtil.copyProperties(dto, loanSettleApply, "sid");
LoanSettleBankCostVo loanSettleBankCostVo = dto.getLoanSettleBankCostVo();
if (loanSettleBankCostVo != null) {
loanSettleBankCostService.saveCost(sid, loanSettleBankCostVo);
}
LoanSettleCompanyCostVo loanSettleCompanyCostVo = dto.getLoanSettleCompanyCostVo();
if (loanSettleCompanyCostVo != null) {
loanSettleCompanyCostService.saveCost(sid, loanSettleCompanyCostVo);
}
LoanSettleCompanyReductionVo loanSettleCompanyReductionVo = dto.getLoanSettleCompanyReductionVo();
if (loanSettleCompanyReductionVo != null) {
loanSettleCompanyReductionService.saveReduction(sid, loanSettleCompanyReductionVo);
}
}
return rb.success().setData(sid);
}
@ -229,7 +323,19 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
LoanSettleBankCost loanSettleBankCost = loanSettleBankCostService.selectByMainSid(sid);
if (loanSettleBankCost != null) {
BeanUtil.copyProperties(loanSettleBankCost, loanSettleBankCostVo);
String filesss = loanSettleBankCost.getFiles();
List<UrlQuery> lists = new ArrayList<>();
if (StringUtils.isNotBlank(filesss)) {
List<String> fileList = Arrays.asList(filesss.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList());
for (int i = 0; i < fileList.size(); i++) {
UrlQuery urlQuery = new UrlQuery();
urlQuery.setUrl(fileList.get(i));
lists.add(urlQuery);
}
loanSettleBankCostVo.setFilesList(lists);
}
loanSettleApplyDetailsVo.setLoanSettleBankCostVo(loanSettleBankCostVo);
}
LoanSettleCompanyCostVo loanSettleCompanyCostVo = new LoanSettleCompanyCostVo();
LoanSettleCompanyCost loanSettleCompanyCost = loanSettleCompanyCostService.selectByMainSid(sid);
@ -272,6 +378,20 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
settleApplyCommonVo.setPutBankInterest(putBankInterest);
//资金占用费
String funfCost = baseMapper.selectZjzyf(busVinSid, settingDate);
String dk = baseMapper.selectDk(busVinSid, settingDate);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
try {
Date d1 = format.parse(settingDate);//毫秒ms
Date d2 = format.parse(DateUtil.today());//毫秒ms
long diff = d2.getTime() - d1.getTime();
long diffDays = diff / (24 * 60 * 60 * 1000);
int i = new Long(diffDays).intValue();
String dks = new BigDecimal(dk).multiply(new BigDecimal(0.0007)).multiply(new BigDecimal(i)).toString();
funfCost = new BigDecimal(funfCost).add(new BigDecimal(dks)).toString();
} catch (ParseException e) {
e.printStackTrace();
}
settleApplyCommonVo.setFunfCost(funfCost);
//公司当前逾期月还
String overdueMonthPrice = baseMapper.selectGsYqYh(busVinSid, settingDate);
@ -462,7 +582,10 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
loanSettleApply = fetchBySid(businessSid);
loanSettleApply.setCloseDate(DateUtil.today());
loanSettleApply.setSettingDate(DateUtil.today());
baseMapper.updateById(loanSettleApply);
//更新车辆表结清状态
baseMapper.updateBus(loanSettleApply.getBusVinSid());
} else {
//极光推送
loanSettleApply = fetchBySid(businessSid);

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettlebankcost/LoanSettleBankCostMapper.java

@ -12,4 +12,6 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface LoanSettleBankCostMapper extends BaseMapper<LoanSettleBankCost> {
LoanSettleBankCost selectByMainSid(String sid);
int deleteByMainSid(String sid);
}

6
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettlebankcost/LoanSettleBankCostMapper.xml

@ -6,4 +6,10 @@
from loan_settle_bank_cost
where mainSid = #{sid}
</select>
<delete id="deleteByMainSid">
delete
from loan_settle_bank_cost
where mainSid = #{sid}
</delete>
</mapper>

36
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettlebankcost/LoanSettleBankCostService.java

@ -1,9 +1,19 @@
package com.yxt.anrui.riskcenter.biz.loansettlebankcost;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.portal.api.sysappendix.SysAppendixQuery;
import com.yxt.anrui.riskcenter.api.loanoverduefin.UrlQuery;
import com.yxt.anrui.riskcenter.api.loansettlebankcost.LoanSettleBankCost;
import com.yxt.anrui.riskcenter.api.loansettlebankcost.LoanSettleBankCostVo;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
* @description:
* @author: dimengzhe
@ -11,7 +21,33 @@ import org.springframework.stereotype.Service;
**/
@Service
public class LoanSettleBankCostService extends MybatisBaseService<LoanSettleBankCostMapper, LoanSettleBankCost> {
@Autowired
private FileUploadComponent fileUploadComponent;
public LoanSettleBankCost selectByMainSid(String sid) {
return baseMapper.selectByMainSid(sid);
}
public void saveCost(String sid, LoanSettleBankCostVo loanSettleBankCostVo) {
LoanSettleBankCost loanSettleBankCost = baseMapper.selectByMainSid(sid);
if (loanSettleBankCost != null) {
baseMapper.deleteByMainSid(sid);
}
loanSettleBankCost = new LoanSettleBankCost();
BeanUtil.copyProperties(loanSettleBankCostVo, loanSettleBankCost);
loanSettleBankCost.setMainSid(sid);
List<UrlQuery> filss = loanSettleBankCostVo.getFilesList();
filss.removeAll(Collections.singleton(null));
if (!filss.isEmpty()) {
List<String> filesList = filss.stream().map(v -> v.getUrl()).collect(Collectors.toList());
filesList.removeAll(Collections.singleton(null));
if (!filesList.isEmpty()) {
String files = String.join(",", filesList).replaceAll(fileUploadComponent.getUrlPrefix(), "");
loanSettleBankCost.setFiles(files);
}
}
baseMapper.insert(loanSettleBankCost);
}
}

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettlecompanycost/LoanSettleCompanyCostMapper.java

@ -12,4 +12,6 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface LoanSettleCompanyCostMapper extends BaseMapper<LoanSettleCompanyCost> {
LoanSettleCompanyCost selectByMainSid(String sid);
int deleteByMainSid(String sid);
}

6
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettlecompanycost/LoanSettleCompanyCostMapper.xml

@ -6,4 +6,10 @@
from loan_settle_company_cost
where mainSid = #{sid}
</select>
<delete id="deleteByMainSid">
delete
from loan_settle_company_cost
where mainSid = #{sid}
</delete>
</mapper>

14
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettlecompanycost/LoanSettleCompanyCostService.java

@ -1,6 +1,9 @@
package com.yxt.anrui.riskcenter.biz.loansettlecompanycost;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.riskcenter.api.loansettlebankcost.LoanSettleBankCost;
import com.yxt.anrui.riskcenter.api.loansettlecompanycost.LoanSettleCompanyCost;
import com.yxt.anrui.riskcenter.api.loansettlecompanycost.LoanSettleCompanyCostVo;
import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.stereotype.Service;
@ -14,4 +17,15 @@ public class LoanSettleCompanyCostService extends MybatisBaseService<LoanSettleC
public LoanSettleCompanyCost selectByMainSid(String sid) {
return baseMapper.selectByMainSid(sid);
}
public void saveCost(String sid, LoanSettleCompanyCostVo loanSettleCompanyCostVo) {
LoanSettleCompanyCost loanSettleCompanyCost = baseMapper.selectByMainSid(sid);
if (loanSettleCompanyCost != null) {
baseMapper.deleteByMainSid(sid);
}
loanSettleCompanyCost = new LoanSettleCompanyCost();
BeanUtil.copyProperties(loanSettleCompanyCostVo, loanSettleCompanyCost);
loanSettleCompanyCost.setMainSid(sid);
baseMapper.insert(loanSettleCompanyCost);
}
}

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettlecompanyreduction/LoanSettleCompanyReductionMapper.java

@ -12,4 +12,6 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface LoanSettleCompanyReductionMapper extends BaseMapper<LoanSettleCompanyReduction> {
LoanSettleCompanyReduction selectByMainSid(String sid);
int deleteByMainSid(String sid);
}

6
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettlecompanyreduction/LoanSettleCompanyReductionMapper.xml

@ -7,4 +7,10 @@
from loan_settle_company_reduction
where mainSid = #{sid}
</select>
<delete id="deleteByMainSid">
delete
from loan_settle_company_reduction
where mainSid = #{sid}
</delete>
</mapper>

14
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettlecompanyreduction/LoanSettleCompanyReductionService.java

@ -1,6 +1,9 @@
package com.yxt.anrui.riskcenter.biz.loansettlecompanyreduction;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.riskcenter.api.loansettlecompanycost.LoanSettleCompanyCost;
import com.yxt.anrui.riskcenter.api.loansettlecompanyreduction.LoanSettleCompanyReduction;
import com.yxt.anrui.riskcenter.api.loansettlecompanyreduction.LoanSettleCompanyReductionVo;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.domain.BaseEntity;
import org.springframework.stereotype.Service;
@ -15,4 +18,15 @@ public class LoanSettleCompanyReductionService extends MybatisBaseService<LoanSe
public LoanSettleCompanyReduction selectByMainSid(String sid) {
return baseMapper.selectByMainSid(sid);
}
public void saveReduction(String sid, LoanSettleCompanyReductionVo loanSettleCompanyReductionVo) {
LoanSettleCompanyReduction loanSettleCompanyReduction = baseMapper.selectByMainSid(sid);
if (loanSettleCompanyReduction != null) {
baseMapper.deleteByMainSid(sid);
}
loanSettleCompanyReduction = new LoanSettleCompanyReduction();
BeanUtil.copyProperties(loanSettleCompanyReductionVo, loanSettleCompanyReduction);
loanSettleCompanyReduction.setMainSid(sid);
baseMapper.insert(loanSettleCompanyReduction);
}
}

5
doc/databases/risk_center.sql

@ -1766,6 +1766,10 @@ CREATE TABLE `loan_settle_apply`
`taskDefKey` varchar(64) DEFAULT NULL COMMENT '环节id',
`nodeState` varchar(64) DEFAULT NULL COMMENT '流程状态',
`trueReduction` int(32) DEFAULT NULL COMMENT '0不勾选,1勾选减免',
`typeState` varchar(64) DEFAULT NULL COMMENT '01正常结清,02提前结清',
`typeStateValue` varchar(64) DEFAULT NULL COMMENT '01正常结清,02提前结清',
`busSid` varchar(64) DEFAULT NULL COMMENT '回购sid',
`settingDateBe` varchar(64) DEFAULT NULL COMMENT '预计结清日期',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE = INNODB
@ -1829,6 +1833,7 @@ CREATE TABLE `loan_settle_company_cost`
`companyOtherPrice` decimal(10, 2) DEFAULT NULL COMMENT '公司其他费用',
`otherCostRemarks` text DEFAULT NULL COMMENT '其他费用说明',
`settleAll` decimal(10, 2) DEFAULT NULL COMMENT '公司正常结清合计',
`fundAll` decimal(10, 2) DEFAULT NULL COMMENT '截止当前资金占用费',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE = INNODB

Loading…
Cancel
Save