Browse Source

金融方案变更部分

zhanglei
fanzongzhe 2 years ago
parent
commit
936e8a037f
  1. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApply.java
  2. 153
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapply/BaseDistributorApplyService.java
  3. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/buscenterfile/BuscenterFileEnum.java
  4. 74
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/BusSolutionsChange.java
  5. 53
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/BusSolutionsChangeDetailsVo.java
  6. 48
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/BusSolutionsChangeDto.java
  7. 148
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/BusSolutionsChangeFeign.java
  8. 116
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/BusSolutionsChangeFeignFallback.java
  9. 42
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/BusSolutionsChangeQuery.java
  10. 44
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/BusSolutionsChangeVo.java
  11. 167
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/SolutionsDto.java
  12. 156
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/SolutionsVo.java
  13. 23
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/app/AppOrderSolutionChangeListVo.java
  14. 242
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/app/AppSolutionChangeVo.java
  15. 199
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/app/AppSolutionssChangeDto.java
  16. 19
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/app/AppSubmitSolutionDto.java
  17. 41
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/flow/flow/SolutionsChangeCompleteDto.java
  18. 26
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/flow/flow/SolutionsChangeDelegateQuery.java
  19. 56
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/flow/flow/SolutionsChangeTaskQuery.java
  20. 26
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/flow/flow/SolutionsGetNodeQuery.java
  21. 25
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/flow/flow/SolutionsGetNodeVo.java
  22. 19
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/flow/flow/SubmitSolutionsChangeDto.java
  23. 55
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussolutionschange/BusSolutionsChangeMapper.java
  24. 43
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussolutionschange/BusSolutionsChangeMapper.xml
  25. 166
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussolutionschange/BusSolutionsChangeRest.java
  26. 1221
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussolutionschange/BusSolutionsChangeService.java
  27. 3
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  28. 1
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyFeign.java
  29. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/PolicyVo.java
  30. 20
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutionsFeign.java
  31. 20
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutionsFeignFallback.java
  32. 1
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssQuery.java
  33. 1
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssVo.java
  34. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.xml
  35. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyRest.java
  36. 12
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyService.java
  37. 25
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsRest.java
  38. 59
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java
  39. 23
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/solutionsChange/OrderSolutionChangeListVo.java
  40. 241
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/solutionsChange/SolutionChangeVo.java
  41. 89
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/solutionsChange/SolutionsChangeFeign.java
  42. 68
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/solutionsChange/SolutionsChangeFeignFallback.java
  43. 198
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/solutionsChange/SolutionssChangeDto.java
  44. 25
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/solutionsChange/flow/AppSolutionsChangeDelegateQuery.java
  45. 46
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/solutionsChange/flow/AppSolutionsChangeTaskQuery.java
  46. 35
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/solutionsChange/flow/CompleteSolutionsChangeDto.java
  47. 21
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/solutionsChange/flow/SolutionsChangeFlowableQuery.java
  48. 19
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/solutionsChange/flow/SubmitSolutionsChangeDto.java
  49. 1
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionQuery.java
  50. 1
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionVo.java
  51. 7
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/SolutionsFeign.java
  52. 112
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/solutionsChange/SolutionsChangeRest.java
  53. 225
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/solutionsChange/SolutionsChangeService.java
  54. 4
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/solutions/SolutionsRest.java
  55. 7
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/solutions/SolutionsService.java

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basedistributorapply/BaseDistributorApply.java

