Browse Source

Merge remote-tracking branch 'origin/master'

master
fanzongzhe 2 years ago
parent
commit
75b8c86d8b
  1. 33
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  2. 3
      anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/kaipiaoguanliFlow/finginvoiceapplyByFileDaiBanInfo.vue
  3. 3
      anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/kaipiaoguanliFlow/finginvoiceapplyDaiBanInfo.vue
  4. 3
      anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/kaipiaoguanliFlow/finginvoiceapplyYiBanInfo.vue
  5. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationDetailsVo.java
  6. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/AppFinFundsCarriedForwardYXYSKXDto.java
  7. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/AppFinFundsCarriedForwardYXYSKXVo.java
  8. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyDetailsVo.java
  9. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardveh/FinFundsCarriedForwardVehDto.java
  10. 6
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpreloancreditapply/FinFileTypeEnum.java
  11. 15
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpreloancreditapply/FinPreloanCreditApply.java
  12. 14
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpreloancreditapply/FinPreloanCreditApplyDetailsVo.java
  13. 6
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpreloancreditapply/FinPreloanCreditApplyDto.java
  14. 10
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpreloancreditapply/FinPreloanCreditApplyFeign.java
  15. 10
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpreloancreditapply/FinPreloanCreditApplyFeignFallback.java
  16. 50
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpreloancreditapply/FinSubmitCapitalRiskDto.java
  17. 107
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpreloancreditapply/FinSubmitCompanyRiskDto.java
  18. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java
  19. 83
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java
  20. 10
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpreloancreditapply/FinPreloanCreditApplyRest.java
  21. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml
  22. 2
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  23. 14
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
  24. 178
      anrui-riskcenter-ui/src/components/uploadFile/FaImages.vue
  25. 155
      anrui-riskcenter-ui/src/components/uploadFile/FileUpload.vue
  26. 132
      anrui-riskcenter-ui/src/components/uploadFile/ImageUpload.vue
  27. 159
      anrui-riskcenter-ui/src/components/uploadFile/ImageUploadChe.vue
  28. 229
      anrui-riskcenter-ui/src/components/uploadFile/ManyImageUpload.vue
  29. 116
      anrui-riskcenter-ui/src/components/uploadFile/index.vue
  30. 194
      anrui-riskcenter-ui/src/components/uploadFile/upload.vue
  31. 28
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/AppOtherPolicyVo.java
  32. 18
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/AppPolicyDetailsVo.java
  33. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyFeign.java
  34. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherPolicy/LoanFinOtherPolicyMapper.java
  35. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherPolicy/LoanFinOtherPolicyMapper.xml
  36. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherPolicy/LoanFinOtherPolicyService.java
  37. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.java
  38. 28
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.xml
  39. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyRest.java
  40. 83
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyService.java
  41. 4
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java
  42. 33
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/financialPolicy/FinancialOtherPolicyVo.java
  43. 79
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/financialPolicy/FinancialPolicyDetailsVo.java
  44. 7
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/financialPolicy/FinancialPolicyFeign.java
  45. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoVo.java
  46. 6
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/financialPolicy/FinancialPolicyRest.java
  47. 15
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/financialPolicy/FinancialPolicyService.java

33
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

@ -5452,7 +5452,36 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
return rb.setMsg(resultBean.getMsg());
}
List<VinListVo> vinListVos = new ArrayList<>();
//根据销售订单查询现车
List<BusSalesOrderVehicle> busSalesOrderVehicleList = busSalesOrderVehicleService.selectListByOrderSid(saleOrderSid);
busSalesOrderVehicleList.removeAll(Collections.singleton(null));
if (!busSalesOrderVehicleList.isEmpty()) {
for (int i = 0; i < busSalesOrderVehicleList.size(); i++) {
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleList.get(i);
VinListVo vinListVo = new VinListVo();
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) {
vinListVo.setLinkNo(busSalesOrderVehicle.getLinkNo());
}
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkSid())) {
vinListVo.setLinkSid(busSalesOrderVehicle.getLinkSid());
}
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkSid())) {
//根据车架号查询是否已出库
ResultBean<BaseVehicleSelectVo> baseVehicleResultBean = baseVehicleFeign.details(busSalesOrderVehicle.getLinkSid());
if (baseVehicleResultBean.getSuccess()) {
BaseVehicleSelectVo vo = baseVehicleResultBean.getData();
if (vo != null) {
if (VehicleState.StockEnum.OUT_STOCK.getCode().equals(vo.getVehicleState())) {
vinListVo.setState(true);
} else {
vinListVo.setState(false);
}
}
}
}
vinListVos.add(vinListVo);
}
}
/* //根据销售订单查询现车
List<AppNowCarListVo> nowCarList = busSalesOrderVehicleService.selectAppDetailsVoBySaleOrderSid(saleOrderSid);
nowCarList.removeAll(Collections.singleton(null));
AppOrderDetailsVo appOrderDetailsVo = resultBean.getData();
@ -5492,7 +5521,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
VinListVo vinListVo = new VinListVo();
vinListVos.add(vinListVo);
}
}
}*/
vinVo.setSaleOrderSid(saleOrderSid);
vinVo.setVinList(vinListVos);
return rb.success().setData(vinVo);

3
anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/kaipiaoguanliFlow/finginvoiceapplyByFileDaiBanInfo.vue

