Browse Source

催收措施模块开发

zhanglei
God 1 year ago
parent
commit
938243ab2c
  1. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/LoanBeCollectionApplyDetailsVo.java
  2. 35
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/LoanBeCollectionApplyDto.java
  3. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionveh/LoanBeCollectionVeh.java
  4. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionveh/LoanBeCollectionVehDetailsVo.java
  5. 10
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionveh/LoanBeCollectionVehDto.java
  6. 57
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyService.java
  7. 8
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionveh/LoanBeCollectionVehMapper.java
  8. 12
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionveh/LoanBeCollectionVehService.java

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/LoanBeCollectionApplyDetailsVo.java

@ -69,8 +69,8 @@ public class LoanBeCollectionApplyDetailsVo implements Vo {
private String deptSid; // 申请部门sid
@ApiModelProperty("申请部门名称")
private String deptName; // 申请部门名称
@ApiModelProperty("催收措施")
private String collMeasure; // 催收措施
@ApiModelProperty("催收措施")
private List<String> collMeasures; // 催收措施
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")

35
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionapply/LoanBeCollectionApplyDto.java

@ -28,6 +28,7 @@ package com.yxt.anrui.riskcenter.api.loanbecollectionapply;
import com.yxt.anrui.riskcenter.api.loanbecollectionrecord.LoanBeCollectionRecordDto;
import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
@ -55,32 +56,36 @@ public class LoanBeCollectionApplyDto implements Dto {
private String sid; // sid
@ApiModelProperty("创建人")
@ApiModelProperty("申请日期")
private String createTime;
@ApiModelProperty("创建人sid")
private String createBySid;
@ApiModelProperty("创建人")
private String createByName; // 创建人
@ApiModelProperty("申请编号")
@ApiModelProperty("申请编号")
private String billNo; // 申请编号
@ApiModelProperty("申请部门sid")
@ApiModelProperty("申请部门sid")
private String deptSid; // 申请部门sid
@ApiModelProperty("申请部门名称")
@ApiModelProperty("申请部门名称")
private String deptName; // 申请部门名称
@ApiModelProperty("催收措施")
private String collMeasure; // 催收措施
@ApiModelProperty("分公司sid")
@ApiModelProperty("催收措施")
private List<String> collMeasures; // 催收措施
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
@ApiModelProperty("组织全路径")
@ApiModelProperty("组织全路径")
private String orgPath; // 组织全路径
@ApiModelProperty("流程定义的id")
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ApiModelProperty("环节定义的sid")
@ApiModelProperty("环节定义的sid")
private String nodeSid; // 环节定义的sid
@ApiModelProperty("流程实例的sid")
@ApiModelProperty("流程实例的sid")
private String procInstSid; // 流程实例的sid
@ApiModelProperty("流程状态")
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("任务id")
@ApiModelProperty("任务id")
private String taskId; // 任务id
@ApiModelProperty("逾期车辆列表")
private List<LoanBeCollectionRecordDto> loanBeCollectionVehDetails;
private List<LoanBeCollectionVehDto> loanBeCollectionVehDetails;
}

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionveh/LoanBeCollectionVeh.java

@ -74,6 +74,8 @@ public class LoanBeCollectionVeh extends BaseEntity {
private String lockCarMoney; // 锁车费用
@ApiModelProperty("锁车状态")
private String lockCarState; // 锁车状态
@ApiModelProperty("销售订单车辆sid")
private String saleVehSid; // 销售订单车辆sid
@ApiModelProperty("催收申请sid")
private String mainSid; // 催收申请sid

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionveh/LoanBeCollectionVehDetailsVo.java

@ -81,6 +81,8 @@ public class LoanBeCollectionVehDetailsVo implements Vo {
private String lockCarMoney; // 锁车费用
@ApiModelProperty("锁车状态")
private String lockCarState; // 锁车状态
@ApiModelProperty("销售订单车辆sid")
private String saleVehSid; // 销售订单车辆sid
@ApiModelProperty("催收申请sid")
private String mainSid; // 催收申请sid

10
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbecollectionveh/LoanBeCollectionVehDto.java

@ -55,10 +55,10 @@ public class LoanBeCollectionVehDto implements Dto {
private String vinNo; // 车架号
@ApiModelProperty("车牌号")
private String carNum; // 车牌号
@ApiModelProperty("客户名")
private String customerName; // 客户姓名
@ApiModelProperty("客户联系电话")
private String customerPhone; // 客户联系电话
@ApiModelProperty("客户名")
private String custName;
@ApiModelProperty("联系电话")
private String custPhone;
@ApiModelProperty("贷款合同编号")
private String loanContractNo; // 贷款合同编号
@ApiModelProperty("资方")
@ -75,6 +75,8 @@ public class LoanBeCollectionVehDto implements Dto {
private String lockCarMoney; // 锁车费用
@ApiModelProperty("锁车状态")
private String lockCarState; // 锁车状态
@ApiModelProperty("销售订单车辆sid")
private String saleVehSid; // 销售订单车辆sid
@ApiModelProperty("催收申请sid")
private String mainSid; // 催收申请sid

57
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyService.java

@ -41,11 +41,14 @@ 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.loanbecollectionrecord.LoanBeCollectionRecordDto;
import com.yxt.anrui.riskcenter.api.loanbecollectionrecord.LoanBeCollectionRecordVehInit;
import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehDto;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyVo;
import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigatecustomer.LoanHomevisitInvestigateCustomerDetailsVo;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
import com.yxt.anrui.riskcenter.biz.loanbecollectionveh.LoanBeCollectionVehService;
import com.yxt.anrui.riskcenter.biz.loanbeoverdueveh.LoanBeOverdueVehService;
import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService;
import com.yxt.anrui.riskcenter.biz.loanhomevisitinvestigate.LoanHomevisitInvestigateService;
@ -105,6 +108,8 @@ public class LoanBeCollectionApplyService extends MybatisBaseService<LoanBeColle
private FinVehicleInvoiceFeign finVehicleInvoiceFeign;
@Autowired
private LoanHomevisitInvestigateService loanHomevisitInvestigateService;
@Autowired
private LoanBeCollectionVehService loanBeCollectionVehService;
private QueryWrapper<LoanBeCollectionApply> createQueryWrapper(LoanBeCollectionApplyQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -179,17 +184,35 @@ public class LoanBeCollectionApplyService extends MybatisBaseService<LoanBeColle
public void saveOrUpdateDto(LoanBeCollectionApplyDto dto) {
String dtoSid = dto.getSid();
List<LoanBeCollectionVehDto> loanBeCollectionVehDetails = dto.getLoanBeCollectionVehDetails();
if (StringUtils.isBlank(dtoSid)) {
this.insertByDto(dto);
String sid = this.insertByDto(dto);
for (LoanBeCollectionVehDto loanBeCollectionVehDetail : loanBeCollectionVehDetails) {
loanBeCollectionVehDetail.setMainSid(sid);
loanBeCollectionVehService.saveOrUpdateDto(loanBeCollectionVehDetail);
}
return;
}
this.updateByDto(dto);
loanBeCollectionVehService.delByMainSid(dtoSid);
for (LoanBeCollectionVehDto loanBeCollectionVehDetail : loanBeCollectionVehDetails) {
loanBeCollectionVehDetail.setMainSid(dtoSid);
loanBeCollectionVehService.saveOrUpdateDto(loanBeCollectionVehDetail);
}
}
public void insertByDto(LoanBeCollectionApplyDto dto) {
public String insertByDto(LoanBeCollectionApplyDto dto) {
LoanBeCollectionApply entity = new LoanBeCollectionApply();
BeanUtil.copyProperties(dto, entity, "id", "sid");
List<String> collMeasures = dto.getCollMeasures();
String collMeasureSpan = "";
for (String collMeasure : collMeasures) {
collMeasureSpan = collMeasureSpan + collMeasure + ",";
}
entity.setCollMeasure(collMeasureSpan.substring(0, collMeasureSpan.lastIndexOf(",")));
entity.setNodeState("待提交");
baseMapper.insert(entity);
return entity.getSid();
}
public void updateByDto(LoanBeCollectionApplyDto dto) {
@ -206,6 +229,29 @@ public class LoanBeCollectionApplyService extends MybatisBaseService<LoanBeColle
LoanBeCollectionApply entity = fetchBySid(sid);
LoanBeCollectionApplyDetailsVo vo = new LoanBeCollectionApplyDetailsVo();
BeanUtil.copyProperties(entity, vo);
List<LoanBeCollectionVehDetailsVo> loanBeCollectionVehDetailsVos = loanBeCollectionVehService.selByMainSid(sid);
for (LoanBeCollectionVehDetailsVo loanBeCollectionVehDetailsVo : loanBeCollectionVehDetailsVos) {
HashMap<String, String> map = new HashMap<>();
BusSalesOrder busSalesOrder = busSalesOrderFeign.fetchBySid(loanBeCollectionVehDetailsVo.getSaleVehSid()).getData();
BusSalesOrderVehicle busSalesOrderVehicle1 = busSalesOrderVehicleFeign.details(loanBeCollectionVehDetailsVo.getSaleVehSid()).getData();
//催收记录sid
map.put("催收记录", loanBeCollectionVehDetailsVo.getSaleVehSid());
//开票管理sid
FinVehicleInvoice finVehicleInvoice = finVehicleInvoiceFeign.selectByVinAndContractNo(busSalesOrderVehicle1.getLinkSid(), busSalesOrder.getContractNo()).getData();
map.put("开票信息", finVehicleInvoice.getSid());
//月还明细sid
map.put("月还明细", loanBeCollectionVehDetailsVo.getSaleVehSid());
//金融方案sid
LoanSolutions loanSolutions = loanSolutionsService.selectBySaleOrderSid(busSalesOrder.getSid());
map.put("金融方案", loanSolutions.getSid());
//家访考察报告sid
String jfkcSid = loanHomevisitInvestigateService.selectByBorrSid(busSalesOrderVehicle1.getBorrowerSid());
map.put("家访考察报告", jfkcSid);
//家访考察资料sid
map.put("家访考察资料", jfkcSid);
loanBeCollectionVehDetailsVo.setSids(map);
}
vo.setLoanBeCollectionVehDetails(loanBeCollectionVehDetailsVos);
return vo;
}
@ -242,10 +288,11 @@ public class LoanBeCollectionApplyService extends MybatisBaseService<LoanBeColle
map.put("家访考察报告", sid);
//家访考察资料sid
map.put("家访考察资料", sid);
loanBeCollectionVehDetailsVo.setSids(map);
loanBeCollectionVehDetailsVos.add(loanBeCollectionVehDetailsVo);
loanBeCollectionVehDetailsVo.setSids(map);
loanBeCollectionVehDetailsVo.setSaleVehSid(saleVehSid);
loanBeCollectionVehDetailsVos.add(loanBeCollectionVehDetailsVo);
}
loanBeCollectionApplyDetailsVo.setLoanBeCollectionVehDetails(loanBeCollectionVehDetailsVos);
loanBeCollectionApplyDetailsVo.setLoanBeCollectionVehDetails(loanBeCollectionVehDetailsVos);
return loanBeCollectionApplyDetailsVo;
}
}

8
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionveh/LoanBeCollectionVehMapper.java

@ -29,6 +29,8 @@ 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.loanbecollectionveh.LoanBeCollectionVehDetailsVo;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@ -62,4 +64,10 @@ public interface LoanBeCollectionVehMapper extends BaseMapper<LoanBeCollectionVe
@Select("select * from loan_be_collection_veh")
List<LoanBeCollectionVehVo> selectListVo();
@Delete("delete from loan_be_collection_veh where mainSid = #{dtoSid}")
void delByMainSid(String dtoSid);
@Select("select *,customerName as custName,customerPhone as custPhone from loan_be_collection_veh where mainSid = #{sid}")
List<LoanBeCollectionVehDetailsVo> selByMainSid(String sid);
}

12
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionveh/LoanBeCollectionVehService.java

@ -88,6 +88,8 @@ public class LoanBeCollectionVehService extends MybatisBaseService<LoanBeCollect
public void insertByDto(LoanBeCollectionVehDto dto){
LoanBeCollectionVeh entity = new LoanBeCollectionVeh();
BeanUtil.copyProperties(dto, entity, "id", "sid");
entity.setCustomerName(dto.getCustName());
entity.setCustomerPhone(dto.getCustPhone());
baseMapper.insert(entity);
}
@ -98,6 +100,8 @@ public class LoanBeCollectionVehService extends MybatisBaseService<LoanBeCollect
}
LoanBeCollectionVeh entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
entity.setCustomerName(dto.getCustName());
entity.setCustomerPhone(dto.getCustPhone());
baseMapper.updateById(entity);
}
@ -107,4 +111,12 @@ public class LoanBeCollectionVehService extends MybatisBaseService<LoanBeCollect
BeanUtil.copyProperties(entity, vo);
return vo;
}
public void delByMainSid(String dtoSid) {
baseMapper.delByMainSid(dtoSid);
}
public List<LoanBeCollectionVehDetailsVo> selByMainSid(String sid) {
return baseMapper.selByMainSid(sid);
}
}
Loading…
Cancel
Save