@ -55,7 +55,9 @@ public class BaseDistributorApply extends BaseEntity {
@ApiModelProperty("申请人")
private String applyName; // 申请人
@ApiModelProperty("销售专员sid")
private String salesmanSid; // 销售专员sid
private String staffSid; // 销售专员sid
@ApiModelProperty("销售专员用户sid")
private String salesUserSid; // 销售专员sid
@ApiModelProperty("销售专员")
private String salesman; // 销售专员
@ApiModelProperty("申请日期")

153
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapply/BaseDistributorApplyService.java

@ -250,8 +250,8 @@ public class BaseDistributorApplyService extends MybatisBaseService<BaseDistribu
if (StringUtils.isNotBlank(baseDistributorApply.getApplyName())) {
vo.setApplyName(baseDistributorApply.getApplyName());
}
if (StringUtils.isNotBlank(baseDistributorApply.getSalesmanSid())) {
vo.setSalesmanSid(baseDistributorApply.getSalesmanSid());
if (StringUtils.isNotBlank(baseDistributorApply.getStaffSid())) {
vo.setSalesmanSid(baseDistributorApply.getStaffSid());
}
if (StringUtils.isNotBlank(baseDistributorApply.getSalesman())) {
vo.setSalesman(baseDistributorApply.getSalesman());
@ -365,6 +365,14 @@ public class BaseDistributorApplyService extends MybatisBaseService<BaseDistribu
sid = dto.getSid();
BaseDistributorApply baseDistributorApply = fetchBySid(sid);
BeanUtil.copyProperties(dto, baseDistributorApply, "id", "sid");
if (StringUtils.isNotBlank(dto.getSalesmanSid())) {
String salesmanSid = dto.getSalesmanSid();
baseDistributorApply.setStaffSid(salesmanSid);
SysUserVo data = sysUserFeign.selectByStaffsid(salesmanSid).getData();
if (null != data) {
baseDistributorApply.setSalesUserSid(data.getSid());
}
}
int i = baseMapper.updateById(baseDistributorApply);
baseDistributorApplyAppendixService.delByLinkSid(sid);
for (String baseDistributorApplyAppendixDto : yyzzList) {//营业执照附件保存
@ -469,6 +477,14 @@ public class BaseDistributorApplyService extends MybatisBaseService<BaseDistribu
distributorApply.setDistributor(baseDistributor.getDisName());
}
distributorApply.setNodeState("待提交");
if (StringUtils.isNotBlank(dto.getSalesmanSid())) {
String salesmanSid = dto.getSalesmanSid();
distributorApply.setStaffSid(salesmanSid);
SysUserVo data = sysUserFeign.selectByStaffsid(salesmanSid).getData();
if (null != data) {
distributorApply.setSalesUserSid(data.getSid());
}
}
baseMapper.insert(distributorApply);
//------------------设置经销商备案状态为备案中-----------------------
baseDistributor.setFilingState(2);
@ -675,14 +691,14 @@ public class BaseDistributorApplyService extends MybatisBaseService<BaseDistribu
Map<String, Object> variables = BeanUtil.beanToMap(dto);
Map<String, Object> appMap = new HashMap<>();
//若有网关,则赋值网关中判断的字段。
boolean isDecide = true;
//去查询是否同意
if (StringUtils.isNotBlank(entity.getAgree())) {
if (entity.getAgree().equals("0")) {
isDecide = false;
}
}
variables.put("isDecide", isDecide);
// boolean isDecide = true;
// //去查询是否同意
// if (StringUtils.isNotBlank(entity.getAgree())) {
// if (entity.getAgree().equals("0")) {
// isDecide = false;
// }
// }
// variables.put("isDecide", isDecide);
variables.put("businessSid", businessSid);
appMap.put("sid", businessSid);
variables.put("app", appMap);
@ -696,7 +712,11 @@ public class BaseDistributorApplyService extends MybatisBaseService<BaseDistribu
bv.setUserSid(dto.getUserSid());
bv.setFormVariables(variables);
String nextNodeUserSids_ = sysOrganization.getManagerSid();
bv.setNextNodeUserSids(nextNodeUserSids_);
if (StringUtils.isNotBlank(baseDistributorApply1.getManageSid())) {
bv.setNextNodeUserSids(baseDistributorApply1.getManageSid());
} else {
bv.setNextNodeUserSids(nextNodeUserSids_);
}
//流程定义id
bv.setModelId(ProcDefEnum.DEALERFILINGAPPLY.getProDefId());
if (r == 1) {
@ -765,14 +785,14 @@ public class BaseDistributorApplyService extends MybatisBaseService<BaseDistribu
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
//若有网关,则赋值网关中判断的字段。
boolean isDecide = true;
//去查询是否同意
if (StringUtils.isNotBlank(baseDistributorApply.getAgree())) {
if (baseDistributorApply.getAgree().equals("0")) {
isDecide = false;
}
}
variables.put("isDecide", isDecide);
// boolean isDecide = true;
// //去查询是否同意
// if (StringUtils.isNotBlank(baseDistributorApply.getAgree())) {
// if (baseDistributorApply.getAgree().equals("0")) {
// isDecide = false;
// }
// }
// variables.put("isDecide", isDecide);
variables.put("businessSid", businessSid);
appMap.put("sid", businessSid);
variables.put("app", appMap);
@ -1069,14 +1089,14 @@ public class BaseDistributorApplyService extends MybatisBaseService<BaseDistribu
appMap.put("sid", businessSid);
variables.put("app", appMap);
//若有网关,则赋值网关中判断的字段。
boolean isDecide = true;
//去查询是否同意
if (StringUtils.isNotBlank(baseDistributorApply.getAgree())) {
if (baseDistributorApply.getAgree().equals("0")) {
isDecide = false;
}
}
variables.put("isDecide", isDecide);
// boolean isDecide = true;
// //去查询是否同意
// if (StringUtils.isNotBlank(baseDistributorApply.getAgree())) {
// if (baseDistributorApply.getAgree().equals("0")) {
// isDecide = false;
// }
// }
// variables.put("isDecide", isDecide);
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
@ -1191,14 +1211,14 @@ public class BaseDistributorApplyService extends MybatisBaseService<BaseDistribu
Map<String, Object> variables = new HashMap<>();
//根据业务sid查询排产信息
BaseDistributorApply baseDistributorApply = fetchBySid(query.getBusinessSid());
boolean isDecide = true;
//去查询是否同意
if (StringUtils.isNotBlank(baseDistributorApply.getAgree())) {
if (baseDistributorApply.getAgree().equals("0")) {
isDecide = false;
}
}
variables.put("isDecide", isDecide);
// boolean isDecide = true;
// //去查询是否同意
// if (StringUtils.isNotBlank(baseDistributorApply.getAgree())) {
// if (baseDistributorApply.getAgree().equals("0")) {
// isDecide = false;
// }
// }
// variables.put("isDecide", isDecide);
bv.setFormVariables(variables);
bv.setModelId(baseDistributorApply.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
@ -1215,14 +1235,14 @@ public class BaseDistributorApplyService extends MybatisBaseService<BaseDistribu
Map<String, Object> variables = new HashMap<>();
//根据业务sid查询排产信息
BaseDistributorApply baseDistributorApply = fetchBySid(query.getBusinessSid());
boolean isDecide = true;
//去查询是否同意
if (StringUtils.isNotBlank(baseDistributorApply.getAgree())) {
if (baseDistributorApply.getAgree().equals("0")) {
isDecide = false;
}
}
variables.put("isDecide", isDecide);
// boolean isDecide = true;
// //去查询是否同意
// if (StringUtils.isNotBlank(baseDistributorApply.getAgree())) {
// if (baseDistributorApply.getAgree().equals("0")) {
// isDecide = false;
// }
// }
// variables.put("isDecide", isDecide);
bv.setFormVariables(variables);
bv.setModelId(baseDistributorApply.getProcDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
@ -1289,8 +1309,8 @@ public class BaseDistributorApplyService extends MybatisBaseService<BaseDistribu
if (StringUtils.isNotBlank(entity.getSalesman())) {
appSalesDeptVo.setSalesman(entity.getSalesman());
}
if (StringUtils.isNotBlank(entity.getSalesmanSid())) {
appSalesDeptVo.setSalesmanSid(entity.getSalesmanSid());
if (StringUtils.isNotBlank(entity.getSalesUserSid())) {
appSalesDeptVo.setSalesmanSid(entity.getSalesUserSid());
}
}
SysUserVo sysUserVo = sysUserFeign.fetchBySid(userSid).getData();
@ -1407,7 +1427,16 @@ public class BaseDistributorApplyService extends MybatisBaseService<BaseDistribu
if (StringUtils.isNotBlank(salesDeptVo.getMangeSid())) {
baseDistributorApply.setManageSid(salesDeptVo.getMangeSid());
}
if (StringUtils.isNotBlank(salesDeptVo.getSalesmanSid())) {
String salesmanUserSid = salesDeptVo.getSalesmanSid();
baseDistributorApply.setSalesUserSid(salesmanUserSid);
SysUserVo data = sysUserFeign.fetchBySid(salesmanUserSid).getData();
if (null != data) {
baseDistributorApply.setStaffSid(data.getStaffSid());
}
}
}
int i = baseMapper.updateById(baseDistributorApply);
baseDistributorApplyAppendixService.delByLinkSid(sid);
for (String baseDistributorApplyAppendixDto : yyzzList) {//营业执照附件保存
BaseDistributorApplyAppendix entity = new BaseDistributorApplyAppendix();
@ -1501,6 +1530,14 @@ public class BaseDistributorApplyService extends MybatisBaseService<BaseDistribu
if (StringUtils.isNotBlank(salesDeptVo.getMangeSid())) {
baseDistributorApply.setManageSid(salesDeptVo.getMangeSid());
}
if (StringUtils.isNotBlank(salesDeptVo.getSalesmanSid())) {
String salesmanUserSid = salesDeptVo.getSalesmanSid();
baseDistributorApply.setSalesUserSid(salesmanUserSid);
SysUserVo data = sysUserFeign.fetchBySid(salesmanUserSid).getData();
if (null != data) {
baseDistributorApply.setStaffSid(data.getStaffSid());
}
}
}
baseDistributorApply.setOrgSidPath(dto.getOrgPath());
baseDistributorApply.setDistributorSid(dto.getJxsSid());
@ -1765,8 +1802,8 @@ public class BaseDistributorApplyService extends MybatisBaseService<BaseDistribu
if (StringUtils.isNotBlank(entity.getSalesman())) {
appSalesDeptVo.setSalesman(entity.getSalesman());
}
if (StringUtils.isNotBlank(entity.getSalesmanSid())) {
appSalesDeptVo.setSalesmanSid(entity.getSalesmanSid());
if (StringUtils.isNotBlank(entity.getSalesUserSid())) {
appSalesDeptVo.setSalesmanSid(entity.getSalesUserSid());
}
}
vo.setUserSid(userSid);
@ -1944,14 +1981,14 @@ public class BaseDistributorApplyService extends MybatisBaseService<BaseDistribu
Map<String, Object> variables = BeanUtil.beanToMap(dto);
Map<String, Object> appMap = new HashMap<>();
//若有网关,则赋值网关中判断的字段。
boolean isDecide = true;
//去查询是否同意
if (StringUtils.isNotBlank(entity.getAgree())) {
if (entity.getAgree().equals("0")) {
isDecide = false;
}
}
variables.put("isDecide", isDecide);
// boolean isDecide = true;
// //去查询是否同意
// if (StringUtils.isNotBlank(entity.getAgree())) {
// if (entity.getAgree().equals("0")) {
// isDecide = false;
// }
// }
// variables.put("isDecide", isDecide);
variables.put("businessSid", businessSid);
appMap.put("sid", businessSid);
variables.put("app", appMap);
@ -1965,7 +2002,11 @@ public class BaseDistributorApplyService extends MybatisBaseService<BaseDistribu
bv.setUserSid(dto.getUserSid());
bv.setFormVariables(variables);
String nextNodeUserSids_ = sysOrganization.getManagerSid();
bv.setNextNodeUserSids(nextNodeUserSids_);
if (StringUtils.isNotBlank(baseDistributorApply1.getManageSid())) {
bv.setNextNodeUserSids(baseDistributorApply1.getManageSid());
} else {
bv.setNextNodeUserSids(nextNodeUserSids_);
}
//流程定义id
bv.setModelId(ProcDefEnum.DEALERFILINGAPPLY.getProDefId());
if (r == 1) {

4
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/buscenterfile/BuscenterFileEnum.java

@ -28,8 +28,8 @@ public enum BuscenterFileEnum {
ENTRUST_IDCARD_IMAGES("019", "委托提车授权书、委托人身份证(正反面)"),
TRAILER_ENTRUST_IDCARD_IMAGES("020", "挂车委托提车授权书、委托人身份证(正反面)"),
TRAILER_RECEIVE_CAR_IMAGES("021", "挂车接收车辆确认书照片"),
VEHICLE_SECOND_DATA_HANDOVER("022", "对外二次交付交车资料确认单")
;
VEHICLE_SECOND_DATA_HANDOVER("022", "对外二次交付交车资料确认单"),
JRFABG("023", "金融方案变更");
/**

74
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/BusSolutionsChange.java

@ -0,0 +1,74 @@
package com.yxt.anrui.buscenter.api.bussolutionschange;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.BaseEntity;
import com.yxt.common.core.domain.Entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author Administrator
* @description
* @date 2023/10/16 9:29
*/
@Data
@ApiModel(value = "金融方案变更申请", description = "金融方案变更申请")
@TableName("bus_solutions_change")
public class BusSolutionsChange extends BaseEntity {
@ApiModelProperty("销售订单sid")
private String salesOrderSid;
@ApiModelProperty("变更前金融方案sid")
private String solutionsSid;
@ApiModelProperty("变更后金融方案sid")
private String solutionsAfterSid;
@ApiModelProperty("关联金融方案业务sid")
private String solutionsBusSId;
@ApiModelProperty("申请日期")
private Date applyDate;
@ApiModelProperty("申请人")
private String applyName;
@ApiModelProperty("申请部门sid")
private String deptSid;
@ApiModelProperty("申请部门")
private String dept;
@ApiModelProperty("客户联系方式")
private String mobile;
@ApiModelProperty("客户地址")
private String address;
@ApiModelProperty("挂靠公司名称")
private String affiliatedCompany;
@ApiModelProperty("节点状态")
private String nodeState;
@ApiModelProperty("流程定义id")
private String procDefId;
@ApiModelProperty("环节定义id")
private String nodeSid;
@ApiModelProperty("流程实例id")
private String procInstId;
@ApiModelProperty(value = "客户名称")
private String customerName;
@ApiModelProperty(value = "任务编号id")
private String taskId;
@ApiModelProperty("分公司sid")
private String useOrgSid;
@ApiModelProperty("分公司名称")
private String useOrgName;
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("车型")
private String model;
@ApiModelProperty("产品政策")
private String policyName;
@ApiModelProperty("融资项目总额")
private BigDecimal loanTotal;
@ApiModelProperty("组织全路径")
private String orgSidPath;
@ApiModelProperty(value = "合同编号")
private String contractNo;
}

53
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/BusSolutionsChangeDetailsVo.java

@ -0,0 +1,53 @@
package com.yxt.anrui.buscenter.api.bussolutionschange;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/10/16 10:40
*/
@Data
public class BusSolutionsChangeDetailsVo implements Vo {
private String sid;
private String userSid;
private String orgPath;
private String salesOrderSid;
@ApiModelProperty("变更前金融方案sid")
private String solutionsSid;
@ApiModelProperty("申请日期")
private String applyDate;
@ApiModelProperty("申请人")
private String applyName;
@ApiModelProperty("申请部门sid")
private String deptSid;
@ApiModelProperty("申请部门")
private String dept;
@ApiModelProperty("挂靠公司名称")
private String affiliatedCompany;
private String remarks;
@ApiModelProperty("客户联系方式")
private String mobile;
@ApiModelProperty("客户地址")
private String address;
@ApiModelProperty(value = "合同编号")
private String contractNo;
@ApiModelProperty(value = "客户名称")
private String customerName;
private List<String> files = new ArrayList<>();
@ApiModelProperty("消贷金融方案")
private SolutionsVo solutions = new SolutionsVo();
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("实例id")
private String instanceId;
}

48
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/BusSolutionsChangeDto.java

@ -0,0 +1,48 @@
package com.yxt.anrui.buscenter.api.bussolutionschange;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/10/16 14:30
*/
@Data
public class BusSolutionsChangeDto implements Dto {
private String sid;
private String userSid;
private String orgPath;
private String salesOrderSid;
@ApiModelProperty("变更前金融方案sid")
private String solutionsSid;
@ApiModelProperty("申请日期")
private Date applyDate;
@ApiModelProperty("申请人")
private String applyName;
@ApiModelProperty("申请部门sid")
private String deptSid;
@ApiModelProperty("申请部门")
private String dept;
@ApiModelProperty("挂靠公司名称")
private String affiliatedCompany;
private String remarks;
@ApiModelProperty("客户联系方式")
private String mobile;
@ApiModelProperty("客户地址")
private String address;
@ApiModelProperty(value = "合同编号")
private String contractNo;
@ApiModelProperty(value = "客户名称")
private String customerName;
private List<String> files = new ArrayList<>();
@ApiModelProperty("消贷金融方案")
private SolutionsDto solutions = new SolutionsDto();
}

148
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/BusSolutionsChangeFeign.java

@ -0,0 +1,148 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.buscenter.api.bussolutionschange;
import com.yxt.anrui.buscenter.api.bussolutionschange.app.AppSolutionChangeVo;
import com.yxt.anrui.buscenter.api.bussolutionschange.app.AppSolutionssChangeDto;
import com.yxt.anrui.buscenter.api.bussolutionschange.app.AppSubmitSolutionDto;
import com.yxt.anrui.buscenter.api.bussolutionschange.flow.flow.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "金融方案变更申请")
@FeignClient(
contextId = "anrui-buscenter-BusSolutionsChange",
name = "anrui-buscenter",
path = "v1/bussolutionschange",
fallback = BusSolutionsChangeFeignFallback.class)
public interface BusSolutionsChangeFeign {
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<BusSolutionsChangeVo>> listPage(@RequestBody PagerQuery<BusSolutionsChangeQuery> pq);
@ApiOperation("变更初始化")
@GetMapping("/changeInit")
@ResponseBody
public ResultBean<BusSolutionsChangeDetailsVo> changeInit(@RequestParam("salesOrderSid") String salesOrderSid, @RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath);
@ApiOperation("详情、编辑回显")
@GetMapping("/details")
@ResponseBody
public ResultBean<BusSolutionsChangeDetailsVo> details(@RequestParam("sid") String sid);
@ApiOperation("保存修改")
@PostMapping("/saveSolutions")
@ResponseBody
public ResultBean<String> saveSolutions(@RequestBody BusSolutionsChangeDto dto);
@ApiOperation("批量删除")
@DeleteMapping("/deleteBySids")
@ResponseBody
public ResultBean deleteBySids(@RequestBody String[] sids);
//-----------------------流程----------------------------
@ApiOperation("提交")
@PostMapping("/submit")
public ResultBean submitRecordApplication(@RequestBody @Valid SubmitSolutionsChangeDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody SolutionsChangeCompleteDto dto);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody SolutionsChangeTaskQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody SolutionsChangeTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@RequestBody SolutionsChangeTaskQuery query);
@ApiOperation(value = "流程历史流转记录")
@GetMapping(value = "/task/flowRecord/{procInsId}/{deployId}")
public ResultBean flowRecord(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<SolutionsGetNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap SolutionsGetNodeQuery query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<SolutionsGetNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap SolutionsGetNodeQuery query);
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
public ResultBean delegate(@RequestBody SolutionsChangeDelegateQuery query);
//---------------------app--------------------------------------------------------------
@ApiOperation("变更初始化")
@GetMapping("/solutionsInit")
@ResponseBody
public ResultBean<AppSolutionChangeVo> solutionsInit(@RequestParam("orderSid") String orderSid, @RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath);
@ApiOperation("保存修改")
@PostMapping("/saveAppSolutions")
@ResponseBody
public ResultBean<String> saveAppSolutions(@RequestBody AppSolutionssChangeDto dto);
@ApiOperation("详情、编辑回显")
@GetMapping("/appDetails/{sid}")
@ResponseBody
public ResultBean<AppSolutionChangeVo> appDetails(@PathVariable("sid") String sid);
@ApiOperation("移动端-删除")
@DeleteMapping("/deleteSolution/{sid}")
@ResponseBody
ResultBean deleteSolution(@PathVariable("sid") String sid);
@ApiOperation("移动端-欠款客户备案提交")
@PostMapping("/submitAppSolution")
public ResultBean submitAppSolution(@RequestBody @Valid AppSubmitSolutionDto dto);
}

116
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/BusSolutionsChangeFeignFallback.java

@ -0,0 +1,116 @@
package com.yxt.anrui.buscenter.api.bussolutionschange;
import com.yxt.anrui.buscenter.api.bussolutionschange.app.AppSolutionChangeVo;
import com.yxt.anrui.buscenter.api.bussolutionschange.app.AppSolutionssChangeDto;
import com.yxt.anrui.buscenter.api.bussolutionschange.app.AppSubmitSolutionDto;
import com.yxt.anrui.buscenter.api.bussolutionschange.flow.flow.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/10/16 9:39
*/
@Component
public class BusSolutionsChangeFeignFallback implements BusSolutionsChangeFeign {
@Override
public ResultBean<PagerVo<BusSolutionsChangeVo>> listPage(PagerQuery<BusSolutionsChangeQuery> pq) {
return null;
}
@Override
public ResultBean<BusSolutionsChangeDetailsVo> changeInit(String salesOrder, String userSid, String orgPath) {
return null;
}
@Override
public ResultBean<BusSolutionsChangeDetailsVo> details(String sid) {
return null;
}
@Override
public ResultBean<String> saveSolutions(BusSolutionsChangeDto dto) {
return null;
}
@Override
public ResultBean deleteBySids(String[] sids) {
return null;
}
@Override
public ResultBean submitRecordApplication(SubmitSolutionsChangeDto dto) {
return null;
}
@Override
public ResultBean complete(SolutionsChangeCompleteDto dto) {
return null;
}
@Override
public ResultBean revokeProcess(SolutionsChangeTaskQuery query) {
return null;
}
@Override
public ResultBean taskReject(SolutionsChangeTaskQuery query) {
return null;
}
@Override
public ResultBean breakProcess(SolutionsChangeTaskQuery query) {
return null;
}
@Override
public ResultBean flowRecord(String procInsId) {
return null;
}
@Override
public ResultBean<List<SolutionsGetNodeVo>> getNextNodesForSubmit(SolutionsGetNodeQuery query) {
return null;
}
@Override
public ResultBean<List<SolutionsGetNodeVo>> getPreviousNodesForReject(SolutionsGetNodeQuery query) {
return null;
}
@Override
public ResultBean delegate(SolutionsChangeDelegateQuery query) {
return null;
}
@Override
public ResultBean<AppSolutionChangeVo> solutionsInit(String orderSid, String userSid, String orgPath) {
return null;
}
@Override
public ResultBean<String> saveAppSolutions(AppSolutionssChangeDto dto) {
return null;
}
@Override
public ResultBean<AppSolutionChangeVo> appDetails(String sid) {
return null;
}
@Override
public ResultBean deleteSolution(String sid) {
return null;
}
@Override
public ResultBean submitAppSolution(AppSubmitSolutionDto dto) {
return null;
}
}

42
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/BusSolutionsChangeQuery.java

@ -0,0 +1,42 @@
package com.yxt.anrui.buscenter.api.bussolutionschange;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/10/16 9:50
*/
@Data
public class BusSolutionsChangeQuery implements Query {
@ApiModelProperty("分公司")
private String company; // 使用组织名称
@ApiModelProperty("申请人")
private String applyName; // 申请人
@ApiModelProperty("申请部门")
private String dept;
@ApiModelProperty("申请开始日期")
private String applyStartDate; // 申请日期
@ApiModelProperty("申请结束日期")
private String applyEndDate; // 申请日期
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("车型")
private String model;
@ApiModelProperty("产品政策")
private String policyName;
@ApiModelProperty(value = "合同编号")
private String contractNo;
@ApiModelProperty("组织全路径")
private String orgPath;
@ApiModelProperty("菜单sid")
private String menuSid;
@ApiModelProperty("菜单url")
private String menuUrl;
@ApiModelProperty("用户sid")
private String userSid;
}

44
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/BusSolutionsChangeVo.java

@ -0,0 +1,44 @@
package com.yxt.anrui.buscenter.api.bussolutionschange;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author Administrator
* @description
* @date 2023/10/16 9:50
*/
@Data
public class BusSolutionsChangeVo implements Vo {
private String sid;
@ApiModelProperty("申请人")
private String applyName; // 申请人
@ApiModelProperty("申请日期")
private String applyDate; // 申请日期
@ApiModelProperty("申请部门")
private String dept;
@ApiModelProperty("车型")
private String model;
@ApiModelProperty("产品政策")
private String policyName;
@ApiModelProperty("挂靠公司名称")
private String affiliatedCompany;
@ApiModelProperty(value = "客户名称")
private String customerName;
@ApiModelProperty(value = "合同编号")
private String contractNo;
@ApiModelProperty("融资项目总额")
private BigDecimal loanTotal;
@ApiModelProperty("分公司")
private String company; // 使用组织名称
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ApiModelProperty("流程实例的sid")
private String procInstId; // 流程实例的sid
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
}

167
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/SolutionsDto.java

@ -0,0 +1,167 @@
package com.yxt.anrui.buscenter.api.bussolutionschange;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @author Administrator
* @description
* @date 2023/10/16 14:25
*/
@Data
public class SolutionsDto implements Dto {
@JsonProperty("isShowMore")
private boolean isShowMore;
/**************************金融方案主表****************************/
@ApiModelProperty("关联sid")
private String busSid;
@ApiModelProperty("是否打包:1是0否")
private String isPack;
@ApiModelProperty("产品政策名称")
private String policyName;
@ApiModelProperty("产品政策sid")
private String policySid;
@ApiModelProperty("主车发票价")
private String mainVehicleAmount;
@ApiModelProperty("融资票据")
private String accessoriesAmount;
@ApiModelProperty("是否有融资票据")
private boolean accessoriesAmountCb;
@ApiModelProperty("挂车金额")
private String trailerAmount;
@ApiModelProperty("是否有挂车")
private boolean trailerAmountCb;
@ApiModelProperty("保险金额")
private String premium;
@ApiModelProperty("是否有保险")
private boolean premiumCb;
@ApiModelProperty("购置税")
private String purchaseTax;
@ApiModelProperty("是否有购置税")
private boolean purchaseTaxCb;
@ApiModelProperty("融资项目总额")
private String loanTotal;
@ApiModelProperty("首付款比例")
private String downPayRatio;
@ApiModelProperty("首付金额")
@NotBlank(message = "首付金额不能为空")
private String downPayAmount;
@ApiModelProperty("贷款金额")
private String loanAmount;
@ApiModelProperty("贷款期数")
@NotBlank(message = "产品期数不能为空")
private String loanPeriod;
@ApiModelProperty("贷款保证金比例")
private String bondRatio;
@ApiModelProperty("贷款保证金金额")
@NotBlank(message = "贷款保证金不能为空")
private String bondAmount;
@ApiModelProperty("厂家贴息")
@NotBlank(message = "厂家贴息不能为空")
private String factoryDiscount;
@ApiModelProperty("厂家贴息用途")
private String factoryDiscountUse;
@ApiModelProperty("厂家贴息用途")
private String factoryDiscountUseKey;
@ApiModelProperty("年利率")
private String policyYearRatio;
@ApiModelProperty("月还金额")
@NotBlank(message = "月还金额不能为空")
private String loanPayMoney;
@ApiModelProperty("利息总额")
private String loanInterest;
@ApiModelProperty("是否勾选其它融")
private boolean otherPolicyState;
@ApiModelProperty("贴息抵车款")
private String discountCar;
/*************************其他融和方案汇总*********************************/
@ApiModelProperty("其它融名称")
private String otherPolicyName;
@ApiModelProperty("其它融贷款金额")
private String otherPolicyAmount;
@ApiModelProperty("其它融期数")
private String otherPolicyPeriod;
@ApiModelProperty("其它融月还")
private String otherPolicyMonthlyRepay;
@ApiModelProperty("其它融利息总额")
private String otherPolicyInterest;
@ApiModelProperty("其它融年利率")
private String otherPolicyYearRatio;
private String otherPolicySid;
@ApiModelProperty("其他融贴息")
private String otherDiscount;
@ApiModelProperty("'融资首付")
private String loanDownPay;
@ApiModelProperty("实际首付比例")
private String downPayAmountsRatio;
@ApiModelProperty("总贷款金额")
private String loanAmountTotal;
@ApiModelProperty("期数")
private String period;
@ApiModelProperty("月还金额")
private String monthlyRepay;
@ApiModelProperty("利息总额")
private String interest;
@ApiModelProperty("预计首期还款日")
private String returnTime;
/*********************************金融方案费用明细*****************************/
@ApiModelProperty("融资首付")
private String downPayAmounts;
@ApiModelProperty("贷款保证金")
private String bondAmounts;
@ApiModelProperty("保险保证金")
private String depositPremium;
@ApiModelProperty("落户保证金")
private String depositSettle;
@ApiModelProperty("服务费")
@NotBlank(message = "服务费不能为空")
private String serviceAmount;
@ApiModelProperty("代收意外险")
private String proxyAccidentPremium;
@ApiModelProperty("上牌费")
private String registerAmount;
@ApiModelProperty("运管费")
private String operationAmount;
@ApiModelProperty("补车价")
private String vehOtherPrice;
@ApiModelProperty("其它费用")
private String otherAmount;
@ApiModelProperty("其它费用说明")
private String otherAmountRemark;
@ApiModelProperty("办理方式选择")
private String dealWay;
@ApiModelProperty("办理方式选择key")
private String dealWayKey;
@ApiModelProperty("代收合计")
private String proxyTotal;
@ApiModelProperty("代收首年保险费")
private String proxyPremium;
@ApiModelProperty("代收购置费")
private String proxyPurchasetax;
@ApiModelProperty("抵顶首年保险费")
private String offsetPremium;
@ApiModelProperty("抵顶购置税")
private String offsetPurchasetax;
@ApiModelProperty("抵顶费用合计")
private String offsetTotal;
@ApiModelProperty("应收合计")
private String receivableTotal;
@ApiModelProperty("实收合计")
private String realTotal;
@ApiModelProperty("车辆总价")
private String vehTotalPrice;
@ApiModelProperty("名义留购价")
private String nominalPrice;
}

156
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/SolutionsVo.java

@ -0,0 +1,156 @@
package com.yxt.anrui.buscenter.api.bussolutionschange;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/10/16 10:40
*/
@Data
public class SolutionsVo implements Vo {
@ApiModelProperty("关联表sid")
private String salesOrderSid;
//金融方案主表
private String isPack;
@ApiModelProperty("产品政策名称")
private String policyName;
@ApiModelProperty("产品政策sid")
private String policySid;
@ApiModelProperty("融资项目总额")
private String loanTotal;
@ApiModelProperty("主车发票价")
private String mainVehicleAmount;
@ApiModelProperty("融资票据")
private String accessoriesAmount;
@ApiModelProperty("挂车金额")
private String trailerAmount;
@ApiModelProperty("购置税")
private String purchaseTax;
@ApiModelProperty("保险金额")
private String premium;
@ApiModelProperty("首付款比例")
private String downPayRatio;
@ApiModelProperty("首付金额")
private String downPayAmount;
@ApiModelProperty("贷款金额")
private String loanAmount;
@ApiModelProperty("贷款期数")
private String loanPeriod;
@ApiModelProperty("保证金比例")
private String bondRatio;
@ApiModelProperty("保证金金额")
private String bondAmount;
@ApiModelProperty("厂家贴息")
private String factoryDiscount;
@ApiModelProperty("厂家贴息用途")
private String factoryDiscountUse;
@ApiModelProperty("年利率")
private String policyYearRatio;
@ApiModelProperty("贷款月还")
private String loanPayMoney;
@ApiModelProperty("贷款利息")
private String loanInterest;
@ApiModelProperty("是否有融资票据")
private boolean accessoriesAmountCb;
@ApiModelProperty("是否有挂车")
private boolean trailerAmountCb;
@ApiModelProperty("是否有购置税")
private boolean purchaseTaxCb;
@ApiModelProperty("是否有保险")
private boolean premiumCb;
@ApiModelProperty("是否勾选其它融")
private boolean otherPolicyState;
//===========================其他融
@ApiModelProperty("其它融名称")
private String otherPolicyName;
private String otherPolicySid;
@ApiModelProperty("其它融金额")
private String otherPolicyAmount;
@ApiModelProperty("其它融期数")
private String otherPolicyPeriod;
@ApiModelProperty("其它融月还")
private String otherPolicyMonthlyRepay;
@ApiModelProperty("其它融利息总额")
private String otherPolicyInterest;
@ApiModelProperty("其它融年利率")
private String otherPolicyYearRatio;
@ApiModelProperty("其他融贴息")
private String otherDiscount;
@ApiModelProperty("'融资首付")
private String loanDownPay;
@ApiModelProperty("总贷款金额")
private String loanAmountTotal;
@ApiModelProperty("期数")
private String period;
@ApiModelProperty("月还金额")
private String monthlyRepay;
@ApiModelProperty("利息总额")
private String interest;
@ApiModelProperty("预计首期还款日")
private String returnTime;
//=====================金融方案费用明细
@ApiModelProperty("融资首付")
private String downPayAmounts;
@ApiModelProperty("贷款保证金")
private String bondAmounts;
@ApiModelProperty("保险保证金")
private String depositPremium;
@ApiModelProperty("落户保证金")
private String depositSettle;
@ApiModelProperty("服务费")
private String serviceAmount;
@ApiModelProperty("代收意外险")
private String proxyAccidentPremium;
@ApiModelProperty("上牌费")
private String registerAmount;
@ApiModelProperty("运管费")
private String operationAmount;
@ApiModelProperty("补车价")
private String vehOtherPrice;
@ApiModelProperty("其它费用")
private String otherAmount;
@ApiModelProperty("其它费用说明")
private String otherAmountRemark;
@ApiModelProperty("办理方式选择")
private String dealWay;
@ApiModelProperty("办理方式选择key")
private String dealWayKey;
@ApiModelProperty("代收合计")
private String proxyTotal;
@ApiModelProperty("代收首年保险费")
private String proxyPremium;
@ApiModelProperty("代收购置费")
private String proxyPurchasetax;
@ApiModelProperty("抵顶首年保险费")
private String offsetPremium;
@ApiModelProperty("抵顶购置税")
private String offsetPurchasetax;
@ApiModelProperty("抵顶费用合计")
private String offsetTotal;
@ApiModelProperty("应收合计")
private String receivableTotal;
@ApiModelProperty("实收合计")
private String realTotal;
@ApiModelProperty("车辆总价")
private String vehTotalPrice;
@ApiModelProperty("名义留购价")
private String nominalPrice;
@ApiModelProperty("实际首付比例")
private String downPayAmountsRatio;
@ApiModelProperty("服务费类型")
private String serviceChargeTypeKey;
@ApiModelProperty("服务费")
private String serviceChargeTypeValue;
}

23
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/app/AppOrderSolutionChangeListVo.java

@ -0,0 +1,23 @@
package com.yxt.anrui.buscenter.api.bussolutionschange.app;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/10/20 14:06
*/
@Data
public class AppOrderSolutionChangeListVo {
@ApiModelProperty(value = "内容")
private String value;
@ApiModelProperty(value = "单元格大小")
private Integer spanSize;
@ApiModelProperty("类型:0 最普通的 1 标题的 2是 加上划线的")
private Integer type;
@ApiModelProperty("是否加粗,true是,false否")
private boolean bold;
}

242
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/app/AppSolutionChangeVo.java

@ -0,0 +1,242 @@
package com.yxt.anrui.buscenter.api.bussolutionschange.app;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/10/20 14:05
*/
@Data
public class AppSolutionChangeVo {
private String publishInfo;
private String taskId;
private String procInsId;
private String sid;
private String userSid;
private String orgPath;
private String orderSid;
// @ApiModelProperty("变更前金融方案sid")
// private String solutionsSid;
@ApiModelProperty("申请日期")
private String applyDate;
@ApiModelProperty("申请人")
private String applyName;
@ApiModelProperty("申请部门sid")
private String deptSid;
@ApiModelProperty("申请部门")
private String dept;
@ApiModelProperty("挂靠公司名称")
private String affiliatedCompany;
private String remarks;
@ApiModelProperty("客户联系方式")
private String mobile;
@ApiModelProperty("客户地址")
private String address;
@ApiModelProperty(value = "合同编号")
private String contractNo;
@ApiModelProperty(value = "客户名称")
private String customerName;
private List<String> files = new ArrayList<>();
private boolean appendPolicySid;
/* @ApiModelProperty("是否是三方金融")
private boolean finPlanState;*/
@JsonProperty("isShowMore")
private boolean isShowMore;
@ApiModelProperty("销售订单sid")
@JsonProperty("saleOrderSid")
private String busSid;
// private String saleOrderSid;
/* @ApiModelProperty("类型:1自营非担保,2外部金融")
private String type;
private String typeKey;*/
@ApiModelProperty("是否打包,0不打包,1打包")
private String isPack;
@ApiModelProperty("产品政策名称")
private String policyName;
@ApiModelProperty("产品政策sid")
private String policySid;
@ApiModelProperty("主车发票价")
@JsonSerialize(using = ToStringSerializer.class)
private String mainVehicleAmount;
@ApiModelProperty("融资票据")
@JsonSerialize(using = ToStringSerializer.class)
private String accessoriesAmount;
@ApiModelProperty("挂车金额")
@JsonSerialize(using = ToStringSerializer.class)
private String trailerAmount;
@ApiModelProperty("购置税")
@JsonSerialize(using = ToStringSerializer.class)
private String purchaseTax;
@ApiModelProperty("保险金额")
@JsonSerialize(using = ToStringSerializer.class)
private String premium;
@ApiModelProperty("融资项目总额")
@JsonSerialize(using = ToStringSerializer.class)
private String loanTotal;
@ApiModelProperty("是否有融资票据")
private boolean accessoriesAmountCb;
@ApiModelProperty("是否有挂车")
private boolean trailerAmountCb;
@ApiModelProperty("是否有购置税")
private boolean purchaseTaxCb;
@ApiModelProperty("是否有保险")
private boolean premiumCb;
@ApiModelProperty("是否勾选其它融")
private boolean otherPolicyState;
@ApiModelProperty("首付款比例")
private String downPayRatio;
@ApiModelProperty("首付金额")
@JsonSerialize(using = ToStringSerializer.class)
private String downPayAmount;
@ApiModelProperty("贷款金额")
@JsonSerialize(using = ToStringSerializer.class)
private String loanAmount;
@ApiModelProperty("贷款期数")
private String loanPeriod;
@ApiModelProperty("贷款保证金比例")
private String bondRatio;
@ApiModelProperty("贷款保证金金额")
@JsonSerialize(using = ToStringSerializer.class)
private String bondAmount;
@ApiModelProperty("厂家贴息")
@JsonSerialize(using = ToStringSerializer.class)
private String factoryDiscount;
private String factoryDiscountUse;
@ApiModelProperty("年利率")
private String policyYearRatio;
@ApiModelProperty("月还金额")
@JsonSerialize(using = ToStringSerializer.class)
private String loanPayMoney;
@ApiModelProperty("利息总额")
@JsonSerialize(using = ToStringSerializer.class)
private String loanInterest;
@ApiModelProperty("贴息抵车款")
@JsonProperty("factoryDiscountUseMoney")
private String discountCar;
//其他融
@ApiModelProperty("其它融名称")
private String otherPolicyName;
@ApiModelProperty("其他融sid")
private String otherPolicySid;
@ApiModelProperty("其它融贷款金额")
@JsonSerialize(using = ToStringSerializer.class)
private String otherPolicyAmount;
@ApiModelProperty("其它融期数")
private String otherPolicyPeriod;
@ApiModelProperty("其它融月还")
@JsonSerialize(using = ToStringSerializer.class)
private String otherPolicyMonthlyRepay;
@ApiModelProperty("其它融利息总额")
@JsonSerialize(using = ToStringSerializer.class)
private String otherPolicyInterest;
@ApiModelProperty("其它融年利率")
private String otherPolicyYearRatio;
private boolean otherPolicyIsMain;
@ApiModelProperty("其他融贴息")
private String otherDiscount;
@ApiModelProperty("'融资首付")
@JsonSerialize(using = ToStringSerializer.class)
private String loanDownPay;
@ApiModelProperty("实际首付比例")
private String downPayAmountsRatio;
@ApiModelProperty("总贷款金额")
@JsonSerialize(using = ToStringSerializer.class)
private String loanAmountTotal;
@ApiModelProperty("期数")
private String period;
@ApiModelProperty("月还金额")
private String monthlyRepay;
@ApiModelProperty("利息总额")
@JsonSerialize(using = ToStringSerializer.class)
private String interest;
@ApiModelProperty("预计首期还款日")
private String returnTime;
//金融方案费用明细
@ApiModelProperty("融资首付")
private String downPayAmounts;
@ApiModelProperty("贷款保证金")
private String bondAmounts;
@ApiModelProperty("保险保证金")
private String depositPremium;
@ApiModelProperty("落户保证金")
private String depositSettle;
@ApiModelProperty("服务费")
private String serviceAmount;
@ApiModelProperty("代收意外险")
private String proxyAccidentPremium;
@ApiModelProperty("上牌费")
private String registerAmount;
@ApiModelProperty("运管费")
private String operationAmount;
@ApiModelProperty("补车价")
private String vehOtherPrice;
@ApiModelProperty("其它费用")
private String otherAmount;
@ApiModelProperty("其它费用说明")
private String otherAmountRemark;
@ApiModelProperty("办理方式选择")
private String dealWay;
@ApiModelProperty("办理方式选择key")
private String dealWayKey;
@ApiModelProperty("代收合计")
private String proxyTotal;
@ApiModelProperty("代收首年保险费")
private String proxyPremium;
@ApiModelProperty("代收购置费")
private String proxyPurchasetax;
@ApiModelProperty("抵顶首年保险费")
private String offsetPremium;
@ApiModelProperty("抵顶购置税")
private String offsetPurchasetax;
@ApiModelProperty("抵顶费用合计")
@JsonSerialize(using = ToStringSerializer.class)
private String offsetTotal;
@ApiModelProperty("应收合计")
@JsonSerialize(using = ToStringSerializer.class)
private String receivableTotal;
@ApiModelProperty("实收合计")
@JsonSerialize(using = ToStringSerializer.class)
private String realTotal;
@ApiModelProperty("车辆总价")
@JsonSerialize(using = ToStringSerializer.class)
private String vehTotalPrice;
@ApiModelProperty("名义留购价")
@JsonSerialize(using = ToStringSerializer.class)
private String nominalPrice;
@ApiModelProperty("单台成交价")
private String finalPrice;
@ApiModelProperty("挂车价格")
private String gcPrice;
@ApiModelProperty("上装成交价")
private String szPrice;
@ApiModelProperty("拼接的List")
private List<AppOrderSolutionChangeListVo> financeForms = new ArrayList<>();
private String serviceChargeTypeKey;
private String serviceChargeTypeValue;
private String modelSid;
}

199
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/app/AppSolutionssChangeDto.java

@ -0,0 +1,199 @@
package com.yxt.anrui.buscenter.api.bussolutionschange.app;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/10/20 14:07
*/
@Data
public class AppSolutionssChangeDto {
private String sid;
private String userSid;
private String orgPath;
private String orderSid;
// @ApiModelProperty("变更前金融方案sid")
// private String solutionsSid;
@ApiModelProperty("申请日期")
private String applyDate;
@ApiModelProperty("申请人")
private String applyName;
@ApiModelProperty("申请部门sid")
private String deptSid;
@ApiModelProperty("申请部门")
private String dept;
@ApiModelProperty("挂靠公司名称")
private String affiliatedCompany;
private String remarks;
@ApiModelProperty("客户联系方式")
private String mobile;
@ApiModelProperty("客户地址")
private String address;
@ApiModelProperty(value = "合同编号")
private String contractNo;
@ApiModelProperty(value = "客户名称")
private String customerName;
private List<String> files = new ArrayList<>();
private boolean appendPolicySid;
@ApiModelProperty("展示更多")
@JsonProperty("isShowMore")
private boolean isShowMore;
@ApiModelProperty("关联sid")
@JsonProperty("saleOrderSid")
private String saleOrderSid;
@ApiModelProperty("是否打包:1是0否")
private String isPack;
@ApiModelProperty("产品政策名称")
private String policyName;
@ApiModelProperty("产品政策sid")
private String policySid;
@ApiModelProperty("主车发票价")
private String mainVehicleAmount;
@ApiModelProperty("融资票据")
private String accessoriesAmount;
@ApiModelProperty("是否有融资票据")
private boolean accessoriesAmountCb;
@ApiModelProperty("挂车金额")
private String trailerAmount;
@ApiModelProperty("是否有挂车")
private boolean trailerAmountCb;
@ApiModelProperty("保险金额")
private String premium;
@ApiModelProperty("是否有保险")
private boolean premiumCb;
@ApiModelProperty("购置税")
private String purchaseTax;
@ApiModelProperty("是否有购置税")
private boolean purchaseTaxCb;
@ApiModelProperty("融资项目总额")
private String loanTotal;
@ApiModelProperty("首付款比例")
private String downPayRatio;
@ApiModelProperty("首付金额")
@NotBlank(message = "首付金额不能为空")
private String downPayAmount;
@ApiModelProperty("贷款金额")
private String loanAmount;
@ApiModelProperty("贷款期数")
@NotBlank(message = "产品期数不能为空")
private String loanPeriod;
@ApiModelProperty("贷款保证金比例")
private String bondRatio;
@ApiModelProperty("贷款保证金金额")
@NotBlank(message = "贷款保证金不能为空")
private String bondAmount;
@ApiModelProperty("厂家贴息")
@NotBlank(message = "厂家贴息不能为空")
private String factoryDiscount;
@ApiModelProperty("厂家贴息用途")
private String factoryDiscountUse;
@ApiModelProperty("厂家贴息用途")
private String factoryDiscountUseKey;
@ApiModelProperty("年利率")
private String policyYearRatio;
@ApiModelProperty("月还金额")
@NotBlank(message = "月还金额不能为空")
private String loanPayMoney;
@ApiModelProperty("利息总额")
private String loanInterest;
@ApiModelProperty("是否勾选其它融")
private boolean otherPolicyState;
@ApiModelProperty("贴息抵车款")
@JsonProperty("factoryDiscountUseMoney")
private String discountCar;
/*************************其他融和方案汇总*********************************/
@ApiModelProperty("其它融名称")
private String otherPolicyName;
@ApiModelProperty("其他融sid")
private String otherPolicySid;
@ApiModelProperty("其它融贷款金额")
private String otherPolicyAmount;
@ApiModelProperty("其它融期数")
private String otherPolicyPeriod;
@ApiModelProperty("其它融月还")
private String otherPolicyMonthlyRepay;
@ApiModelProperty("其它融利息总额")
private String otherPolicyInterest;
@ApiModelProperty("其它融年利率")
private String otherPolicyYearRatio;
@ApiModelProperty("其他融贴息")
private String otherDiscount;
@ApiModelProperty("'融资首付")
private String loanDownPay;
@ApiModelProperty("实际首付比例")
private String downPayAmountsRatio;
@ApiModelProperty("总贷款金额")
private String loanAmountTotal;
@ApiModelProperty("期数")
private String period;
@ApiModelProperty("月还金额")
private String monthlyRepay;
@ApiModelProperty("利息总额")
private String interest;
@ApiModelProperty("预计首期还款日")
private String returnTime;
/*********************************金融方案费用明细*****************************/
@ApiModelProperty("融资首付")
private String downPayAmounts;
@ApiModelProperty("贷款保证金")
private String bondAmounts;
@ApiModelProperty("保险保证金")
private String depositPremium;
@ApiModelProperty("落户保证金")
private String depositSettle;
@ApiModelProperty("服务费")
@NotBlank(message = "服务费不能为空")
private String serviceAmount;
@ApiModelProperty("代收意外险")
private String proxyAccidentPremium;
@ApiModelProperty("上牌费")
private String registerAmount;
@ApiModelProperty("运管费")
private String operationAmount;
@ApiModelProperty("补车价")
private String vehOtherPrice;
@ApiModelProperty("其它费用")
private String otherAmount;
@ApiModelProperty("其它费用说明")
private String otherAmountRemark;
@ApiModelProperty("办理方式选择")
private String dealWay;
@ApiModelProperty("办理方式选择key")
private String dealWayKey;
@ApiModelProperty("代收合计")
private String proxyTotal;
@ApiModelProperty("代收首年保险费")
private String proxyPremium;
@ApiModelProperty("代收购置费")
private String proxyPurchasetax;
@ApiModelProperty("抵顶首年保险费")
private String offsetPremium;
@ApiModelProperty("抵顶购置税")
private String offsetPurchasetax;
@ApiModelProperty("抵顶费用合计")
private String offsetTotal;
@ApiModelProperty("应收合计")
private String receivableTotal;
@ApiModelProperty("实收合计")
private String realTotal;
@ApiModelProperty("车辆总价")
private String vehTotalPrice;
@ApiModelProperty("名义留购价")
private String nominalPrice;
}

19
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/app/AppSubmitSolutionDto.java

@ -0,0 +1,19 @@
package com.yxt.anrui.buscenter.api.bussolutionschange.app;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/10/20 16:38
*/
@Data
public class AppSubmitSolutionDto extends AppSolutionssChangeDto {
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("流程实例id")
@JsonProperty("procInsId")
private String instanceId;
}

41
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/flow/flow/SolutionsChangeCompleteDto.java

@ -0,0 +1,41 @@
package com.yxt.anrui.buscenter.api.bussolutionschange.flow.flow;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.Map;
/**
* @Author dimengzhe
* @Date 2022/6/28 9:01
* @Description
*/
@Data
public class SolutionsChangeCompleteDto implements Dto {
private static final long serialVersionUID = 3240453987322803352L;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "用户全路径sid")
private String orgSidPath;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:instanceId")
private String instanceId;
@ApiModelProperty(value = "意见")
@NotBlank(message = "参数错误:comment")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "分支字段及业务字段")
private Map<String, Object> formVariables;
}

26
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/flow/flow/SolutionsChangeDelegateQuery.java

@ -0,0 +1,26 @@
package com.yxt.anrui.buscenter.api.bussolutionschange.flow.flow;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/28 9:28
*/
@Data
public class SolutionsChangeDelegateQuery {
@ApiModelProperty
private String userSid;
@ApiModelProperty("流程实例id")
// @JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("审批人sid")
private String assignee;
@ApiModelProperty("填写意见")
private String views;
}

56
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/flow/flow/SolutionsChangeTaskQuery.java

@ -0,0 +1,56 @@
package com.yxt.anrui.buscenter.api.bussolutionschange.flow.flow;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/6/28 17:29
* @Description 终止撤回驳回查询参数
*/
@Data
public class SolutionsChangeTaskQuery implements Query {
private static final long serialVersionUID = -4006020771892400451L;
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
private String instanceId;
/*@ApiModelProperty("用户Id")
private String userId;
@ApiModelProperty("节点")
private String targetKey;
@ApiModelProperty("流程变量信息")
private Map<String, Object> values = new HashMap<>();
@ApiModelProperty("审批人")
private String assignee;
@ApiModelProperty("候选人")
private List<String> candidateUsers = new ArrayList<>();
@ApiModelProperty("审批组")
private List<String> candidateGroups = new ArrayList<>();*/
}

26
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/flow/flow/SolutionsGetNodeQuery.java

@ -0,0 +1,26 @@
package com.yxt.anrui.buscenter.api.bussolutionschange.flow.flow;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Map;
/**
* @Author dimengzhe
* @Date 2022/6/28 10:42
* @Description
*/
@Data
public class SolutionsGetNodeQuery implements Query {
private static final long serialVersionUID = -5674867230708197611L;
@ApiModelProperty(value = "环节定义id")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "分支字段及业务字段")
private Map<String, Object> formVariables;
}

25
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/flow/flow/SolutionsGetNodeVo.java

@ -0,0 +1,25 @@
package com.yxt.anrui.buscenter.api.bussolutionschange.flow.flow;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/6/28 11:09
* @Description
*/
@Data
public class SolutionsGetNodeVo implements Vo {
private static final long serialVersionUID = 8802774014747063504L;
@ApiModelProperty(value = "节点名称")
private String name;
@ApiModelProperty(value = "节点id")
private String id;
@ApiModelProperty(value = "审批组")
private List<String> candidateGroups;
@ApiModelProperty(value = "是否是最后环节")
private String endTask;
}

19
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussolutionschange/flow/flow/SubmitSolutionsChangeDto.java

@ -0,0 +1,19 @@
package com.yxt.anrui.buscenter.api.bussolutionschange.flow.flow;
import com.yxt.anrui.buscenter.api.bussolutionschange.BusSolutionsChangeDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author fzz
* @Date 2022/6/27 13:38
* @Description
*/
@Data
public class SubmitSolutionsChangeDto extends BusSolutionsChangeDto {
private static final long serialVersionUID = 378585162071125756L;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

55
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussolutionschange/BusSolutionsChangeMapper.java

@ -0,0 +1,55 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.buscenter.biz.bussolutionschange;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.buscenter.api.bussolutionschange.BusSolutionsChange;
import com.yxt.anrui.buscenter.api.bussolutionschange.BusSolutionsChangeVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
import java.util.Map;
/**
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface BusSolutionsChangeMapper extends BaseMapper<BusSolutionsChange> {
IPage<BusSolutionsChangeVo> listPage(IPage<BusSolutionsChange> page,@Param(Constants.WRAPPER) QueryWrapper<BusSolutionsChange> qw);
int updateFlowFiled(Map<String, Object> map);
}

43
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussolutionschange/BusSolutionsChangeMapper.xml

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.buscenter.biz.bussolutionschange.BusSolutionsChangeMapper">
<update id="updateFlowFiled">
UPDATE bus_solutions_change
SET nodeState=#{nodeState}
, nodeSid=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstId=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid = #{sid}
</update>
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="listPage" resultType="com.yxt.anrui.buscenter.api.bussolutionschange.BusSolutionsChangeVo">
SELECT
sid,
nodeState,
useOrgName as company,
dept,
applyName,
date_format(applyDate, '%Y-%m-%d') as applyDate,
affiliatedCompany,
customerName,
policyName,
affiliatedCompany,
model,
loanTotal,
procDefId,
procInstId
FROM bus_solutions_change
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

166
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussolutionschange/BusSolutionsChangeRest.java

@ -0,0 +1,166 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.buscenter.biz.bussolutionschange;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.buscenter.api.bussolutionschange.*;
import com.yxt.anrui.buscenter.api.bussolutionschange.app.AppSolutionChangeVo;
import com.yxt.anrui.buscenter.api.bussolutionschange.app.AppSolutionssChangeDto;
import com.yxt.anrui.buscenter.api.bussolutionschange.app.AppSubmitSolutionDto;
import com.yxt.anrui.buscenter.api.bussolutionschange.flow.flow.*;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "金融方案变更")
@RestController("com.yxt.anrui.buscenter.biz.bussolutionschange.BusSolutionsChangeRest")
@RequestMapping("v1/bussolutionschange")
public class BusSolutionsChangeRest implements BusSolutionsChangeFeign {
@Autowired
private BusSolutionsChangeService busSolutionsChangeService;
@Override
public ResultBean<PagerVo<BusSolutionsChangeVo>> listPage(PagerQuery<BusSolutionsChangeQuery> pq) {
ResultBean<PagerVo<BusSolutionsChangeVo>> rb = ResultBean.fireFail();
PagerVo<BusSolutionsChangeVo> pv = busSolutionsChangeService.listPage(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean<BusSolutionsChangeDetailsVo> changeInit(String salesOrderSid, String userSid, String orgPath) {
return busSolutionsChangeService.changeInit(salesOrderSid, userSid, orgPath);
}
@Override
public ResultBean<BusSolutionsChangeDetailsVo> details(String sid) {
return busSolutionsChangeService.details(sid);
}
@Override
public ResultBean<String> saveSolutions(BusSolutionsChangeDto dto) {
return busSolutionsChangeService.saveSolutions(dto);
}
@Override
public ResultBean deleteBySids(String[] sids) {
return busSolutionsChangeService.deleteBySids(sids);
}
@Override
public ResultBean submitRecordApplication(SubmitSolutionsChangeDto dto) {
return busSolutionsChangeService.submitRecordApplication(dto);
}
@Override
public ResultBean complete(SolutionsChangeCompleteDto dto) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(dto, bv);
bv.setModelId(ProcDefEnum.BUSSOLUTIONSCHANGE.getProDefId());
return busSolutionsChangeService.complete(bv);
}
@Override
public ResultBean revokeProcess(SolutionsChangeTaskQuery query) {
return busSolutionsChangeService.revokeProcess(query);
}
@Override
public ResultBean taskReject(SolutionsChangeTaskQuery query) {
return busSolutionsChangeService.taskReject(query);
}
@Override
public ResultBean breakProcess(SolutionsChangeTaskQuery query) {
return busSolutionsChangeService.breakProcess(query);
}
@Override
public ResultBean flowRecord(String procInsId) {
return busSolutionsChangeService.flowRecord(procInsId);
}
@Override
public ResultBean<List<SolutionsGetNodeVo>> getNextNodesForSubmit(SolutionsGetNodeQuery query) {
return busSolutionsChangeService.getNextNodesForSubmit(query);
}
@Override
public ResultBean<List<SolutionsGetNodeVo>> getPreviousNodesForReject(SolutionsGetNodeQuery query) {
return busSolutionsChangeService.getNextNodesForSubmit(query);
}
@Override
public ResultBean delegate(SolutionsChangeDelegateQuery query) {
return busSolutionsChangeService.delegate(query);
}
@Override
public ResultBean<AppSolutionChangeVo> solutionsInit(String orderSid, String userSid, String orgPath) {
return busSolutionsChangeService.solutionsInit(orderSid, userSid, orgPath);
}
@Override
public ResultBean<String> saveAppSolutions(AppSolutionssChangeDto dto) {
return busSolutionsChangeService.saveAppSolutions(dto);
}
@Override
public ResultBean<AppSolutionChangeVo> appDetails(String sid) {
return busSolutionsChangeService.appDetails(sid);
}
@Override
public ResultBean deleteSolution(String sid) {
return busSolutionsChangeService.deleteSolution(sid);
}
@Override
public ResultBean submitAppSolution(AppSubmitSolutionDto dto) {
return busSolutionsChangeService.submitAppSolution(dto);
}
}

1221
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussolutionschange/BusSolutionsChangeService.java

File diff suppressed because it is too large

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

@ -54,7 +54,8 @@ public enum ProcDefEnum {
LOANFINPOLICYRECORDAPPLY("金融产品政策备案", "process_u45lo7qc:1:2272516"),
LOANOTHERPOLICYRECORDAPPLY("其它融产品备案", "process_7pptyzfc:1:2272524"),
LOANCREDITAPPEALAPPLY("信用审核申诉", "process_gygvxw8k:2:5212504"),
DEALERFILINGAPPLY("经销商备案", "process_jdu35cog:7:5300004"),
DEALERFILINGAPPLY("经销商备案", "process_jdu35cog:8:6070004"),
// DEALERFILINGAPPLY("经销商备案", "process_jdu35cog:7:5300004"),
LOANTEMPLATEAPPLY("定制金融方案", "process_9q5omebi:2:2685008"),
LOANHOMEVISITAPPEALAPPLY("家访考察申诉", "process_8ujil3h3:1:3665004"),
BUSVALCUSTFILING("价值客户备案申请", "process_n8fwpitk:2:5085004"),

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

@ -61,6 +61,7 @@ public interface LoanFinPolicyFeign {
@RequestParam("userSid") String userSid,
@RequestParam("isPack") String isPack,
@RequestParam(value = "name", required = false) String name,
@RequestParam(value = "policySid", required = false) String policySid,
@RequestParam(value = "modelSid", required = false) String modelSid);

3
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/PolicyVo.java

@ -45,4 +45,7 @@ public class PolicyVo implements Vo {
@ApiModelProperty("单车意外险")
private String vehAccidentAmount;
private String bankShortName;
private String guaranteeTypeKey;
}

20
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutionsFeign.java

@ -65,9 +65,29 @@ public interface LoanSolutionsFeign {
@ResponseBody
ResultBean<List<LoanSolutions>> selectByOrderSid(@RequestParam("saleOrderSid") String saleOrderSid);
@ApiOperation(value = "根据销售订单sid查询金融方案")
@GetMapping("/getOneByOrderSid")
@ResponseBody
ResultBean<LoanSolutions> getOneByOrderSid(@RequestParam("saleOrderSid") String saleOrderSid);
@ApiOperation("重新发起保存金融方案")
@PostMapping("/saveByOrderSid")
ResultBean saveByOrderSid(@RequestBody LoanSolutions loanSolutions);
@ApiOperation("保存金融方案")
@PostMapping("/saveDtoss")
ResultBean saveDtoss(@RequestBody SolutionDetailsDto dto);
@ApiOperation("根据sid查询金融方案")
@GetMapping("/fetchBySid")
ResultBean<LoanSolutions> fetchBySid(@RequestParam("sid") String sid);
@ApiOperation("修改金融方案")
@PostMapping("/updateById")
ResultBean updateById(@RequestBody LoanSolutions loanSolutions);
/* @ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<LoanSolutionsVo>> listPage(@RequestBody PagerQuery<LoanSolutionsQuery> pq);

20
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutionsFeignFallback.java

@ -63,11 +63,31 @@ public class LoanSolutionsFeignFallback implements LoanSolutionsFeign {
return null;
}
@Override
public ResultBean<LoanSolutions> getOneByOrderSid(String saleOrderSid) {
return null;
}
@Override
public ResultBean saveByOrderSid(LoanSolutions loanSolutions) {
return null;
}
@Override
public ResultBean saveDtoss(SolutionDetailsDto dto) {
return null;
}
@Override
public ResultBean<LoanSolutions> fetchBySid(String sid) {
return null;
}
@Override
public ResultBean updateById(LoanSolutions loanSolutions) {
return null;
}
@Override
public ResultBean<CalculateVo> calculate(CalculateQuery query) {
return null;

1
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssQuery.java

@ -13,6 +13,7 @@ import lombok.Data;
@Data
public class SolutionssQuery implements Query {
private static final long serialVersionUID = 1460628272985480484L;
private boolean appendPolicySid;
@JsonProperty("isShowMore")
private boolean isShowMore;
@ApiModelProperty("是否打包:1是0否")

1
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssVo.java

@ -17,6 +17,7 @@ import java.util.List;
@Data
public class SolutionssVo implements Vo {
private static final long serialVersionUID = 5336776709258881912L;
private boolean appendPolicySid;
@ApiModelProperty("是否显示更多")
@JsonProperty("isShowMore")
private boolean isShowMore;

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

@ -124,6 +124,8 @@
<select id="selectListOne" resultType="com.yxt.anrui.riskcenter.api.loanfinpolicy.PolicyVo">
select distinct
a.sid,
a.bankShortName,
a.guaranteeTypeKey,
a.name,
a.downPayRatio,
a.downPayRatioKey,
@ -140,6 +142,8 @@
a.vehAccidentAmount,
a.id from ( select lfp.policyName name,
lfp.sid,
lfp.bankShortName,
lfp.guaranteeTypeKey,
lfp.downPayRatio,
lfp.downPayRatioKey,
lfp.period,
@ -172,6 +176,8 @@
union all
select lfp.policyName name,
lfp.sid,
lfp.bankShortName,
lfp.guaranteeTypeKey,
lfp.downPayRatio,
lfp.downPayRatioKey,
lfp.period,

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

@ -69,7 +69,7 @@ public class LoanFinPolicyRest implements LoanFinPolicyFeign {
}
@Override
public ResultBean<List<PolicyVo>> selectList(String orgPath, String userSid, String isPack, String name,String modelSid) {
return loanFinPolicyService.selectList(orgPath, userSid, isPack, name,modelSid);
public ResultBean<List<PolicyVo>> selectList(String orgPath, String userSid, String isPack, String name,String modelSid,String policySid) {
return loanFinPolicyService.selectList(orgPath, userSid, isPack, name,modelSid,policySid);
}
}

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

@ -705,13 +705,23 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
return rb.success().setData(appPolicyDetailsVo);
}
public ResultBean<List<PolicyVo>> selectList(String orgPath, String userSid, String isPack, String name, String modelSid) {
public ResultBean<List<PolicyVo>> selectList(String orgPath, String userSid, String isPack, String name, String modelSid, String policySid) {
ResultBean<List<PolicyVo>> rb = ResultBean.fireFail();
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
String vehTypeKey = baseMapper.selectVehType(modelSid);
String deptSid = Arrays.asList(orgPath.split("/")).get(Arrays.asList(orgPath.split("/")).size() - 1);
List<PolicyVo> list = baseMapper.selectListOne(deptSid, isPack, name, vehTypeKey, useOrgSid);
list.removeAll(Collections.singleton(null));
if (StringUtils.isNotBlank(policySid)) {
LoanFinPolicy finPolicy = fetchBySid(policySid);
if (null != finPolicy) {
if (StringUtils.isNotBlank(finPolicy.getBankShortName()) && StringUtils.isNotBlank(finPolicy.getGuaranteeTypeKey())) {
String bankShortName = finPolicy.getBankShortName();
String typeKey = finPolicy.getGuaranteeTypeKey();
list = list.stream().filter(obj -> obj.getBankShortName().equals(bankShortName) && obj.getGuaranteeTypeKey().equals(typeKey)).collect(Collectors.toList());
}
}
}
return rb.success().setData(list);
}

25
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsRest.java

@ -3,6 +3,7 @@ package com.yxt.anrui.riskcenter.biz.loansolutions;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign;
import com.yxt.anrui.riskcenter.api.loansolutions.PushVo;
import com.yxt.anrui.riskcenter.api.loansolutions.SolutionDetailsDto;
import com.yxt.anrui.riskcenter.api.loansolutions.app.*;
import com.yxt.anrui.riskcenter.api.loansolutions.calculate.CalculateQuery;
import com.yxt.anrui.riskcenter.api.loansolutions.calculate.CalculateVo;
@ -76,11 +77,35 @@ public class LoanSolutionsRest implements LoanSolutionsFeign {
return loanSolutionsService.selectByOrderSid(saleOrderSid);
}
@Override
public ResultBean<LoanSolutions> getOneByOrderSid(String saleOrderSid) {
return loanSolutionsService.getOneByOrderSid(saleOrderSid);
}
@Override
public ResultBean saveByOrderSid(LoanSolutions loanSolutions) {
return loanSolutionsService.saveByOrderSid(loanSolutions);
}
@Override
public ResultBean saveDtoss(SolutionDetailsDto dto) {
return loanSolutionsService.saveDtoss(dto);
}
@Override
public ResultBean<LoanSolutions> fetchBySid(String sid) {
ResultBean<LoanSolutions> rb = ResultBean.fireFail();
LoanSolutions entity = loanSolutionsService.fetchBySid(sid);
return rb.success().setData(entity);
}
@Override
public ResultBean updateById(LoanSolutions loanSolutions) {
ResultBean rb = ResultBean.fireFail();
loanSolutionsService.updateById(loanSolutions);
return rb.success();
}
@Override
public ResultBean<CalculateVo> calculate(CalculateQuery query) {
return loanSolutionsService.calculate(query);

59
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java

@ -1318,17 +1318,17 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
BigDecimal policyYearRatioNew = simpleCalculateRate(new BigDecimal(loanPeriod).doubleValue(), loanPayMoneyNew.doubleValue(), -loanAmount.doubleValue()).multiply(new BigDecimal("12")).multiply(new BigDecimal("100"));
//四舍五入取两位小数
policyYearRatioNew = policyYearRatioNew.setScale(2, BigDecimal.ROUND_HALF_UP);
if(policyYearRatioNew.compareTo(BigDecimal.ZERO)<0){
if (policyYearRatioNew.compareTo(BigDecimal.ZERO) < 0) {
//根据年利率和期数、贷款金额计算月还
// loanPayMoneyNew = calculatePMT(BigDecimal.ZERO.divide(new BigDecimal("100"), 4, BigDecimal.ROUND_CEILING).doubleValue(), new BigDecimal(loanPeriod).doubleValue(), loanAmount.doubleValue());
loanPayMoneyNew = loanAmount.divide(new BigDecimal(loanPeriod),4,BigDecimal.ROUND_CEILING);
loanPayMoneyNew = loanAmount.divide(new BigDecimal(loanPeriod), 4, BigDecimal.ROUND_CEILING);
//根据月还计算利息总额=月还金额 乘以 期数 减去 本金
loanInterestNew = loanPayMoneyNew.multiply(new BigDecimal(loanPeriod)).subtract(loanAmount);
//四舍五入取整数
loanPayMoneyNew = loanPayMoneyNew.setScale(0, BigDecimal.ROUND_HALF_UP);
loanInterestNew = loanInterestNew.setScale(0, BigDecimal.ROUND_HALF_UP);
policyYearRatioNew = BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_HALF_UP);
}else{
} else {
//四舍五入取整数
loanPayMoneyNew = loanPayMoneyNew.setScale(0, BigDecimal.ROUND_HALF_UP);
loanInterestNew = loanInterestNew.setScale(0, BigDecimal.ROUND_HALF_UP);
@ -1368,8 +1368,8 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
otherPolicyYearRatio = otherPolicyYearRatio.replaceAll("%", "");
}
LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.fetchBySid(query.getOtherPolicySid());
if(loanFinOtherPolicy != null){
if(loanFinOtherPolicy.getYearRatio() != null){
if (loanFinOtherPolicy != null) {
if (loanFinOtherPolicy.getYearRatio() != null) {
otherPolicyYearRatio = loanFinOtherPolicy.getYearRatio().toString();
}
}
@ -1389,9 +1389,9 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
loanAmountTotal = loanAmountTotal.add(new BigDecimal(otherPolicyAmount));
//根据年利率和期数、贷款金额计算旧月还
BigDecimal otherPolicyMonthlyRepay = BigDecimal.ZERO;
if(new BigDecimal(otherPolicyYearRatio).compareTo(BigDecimal.ZERO) == 0){
otherPolicyMonthlyRepay = new BigDecimal(otherPolicyAmount).divide(new BigDecimal(otherPolicyPeriod),4,BigDecimal.ROUND_CEILING);
}else{
if (new BigDecimal(otherPolicyYearRatio).compareTo(BigDecimal.ZERO) == 0) {
otherPolicyMonthlyRepay = new BigDecimal(otherPolicyAmount).divide(new BigDecimal(otherPolicyPeriod), 4, BigDecimal.ROUND_CEILING);
} else {
otherPolicyMonthlyRepay = calculatePMT(new BigDecimal(otherPolicyYearRatio).divide(new BigDecimal("100"), 4, BigDecimal.ROUND_CEILING).doubleValue(), new BigDecimal(otherPolicyPeriod).doubleValue(), new BigDecimal(otherPolicyAmount).doubleValue());
}
//根据月还计算旧利息总额=旧月还金额 乘以 期数 减去 本金
@ -1404,17 +1404,17 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
BigDecimal otherPolicyYearRatioNew = simpleCalculateRate(new BigDecimal(otherPolicyPeriod).doubleValue(), otherPolicyMonthlyRepayNew.doubleValue(), -new BigDecimal(otherPolicyAmount).doubleValue()).multiply(new BigDecimal("12")).multiply(new BigDecimal("100"));
//四舍五入取两位小数
otherPolicyYearRatioNew = otherPolicyYearRatioNew.setScale(2, BigDecimal.ROUND_HALF_UP);
if(otherPolicyYearRatioNew.compareTo(BigDecimal.ZERO)<0){
if (otherPolicyYearRatioNew.compareTo(BigDecimal.ZERO) < 0) {
//根据年利率和期数、贷款金额计算月还
// otherPolicyMonthlyRepayNew = calculatePMT(BigDecimal.ZERO.divide(new BigDecimal("100"), 4, BigDecimal.ROUND_CEILING).doubleValue(), new BigDecimal(otherPolicyPeriod).doubleValue(), new BigDecimal(otherPolicyAmount).doubleValue());
otherPolicyMonthlyRepayNew = new BigDecimal(otherPolicyAmount).divide(new BigDecimal(otherPolicyPeriod),4,BigDecimal.ROUND_CEILING);
otherPolicyMonthlyRepayNew = new BigDecimal(otherPolicyAmount).divide(new BigDecimal(otherPolicyPeriod), 4, BigDecimal.ROUND_CEILING);
//根据月还计算利息总额=月还金额 乘以 期数 减去 本金
otherPolicyInterestNew = otherPolicyMonthlyRepayNew.multiply(new BigDecimal(otherPolicyPeriod)).subtract(new BigDecimal(otherPolicyAmount));
//四舍五入取整数
otherPolicyMonthlyRepayNew = otherPolicyMonthlyRepayNew.setScale(0, BigDecimal.ROUND_HALF_UP);
otherPolicyInterestNew = otherPolicyInterestNew.setScale(0, BigDecimal.ROUND_HALF_UP);
otherPolicyYearRatioNew = BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_HALF_UP);
}else{
} else {
//四舍五入取整数
otherPolicyMonthlyRepayNew = otherPolicyMonthlyRepayNew.setScale(0, BigDecimal.ROUND_HALF_UP);
otherPolicyInterestNew = otherPolicyInterestNew.setScale(0, BigDecimal.ROUND_HALF_UP);
@ -1425,7 +1425,7 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
calculateVo.setOtherPolicyInterest(otherPolicyInterestNew.toString());
calculateVo.setOtherPolicyYearRatio(otherPolicyYearRatioNew.toString());
calculateVo.setOtherPolicyMonthlyRepay(otherPolicyMonthlyRepayNew.toString());
}else{
} else {
loanDownPay = loanDownPay.subtract(new BigDecimal(otherPolicyAmount));
//总贷款金额的计算
loanAmountTotal = loanAmountTotal.add(new BigDecimal(otherPolicyAmount));
@ -1762,14 +1762,14 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
solutionssVo.setOtherPolicyPeriod(String.valueOf(loanFinOtherPolicy.getPeriod()));
solutionssVo.setOtherPolicyYearRatio(loanFinOtherPolicy.getYearRatio().toString());
solutionssVo.setOtherPolicyIsMain(true);
}else{
} else {
solutionssVo.setOtherPolicyIsMain(false);
}
} else {
LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.selectByMainSid(loanSolutions.getPolicySid());
if (loanFinOtherPolicy != null) {
solutionssVo.setOtherPolicyIsMain(true);
}else{
} else {
solutionssVo.setOtherPolicyIsMain(false);
}
}
@ -1799,18 +1799,18 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
solutionssVo.setOtherPolicyPeriod(String.valueOf(loanFinOtherPolicy.getPeriod()));
solutionssVo.setOtherPolicyYearRatio(loanFinOtherPolicy.getYearRatio().toString());
solutionssVo.setOtherPolicyIsMain(true);
}else{
} else {
solutionssVo.setOtherPolicyIsMain(false);
}
} else {
if(StringUtils.isNotBlank(loanSolutions.getPolicySid())){
if (StringUtils.isNotBlank(loanSolutions.getPolicySid())) {
LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.selectByMainSid(loanSolutions.getPolicySid());
if (loanFinOtherPolicy != null) {
solutionssVo.setOtherPolicyIsMain(true);
}else{
} else {
solutionssVo.setOtherPolicyIsMain(false);
}
}else{
} else {
solutionssVo.setOtherPolicyIsMain(false);
}
@ -2456,7 +2456,7 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
LoanFinOtherPolicy loanFinOtherPolicys = loanFinOtherPolicyService.selectByMainSid(query.getPolicySid());
if (loanFinOtherPolicys != null) {
solutionssVo.setOtherPolicyIsMain(true);
}else{
} else {
solutionssVo.setOtherPolicyIsMain(false);
}
//验证贷款金额是否不大于最高贷款金额
@ -2494,7 +2494,7 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
}
}
}
}else{
} else {
if (StringUtils.isNotBlank(query.getPolicySid()) && !query.isOtherPolicyState()) {
LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.selectByMainSid(query.getPolicySid());
if (loanFinOtherPolicy != null) {
@ -2503,10 +2503,10 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
solutionssVo.setOtherPolicyPeriod(String.valueOf(loanFinOtherPolicy.getPeriod()));
solutionssVo.setOtherPolicyYearRatio(loanFinOtherPolicy.getYearRatio().toString());
solutionssVo.setOtherPolicyIsMain(true);
}else{
} else {
solutionssVo.setOtherPolicyIsMain(false);
}
}else{
} else {
solutionssVo.setOtherPolicyIsMain(false);
}
}
@ -2514,6 +2514,7 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
}
List<SolutionListVo> formList = getFormList(solutionssVo);
solutionssVo.setFinanceForms(formList);
return rb.success().setData(solutionssVo);
}
@ -2561,14 +2562,14 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
solutionssVo.setOtherPolicyPeriod(String.valueOf(loanFinOtherPolicy.getPeriod()));
solutionssVo.setOtherPolicyYearRatio(loanFinOtherPolicy.getYearRatio().toString());
solutionssVo.setOtherPolicyIsMain(true);
}else{
} else {
solutionssVo.setOtherPolicyIsMain(false);
}
} else {
LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.selectByMainSid(loanSolutions.getPolicySid());
if (loanFinOtherPolicy != null) {
solutionssVo.setOtherPolicyIsMain(true);
}else{
} else {
solutionssVo.setOtherPolicyIsMain(false);
}
}
@ -2602,14 +2603,14 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
solutionssVo.setOtherPolicyPeriod(String.valueOf(loanFinOtherPolicy.getPeriod()));
solutionssVo.setOtherPolicyYearRatio(loanFinOtherPolicy.getYearRatio().toString());
solutionssVo.setOtherPolicyIsMain(true);
}else{
} else {
solutionssVo.setOtherPolicyIsMain(false);
}
} else {
LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.selectByMainSid(loanSolutions.getPolicySid());
if (loanFinOtherPolicy != null) {
solutionssVo.setOtherPolicyIsMain(true);
}else{
} else {
solutionssVo.setOtherPolicyIsMain(false);
}
}
@ -2673,6 +2674,12 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
return rb.success().setData(pushVo);
}
public ResultBean<LoanSolutions> getOneByOrderSid(String saleOrderSid) {
ResultBean<LoanSolutions> rb = ResultBean.fireFail();
LoanSolutions loanSolutions = baseMapper.selectBySaleOrderSid(saleOrderSid);
return rb.success().setData(loanSolutions);
}

23
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/solutionsChange/OrderSolutionChangeListVo.java

@ -0,0 +1,23 @@
package com.yxt.anrui.terminal.api.autoservice.solutionsChange;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/10/20 16:50
*/
@Data
public class OrderSolutionChangeListVo {
@ApiModelProperty(value = "内容")
private String value;
@ApiModelProperty(value = "单元格大小")
private Integer spanSize;
@ApiModelProperty("类型:0 最普通的 1 标题的 2是 加上划线的")
private Integer type;
@ApiModelProperty("是否加粗,true是,false否")
private boolean bold;
}

241
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/solutionsChange/SolutionChangeVo.java

@ -0,0 +1,241 @@
package com.yxt.anrui.terminal.api.autoservice.solutionsChange;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/10/20 16:50
*/
@Data
public class SolutionChangeVo {
private String publishInfo;
private String taskId;
private String procInsId;
private String sid;
private String userSid;
private String orgPath;
private String orderSid;
// @ApiModelProperty("变更前金融方案sid")
// private String solutionsSid;
@ApiModelProperty("申请日期")
private String applyDate;
@ApiModelProperty("申请人")
private String applyName;
@ApiModelProperty("申请部门sid")
private String deptSid;
@ApiModelProperty("申请部门")
private String dept;
@ApiModelProperty("挂靠公司名称")
private String affiliatedCompany;
private String remarks;
@ApiModelProperty("客户联系方式")
private String mobile;
@ApiModelProperty("客户地址")
private String address;
@ApiModelProperty(value = "合同编号")
private String contractNo;
@ApiModelProperty(value = "客户名称")
private String customerName;
private List<String> files = new ArrayList<>();
private boolean appendPolicySid;
/* @ApiModelProperty("是否是三方金融")
private boolean finPlanState;*/
@JsonProperty("isShowMore")
private boolean isShowMore;
@ApiModelProperty("销售订单sid")
@JsonProperty("saleOrderSid")
private String busSid;
// private String saleOrderSid;
/* @ApiModelProperty("类型:1自营非担保,2外部金融")
private String type;
private String typeKey;*/
@ApiModelProperty("是否打包,0不打包,1打包")
private String isPack;
@ApiModelProperty("产品政策名称")
private String policyName;
@ApiModelProperty("产品政策sid")
private String policySid;
@ApiModelProperty("主车发票价")
@JsonSerialize(using = ToStringSerializer.class)
private String mainVehicleAmount;
@ApiModelProperty("融资票据")
@JsonSerialize(using = ToStringSerializer.class)
private String accessoriesAmount;
@ApiModelProperty("挂车金额")
@JsonSerialize(using = ToStringSerializer.class)
private String trailerAmount;
@ApiModelProperty("购置税")
@JsonSerialize(using = ToStringSerializer.class)
private String purchaseTax;
@ApiModelProperty("保险金额")
@JsonSerialize(using = ToStringSerializer.class)
private String premium;
@ApiModelProperty("融资项目总额")
@JsonSerialize(using = ToStringSerializer.class)
private String loanTotal;
@ApiModelProperty("是否有融资票据")
private boolean accessoriesAmountCb;
@ApiModelProperty("是否有挂车")
private boolean trailerAmountCb;
@ApiModelProperty("是否有购置税")
private boolean purchaseTaxCb;
@ApiModelProperty("是否有保险")
private boolean premiumCb;
@ApiModelProperty("是否勾选其它融")
private boolean otherPolicyState;
@ApiModelProperty("首付款比例")
private String downPayRatio;
@ApiModelProperty("首付金额")
@JsonSerialize(using = ToStringSerializer.class)
private String downPayAmount;
@ApiModelProperty("贷款金额")
@JsonSerialize(using = ToStringSerializer.class)
private String loanAmount;
@ApiModelProperty("贷款期数")
private String loanPeriod;
@ApiModelProperty("贷款保证金比例")
private String bondRatio;
@ApiModelProperty("贷款保证金金额")
@JsonSerialize(using = ToStringSerializer.class)
private String bondAmount;
@ApiModelProperty("厂家贴息")
@JsonSerialize(using = ToStringSerializer.class)
private String factoryDiscount;
private String factoryDiscountUse;
@ApiModelProperty("年利率")
private String policyYearRatio;
@ApiModelProperty("月还金额")
@JsonSerialize(using = ToStringSerializer.class)
private String loanPayMoney;
@ApiModelProperty("利息总额")
@JsonSerialize(using = ToStringSerializer.class)
private String loanInterest;
@ApiModelProperty("贴息抵车款")
@JsonProperty("factoryDiscountUseMoney")
private String discountCar;
//其他融
@ApiModelProperty("其它融名称")
private String otherPolicyName;
@ApiModelProperty("其他融sid")
private String otherPolicySid;
@ApiModelProperty("其它融贷款金额")
@JsonSerialize(using = ToStringSerializer.class)
private String otherPolicyAmount;
@ApiModelProperty("其它融期数")
private String otherPolicyPeriod;
@ApiModelProperty("其它融月还")
@JsonSerialize(using = ToStringSerializer.class)
private String otherPolicyMonthlyRepay;
@ApiModelProperty("其它融利息总额")
@JsonSerialize(using = ToStringSerializer.class)
private String otherPolicyInterest;
@ApiModelProperty("其它融年利率")
private String otherPolicyYearRatio;
private boolean otherPolicyIsMain;
@ApiModelProperty("其他融贴息")
private String otherDiscount;
@ApiModelProperty("'融资首付")
@JsonSerialize(using = ToStringSerializer.class)
private String loanDownPay;
@ApiModelProperty("实际首付比例")
private String downPayAmountsRatio;
@ApiModelProperty("总贷款金额")
@JsonSerialize(using = ToStringSerializer.class)
private String loanAmountTotal;
@ApiModelProperty("期数")
private String period;
@ApiModelProperty("月还金额")
private String monthlyRepay;
@ApiModelProperty("利息总额")
@JsonSerialize(using = ToStringSerializer.class)
private String interest;
@ApiModelProperty("预计首期还款日")
private String returnTime;
//金融方案费用明细
@ApiModelProperty("融资首付")
private String downPayAmounts;
@ApiModelProperty("贷款保证金")
private String bondAmounts;
@ApiModelProperty("保险保证金")
private String depositPremium;
@ApiModelProperty("落户保证金")
private String depositSettle;
@ApiModelProperty("服务费")
private String serviceAmount;
@ApiModelProperty("代收意外险")
private String proxyAccidentPremium;
@ApiModelProperty("上牌费")
private String registerAmount;
@ApiModelProperty("运管费")
private String operationAmount;
@ApiModelProperty("补车价")
private String vehOtherPrice;
@ApiModelProperty("其它费用")
private String otherAmount;
@ApiModelProperty("其它费用说明")
private String otherAmountRemark;
@ApiModelProperty("办理方式选择")
private String dealWay;
@ApiModelProperty("办理方式选择key")
private String dealWayKey;
@ApiModelProperty("代收合计")
private String proxyTotal;
@ApiModelProperty("代收首年保险费")
private String proxyPremium;
@ApiModelProperty("代收购置费")
private String proxyPurchasetax;
@ApiModelProperty("抵顶首年保险费")
private String offsetPremium;
@ApiModelProperty("抵顶购置税")
private String offsetPurchasetax;
@ApiModelProperty("抵顶费用合计")
@JsonSerialize(using = ToStringSerializer.class)
private String offsetTotal;
@ApiModelProperty("应收合计")
@JsonSerialize(using = ToStringSerializer.class)
private String receivableTotal;
@ApiModelProperty("实收合计")
@JsonSerialize(using = ToStringSerializer.class)
private String realTotal;
@ApiModelProperty("车辆总价")
@JsonSerialize(using = ToStringSerializer.class)
private String vehTotalPrice;
@ApiModelProperty("名义留购价")
@JsonSerialize(using = ToStringSerializer.class)
private String nominalPrice;
@ApiModelProperty("单台成交价")
private String finalPrice;
@ApiModelProperty("挂车价格")
private String gcPrice;
@ApiModelProperty("上装成交价")
private String szPrice;
@ApiModelProperty("拼接的List")
private List<OrderSolutionChangeListVo> financeForms = new ArrayList<>();
private String serviceChargeTypeKey;
private String serviceChargeTypeValue;
private String modelSid;
}

89
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/solutionsChange/SolutionsChangeFeign.java

@ -0,0 +1,89 @@
package com.yxt.anrui.terminal.api.autoservice.solutionsChange;
import com.yxt.anrui.terminal.api.autoservice.solutionsChange.flow.*;
import com.yxt.anrui.terminal.api.risk.loancustomerrecord.*;
import com.yxt.anrui.terminal.api.risk.loancustomerrecord.flow.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
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.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* @description:
* @author: fzz
* @date: 2023/8/8
**/
@Api(tags = "金融方案变更")
@FeignClient(
contextId = "terminal-SolutionsChange",
name = "anrui-terminal",
path = "/autoservice/v1/SolutionsChange",
fallback = SolutionsChangeFeignFallback.class)
public interface SolutionsChangeFeign {
@ApiOperation("变更初始化")
@GetMapping("/solutionsInit")
@ResponseBody
public ResultBean<SolutionChangeVo> solutionsInit(@RequestParam("orderSid") String orderSid, @RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath);
@ApiOperation("保存修改")
@PostMapping("/saveAppSolutions")
@ResponseBody
public ResultBean<String> saveAppSolutions(@RequestBody SolutionssChangeDto dto);
@ApiOperation("详情、编辑回显")
@GetMapping("/appDetails/{sid}")
@ResponseBody
public ResultBean<SolutionChangeVo> appDetails(@PathVariable("sid") String sid);
@ApiOperation("移动端-删除")
@DeleteMapping("/deleteSolution/{sid}")
@ResponseBody
ResultBean deleteSolution(@PathVariable("sid") String sid);
//-------------------------流程-----------------------------------------
@ApiOperation("提交流程")
@PostMapping("/submitSolutionsChange")
@ResponseBody
ResultBean submitSolutionsChange(@Valid @RequestBody SubmitSolutionsChangeDto dto);
@ApiOperation("办理")
@PutMapping("/agreeSolutionsChange")
@ResponseBody
ResultBean agreeSolutionsChange(@Valid @RequestBody CompleteSolutionsChangeDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectSolutionsChange")
@ResponseBody
ResultBean rejectSolutionsChange(@Valid @RequestBody AppSolutionsChangeTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallSolutionsChange")
@ResponseBody
ResultBean recallSolutionsChange(@Valid @RequestBody AppSolutionsChangeTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopSolutionsChange")
@ResponseBody
ResultBean stopSolutionsChange(@Valid @RequestBody AppSolutionsChangeTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@Valid @SpringQueryMap SolutionsChangeFlowableQuery query);
@ApiOperation(value = "加签")
@PutMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody AppSolutionsChangeDelegateQuery delegateQuery);
}

68
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/solutionsChange/SolutionsChangeFeignFallback.java

@ -0,0 +1,68 @@
package com.yxt.anrui.terminal.api.autoservice.solutionsChange;
import com.yxt.anrui.terminal.api.autoservice.solutionsChange.flow.*;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Component;
/**
* @author Administrator
* @description
* @date 2023/10/20 16:46
*/
@Component
public class SolutionsChangeFeignFallback implements SolutionsChangeFeign{
@Override
public ResultBean<SolutionChangeVo> solutionsInit(String orderSid, String userSid, String orgPath) {
return null;
}
@Override
public ResultBean<String> saveAppSolutions(SolutionssChangeDto dto) {
return null;
}
@Override
public ResultBean<SolutionChangeVo> appDetails(String sid) {
return null;
}
@Override
public ResultBean deleteSolution(String sid) {
return null;
}
@Override
public ResultBean submitSolutionsChange(SubmitSolutionsChangeDto dto) {
return null;
}
@Override
public ResultBean agreeSolutionsChange(CompleteSolutionsChangeDto dto) {
return null;
}
@Override
public ResultBean rejectSolutionsChange(AppSolutionsChangeTaskQuery query) {
return null;
}
@Override
public ResultBean recallSolutionsChange(AppSolutionsChangeTaskQuery query) {
return null;
}
@Override
public ResultBean stopSolutionsChange(AppSolutionsChangeTaskQuery query) {
return null;
}
@Override
public ResultBean<String> getFlowOperateTitle(SolutionsChangeFlowableQuery query) {
return null;
}
@Override
public ResultBean delegate(AppSolutionsChangeDelegateQuery delegateQuery) {
return null;
}
}

198
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/solutionsChange/SolutionssChangeDto.java

@ -0,0 +1,198 @@
package com.yxt.anrui.terminal.api.autoservice.solutionsChange;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/10/20 16:51
*/
@Data
public class SolutionssChangeDto {
private String sid;
private String userSid;
private String orgPath;
private String orderSid;
// @ApiModelProperty("变更前金融方案sid")
// private String solutionsSid;
@ApiModelProperty("申请日期")
private String applyDate;
@ApiModelProperty("申请人")
private String applyName;
@ApiModelProperty("申请部门sid")
private String deptSid;
@ApiModelProperty("申请部门")
private String dept;
@ApiModelProperty("挂靠公司名称")
private String affiliatedCompany;
private String remarks;
@ApiModelProperty("客户联系方式")
private String mobile;
@ApiModelProperty("客户地址")
private String address;
@ApiModelProperty(value = "合同编号")
private String contractNo;
@ApiModelProperty(value = "客户名称")
private String customerName;
private List<String> files = new ArrayList<>();
private boolean appendPolicySid;
@ApiModelProperty("展示更多")
@JsonProperty("isShowMore")
private boolean isShowMore;
@ApiModelProperty("关联sid")
@JsonProperty("saleOrderSid")
private String saleOrderSid;
@ApiModelProperty("是否打包:1是0否")
private String isPack;
@ApiModelProperty("产品政策名称")
private String policyName;
@ApiModelProperty("产品政策sid")
private String policySid;
@ApiModelProperty("主车发票价")
private String mainVehicleAmount;
@ApiModelProperty("融资票据")
private String accessoriesAmount;
@ApiModelProperty("是否有融资票据")
private boolean accessoriesAmountCb;
@ApiModelProperty("挂车金额")
private String trailerAmount;
@ApiModelProperty("是否有挂车")
private boolean trailerAmountCb;
@ApiModelProperty("保险金额")
private String premium;
@ApiModelProperty("是否有保险")
private boolean premiumCb;
@ApiModelProperty("购置税")
private String purchaseTax;
@ApiModelProperty("是否有购置税")
private boolean purchaseTaxCb;
@ApiModelProperty("融资项目总额")
private String loanTotal;
@ApiModelProperty("首付款比例")
private String downPayRatio;
@ApiModelProperty("首付金额")
@NotBlank(message = "首付金额不能为空")
private String downPayAmount;
@ApiModelProperty("贷款金额")
private String loanAmount;
@ApiModelProperty("贷款期数")
@NotBlank(message = "产品期数不能为空")
private String loanPeriod;
@ApiModelProperty("贷款保证金比例")
private String bondRatio;
@ApiModelProperty("贷款保证金金额")
@NotBlank(message = "贷款保证金不能为空")
private String bondAmount;
@ApiModelProperty("厂家贴息")
@NotBlank(message = "厂家贴息不能为空")
private String factoryDiscount;
@ApiModelProperty("厂家贴息用途")
private String factoryDiscountUse;
@ApiModelProperty("厂家贴息用途")
private String factoryDiscountUseKey;
@ApiModelProperty("年利率")
private String policyYearRatio;
@ApiModelProperty("月还金额")
@NotBlank(message = "月还金额不能为空")
private String loanPayMoney;
@ApiModelProperty("利息总额")
private String loanInterest;
@ApiModelProperty("是否勾选其它融")
private boolean otherPolicyState;
@ApiModelProperty("贴息抵车款")
@JsonProperty("factoryDiscountUseMoney")
private String discountCar;
/*************************其他融和方案汇总*********************************/
@ApiModelProperty("其它融名称")
private String otherPolicyName;
@ApiModelProperty("其他融sid")
private String otherPolicySid;
@ApiModelProperty("其它融贷款金额")
private String otherPolicyAmount;
@ApiModelProperty("其它融期数")
private String otherPolicyPeriod;
@ApiModelProperty("其它融月还")
private String otherPolicyMonthlyRepay;
@ApiModelProperty("其它融利息总额")
private String otherPolicyInterest;
@ApiModelProperty("其它融年利率")
private String otherPolicyYearRatio;
@ApiModelProperty("其他融贴息")
private String otherDiscount;
@ApiModelProperty("'融资首付")
private String loanDownPay;
@ApiModelProperty("实际首付比例")
private String downPayAmountsRatio;
@ApiModelProperty("总贷款金额")
private String loanAmountTotal;
@ApiModelProperty("期数")
private String period;
@ApiModelProperty("月还金额")
private String monthlyRepay;
@ApiModelProperty("利息总额")
private String interest;
@ApiModelProperty("预计首期还款日")
private String returnTime;
/*********************************金融方案费用明细*****************************/
@ApiModelProperty("融资首付")
private String downPayAmounts;
@ApiModelProperty("贷款保证金")
private String bondAmounts;
@ApiModelProperty("保险保证金")
private String depositPremium;
@ApiModelProperty("落户保证金")
private String depositSettle;
@ApiModelProperty("服务费")
@NotBlank(message = "服务费不能为空")
private String serviceAmount;
@ApiModelProperty("代收意外险")
private String proxyAccidentPremium;
@ApiModelProperty("上牌费")
private String registerAmount;
@ApiModelProperty("运管费")
private String operationAmount;
@ApiModelProperty("补车价")
private String vehOtherPrice;
@ApiModelProperty("其它费用")
private String otherAmount;
@ApiModelProperty("其它费用说明")
private String otherAmountRemark;
@ApiModelProperty("办理方式选择")
private String dealWay;
@ApiModelProperty("办理方式选择key")
private String dealWayKey;
@ApiModelProperty("代收合计")
private String proxyTotal;
@ApiModelProperty("代收首年保险费")
private String proxyPremium;
@ApiModelProperty("代收购置费")
private String proxyPurchasetax;
@ApiModelProperty("抵顶首年保险费")
private String offsetPremium;
@ApiModelProperty("抵顶购置税")
private String offsetPurchasetax;
@ApiModelProperty("抵顶费用合计")
private String offsetTotal;
@ApiModelProperty("应收合计")
private String receivableTotal;
@ApiModelProperty("实收合计")
private String realTotal;
@ApiModelProperty("车辆总价")
private String vehTotalPrice;
@ApiModelProperty("名义留购价")
private String nominalPrice;
}

25
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/solutionsChange/flow/AppSolutionsChangeDelegateQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.terminal.api.autoservice.solutionsChange.flow;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/28 10:16
*/
@Data
public class AppSolutionsChangeDelegateQuery {
@ApiModelProperty
private String userSid;
@ApiModelProperty("流程实例id")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("审批人sid")
private String assignee;
@ApiModelProperty("填写意见")
private String views;
}

46
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/solutionsChange/flow/AppSolutionsChangeTaskQuery.java

@ -0,0 +1,46 @@
package com.yxt.anrui.terminal.api.autoservice.solutionsChange.flow;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @author Administrator
* @description
* @date 2023/10/17 9:14
*/
@Data
public class AppSolutionsChangeTaskQuery implements Query {
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
@JsonProperty("procInsId")
private String instanceId;
}

35
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/solutionsChange/flow/CompleteSolutionsChangeDto.java

@ -0,0 +1,35 @@
package com.yxt.anrui.terminal.api.autoservice.solutionsChange.flow;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @author Administrator
* @description
* @date 2023/10/17 9:13
*/
@Data
public class CompleteSolutionsChangeDto implements Dto {
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:procInsId")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
}

21
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/solutionsChange/flow/SolutionsChangeFlowableQuery.java

@ -0,0 +1,21 @@
package com.yxt.anrui.terminal.api.autoservice.solutionsChange.flow;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class SolutionsChangeFlowableQuery implements Query {
private static final long serialVersionUID = -5879668616710833830L;
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
}

19
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/solutionsChange/flow/SubmitSolutionsChangeDto.java

@ -0,0 +1,19 @@
package com.yxt.anrui.terminal.api.autoservice.solutionsChange.flow;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.anrui.terminal.api.autoservice.solutionsChange.SolutionssChangeDto;
import com.yxt.anrui.terminal.api.risk.loancustomerrecord.CustomerRecordDto;
import io.swagger.annotations.ApiModelProperty;
/**
* @author Administrator
* @description
* @date 2023/10/17 9:06
*/
public class SubmitSolutionsChangeDto extends SolutionssChangeDto {
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("流程实例id")
@JsonProperty("procInsId")
private String instanceId;
}

1
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionQuery.java

@ -13,6 +13,7 @@ import lombok.Data;
@Data
public class AppSolutionQuery implements Query {
private static final long serialVersionUID = 614392826688318560L;
private boolean appendPolicySid;
@JsonProperty("isShowMore")
private boolean isShowMore;
@ApiModelProperty("是否打包:1是0否")

1
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionVo.java

@ -18,6 +18,7 @@ import java.util.List;
@Data
public class AppSolutionVo {
private boolean appendPolicySid;
/* @ApiModelProperty("是否是三方金融")
private boolean finPlanState;*/
@JsonProperty("isShowMore")

7
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/SolutionsFeign.java

@ -43,17 +43,18 @@ public interface SolutionsFeign {
@RequestParam("userSid") String userSid,
@RequestParam("isPack") String isPack,
@RequestParam(value = "name", required = false) String name,
@RequestParam(value = "modelSid", required = false) String modelSid);
@RequestParam(value = "modelSid", required = false) String modelSid,
@RequestParam(value = "policySid", required = false) String policySid);
@ApiOperation("获取分公司下其他融")
@GetMapping("/selectOtherList")
@ResponseBody
ResultBean<List<OtherPolicysVo>> selectOtherList(@RequestParam("orgPath") String orgPath, @RequestParam("userSid") String userSid, @RequestParam(value = "sid", required = false) String sid, @RequestParam(value = "name", required = false) String name,@RequestParam(value = "modelSid", required = false) String modelSid,@RequestParam(value = "period", required = false) String period);
ResultBean<List<OtherPolicysVo>> selectOtherList(@RequestParam("orgPath") String orgPath, @RequestParam("userSid") String userSid, @RequestParam(value = "sid", required = false) String sid, @RequestParam(value = "name", required = false) String name, @RequestParam(value = "modelSid", required = false) String modelSid, @RequestParam(value = "period", required = false) String period);
@ApiOperation("获取产品政策下其他融")
@GetMapping("/selectOtherList2")
@ResponseBody
ResultBean<List<OtherPolicysVo>> selectOtherList2(@RequestParam("orgPath") String orgPath, @RequestParam("userSid") String userSid, @RequestParam(value = "sid", required = false) String sid, @RequestParam(value = "name", required = false) String name,@RequestParam(value = "modelSid", required = false) String modelSid,@RequestParam(value = "period", required = false) String period);
ResultBean<List<OtherPolicysVo>> selectOtherList2(@RequestParam("orgPath") String orgPath, @RequestParam("userSid") String userSid, @RequestParam(value = "sid", required = false) String sid, @RequestParam(value = "name", required = false) String name, @RequestParam(value = "modelSid", required = false) String modelSid, @RequestParam(value = "period", required = false) String period);
@ApiOperation("初始化金融方案2")
@GetMapping("/selectDetailsVo2")

112
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/solutionsChange/SolutionsChangeRest.java

@ -0,0 +1,112 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.biz.autoservice.solutionsChange;
import com.yxt.anrui.terminal.api.autoservice.solutionsChange.SolutionChangeVo;
import com.yxt.anrui.terminal.api.autoservice.solutionsChange.SolutionsChangeFeign;
import com.yxt.anrui.terminal.api.autoservice.solutionsChange.SolutionssChangeDto;
import com.yxt.anrui.terminal.api.autoservice.solutionsChange.flow.*;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "金融业务变更")
@Controller
@RequestMapping("/autoservice/v1/SolutionsChange")
public class SolutionsChangeRest implements SolutionsChangeFeign {
@Autowired
SolutionsChangeService solutionsChangeService;
@Override
public ResultBean<SolutionChangeVo> solutionsInit(String orderSid, String userSid, String orgPath) {
return solutionsChangeService.solutionsInit(orderSid,userSid,orgPath);
}
@Override
public ResultBean<String> saveAppSolutions(SolutionssChangeDto dto) {
return solutionsChangeService.saveAppSolutions(dto);
}
@Override
public ResultBean<SolutionChangeVo> appDetails(String sid) {
return solutionsChangeService.appDetails(sid);
}
@Override
public ResultBean deleteSolution(String sid) {
return solutionsChangeService.deleteSolution(sid);
}
@Override
public ResultBean submitSolutionsChange(SubmitSolutionsChangeDto dto) {
return solutionsChangeService.submitSolutionsChange(dto);
}
@Override
public ResultBean agreeSolutionsChange(CompleteSolutionsChangeDto dto) {
return solutionsChangeService.agreeSolutionsChange(dto);
}
@Override
public ResultBean rejectSolutionsChange(AppSolutionsChangeTaskQuery query) {
return solutionsChangeService.rejectSolutionsChange(query);
}
@Override
public ResultBean recallSolutionsChange(AppSolutionsChangeTaskQuery query) {
return solutionsChangeService.recallSolutionsChange(query);
}
@Override
public ResultBean stopSolutionsChange(AppSolutionsChangeTaskQuery query) {
return solutionsChangeService.stopSolutionsChange(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(SolutionsChangeFlowableQuery query) {
return solutionsChangeService.getFlowOperateTitle(query);
}
@Override
public ResultBean delegate(AppSolutionsChangeDelegateQuery delegateQuery) {
return solutionsChangeService.delegate(delegateQuery);
}
}

225
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/solutionsChange/SolutionsChangeService.java

@ -0,0 +1,225 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.biz.autoservice.solutionsChange;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.buscenter.api.bussolutionschange.BusSolutionsChangeFeign;
import com.yxt.anrui.buscenter.api.bussolutionschange.app.AppSolutionChangeVo;
import com.yxt.anrui.buscenter.api.bussolutionschange.app.AppSolutionssChangeDto;
import com.yxt.anrui.buscenter.api.bussolutionschange.app.AppSubmitSolutionDto;
import com.yxt.anrui.buscenter.api.bussolutionschange.flow.flow.*;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loancustomerrecord.flow.CustomerRecordDelegateQuery;
import com.yxt.anrui.riskcenter.api.loancustomerrecord.flow.GetNodeVo;
import com.yxt.anrui.terminal.api.autoservice.solutionsChange.SolutionChangeVo;
import com.yxt.anrui.terminal.api.autoservice.solutionsChange.SolutionssChangeDto;
import com.yxt.anrui.terminal.api.autoservice.solutionsChange.flow.*;
import com.yxt.anrui.terminal.api.autoservice.solutionsChange.flow.SubmitSolutionsChangeDto;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class SolutionsChangeService {
@Autowired
private BusSolutionsChangeFeign busSolutionsChangeFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
public ResultBean<SolutionChangeVo> solutionsInit(String orderSid, String userSid, String orgPath) {
ResultBean<SolutionChangeVo> rb = ResultBean.fireFail();
ResultBean<AppSolutionChangeVo> resultBean = busSolutionsChangeFeign.solutionsInit(orderSid, orgPath, userSid);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
SolutionChangeVo vo = new SolutionChangeVo();
BeanUtil.copyProperties(resultBean.getData(), vo);
return rb.success().setData(vo);
}
public ResultBean<String> saveAppSolutions(SolutionssChangeDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
AppSolutionssChangeDto solutionssChangeDto = new
AppSolutionssChangeDto();
BeanUtil.copyProperties(dto, solutionssChangeDto);
ResultBean<String> resultBean = busSolutionsChangeFeign.saveAppSolutions(solutionssChangeDto);
if (resultBean.getSuccess()) {
rb.success().setData(resultBean.getData());
}
return rb.success();
}
public ResultBean<SolutionChangeVo> appDetails(String sid) {
ResultBean<SolutionChangeVo> rb = ResultBean.fireFail();
ResultBean<AppSolutionChangeVo> resultBean = busSolutionsChangeFeign.appDetails(sid);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
SolutionChangeVo vo = new SolutionChangeVo();
BeanUtil.copyProperties(resultBean.getData(), vo);
return rb.success().setData(vo);
}
public ResultBean deleteSolution(String sid) {
ResultBean rb = ResultBean.fireFail();
ResultBean resultBean = busSolutionsChangeFeign.deleteSolution(sid);
return rb.success();
}
public ResultBean submitSolutionsChange(SubmitSolutionsChangeDto dto) {
ResultBean rb = ResultBean.fireFail();
AppSubmitSolutionDto submitSolutionDto = new AppSubmitSolutionDto();
BeanUtil.copyProperties(dto, submitSolutionDto);
ResultBean resultBean = busSolutionsChangeFeign.submitAppSolution(submitSolutionDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
public ResultBean agreeSolutionsChange(CompleteSolutionsChangeDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
SolutionsChangeCompleteDto solutionsChangeCompleteDto = new
SolutionsChangeCompleteDto();
BeanUtil.copyProperties(dto, solutionsChangeCompleteDto);
solutionsChangeCompleteDto.setOrgSidPath(orgSidPath);
ResultBean resultBean = busSolutionsChangeFeign.complete(solutionsChangeCompleteDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectSolutionsChange(AppSolutionsChangeTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
SolutionsChangeTaskQuery taskQuery = new
SolutionsChangeTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = busSolutionsChangeFeign.taskReject(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallSolutionsChange(AppSolutionsChangeTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
SolutionsChangeTaskQuery taskQuery = new
SolutionsChangeTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = busSolutionsChangeFeign.revokeProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopSolutionsChange(AppSolutionsChangeTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
SolutionsChangeTaskQuery taskQuery = new
SolutionsChangeTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = busSolutionsChangeFeign.breakProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(SolutionsChangeFlowableQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
SolutionsGetNodeQuery getNodeQuery = new SolutionsGetNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<SolutionsGetNodeVo>> getPreviousNodesForReject = busSolutionsChangeFeign.getPreviousNodesForReject(getNodeQuery);
if (getPreviousNodesForReject.getSuccess()) {
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null));
data = getPreviousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(getPreviousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<SolutionsGetNodeVo>> getNextNodesForSubmit = busSolutionsChangeFeign.getNextNodesForSubmit(getNodeQuery);
if (getNextNodesForSubmit.getSuccess()) {
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = getNextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(getNextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
public ResultBean delegate(AppSolutionsChangeDelegateQuery delegateQuery) {
ResultBean rb = ResultBean.fireFail();
SolutionsChangeDelegateQuery delegateQuery1 = new
SolutionsChangeDelegateQuery();
BeanUtil.copyProperties(delegateQuery, delegateQuery1);
ResultBean delegate = busSolutionsChangeFeign.delegate(delegateQuery1);
return rb.success();
}
}

4
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/solutions/SolutionsRest.java

@ -39,8 +39,8 @@ public class SolutionsRest implements SolutionsFeign {
}
@Override
public ResultBean<List<PolicysVo>> selectList(String orgPath, String userSid, String isPack, String name,String modelSid) {
return solutionsService.selectList(orgPath, userSid, isPack, name,modelSid);
public ResultBean<List<PolicysVo>> selectList(String orgPath, String userSid, String isPack, String name,String modelSid,String policySid) {
return solutionsService.selectList(orgPath, userSid, isPack, name,modelSid,policySid);
}
@Override

7
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/solutions/SolutionsService.java

@ -4,10 +4,12 @@ import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicyFeign;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.OtherPolicyVo;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyFeign;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyVo;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.PolicyVo;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign;
import com.yxt.anrui.riskcenter.api.loansolutions.app.*;
import com.yxt.anrui.terminal.api.risk.solutions.*;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -15,6 +17,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Author dimengzhe
@ -54,10 +57,10 @@ public class SolutionsService {
return rb.success().setData(appSolutionsDetailsVo).setCode(resultBean.getCode());
}
public ResultBean<List<PolicysVo>> selectList(String orgPath, String userSid, String isPack, String name, String modelSid) {
public ResultBean<List<PolicysVo>> selectList(String orgPath, String userSid, String isPack, String name, String modelSid, String policySid) {
ResultBean<List<PolicysVo>> rb = ResultBean.fireFail();
List<PolicysVo> listNew = new ArrayList<>();
ResultBean<List<PolicyVo>> resultBean = loanFinPolicyFeign.selectList(orgPath, userSid, isPack, name, modelSid);
ResultBean<List<PolicyVo>> resultBean = loanFinPolicyFeign.selectList(orgPath, userSid, isPack, name, modelSid, policySid);
if (resultBean.getData() != null && !resultBean.getData().isEmpty()) {
List<PolicyVo> list = resultBean.getData();
list.removeAll(Collections.singleton(null));

Loading…
Cancel
Save