@ -66,7 +66,7 @@
<el-row>
<el-col :span="8">
<div class="span-sty">单台开票金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.oneBillMoney }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.oneBillMoney }}</span><span style="padding-left: 10px;color: red" v-show="formobj.showValueCustomer">价值客户</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">开票类型默认</div>
@ -303,6 +303,7 @@ export default {
saleDeptSid: '',
saleTypeKey: '',
saleTypeValue: '',
showValueCustomer: false,
sid: '',
staffName: '',
staffSid: '',

3
anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/kaipiaoguanliFlow/finginvoiceapplyDaiBanInfo.vue

@ -66,7 +66,7 @@
<el-row>
<el-col :span="8">
<div class="span-sty">单台开票金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.oneBillMoney }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.oneBillMoney }}</span><span style="padding-left: 10px;color: red" v-show="formobj.showValueCustomer">价值客户</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">开票类型默认</div>
@ -303,6 +303,7 @@ export default {
saleDeptSid: '',
saleTypeKey: '',
saleTypeValue: '',
showValueCustomer: false,
sid: '',
staffName: '',
staffSid: '',

3
anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/kaipiaoguanliFlow/finginvoiceapplyYiBanInfo.vue

@ -64,7 +64,7 @@
<el-row>
<el-col :span="8">
<div class="span-sty">单台开票金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.oneBillMoney }}</span></el-form-item>
<el-form-item><span class="addinputInfo">{{ formobj.oneBillMoney }}</span><span style="padding-left: 10px;color: red" v-show="formobj.showValueCustomer">价值客户</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">开票类型默认</div>
@ -274,6 +274,7 @@ export default {
saleDeptSid: '',
saleTypeKey: '',
saleTypeValue: '',
showValueCustomer: false,
sid: '',
staffName: '',
staffSid: '',

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationDetailsVo.java

@ -155,6 +155,8 @@ public class FinBillApplicationDetailsVo extends AppBillApplicationIInfoVo imple
private String taskId;
@ApiModelProperty(value = "当前用户部门全路径")
private String orgSidPath;
@ApiModelProperty("是否显示价值客户")
private Boolean showValueCustomer;
@ApiModelProperty("开票车辆信息")
private List<FinBillVehicleVo> finBillVehicles; // 开票车辆信息

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/AppFinFundsCarriedForwardYXYSKXDto.java

@ -61,7 +61,7 @@ public class AppFinFundsCarriedForwardYXYSKXDto implements Dto {
@ApiModelProperty("应收金额")
private String receivable;
@ApiModelProperty("认款金额")
private Integer confirmMoney;
private String confirmMoney;
private Boolean checked;
@ApiModelProperty("车架号")
private String vin;

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/AppFinFundsCarriedForwardYXYSKXVo.java

@ -64,7 +64,7 @@ public class AppFinFundsCarriedForwardYXYSKXVo implements Dto {
@ApiModelProperty("应收金额")
private String receivable;
@ApiModelProperty("认款金额")
private Integer confirmMoney;
private String confirmMoney;
private Boolean checked;
@ApiModelProperty("车架号")
private String vin;

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyDetailsVo.java

@ -96,7 +96,7 @@ public class FinFundsCarriedForwardApplyDetailsVo implements Vo {
private String procInsId;
private String taskId;
@ApiModelProperty("结转金额合计")
private String jzjehj; // 结转金额合计
private String jzjehj;
@ApiModelProperty("pdf路径")
private String pdfPath;
@ApiModelProperty("款项确认书附件")

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardveh/FinFundsCarriedForwardVehDto.java

@ -68,5 +68,5 @@ public class FinFundsCarriedForwardVehDto implements Dto {
@ApiModelProperty("剩余金额")
private String balance; // 剩余金额
@ApiModelProperty("本次使用金额")
private Integer thisUseMoney; // 本次使用金额
private String thisUseMoney; // 本次使用金额
}

6
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpreloancreditapply/FinFileTypeEnum.java

@ -13,7 +13,11 @@ public class FinFileTypeEnum {
ID_CARD("01", "身份证"),
COMPANY_RISK("02", "公司风控要求的文件");
COMPANY_RISK("02", "公司风控要求的文件"),
COMPANY_QUERYRES("03", "公司风控查询结果截图"),
CAPITAL_QUERYRES("04", "资方风控查询结果截图");
private final String code;

15
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpreloancreditapply/FinPreloanCreditApply.java

@ -98,5 +98,18 @@ public class FinPreloanCreditApply extends BaseEntity {
private String taskId; // 任务id
@ApiModelProperty("申请编号")
private String billNo; // 申请编号
@ApiModelProperty("公司风控结果")
private String gsfkjg;
@ApiModelProperty("公司审核日期")
private String gsshDate;
@ApiModelProperty("公司审核备注")
private String gsshRemarks;
@ApiModelProperty("资方风控结果")
private String zffkjg;
@ApiModelProperty("资方审核日期")
private String zfshDate;
@ApiModelProperty("资方审核备注")
private String zfshRemarks;
@ApiModelProperty("申诉结果")
private String ssjg;
}

14
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpreloancreditapply/FinPreloanCreditApplyDetailsVo.java

@ -104,6 +104,20 @@ public class FinPreloanCreditApplyDetailsVo implements Vo {
private String taskId; // 任务id
@ApiModelProperty("申请编号")
private String billNo; // 申请编号
@ApiModelProperty("公司风控结果")
private String gsfkjg;
@ApiModelProperty("公司审核日期")
private String gsshDate;
@ApiModelProperty("公司审核备注")
private String gsshRemarks;
@ApiModelProperty("资方风控结果")
private String zffkjg;
@ApiModelProperty("资方审核日期")
private String zfshDate;
@ApiModelProperty("资方审核备注")
private String zfshRemarks;
@ApiModelProperty("申诉结果")
private String ssjg;
@ApiModelProperty("身份证正反面附件")
private List<String> idCardImages = new ArrayList<>();
@ApiModelProperty("贷前信用审核人员列表")

6
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpreloancreditapply/FinPreloanCreditApplyDto.java

@ -93,6 +93,12 @@ public class FinPreloanCreditApplyDto implements Dto {
private String orgSidPath; // 组织全路径
@ApiModelProperty("申请编号")
private String billNo; // 申请编号
@ApiModelProperty("公司风控结果")
private String gsfkjg;
@ApiModelProperty("资方风控结果")
private String zffkjg;
@ApiModelProperty("申诉结果")
private String ssjg;
@ApiModelProperty("身份证正反面附件")
private List<String> idCardImages = new ArrayList<>();
@ApiModelProperty("贷前信用审核人员列表")

10
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpreloancreditapply/FinPreloanCreditApplyFeign.java

@ -65,6 +65,16 @@ public interface FinPreloanCreditApplyFeign {
@PostMapping("/save")
@ResponseBody
public ResultBean save(@RequestBody FinPreloanCreditApplyDto dto);
@ApiOperation("公司风控提交")
@PostMapping("/submitCompanyRisk")
@ResponseBody
public ResultBean submitCompanyRisk(@RequestBody FinPreloanCreditApplyDto dto);
@ApiOperation("资方风控提交")
@PostMapping("/submitCapitalRisk")
@ResponseBody
public ResultBean submitCapitalRisk(@RequestBody FinPreloanCreditApplyDto dto);
@ApiOperation("根据sid删除记录")
@DeleteMapping("/delBySids")

10
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpreloancreditapply/FinPreloanCreditApplyFeignFallback.java

@ -59,6 +59,16 @@ public class FinPreloanCreditApplyFeignFallback implements FinPreloanCreditApply
return ResultBean.fireFail().setMsg("接口anrui-fin/finpreloancreditapply/save无法访问");
}
@Override
public ResultBean submitCompanyRisk(FinPreloanCreditApplyDto dto) {
return null;
}
@Override
public ResultBean submitCapitalRisk(FinPreloanCreditApplyDto dto) {
return null;
}
@Override
public ResultBean delBySids( String[] sids){
return ResultBean.fireFail().setMsg("接口anrui-fin/finpreloancreditapply/delBySids无法访问");

50
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpreloancreditapply/FinSubmitCapitalRiskDto.java

@ -0,0 +1,50 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.api.finpreloancreditapply;
import com.yxt.anrui.fin.api.finpreloancreditpeo.FinPreloanCreditPeoDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class FinSubmitCapitalRiskDto implements Dto {
private String sid;
@ApiModelProperty("公司审核结构")
private String gsshjg;
@ApiModelProperty("公司审核日期")
private String gsshDate;
@ApiModelProperty("公司审核备注")
private String gsshRemarks;
@ApiModelProperty("查询结果截图")
private List<String> gsQueryResult = new ArrayList<>();
}

107
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpreloancreditapply/FinSubmitCompanyRiskDto.java

@ -0,0 +1,107 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.api.finpreloancreditapply;
import com.yxt.anrui.fin.api.finpreloancreditpeo.FinPreloanCreditPeoDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: anrui-fin(贷前信用审核管理) <br/>
* File: FinPreloanCreditApplyDto.java <br/>
* Class: com.yxt.anrui.fin.api.finpreloancreditapply.FinPreloanCreditApplyDto <br/>
* Description: 贷前信用审核申请表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-07-11 11:04:28 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "贷前信用审核申请表 数据传输对象", description = "贷前信用审核申请表 数据传输对象")
public class FinSubmitCompanyRiskDto implements Dto {
private String sid; // sid
@ApiModelProperty("创建人接口")
private String createByName; // 创建人接口
@ApiModelProperty("申请部门sid")
private String applyDeptSid; // 申请部门sid
@ApiModelProperty("申请部门名称")
private String applyDeptName; // 申请部门名称
@ApiModelProperty("车型sid")
private String modelSid; // 车型sid
@ApiModelProperty("车型名称")
private String modelName; // 车型名称
@ApiModelProperty("客户类型key")
private String custTypeKey; // 客户类型key
@ApiModelProperty("客户类型value")
private String custTypeValue; // 客户类型value
@ApiModelProperty("企业sid")
private String qySid; // 企业sid
@ApiModelProperty("企业名称")
private String qyName; // 企业名称
@ApiModelProperty("身份证号码")
private String idCard; // 身份证号码
@ApiModelProperty("客户sid")
private String custSid; // 客户sid
@ApiModelProperty("客户名称")
private String custName; // 客户名称
@ApiModelProperty("手机号码")
private String phone; // 手机号码
@ApiModelProperty("资方sid")
private String capitalSid; // 资方sid
@ApiModelProperty("资方名称")
private String capitalName; // 资方名称
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
@ApiModelProperty("组织全路径")
private String orgSidPath; // 组织全路径
@ApiModelProperty("申请编号")
private String billNo; // 申请编号
@ApiModelProperty("公司风控结果")
private String gsfkjg;
@ApiModelProperty("资方风控结果")
private String zffkjg;
@ApiModelProperty("申诉结果")
private String ssjg;
@ApiModelProperty("身份证正反面附件")
private List<String> idCardImages = new ArrayList<>();
@ApiModelProperty("贷前信用审核人员列表")
private List<FinPreloanCreditPeoDto> finPreloanCreditPeos;
@ApiModelProperty("公司风控要求的文件")
private List<String> comFkFiles = new ArrayList<>();
}

5
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java

@ -636,6 +636,11 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
vo.setZjApplicationAppendxs(zjApplicationAppendxs);
vo.setFjApplicationAppendxs(fjApplicationAppendxs);
vo.setArrearsCollectionAppendxs(arrearsCollectionAppendxs);
//判断是否是高低开,若是,则isAdj网关参数为true=============添加
BusSalesOrderPrice data = busSalesOrderFeign.selectByContractNo(contractNo).getData();
if (data != null) {
vo.setShowValueCustomer(!data.getSingleFinalPrice().equals(entity.getOneBillMoney()));
}
return vo;
}

83
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java

@ -43,11 +43,14 @@ import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.SubmitFinFunds
import com.yxt.anrui.fin.api.finfundscarriedforwardveh.FinFundsCarriedForwardVeh;
import com.yxt.anrui.fin.api.finfundscarriedforwardveh.FinFundsCarriedForwardVehDetailsVo;
import com.yxt.anrui.fin.api.finfundscarriedforwardveh.FinFundsCarriedForwardVehDto;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.AppFinSelectedReceivablesDetailedDto;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailed;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailed;
import com.yxt.anrui.fin.biz.fincollectionconfirmation.FinCollectionConfirmationService;
import com.yxt.anrui.fin.biz.finfundscarriedforwardveh.FinFundsCarriedForwardVehService;
import com.yxt.anrui.fin.biz.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedService;
import com.yxt.anrui.fin.biz.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedService;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
@ -123,6 +126,8 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
private FlowTaskFeign flowTaskFeign;
@Autowired
private com.yxt.anrui.portal.api.flow.FlowableFeign flowableFeignPro;
@Autowired
private FinUncollectedReceivablesDetailedService finUncollectedReceivablesDetailedService;
public PagerVo<FinFundsCarriedForwardApplyVo> listPageVo(PagerQuery<FinFundsCarriedForwardApplyQuery> pq) {
FinFundsCarriedForwardApplyQuery query = pq.getParams();
@ -258,7 +263,7 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
appFinFundsCarriedForwardYXYSKXVo.setProjectName(finSelectedReceivablesDetailedVo.getReceivablesName());
appFinFundsCarriedForwardYXYSKXVo.setMobile(finSelectedReceivablesDetailedVo.getCustomerPhone());
appFinFundsCarriedForwardYXYSKXVo.setReceivable(finSelectedReceivablesDetailedVo.getCurrentReceivableMoney());
appFinFundsCarriedForwardYXYSKXVo.setConfirmMoney(Integer.valueOf(finSelectedReceivablesDetailedVo.getSubscriptionMoney()));
appFinFundsCarriedForwardYXYSKXVo.setConfirmMoney(finSelectedReceivablesDetailedVo.getSubscriptionMoney());
appFinFundsCarriedForwardYXYSKXVo.setVin(finSelectedReceivablesDetailedVo.getVIN());
appFinFundsCarriedForwardYXYSKXVo.setConfirmDate(finSelectedReceivablesDetailedVo.getSubscriptionDate());
appFinFundsCarriedForwardYXYSKXVo.setReceivablesSid(finSelectedReceivablesDetailedVo.getReceivablesSid());
@ -400,7 +405,11 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
}else {
finFundsCarriedForwardApply.setNodeState("待提交");
}
Long jzjehj = finFundsCarriedForwardVehDetailsVos.stream().collect(Collectors.summingLong(FinFundsCarriedForwardVehDto::getThisUseMoney));
BigDecimal jzjehj = new BigDecimal("0");
for (FinFundsCarriedForwardVehDto finFundsCarriedForwardVehDto : finFundsCarriedForwardVehDetailsVos) {
String thisUseMoney = finFundsCarriedForwardVehDto.getThisUseMoney();
jzjehj = jzjehj.add(new BigDecimal(thisUseMoney));
}
finFundsCarriedForwardApply.setJzjehj(String.valueOf(jzjehj));
save(finFundsCarriedForwardApply);
for (String filePath : kxqrsImages) {
@ -503,11 +512,20 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
//用户的组织全路径
FinFundsCarriedForwardApply finFundsCarriedForwardApply = fetchBySid(dto.getSid());
List<FinFundsCarriedForwardVehDto> finFundsCarriedForwardVehDetailsVos = dto.getFinFundsCarriedForwardVehDetailsVos();
Long jzjehj = finFundsCarriedForwardVehDetailsVos.stream().collect(Collectors.summingLong(FinFundsCarriedForwardVehDto::getThisUseMoney));
BigDecimal jzjehj = new BigDecimal("0");
for (FinFundsCarriedForwardVehDto finFundsCarriedForwardVehDto : finFundsCarriedForwardVehDetailsVos) {
String thisUseMoney = finFundsCarriedForwardVehDto.getThisUseMoney();
jzjehj = jzjehj.add(new BigDecimal(thisUseMoney));
}
List<AppFinFundsCarriedForwardYXYSKXDto> yxysFinFundsCarriedForwardYXYSKXVos = dto.getYxysFinFundsCarriedForwardYXYSKXVos();
Long rkje = yxysFinFundsCarriedForwardYXYSKXVos.stream().collect(Collectors.summingLong(AppFinFundsCarriedForwardYXYSKXDto::getConfirmMoney));
if (rkje < jzjehj) {
return rb.setMsg("认款金额不能小于填写的结转金额");
BigDecimal rkje = new BigDecimal("0");
for (AppFinFundsCarriedForwardYXYSKXDto yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) {
String confirmMoney = yxysFinFundsCarriedForwardYXYSKXVo.getConfirmMoney();
rkje = rkje.add(new BigDecimal(confirmMoney));
}
int i = rkje.compareTo(jzjehj);
if (i != 0) {
return rb.setMsg("认款金额与结转金额不符");
}
if ("已认款".equals(dto.getSource())) {
Boolean isOneSale = true;
@ -530,6 +548,13 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
finFundsCarriedForwardApply = fetchBySid(sid);
String pdfPath = createPdf(sid, finFundsCarriedForwardApply.getCreateByName()).getData();
baseMapper.updatePathBySid(pdfPath,sid);
updateYeBySid(sid);
for (AppFinFundsCarriedForwardYXYSKXDto yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) {
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(yxysFinFundsCarriedForwardYXYSKXVo.getReceivablesSid());
BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney().subtract(new BigDecimal(yxysFinFundsCarriedForwardYXYSKXVo.getConfirmMoney()));
finUncollectedReceivablesDetailed.setCurrentReceivableMoney(currentReceivableMoney);
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed);
}
return rb.success();
}
}
@ -581,6 +606,12 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
updateYeBySid(businessSid);
for (AppFinFundsCarriedForwardYXYSKXDto yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) {
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(yxysFinFundsCarriedForwardYXYSKXVo.getReceivablesSid());
BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney().subtract(new BigDecimal(yxysFinFundsCarriedForwardYXYSKXVo.getConfirmMoney()));
finUncollectedReceivablesDetailed.setCurrentReceivableMoney(currentReceivableMoney);
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed);
}
//极光推送
finFundsCarriedForwardApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
@ -725,6 +756,16 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
//更新业务中的流程相关的参数
updateFlowFiled(map);
updateYeBySid(businessSid);
FinFundsCarriedForwardApplyDetailsVo data = fetchDetailsVoBySid(businessSid).getData();
List<AppFinFundsCarriedForwardYXYSKXVo> yxysFinFundsCarriedForwardYXYSKXVos = data.getYxysFinFundsCarriedForwardYXYSKXVos();
if ("发起申请".equals(finFundsCarriedForwardApply.getNodeState())){
for (AppFinFundsCarriedForwardYXYSKXVo yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) {
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(yxysFinFundsCarriedForwardYXYSKXVo.getReceivablesSid());
BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney().add(new BigDecimal(yxysFinFundsCarriedForwardYXYSKXVo.getConfirmMoney()));
finUncollectedReceivablesDetailed.setCurrentReceivableMoney(currentReceivableMoney);
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed);
}
}
//极光推送
finFundsCarriedForwardApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
@ -770,6 +811,16 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
updateYeBySid(query.getBusinessSid());
FinFundsCarriedForwardApplyDetailsVo data = fetchDetailsVoBySid(query.getBusinessSid()).getData();
List<AppFinFundsCarriedForwardYXYSKXVo> yxysFinFundsCarriedForwardYXYSKXVos = data.getYxysFinFundsCarriedForwardYXYSKXVos();
if ("发起申请".equals(finFundsCarriedForwardApply.getNodeState())){
for (AppFinFundsCarriedForwardYXYSKXVo yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) {
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(yxysFinFundsCarriedForwardYXYSKXVo.getReceivablesSid());
BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney().add(new BigDecimal(yxysFinFundsCarriedForwardYXYSKXVo.getConfirmMoney()));
finUncollectedReceivablesDetailed.setCurrentReceivableMoney(currentReceivableMoney);
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed);
}
}
return rb.success().setData(resultBean.getData());
}
}
@ -800,6 +851,16 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
updateYeBySid(query.getBusinessSid());
FinFundsCarriedForwardApplyDetailsVo data = fetchDetailsVoBySid(query.getBusinessSid()).getData();
List<AppFinFundsCarriedForwardYXYSKXVo> yxysFinFundsCarriedForwardYXYSKXVos = data.getYxysFinFundsCarriedForwardYXYSKXVos();
if ("发起申请".equals(finFundsCarriedForwardApply.getNodeState())){
for (AppFinFundsCarriedForwardYXYSKXVo yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) {
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(yxysFinFundsCarriedForwardYXYSKXVo.getReceivablesSid());
BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney().add(new BigDecimal(yxysFinFundsCarriedForwardYXYSKXVo.getConfirmMoney()));
finUncollectedReceivablesDetailed.setCurrentReceivableMoney(currentReceivableMoney);
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed);
}
}
return rb.success().setData(resultBean.getData());
} else {
if (businessTaskId.equals(query.getTaskId())) {
@ -812,6 +873,16 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
updateYeBySid(query.getBusinessSid());
FinFundsCarriedForwardApplyDetailsVo data = fetchDetailsVoBySid(query.getBusinessSid()).getData();
List<AppFinFundsCarriedForwardYXYSKXVo> yxysFinFundsCarriedForwardYXYSKXVos = data.getYxysFinFundsCarriedForwardYXYSKXVos();
if ("发起申请".equals(finFundsCarriedForwardApply.getNodeState())){
for (AppFinFundsCarriedForwardYXYSKXVo yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) {
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(yxysFinFundsCarriedForwardYXYSKXVo.getReceivablesSid());
BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney().add(new BigDecimal(yxysFinFundsCarriedForwardYXYSKXVo.getConfirmMoney()));
finUncollectedReceivablesDetailed.setCurrentReceivableMoney(currentReceivableMoney);
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed);
}
}
return rb.success().setData(resultBean.getData());
}
}

10
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpreloancreditapply/FinPreloanCreditApplyRest.java

@ -78,6 +78,16 @@ public class FinPreloanCreditApplyRest implements FinPreloanCreditApplyFeign {
return finPreloanCreditApplyService.saveOrUpdateDto(dto);
}
@Override
public ResultBean submitCompanyRisk(FinPreloanCreditApplyDto dto) {
return null;
}
@Override
public ResultBean submitCapitalRisk(FinPreloanCreditApplyDto dto) {
return null;
}
@Override
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml

@ -345,7 +345,7 @@
LEFT JOIN fin_collection_confirmation fcc
ON ferd.`collSid` = fcc.`sid`
LEFT JOIN anrui_base.`base_vehicle` bv
ON ferd.`VIN` = bv.`vinNo` AND fcc.`useOrgSid` = bv.`createOrgSid`
ON RIGHT(ferd.`VIN`,8) = RIGHT(bv.`vinNo`,8) AND fcc.`useOrgSid` = bv.`createOrgSid`
<where>
${ew.sqlSegment}
</where>

2
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

@ -15,7 +15,7 @@ public enum ProcDefEnum {
ORDERAPPROVE("订单审批", "order_approve_96asleqi:1:227504"),
SALESPOLICY("销售政策审批流程", "process_biw9gfh7:3:917504"),
//FINBILLAPPLICATION("开票申请流程", "process_hxys3ap3:1:1180004"),
FINBILLAPPLICATION("开票申请流程", "process_hxys3ap3:2:1592504"),
FINBILLAPPLICATION("开票申请流程", "process_hxys3ap3:3:2430004"),
//QKFINBILLAPPLICATION("欠款开票申请流程", "process_x9r8epty:1:1202504"),
//QKFINBILLAPPLICATION("欠款开票申请流程", "process_x9r8epty:3:1592508"),
QKFINBILLAPPLICATION("欠款开票申请流程", "process_q4evu61h:1:1735004"),

14
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java

@ -414,7 +414,7 @@ public class FlowableRest implements FlowableFeign {
sysFlowableConfigQuery.setUserSid(firstSid);
sysFlowableConfigQuery.setNowDate(new Date());
ResultBean<SysFlowableConfigVvo> sysFlowableConfigVvoResultBean = sysFlowableConfigFeign.selectByUserSid(sysFlowableConfigQuery);
if (sysFlowableConfigVvoResultBean.getData() != null) {
if (sysFlowableConfigVvoResultBean.getData() != null) {//若下一环节有转办人且不过期,则isChange为true
if (StringUtils.isNotBlank(sysFlowableConfigVvoResultBean.getData().getChangeUserSid())) {
//转办人sid
nextUserSid = sysFlowableConfigVvoResultBean.getData().getChangeUserSid();
@ -466,12 +466,12 @@ public class FlowableRest implements FlowableFeign {
taskService.addComment(taskId, instanceId,
FlowComment.DELEGATE.getType(), comment);
taskService.resolveTask(taskId, formVariables);
} else {
} else {//当前环节办理通过,且将下一环节用户放入流程中
taskService.addComment(taskId, instanceId, FlowComment.NORMAL.getType(), comment);
log.error("taskid:{},userSid:{}", taskId, userSid);
log.error("formVariables:{}", JSON.toJSONString(formVariables));
taskService.setAssignee(taskId, userSid);
taskService.complete(taskId, formVariables);
taskService.complete(taskId, formVariables);//当前用户办理通过
//根据流程实例的id取最新的待办环节,给环节设置上用户sid
ResultBean<List<LatestTaskVo>> ll = flowtaskService.getLatestTasksNew(instanceId);
if (ll.getData().size() > 0) {
@ -486,7 +486,7 @@ public class FlowableRest implements FlowableFeign {
processCommentDto.setProcessId(dto.getInstanceId());
processCommentService.saveOrUpdateDto(processCommentDto);
}
taskService.setAssignee(id_, nextUserSid);
taskService.setAssignee(id_, nextUserSid);//将下一环节用户放入流程中
vo.setTaskId(id_);
//在act_ru_variable表中增加环节上的业务参数的变量
taskService.setVariablesLocal(id_, formVariables);
@ -507,14 +507,16 @@ public class FlowableRest implements FlowableFeign {
}
List<FlowElement> flowElements = processService.calApprovePath(dto.getModelId(), dto.getModelId(),
dto.getFormVariables());
boolean contains = false;
boolean contains = false;//环节人是否自动审批
for (int i = 0; i < flowElements.size(); i++) {
FlowElement flowElement = flowElements.get(i);
String id = flowElement.getId();
if (taskDefKey.equals(id) && i + 1 < flowElements.size()) {
//获取下下一环节
FlowElement flowElement1 = flowElements.get(i + 1);
List<SysUserVo> sysUserVoLists2 = new ArrayList<>();
if (i + 2 < flowElements.size()) {
//获取下下下一环节用户
FlowElement flowElement2 = flowElements.get(i + 2);
if (flowElement2 instanceof UserTask) {
UserTask userTask = (UserTask) flowElement2;
@ -569,7 +571,7 @@ public class FlowableRest implements FlowableFeign {
contains = true;
break;
}
//如果下一环节无用户,则默认系统管理员自动审批
//如果下下一环节无用户,下下下一环节用户与下一环节用户相同且只有一个,则下一环节用户自动审批。
if (sysUserVoLists.size() == 0 && sysUserVoLists2.size() == 1 && sysUserVoLists2.get(0).getSid().equals(nextUserSid)) {
contains = true;
break;

178
anrui-riskcenter-ui/src/components/uploadFile/FaImages.vue

@ -1,178 +0,0 @@
<template>
<div>
<div>
<el-upload v-loading="loadding" ref="imgUpload" class="avatar-uploader" :headers="accessToken" :action="uploadFile" accept=".jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP" list-type="picture-card" :file-list="files" :on-remove="removeImage" :on-preview="handlePictureCardPreview" :on-progress="uploadProgrees" :on-error="uploadError" :on-success="uploadImgSuccess_FuJian">
<i class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</div>
<el-dialog :visible.sync="showpicture" :append-to-body="true" title="查看图片">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</div>
</template>
<script>
import { imageUpload } from '@/api/portal/Upload.js'
import { mapGetters } from 'vuex'
export default {
model: {
prop: 'imageFileList',
event: 'fileListChange',
},
props: {
placeholder: {
type: String,
default: '',
},
//
width: {
type: String,
default: '270px',
},
//
imageFileList: {
type: Array,
required: [],
},
num: {
type: String,
default: '',
},
},
data() {
return {
dialogImageUrl: '',
accessToken: {},
fileUrl: fileUrl,
uploadFile: imageUpload,
files: [],
showpicture: false,
loadding: false,
}
},
computed: {
...mapGetters([
'id',
'departmentCode',
'departmentLevel',
'departmentType',
'token',
]),
},
watch: {
imageFileList: {
deep: true,
handler(newVal, oldVal) {
this.files = []
for (var i = 0; i < newVal.length; i++) {
this.files.push({
name: newVal[i].name,
url: fileUrl + newVal[i].url,
})
}
},
},
},
mounted() {
this.$nextTick(() => {
this.Init()
})
},
created() {
if (this.imageFileList !== undefined) {
this.files = []
for (var i = 0; i < this.imageFileList.length; i++) {
this.files.push({
name: this.imageFileList[i].name,
url: fileUrl + this.imageFileList[i].url,
})
}
}
},
methods: {
//
Init() {
//
// 1. token
this.accessToken = {
accessToken: this.token,
}
}, // --
uploadImgSuccess_FuJian(response, file, ImageFileList) {
this.loadding = false
if (file.response.code === 20000) {
//
var imageUrl = this.fileUrl + file.response.data
var uid = file.response.data
this.files.push({ name: file.name, url: imageUrl })
var fileList = []
for (var i = 0; i < this.files.length; i++) {
console.log(this.files[i].url, 'this.files[i].url')
fileList.push({
name: this.files[i].name,
url: this.files[i].url.substr(this.fileUrl.length),
num: this.num,
})
}
this.$emit('fileListChange', fileList)
}
},
removeImage(file, ImageFileList) {
this.files.splice(this.files.indexOf(file), 1)
var fileList = []
for (var i = 0; i < this.files.length; i++) {
fileList.push({
name: this.files[i].name,
url: this.files[i].url.substr(this.fileUrl.length),
})
}
this.$emit('fileListChange', fileList)
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url
this.showpicture = true
},
//
uploadError() {
this.loadding = false
},
uploadProgrees(event, file, fileList) {
if (Number(event.percent) > 0) {
this.loadding = true
}
// console.log('event:', event)
},
},
}
</script>
<style lang="scss" scoped>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 100px;
height: 250px;
line-height: 100px;
text-align: center;
}
.avatar {
width: 200px;
height: 200px;
display: block;
// float: left;
}
</style>

155
anrui-riskcenter-ui/src/components/uploadFile/FileUpload.vue

@ -1,155 +0,0 @@
<template>
<div>
<el-upload class="upload-demo" :data="datas" :accept="accept" :on-success="uploadImgSuccess"
:on-change="handleChange" :on-remove="handleRemove" :file-list="fileList_FuJian"
:http-request="uploadSectionFile">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">单个文件大小不允许超过100M,支持上传文件类型{{ accept }}</div>
</el-upload>
</div>
</template>
<script>
import {
uploadFile
} from '@/api/business/beiAn'
import {
mapGetters
} from 'vuex'
export default {
props: {
placeholder: {
type: String,
default: '',
},
//
width: {
type: String,
default: '270px',
},
accept: {
type: String,
default: '.jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP,.PDF,.xls,.docx,.xlsx,.ppt,.pptx',
},
//
files: {
type: String,
required: true,
},
//
name: {
type: String,
required: true,
},
},
data() {
return {
datas: null,
name:null,
accessToken: {},
fileList_FuJian: [],
enclosure: '',
file_add: '',
idsz: '',
file_catch: '',
files_list: [],
}
},
computed: {
...mapGetters([
'id',
'departmentCode',
'departmentLevel',
'departmentType',
'token',
]),
},
watch: {
// files: {
// deep: true,
// handler(val) {
// this.pageLoad(val, '')
// },
// },
},
creatd() {
},
mounted() {
this.$nextTick(() => {})
},
methods: {
handleChange(file, fileList) {},
//
pageLoad(files) {
// console.log('' + files)
if (files !== null && files !== '') {
this.files_list = JSON.parse(files)
var ids = ''
this.fileList_FuJian = []
// 1.
for (var i = 0; i < this.files_list.length; i++) {
var body = {
name: this.files_list[i].name,
url: '',
status: 'finished',
}
this.fileList_FuJian.push(body)
ids = ids + this.files_list[i].id + ','
}
// 2. id
if (ids !== '') {
ids = ids.substring(0, ids.length - 1)
}
this.enclosure = ids
this.file_catch = ids
} else {
this.file_add = ''
this.file_catch = ''
this.enclosure = ''
this.files_list = []
this.fileList_FuJian = []
}
},
// --
uploadImgSuccess(response, file, fileList) {
this.$emit('change', this.enclosure)
},
handleRemove(file, fileList) {
if (this.idsz != '') {
this.$emit('handleRemove', this.idsz)
}
},
// FrontPhoto
uploadSectionFile(params) {
const file = params.file
//
const form = new FormData()
// console.log('77777777777777',form)
//
form.append('file', file)
//
uploadFile(form).then((res) => {
//
if (res.code === '200') {
let a = ''
a = res.data.filePath
this.idsz = a
this.$emit('handleSuccess', res)
}
if (res.msg == '操作成功') {
this.$message({
message: '上传成功!',
type: 'success',
})
}
})
.catch((err) => {
console.log(err)
// ,
})
},
},
}
</script>
<style lang="scss" scoped></style>

132
anrui-riskcenter-ui/src/components/uploadFile/ImageUpload.vue

@ -1,132 +0,0 @@
<template>
<el-upload ref="upload" class="avatar-uploader" action="imageUrl" :show-file-list="true" list-type="picture-card"
:data="datas" :on-change="uploadchangeFile" :http-request="uploadSectionFile" :on-remove="onRemove">
<i class="el-icon-plus" />
<img v-if="FrontPhoto" :src="FrontPhoto" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon" />
<div slot="tip" class="el-upload__tip">{{ tip }}</div>
</el-upload>
</template>
<script>
// import { imageUpload } from '@/api/portal/Upload.js'
import {
imgUploadz
} from '@/api/jichuxinxi/baseaffiliatcompany' //
export default {
props: {
tip: {
type: String,
default: '',
},
types: {
type: String,
default: '',
},
},
data() {
return {
FrontPhoto: '',
imageUrl: imgUploadz,
datas: null,
imgId: '',
}
},
created() {
console.log('5522555',types)
this.datas = {
type: this.types
}
},
methods: {
// FrontPhoto
uploadSectionFile(params) {
// console.log(params, 111111111111)
const file = params.file
const fileType = file.type
const isImage = fileType.indexOf('image') != -1
const isLt2M = file.size / 1024 / 1024 < 2
// console.log(params)
//
if (!isImage) {
this.$message.error('只能上传图片格式png、jpg、gif、jpeg!')
return
}
if (!isLt2M) {
this.$message.error('只能上传图片大小小于2M')
return
}
//
const form = new FormData()
// console.log(form)
//
form.append('file', file)
// '',
imgUploadz(form).then((res) => {
//
if (res.code === '200') {
this.imgId = ''
res.data.attachType = this.types
this.imgId = res.data.filePath
this.$emit('imgdata', res)
}
// this.FrontPhoto = res.fullUrl
if (res.msg == '操作成功') {
this.$message({
message: '上传成功!',
type: 'success',
})
}
})
.catch((err) => {
console.log(err)
})
},
onRemove() {
if (this.imgId != '') {
this.$emit('removeIds', this.imgId)
}
},
uploadchangeFile(file) {
this.FrontPhoto = URL.createObjectURL(file.raw)
},
},
}
</script>
<style>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 200px;
height: 178px;
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
.el-upload__tip {
line-height: 25px;
margin-top: 0;
}
</style>

159
anrui-riskcenter-ui/src/components/uploadFile/ImageUploadChe.vue

@ -1,159 +0,0 @@
<template>
<el-upload ref="upload" class="avatar-uploader" action="imageUrl" :show-file-list="true" list-type="picture-card" :data="datas" :on-change="uploadchangeFile" :http-request="uploadSectionFile" :on-remove="onRemove">
<i class="el-icon-plus" />
<img v-if="FrontPhoto" :src="FrontPhoto" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon" />
<div slot="tip" class="el-upload__tip">{{ tip }}</div>
</el-upload>
</template>
<script>
import { imageUpload } from '@/api/portal/Upload.js'
import { imgUploadz } from '@/api/jichuxinxi/baseaffiliatcompany' //
export default {
props: {
tip: {
type: String,
default: ''
},
types: {
type: String,
default: ''
},
linkChange: {
type: String,
default: ''
}
},
data() {
return {
FrontPhoto: '',
imageUrl: imgUploadz,
datas: null,
imgId: ''
}
},
created() {
this.datas = { type: this.types }
console.log(this.linkChange, 111111111111)
// console.log(this.datas, 11)
},
methods: {
// FrontPhoto
uploadSectionFile(params) {
// console.log(params, 111111111111)
const file = params.file
const fileType = file.type
const isImage = fileType.indexOf('image') != -1
const isLt2M = file.size / 1024 / 1024 < 2
// console.log(params)
//
if (!isImage) {
this.$message.error('只能上传图片格式png、jpg、gif、jpeg!')
return
}
if (!isLt2M) {
this.$message.error('只能上传图片大小小于2M')
return
}
//
const form = new FormData()
// console.log(form)
//
form.append('file', file)
// '',
//
if (this.linkChange == '') {
imageUpload(form)
.then((res) => {
//
if (res.code === '200') {
this.imgId = ''
res.data.attachType = this.types
this.imgId = res.data.filePath
this.$emit('imgdata', res)
}
// this.FrontPhoto = res.fullUrl
if (res.msg == '操作成功') {
this.$message({
message: '上传成功!',
type: 'success'
})
}
})
.catch((err) => {
console.log(err)
})
// ,
}
// else if (this.linkChange == 'keepOnRecord') {
// imageUpload(form)
// .then((res) => {
// //
// if (res.code === '200') {
// this.imgId = ''
// res.data.attachType = this.types
// this.imgId = res.data.filePath
// this.$emit('imgdata', res)
// }
// // this.FrontPhoto = res.fullUrl
// if (res.msg == '') {
// this.$message({
// message: '',
// type: 'success',
// })
// }
// })
// .catch((err) => {
// console.log(err)
// })
// }
},
onRemove() {
if (this.imgId != '') {
this.$emit('removeIds', this.imgId)
}
},
uploadchangeFile(file) {
this.FrontPhoto = URL.createObjectURL(file.raw)
}
}
}
</script>
<style>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 200px;
height: 178px;
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
.el-upload__tip {
line-height: 25px;
margin-top: 0;
}
</style>

229
anrui-riskcenter-ui/src/components/uploadFile/ManyImageUpload.vue

@ -1,229 +0,0 @@
<template>
<div>
<div>
<el-upload ref="imgUpload" v-loading="loadding" class="avatar-uploader" :headers="accessToken"
:action="uploadFile" accept=".jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP" list-type="picture-card"
:file-list="files" :on-remove="removeImage" :on-preview="handlePictureCardPreview" :on-progress="uploadProgrees"
:on-error="uploadError" :on-success="uploadImgSuccess_FuJian">
<i class="el-icon-plus avatar-uploader-icon" />
</el-upload>
<!-- <button @click="test()">test</button> -->
</div>
<el-dialog :visible.sync="showpicture" :append-to-body="true" title="查看图片">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</div>
</template>
<script>
import {
uploadFile,
deleteFilesOss
} from '@/api/portal/Upload.js'
import {
getStorage
} from '@/utils/auth.js'
import {
mapGetters
} from 'vuex'
export default {
model: {
prop: 'imageFileList',
event: 'fileListChange'
},
props: {
placeholder: {
type: String,
default: ''
},
//
width: {
type: String,
default: '270px'
},
// --
imageFileList: {
type: Array,
required: []
},
num: {
type: String,
default: ''
}
},
data() {
return {
dialogImageUrl: '',
accessToken: null,
uploadFile: uploadFile,
files: [],
showpicture: false,
loadding: false
}
},
computed: {
...mapGetters([
'id',
'departmentCode',
'departmentLevel',
'departmentType',
'token'
])
},
watch: {
imageFileList: {
deep: true,
immediate: true,
handler(newVal, oldVal) {
// debugger
console.log('aaaa1', newVal)
this.files = []
this.$nextTick(() => {
for (var i = 0; i < newVal.length; i++) {
// debugger
this.files.push({
name: newVal[i],
url: newVal[i],
// fullUrl: newVal[i]
})
}
})
}
}
},
mounted() {
this.$nextTick(() => {
this.Init()
})
},
created() {
this.uploadFile = uploadFile //
this.accessToken = {
'token': getStorage()
}
console.log('token', this.accessToken)
// console.log('imageFileList', this.imageFileList)
},
methods: {
//
Init() {
// 1. token
// this.accessToken = {
// token: this.token
// }
//
console.log('aaaa2', this.imageFileList)
if (this.imageFileList !== undefined) {
this.files = []
for (var i = 0; i < this.imageFileList.length; i++) {
// console.log('aaaa', i)
this.files.push({
name: this.imageFileList[i],
url: this.imageFileList[i]
})
}
}
}, // --
uploadImgSuccess_FuJian(response, file, ImageFileList) {
console.log('上传成功!',this.imageFileList)
// debugger
this.loadding = false
if (file.response.code === '200') {
// debugger
//
this.dialogImageUrl = file.response.data.fullUrl
var uid = file.response.data
this.files.push({
name: file.response.data.sourceFileName,
url: file.response.data.fullUrl,
// url: file.response.data.fullUrl,
// fullUrl: file.response.data.filePath,
// size: file.response.data.size,
// sourceFileName: file.response.data.sourceFileName
})
const imgFiles = []
this.files.forEach(o => {
imgFiles.push(o.url)
})
this.$emit('fileListChange', imgFiles)
console.log('上传成功:' + JSON.stringify(this.files))
// this.$emit('fileChange', this.files)
}
},
removeImage(file, ImageFileList) {
const fullPath = {
fullPath:file.url
}
deleteFilesOss(fullPath).then((res)=>{
console.log('移除',res)
if(res.code === '200'){
this.files = res.data
this.$notify({
title: '提示',
message: '移除成功',
type: 'success',
duration: 2000,
})
}
})
console.log('000000',this.files)
this.$emit('fileChange', this.files)
console.log(file,ImageFileList,'移除前')
this.imageFileList.forEach((e,index)=>{
if(e==file.name){
this.imageFileList.splice(index,1)
}
})
console.log('移除成功',this.imageFileList)
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url
this.showpicture = true
},
//
uploadError() {
this.loadding = false
},
uploadProgrees(event, file, fileList) {
if (Number(event.percent) > 0) {
this.loadding = true
}
// console.log('event:', event)
},
test() {
console.log('aaa', this.files)
this.$set(this.files, this.files)
}
}
}
</script>
<style lang="scss" scoped>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 100px;
height: 250px;
line-height: 100px;
text-align: center;
}
.avatar {
width: 200px;
height: 200px;
display: block;
// float: left;
}
</style>

116
anrui-riskcenter-ui/src/components/uploadFile/index.vue

@ -1,116 +0,0 @@
<template>
<el-upload class="avatar-uploader" ref="upload" :action="fakeaction" :show-file-list="false" :on-change="uploadchangeFile" :http-request="uploadSectionFile">
<!-- <el-button size="small" type="primary">点击上传</el-button> -->
<img v-if="Photo" :src="Photo" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
<div slot="tip" class="el-upload__tip">{{tip}}</div>
</el-upload>
</template>
<script>
import { imageUpload } from '@/api/Common/Upload.js'
export default {
props: {
tip: {
type: String,
default: '',
},
FrontPhoto: {
type: String,
default: '',
},
},
data() {
return {
Photo: this.FrontPhoto,
loading: null,
}
},
methods: {
openFullScreen2() {
this.loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)',
})
},
// FrontPhoto
uploadSectionFile(params) {
const file = params.file,
fileType = file.type,
isImage = fileType.indexOf('image') != -1,
isLt2M = file.size / 1024 / 1024 < 10
this.openFullScreen2()
console.log(params)
//
if (!isImage) {
this.$message.error('只能上传图片格式png、jpg、gif!')
this.loading.close()
return
}
if (!isLt2M) {
this.$message.error('只能上传图片大小小于10M')
this.loading.close()
return
}
//
const form = new FormData()
console.log(form)
//
form.append('file', file)
//
imageUpload(form)
.then((res) => {
//
console.log(res)
this.$emit('imgUrl', res.data)
this.Photo = res.data.fullUrl
if (res.code == 200) {
this.loading.close()
this.$message({
message: '上传成功!',
type: 'success',
})
}
})
.catch((err) => {
console.log(err)
})
},
uploadchangeFile(file) {
// this.Photo = URL.createObjectURL(file.raw)
},
},
}
</script>
<style>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 200px;
height: 178px;
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
</style>

194
anrui-riskcenter-ui/src/components/uploadFile/upload.vue

@ -1,194 +0,0 @@
<template>
<div>
<el-upload class="upload-demo" :data="datas" :accept="accept" :on-success="uploadImgSuccess" :on-change="handleChange" :on-remove="handleRemove" :file-list="fileList_FuJian" :http-request="uploadSectionFile">
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">单个文件大小不允许超过100M,支持上传文件类型{{ accept }}</div>
</el-upload>
</div>
</template>
<script>
import { imgUploadz } from '@/api/jichuxinxi/baseaffiliatcompany'
import { mapGetters } from 'vuex'
export default {
props: {
placeholder: {
type: String,
default: '',
},
//
width: {
type: String,
default: '270px',
},
accept: {
type: String,
default:
'.jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP,.PDF,.xls,.docx,.xlsx,.ppt,.pptx',
},
//
files: {
type: String,
required: true,
},
//
name: {
type: String,
required: true,
},
types:{
type:String,
required: true,
},
linkChange: {
type: String,
default: '',
},
},
data() {
return {
datas: null,
types:types,
accessToken: {},
fileList_FuJian: [],
enclosure: '',
file_add: '',
idsz: '',
file_catch: '',
files_list: [],
}
},
computed: {
...mapGetters([
'id',
'departmentCode',
'departmentLevel',
'departmentType',
'token',
]),
},
watch: {
files: {
deep: true,
handler(val) {
this.pageLoad(val, '')
},
},
},
creatd() {
this.datas = { type: this.types }
// console.log(this.datas,7777777)
console.log(this.type, '船只被')
},
mounted() {
this.$nextTick(() => {
// this.Init()
})
},
methods: {
//
Init() {
// 1. token
// this.accessToken = {
// token: this.token,
// }
this.pageLoad(this.files)
},
handleChange(file, fileList) {
},
//
pageLoad(files) {
// console.log('' + files)
if (files !== null && files !== '') {
this.files_list = JSON.parse(files)
var ids = ''
this.fileList_FuJian = []
// 1.
for (var i = 0; i < this.files_list.length; i++) {
var body = {
name: this.files_list[i].name,
url: '',
status: 'finished',
}
this.fileList_FuJian.push(body)
ids = ids + this.files_list[i].id + ','
}
// 2. id
if (ids !== '') {
ids = ids.substring(0, ids.length - 1)
}
this.enclosure = ids
this.file_catch = ids
} else {
this.file_add = ''
this.file_catch = ''
this.enclosure = ''
this.files_list = []
this.fileList_FuJian = []
}
},
// --
uploadImgSuccess(response, file, fileList) {
// console.log('fileList:' + JSON.stringify(fileList))
// this.enclosure = ''
// 1. id(this.file_add)
// this.getNewFileId(fileList)
// 2. id
// this.getFileId()
// console.log('4. ' + this.enclosure)
// 3. id
this.$emit('change', this.enclosure)
},
handleRemove(file, fileList) {
// console.log('file:' + JSON.stringify(file))
// console.log('fileList:' + JSON.stringify(fileList))
// this.enclosure = ''
// 1. id(this.file_add)
// this.getNewFileId(fileList)
// 2. id(this.file_catch)
// this.getCatchFileId(file)
// 3. id
// this.getFileId()
// 4. id
if (this.idsz != '') {
this.$emit('handleRemove', this.idsz)
}
},
// FrontPhoto
uploadSectionFile(params) {
const file = params.file
//
const form = new FormData()
console.log('77777777777777',form)
//
form.append('file', file)
//
console.log('988888',form.append)
imgUploadz(form).then((res) => {
//
if (res.code === '200') {
res.data.attachType = this.types
let a = ''
a = res.data.filePath
this.idsz = a
this.$emit('handleSuccess', res)
}
// this.FrontPhoto = res.fullUrl
if (res.msg == '操作成功') {
this.$message({
message: '上传成功!',
type: 'success',
})
}
})
.catch((err) => {
console.log(err)
// ,
})
},
},
}
</script>
<style lang="scss" scoped></style>

28
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/AppOtherPolicyVo.java

@ -0,0 +1,28 @@
package com.yxt.anrui.riskcenter.api.loanfinotherPolicy;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/7/12
**/
@Data
public class AppOtherPolicyVo {
@ApiModelProperty("产品类别")
private String productTypeValue;
@ApiModelProperty("最高融资额比例(%)")
private String maxLoanRatio;
@ApiModelProperty("最高融资额")
private String maxLoanAmount;
@ApiModelProperty("期数")
private String period;
@ApiModelProperty("年利率(%)")
private String yearRatio;
}

18
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/AppPolicyDetailsVo.java

@ -1,5 +1,6 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicy;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.AppOtherPolicyVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -17,12 +18,14 @@ public class AppPolicyDetailsVo implements Vo {
private String policyName;
@ApiModelProperty("适用部门,黑龙江销售部或分公司")
private String useDeptNames;
private String useOrgName;
@ApiModelProperty("资方简称")
private String bankShortName;
@ApiModelProperty("业务类型")
private String busTypeValue;
@ApiModelProperty("车辆大类")
private String vehCategoryValue;
private String vehTypeValue;
@ApiModelProperty("是否打包")
private String isPack;
@ApiModelProperty("是否担保")
@ -37,14 +40,25 @@ public class AppPolicyDetailsVo implements Vo {
private String downPayRatioLeast;
@ApiModelProperty("首付比例")
private String downPayRatio;
/* @ApiModelProperty("保证金比例")
@ApiModelProperty("保证金比例")
private String bondRatio;
@ApiModelProperty("期数")
private String period;
@ApiModelProperty("标准年利率")
private String yearRatio;
@ApiModelProperty("服务费类型")
private String serviceAmountTypeValue;
@ApiModelProperty("服务费")
private String serviceAmount;
@ApiModelProperty("保险保证金")
private String depositPremium;
@ApiModelProperty("落户保证金")
private String depositSettle;
@ApiModelProperty("名义/留购价款")
private String nominalPrice;
@ApiModelProperty("有效期至")
@ApiModelProperty("其他融")*/
private String validDateTo;
private int isOtherProduct;
@ApiModelProperty("其他融")
private AppOtherPolicyVo otherInfo;
}

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyFeign.java

@ -50,6 +50,6 @@ public interface LoanFinPolicyFeign {
ResultBean<PagerVo<AppLoanFinPolicyVo>> getProductList(@RequestBody PagerQuery<AppLoanFinPolicyQuery> pagerQuery);
@ApiOperation("app金融产品常规详情")
@GetMapping("appDetails")
ResultBean<AppPolicyDetailsVo> appDetails(@RequestParam("sid") String sid);
@GetMapping("getProductInfo")
ResultBean<AppPolicyDetailsVo> getProductInfo(@RequestParam("sid") String sid);
}

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherPolicy/LoanFinOtherPolicyMapper.java

@ -1,6 +1,7 @@
package com.yxt.anrui.riskcenter.biz.loanfinotherPolicy;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.AppOtherPolicyVo;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicyVos;
import org.apache.ibatis.annotations.Mapper;
@ -21,4 +22,6 @@ public interface LoanFinOtherPolicyMapper extends BaseMapper<LoanFinOtherPolicy>
LoanFinOtherPolicy selectByMainSid(String sid);
LoanFinOtherPolicyVos details(String sid);
AppOtherPolicyVo selectByMainSids(String sid);
}

6
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherPolicy/LoanFinOtherPolicyMapper.xml

@ -28,4 +28,10 @@
from loan_fin_otherpolicy
where sid = #{sid}
</select>
<select id="selectByMainSids" resultType="com.yxt.anrui.riskcenter.api.loanfinotherPolicy.AppOtherPolicyVo">
select *
from loan_fin_otherpolicy
where mainPolicySid = #{sid}
</select>
</mapper>

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherPolicy/LoanFinOtherPolicyService.java

@ -1,5 +1,6 @@
package com.yxt.anrui.riskcenter.biz.loanfinotherPolicy;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.AppOtherPolicyVo;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicyVos;
import com.yxt.common.base.service.MybatisBaseService;
@ -40,4 +41,8 @@ public class LoanFinOtherPolicyService extends MybatisBaseService<LoanFinOtherPo
LoanFinOtherPolicyVos loanFinOtherPolicyVos = baseMapper.details(sid);
return rb.success().setData(loanFinOtherPolicyVos);
}
public AppOtherPolicyVo selectByMainSids(String sid) {
return baseMapper.selectByMainSids(sid);
}
}

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.java

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.AppLoanFinPolicyVo;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.AppPolicyDetailsVo;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyVos;
import org.apache.ibatis.annotations.Mapper;
@ -26,4 +27,6 @@ public interface LoanFinPolicyMapper extends BaseMapper<LoanFinPolicy> {
List<LoanFinPolicy> selectByBankSid(String sid);
IPage<AppLoanFinPolicyVo> getProductList(IPage<LoanFinPolicy> page, @Param(Constants.WRAPPER) QueryWrapper<LoanFinPolicy> qw, @Param("name") String name);
AppPolicyDetailsVo getProductInfo(String sid);
}

28
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.xml

@ -58,4 +58,32 @@
</where>
order by lfp.id desc
</select>
<select id="getProductInfo" resultType="com.yxt.anrui.riskcenter.api.loanfinpolicy.AppPolicyDetailsVo">
select lfp.policyName,
lfp.useDeptNames,
lfp.useOrgName,
lfp.bankShortName,
lfp.busTypeValue,
lfp.vehCategoryValue,
lfp.isPack,
lfp.guaranteeTypeKey,
lfp.remarks,
lfp.vehAccidentAmount,
lfp.downPayRatioLeast,
lfp.downPayRatio,
lfp.period,
lfp.yearRatio,
lfp.serviceAmountTypeValue,
lfp.serviceAmount,
lfp.depositPremium,
lfp.depositSettle,
lfp.nominalPrice,
lfp.validDateTo,
lfp.isOtherProduct,
lfp.vehTypeValue,
lfp.bondRatio
from loan_fin_policy lfp
where lfp.sid = #{sid}
</select>
</mapper>

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyRest.java

@ -62,8 +62,7 @@ public class LoanFinPolicyRest implements LoanFinPolicyFeign {
}
@Override
public ResultBean<AppPolicyDetailsVo> appDetails(String sid) {
ResultBean<AppPolicyDetailsVo> rb = ResultBean.fireFail();
return null;
public ResultBean<AppPolicyDetailsVo> getProductInfo(String sid) {
return loanFinPolicyService.getProductInfo(sid);
}
}

83
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyService.java

@ -8,6 +8,7 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
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.riskcenter.api.loanfinotherPolicy.AppOtherPolicyVo;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicyDto;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicyVo;
@ -75,6 +76,36 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
loanFinPolicy.setUseOrgName(useOrgName);
loanFinPolicy.setCreateOrgName(useOrgName);
loanFinPolicy.setCreateBySid(dto.getUserSid());
//政策拼接:资方简称+(+担保类型guaranteeTypeValue+、+isPack打包、不打包+)+首付比例+“+”+保证金比例
StringBuilder policyName = new StringBuilder();
if (StringUtils.isNotBlank(loanFinPolicy.getBankShortName())) {
policyName = policyName.append(loanFinPolicy.getBankShortName());
}
if (StringUtils.isNotBlank(loanFinPolicy.getGuaranteeTypeValue())) {
policyName = policyName.append("(").append(loanFinPolicy.getGuaranteeTypeValue());
if (loanFinPolicy.getIsPack() == 1) {//1是打包,2是不打包
policyName = policyName.append("、").append("打包").append(")");
} else {
policyName = policyName.append("、").append("不打包").append(")");
}
} else {
if (loanFinPolicy.getIsPack() == 1) {//1是打包,2是不打包
policyName = policyName.append("(").append("打包").append(")");
} else {
policyName = policyName.append("(").append("不打包").append(")");
}
}
if (StringUtils.isNotBlank(dto.getDownPayRatio())) {
policyName = policyName.append(dto.getDownPayRatio());
if (StringUtils.isNotBlank(dto.getBondRatio())) {
policyName = policyName.append("+").append(dto.getBondRatio());
}
} else {
if (StringUtils.isNotBlank(dto.getBondRatio())) {
policyName = policyName.append(dto.getBondRatio());
}
}
loanFinPolicy.setPolicyName(policyName.toString());
loanFinPolicy.setOrgSidPath(orgPath);
if (dto.isOtherProduct()) {//有其他融
loanFinPolicy.setIsOtherProduct(1);
@ -151,6 +182,36 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
loanFinOtherPolicyService.insert(loanFinOtherPolicy);
}
}
//政策拼接:资方简称+(+担保类型guaranteeTypeValue+、+isPack打包、不打包+)+首付比例+“+”+保证金比例
StringBuilder policyName = new StringBuilder();
if (StringUtils.isNotBlank(loanFinPolicy.getBankShortName())) {
policyName = policyName.append(loanFinPolicy.getBankShortName());
}
if (StringUtils.isNotBlank(loanFinPolicy.getGuaranteeTypeValue())) {
policyName = policyName.append("(").append(loanFinPolicy.getGuaranteeTypeValue());
if (loanFinPolicy.getIsPack() == 1) {//1是打包,2是不打包
policyName = policyName.append("、").append("打包").append(")");
} else {
policyName = policyName.append("、").append("不打包").append(")");
}
} else {
if (loanFinPolicy.getIsPack() == 1) {//1是打包,2是不打包
policyName = policyName.append("(").append("打包").append(")");
} else {
policyName = policyName.append("(").append("不打包").append(")");
}
}
if (StringUtils.isNotBlank(dto.getDownPayRatio())) {
policyName = policyName.append(dto.getDownPayRatio());
if (StringUtils.isNotBlank(dto.getBondRatio())) {
policyName = policyName.append("+").append(dto.getBondRatio());
}
} else {
if (StringUtils.isNotBlank(dto.getBondRatio())) {
policyName = policyName.append(dto.getBondRatio());
}
}
loanFinPolicy.setPolicyName(policyName.toString());
baseMapper.updateById(loanFinPolicy);
}
return rb.success();
@ -406,4 +467,26 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
return p;
}
public ResultBean<AppPolicyDetailsVo> getProductInfo(String sid) {
ResultBean<AppPolicyDetailsVo> rb = ResultBean.fireFail();
AppPolicyDetailsVo appPolicyDetailsVo = baseMapper.getProductInfo(sid);
if (StringUtils.isBlank(appPolicyDetailsVo.getUseDeptNames())) {
appPolicyDetailsVo.setUseDeptNames(appPolicyDetailsVo.getUseOrgName());
}
if (StringUtils.isNotBlank(appPolicyDetailsVo.getGuaranteeTypeKey())) {
if ("01".equals(appPolicyDetailsVo.getGuaranteeTypeKey())) {
appPolicyDetailsVo.setIsGuarantee("1");
} else {
appPolicyDetailsVo.setIsGuarantee("0");
}
}
if (appPolicyDetailsVo.getIsOtherProduct() == 1) {//有其他融
AppOtherPolicyVo appOtherPolicyVo = loanFinOtherPolicyService.selectByMainSids(sid);
if (appOtherPolicyVo != null) {
appPolicyDetailsVo.setOtherInfo(appOtherPolicyVo);
}
}
return rb.success().setData(appPolicyDetailsVo);
}
}

4
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java

@ -278,11 +278,11 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
int count = scmApplyInboundVehicleService.checkVinNo(vinNoList.get(i), dto.getUseOrgSid(), dto.getSid());
BaseVehicle data = baseVehicleFeign.selectByVinNoAndOrgSid(vinNoList.get(i), dto.getUseOrgSid()).getData();
if (count > 0) {
return new ResultBean().setMsg(vinNoList.get(i) + "车架号已经存在");
return new ResultBean().setMsg("入库车辆信息中" + vinNoList.get(i) + "车架号已经存在");
}
if (data != null) {
if (StringUtils.isNotBlank(data.getVinNo())) {
return new ResultBean().setMsg(vinNoList.get(i) + "车架号已经存在");
return new ResultBean().setMsg("车辆台账信息中" + vinNoList.get(i) + "车架号已经存在");
}
}
}

33
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/financialPolicy/FinancialOtherPolicyVo.java

@ -0,0 +1,33 @@
package com.yxt.anrui.terminal.api.autoservice.financialPolicy;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/7/12
**/
@Data
public class FinancialOtherPolicyVo implements Vo {
private static final long serialVersionUID = 3695189220403491871L;
@ApiModelProperty("产品类别")
@JsonProperty("productTypeKey")
private String productTypeValue;
@ApiModelProperty("最高融资额比例(%)")
private String maxLoanRatio;
@ApiModelProperty("最高融资额")
private String maxLoanAmount;
@ApiModelProperty("期数")
private String period;
@ApiModelProperty("年利率(%)")
private String yearRatio;
}

79
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/financialPolicy/FinancialPolicyDetailsVo.java

@ -0,0 +1,79 @@
package com.yxt.anrui.terminal.api.autoservice.financialPolicy;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/7/12
**/
@Data
public class FinancialPolicyDetailsVo implements Vo {
private static final long serialVersionUID = -439513352576615253L;
@ApiModelProperty("政策名称")
@JsonProperty("policyName")
private String policyName;
@ApiModelProperty("适用部门,黑龙江销售部或分公司")
@JsonProperty("useDept")
private String useDeptNames;
@ApiModelProperty("资方简称")
@JsonProperty("bankName")
private String bankShortName;
@ApiModelProperty("业务类型")
@JsonProperty("busTypeValue")
private String busTypeValue;
@ApiModelProperty("车辆大类")
@JsonProperty("vehCategoryValue")
private String vehCategoryValue;
@JsonProperty("vehTypeValue")
private String vehTypeValue;
@ApiModelProperty("是否打包")
private String isPack;
@ApiModelProperty("是否担保")
private String isGuarantee;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("单车意外险")
@JsonProperty("vehAccidentAmount")
private String vehAccidentAmount;
@ApiModelProperty("最低首付比例")
@JsonProperty("minDownPaymentRatio")
private String downPayRatioLeast;
@ApiModelProperty("首付比例")
@JsonProperty("downPayRatio")
private String downPayRatio;
@ApiModelProperty("保证金比例")
@JsonProperty("bondRatio")
private String bondRatio;
@ApiModelProperty("期数")
@JsonProperty("period")
private String period;
@ApiModelProperty("标准年利率")
@JsonProperty("yearRatio")
private String yearRatio;
@ApiModelProperty("服务费类型")
@JsonProperty("serviceAmountType")
private String serviceAmountTypeValue;
@ApiModelProperty("服务费")
@JsonProperty("serviceAmount")
private String serviceAmount;
@ApiModelProperty("保险保证金")
@JsonProperty("depositPremium")
private String depositPremium;
@ApiModelProperty("落户保证金")
@JsonProperty("depositSettle")
private String depositSettle;
@ApiModelProperty("名义/留购价款")
@JsonProperty("nominalPrice")
private String nominalPrice;
@ApiModelProperty("有效期至")
@JsonProperty("validDateTo")
private String validDateTo;
@ApiModelProperty("其他融")
private FinancialOtherPolicyVo otherInfo;
}

7
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/financialPolicy/FinancialPolicyFeign.java

@ -6,8 +6,10 @@ import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @description: 金融产品
@ -25,4 +27,9 @@ public interface FinancialPolicyFeign {
@ApiOperation("app金融产品资方常规")
@PostMapping("getProductList")
ResultBean<PagerVo<FinancialPolicyVo>> getProductList(@RequestBody PagerQuery<FinancialPolicyQuery> pagerQuery);
@ApiOperation("app金融产品资方常规详情")
@GetMapping("getProductInfo")
ResultBean<FinancialPolicyDetailsVo> getProductInfo(@RequestParam("sid") String sid);
}

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoVo.java

@ -83,4 +83,6 @@ public class BillApplicationIInfoVo implements Vo {
private String modelName; // 车型名称
@ApiModelProperty("销售订单sid")
private String busSalesOrderSid;
@ApiModelProperty("是否显示价值客户")
private Boolean showValueCustomer;
}

6
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/financialPolicy/FinancialPolicyRest.java

@ -1,5 +1,6 @@
package com.yxt.anrui.terminal.biz.autoservice.financialPolicy;
import com.yxt.anrui.terminal.api.autoservice.financialPolicy.FinancialPolicyDetailsVo;
import com.yxt.anrui.terminal.api.autoservice.financialPolicy.FinancialPolicyFeign;
import com.yxt.anrui.terminal.api.autoservice.financialPolicy.FinancialPolicyQuery;
import com.yxt.anrui.terminal.api.autoservice.financialPolicy.FinancialPolicyVo;
@ -26,4 +27,9 @@ public class FinancialPolicyRest implements FinancialPolicyFeign {
public ResultBean<PagerVo<FinancialPolicyVo>> getProductList(PagerQuery<FinancialPolicyQuery> pagerQuery) {
return financialPolicyService.getProductList(pagerQuery);
}
@Override
public ResultBean<FinancialPolicyDetailsVo> getProductInfo(String sid) {
return financialPolicyService.getProductInfo(sid);
}
}

15
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/financialPolicy/FinancialPolicyService.java

@ -4,10 +4,11 @@ import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.AppLoanFinPolicyQuery;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.AppLoanFinPolicyVo;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.AppPolicyDetailsVo;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyFeign;
import com.yxt.anrui.terminal.api.autoservice.financialPolicy.FinancialPolicyDetailsVo;
import com.yxt.anrui.terminal.api.autoservice.financialPolicy.FinancialPolicyQuery;
import com.yxt.anrui.terminal.api.autoservice.financialPolicy.FinancialPolicyVo;
import com.yxt.anrui.terminal.api.autoservice.intermediary.MiddlemanVo;
import com.yxt.anrui.terminal.config.CoverUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -41,4 +42,16 @@ public class FinancialPolicyService {
v.setRecords(voList);
return rb.success().setMsg("当前共查询到" + v.getTotal() + "条记录").setData(v);
}
public ResultBean<FinancialPolicyDetailsVo> getProductInfo(String sid) {
ResultBean<FinancialPolicyDetailsVo> rb = ResultBean.fireFail();
FinancialPolicyDetailsVo financialPolicyDetailsVo = new FinancialPolicyDetailsVo();
ResultBean<AppPolicyDetailsVo> resultBean = loanFinPolicyFeign.getProductInfo(sid);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
AppPolicyDetailsVo appPolicyDetailsVo = resultBean.getData();
BeanUtil.copyProperties(appPolicyDetailsVo, financialPolicyDetailsVo);
return rb.success().setData(financialPolicyDetailsVo);
}
}

Loading…
Cancel
Save