Browse Source

贷前信用审核

优化工作
master
God 2 years ago
parent
commit
ba624201a3
  1. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleDto.java
  2. 10
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleQuery.java
  3. 40
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderQuery.java
  4. 46
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  5. 27
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  6. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderRest.java
  7. 47
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java
  8. 57
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java
  9. 60
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/OtherReceivableBillService.java
  10. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/data_model.json
  11. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpreloancreditapply/LoanPreloanCreditApply.java
  12. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpreloancreditapply/LoanPreloanCreditApplyDetailsVo.java
  13. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpreloancreditapply/LoanPreloanCreditApplyDto.java
  14. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpreloancreditapply/LoanPreloanCreditApplyQuery.java
  15. 11
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpreloancreditapply/LoanPreloanCreditApplyVo.java
  16. 26
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpreloancreditapply/LoanPreloanCreditApplyService.java
  17. 19
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewDetailsQuery.java
  18. 55
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewDetailsVo.java
  19. 51
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewFeign.java
  20. 42
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewFeignFallback.java
  21. 19
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewQuery.java
  22. 37
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewVo.java
  23. 15
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/IdentityDetailsVo.java
  24. 26
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/ShareholderDetailsVo.java
  25. 51
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/creditreview/CreditReviewRest.java
  26. 205
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/creditreview/CreditReviewService.java

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleDto.java

@ -25,6 +25,8 @@ import javax.validation.constraints.NotBlank;
@Data
public class BaseVehicleDto implements Dto {
@ApiModelProperty(value = "创建人sid")
private String createBySid;
@ApiModelProperty(value = "车辆型号")
private String vehMark;
@ApiModelProperty("物料sid(陕汽必须的字段)")

10
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleQuery.java

@ -28,6 +28,10 @@ public class BaseVehicleQuery implements Query {
private String userSid;
@ApiModelProperty(value = "分公司sid")
private String orgSid;
@ApiModelProperty(value = "分公司名称")
private String orgName;
@ApiModelProperty(value = "采购系统")
private String purchaseSystemName;
@ApiModelProperty(value = "创建组织sid")
private String createOrgSid;
@ApiModelProperty(value = "组织全路径")
@ -65,6 +69,12 @@ public class BaseVehicleQuery implements Query {
private String solidStartDate;
@ApiModelProperty(value = "排产订单编号")
private String orderingNo;
@ApiModelProperty(value = "厂家库龄")
private String libraryAge;
@ApiModelProperty(value = "公司库龄")
private String orgLibraryAge;
@ApiModelProperty(value = "买断库龄")
private String settlementLibraryAge;
private String menuUrl;
private String menuSid;

40
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderQuery.java

@ -50,34 +50,36 @@ public class BusVehicleOrderQuery implements Query {
@ApiModelProperty("userSid")
private String userSid;
@ApiModelProperty("业务员sid")
private String staffSid;
@ApiModelProperty("分公司sid")
private String useOrgSid;
@ApiModelProperty("订单编号")
private String orderNo;
@ApiModelProperty("订单类型key")
private String orderTypeKey;
@ApiModelProperty("当前组织机构sid")
private String orgPath;
@ApiModelProperty("排产申请编号")
private String applicationCode;
@ApiModelProperty("订单状态")
private String orderStatus;
@ApiModelProperty("开始日期")
private String startDate;
@ApiModelProperty("结束日期")
private String endDate;
@ApiModelProperty("车型")
@ApiModelProperty("订单开始日期")
private String orderStartDate;
@ApiModelProperty("订单结束日期")
private String orderEndDate;
@ApiModelProperty("车型小名")
private String modelName;
@ApiModelProperty("排产申请编号")
private String applicationCode;
@ApiModelProperty("当前组织机构sid")
private String orgPath;
@ApiModelProperty("预计上线开始日期")
private String yjsxStartDate;
@ApiModelProperty("预计上线结束日期")
private String yjsxEndDate;
@ApiModelProperty("上线开始日期")
private String sxStartDate;
@ApiModelProperty("上线结束日期")
private String sxEndDate;
@ApiModelProperty("下线开始日期")
private String xxStartDate;
@ApiModelProperty("下线结束日期")
private String xxEndDate;
}

46
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml

@ -12,8 +12,27 @@
</select>
<!--分页列表-->
<select id="pagerList" resultType="com.yxt.anrui.base.api.basevehicle.BaseVehicleVo">
SELECT distinct
so.orgSidPath,
SELECT DISTINCT
CASE
WHEN bv.manPurOrderTypeValue = "外采"
THEN 0
WHEN bv.solidDate IS NOT NULL
THEN DATEDIFF(bv.priceDate, bv.solidDate)
WHEN bv.solidDate IS NULL
THEN DATEDIFF(bv.priceDate, NOW())
END AS libraryAge,
CASE
WHEN bv.salesDate IS NOT NULL
THEN DATEDIFF(bv.departureDate, bv.salesDate)
WHEN bv.salesDate IS NULL
THEN DATEDIFF(bv.departureDate, NOW())
END AS orgLibraryAge,
CASE
WHEN bv.salesDate IS NOT NULL
THEN DATEDIFF(bv.solidDate, bv.salesDate)
WHEN bv.salesDate IS NULL
THEN DATEDIFF(bv.solidDate, NOW())
END AS settlementLibraryAge,
bv.sid,
bv.modelSid,
bv.engineNo,
@ -100,16 +119,23 @@
bvcf.carModel,
bvm.modelName AS modelNameQuan,
bvm.`brandName` AS vehModelBrandName,
(select bbc.guidedPrice from base_vehmodel_config bbc where bbc.modelSid = bv.modelSid
and bbc.useOrgSid =bv.useOrgSid
AND bmc.sid=bbc.configurationItemsSid ) as guidedPrice
(SELECT
bbc.guidedPrice
FROM
base_vehmodel_config bbc
WHERE bbc.modelSid = bv.modelSid
AND bbc.useOrgSid = bv.useOrgSid
AND bmc.sid = bbc.configurationItemsSid) AS guidedPrice
FROM
base_vehicle bv
LEFT JOIN base_vehicle_model bvm ON bv.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc ON bv.`modelConfigSid` = bmc.`sid`
LEFT JOIN base_vehicle_certificate bvcf ON bv.`sid` = bvcf.`vehicleSid`
LEFT JOIN base_vehmodel_config bvc ON bvm.`sid` = bvc.`modelSid`
LEFT JOIN anrui_portal.sys_organization so ON bv.createOrgSid = so.sid
LEFT JOIN base_vehicle_model bvm
ON bv.`modelSid` = bvm.`sid`
LEFT JOIN base_model_config bmc
ON bv.`modelConfigSid` = bmc.`sid`
LEFT JOIN base_vehicle_certificate bvcf
ON bv.`sid` = bvcf.`vehicleSid`
LEFT JOIN base_vehmodel_config bvc
ON bvm.`sid` = bvc.`modelSid`
<where>
${ew.sqlSegment}
</where>

27
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java

@ -4027,6 +4027,12 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
}
}
qw.eq("bv.isDelete", "0");
if (StringUtils.isNotBlank(pagerQuery.getOrgName())){
qw.like("bv.createOrgName",pagerQuery.getOrgName());
}
if (StringUtils.isNotBlank(pagerQuery.getPurchaseSystemName())){
qw.like("bv.purchaseSystemName",pagerQuery.getPurchaseSystemName());
}
if (StringUtils.isNotBlank(pagerQuery.getOrgSid())) {
qw.eq("bv.createOrgSid", pagerQuery.getOrgSid());
}
@ -4163,11 +4169,20 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
}
qw.orderByDesc("bv.createOrgSid");
qw.orderByDesc("bv.priceDate");
if (StringUtils.isNotBlank(pagerQuery.getLibraryAge())){
qw.having("libraryAge = {0}",pagerQuery.getLibraryAge());
}
if (StringUtils.isNotBlank(pagerQuery.getOrgLibraryAge())){
qw.having("orgLibraryAge = {0}",pagerQuery.getOrgLibraryAge());
}
if (StringUtils.isNotBlank(pagerQuery.getSettlementLibraryAge())){
qw.having("settlementLibraryAge = {0}",pagerQuery.getSettlementLibraryAge());
}
IPage<BaseVehicleQuery> page = PagerUtil.queryToPage(pq);
IPage<BaseVehicleVo> pagging = baseMapper.pagerList(page, qw);
List<BaseVehicleVo> records = pagging.getRecords();
for (BaseVehicleVo record : records) {
String manPurOrderTypeValue = record.getManPurOrderTypeValue();
/* String manPurOrderTypeValue = record.getManPurOrderTypeValue();
if (("外采").equals(manPurOrderTypeValue)) {
record.setLibraryAge(Long.parseLong("0"));
} else {
@ -4189,9 +4204,9 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
record.setLibraryAge(betweenDay * i * -1);
}
}
}
}*/
//公司库龄
if (record.getDepartureDate() != null) {
/*if (record.getDepartureDate() != null) {
//发车日期
Date departureDate = record.getDepartureDate();
//销售日期
@ -4207,9 +4222,9 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
long betweenDay = DateUtil.between(departureDate, currentDate, DateUnit.DAY);
record.setOrgLibraryAge(betweenDay * i * -1);
}
}
}*/
//买断库龄
if (record.getSolidDate() != null) {
/*if (record.getSolidDate() != null) {
//买断日期
Date solidDate = record.getSolidDate();
//销售日期
@ -4225,7 +4240,7 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
long betweenDay = DateUtil.between(solidDate, currentDate, DateUnit.DAY);
record.setSettlementLibraryAge(betweenDay * i * -1);
}
}
}*/
String vinNo = record.getVinNo();
if (StringUtils.isNotBlank(vinNo)) {
record.setLastVinNo(vinNo.substring(vinNo.length() - 8));

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderRest.java

@ -68,8 +68,7 @@ public class BusVehicleOrderRest implements BusVehicleOrderFeign {
private BusVehicleOrderService busVehicleOrderService;
@Autowired
private BusVehicleApplyService busVehicleApplyService;
@Autowired
private BusVehicleApplyDetailService busVehicleApplyDetailService;
@Override
public ResultBean<PagerVo<VehicleOrderListVo>> listPage(PagerQuery<BusVehicleOrderQuery> pq) {
ResultBean rb = ResultBean.fireFail();

47
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java

@ -132,11 +132,11 @@ public class BusVehicleOrderService extends MybatisBaseService<BusVehicleOrderMa
if (StringUtils.isNotBlank(query.getModelName())) {
qw.like("bvad.vehicleName", query.getModelName());
}
if (StringUtils.isNotBlank(query.getStartDate())) {
qw.gt("bva.applicationDate", query.getStartDate());
if (StringUtils.isNotBlank(query.getOrderStartDate())) {
qw.gt("bva.applicationDate", query.getOrderStartDate());
}
if (StringUtils.isNotBlank(query.getEndDate())) {
qw.lt("bva.applicationDate", query.getEndDate());
if (StringUtils.isNotBlank(query.getOrderEndDate())) {
qw.lt("bva.applicationDate", query.getOrderEndDate());
}
if (StringUtils.isNotBlank(query.getApplicationCode())) {
qw.like("bva.applicationCode", query.getApplicationCode());
@ -154,7 +154,44 @@ public class BusVehicleOrderService extends MybatisBaseService<BusVehicleOrderMa
String orgSid = sysStaffOrgFeign.getPathSidByUserSid(query.getUserSid()).getData();
query.setUseOrgSid(orgSid);
}
QueryWrapper<BusVehicleOrder> qw = createQueryWrapper(query);
QueryWrapper<BusVehicleOrder> qw = new QueryWrapper<>();
qw.eq("bvo.useOrgSid", query.getUseOrgSid());
if (StringUtils.isNotBlank(query.getOrderNo())) {
qw.like("bvo.orderNo", query.getOrderNo());
}
if (StringUtils.isNotBlank(query.getOrderTypeKey())) {
qw.like("bvo.orderTypeKey", query.getOrderTypeKey());
}
if (StringUtils.isNotBlank(query.getApplicationCode())) {
qw.like("bva.applicationCode", query.getApplicationCode());
}
if (StringUtils.isNotBlank(query.getOrderStatus())) {
qw.like("bvo.orderStatus", query.getOrderStatus());
}
if (StringUtils.isNotBlank(query.getModelName())) {
qw.like("bvad.vehicleName", query.getModelName());
}
String orderStartDate = query.getOrderStartDate();
String orderEndDate = query.getOrderEndDate();
qw.apply(StringUtils.isNotBlank(orderStartDate), "date_format (bva.applicationDate,'%Y-%m-%d') >= date_format('" + orderStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(orderEndDate), "date_format (bva.applicationDate,'%Y-%m-%d') <= date_format('" + orderEndDate + "','%Y-%m-%d')"
);
String yjsxStartDate = query.getYjsxStartDate();
String yjsxEndDate = query.getYjsxEndDate();
qw.apply(StringUtils.isNotBlank(yjsxStartDate), "date_format (bva.expectLaunchDate,'%Y-%m-%d') >= date_format('" + yjsxStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(yjsxEndDate), "date_format (bva.expectLaunchDate,'%Y-%m-%d') <= date_format('" + yjsxEndDate + "','%Y-%m-%d')"
);
String sxStartDate = query.getSxStartDate();
String sxEndDate = query.getSxEndDate();
qw.apply(StringUtils.isNotBlank(sxStartDate), "date_format (bva.launchDate,'%Y-%m-%d') >= date_format('" + sxStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(sxEndDate), "date_format (bva.launchDate,'%Y-%m-%d') <= date_format('" + sxEndDate + "','%Y-%m-%d')"
);
String xxStartDate = query.getXxStartDate();
String xxEndDate = query.getXxEndDate();
qw.apply(StringUtils.isNotBlank(xxStartDate), "date_format (bva.offlineDate,'%Y-%m-%d') >= date_format('" + xxStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(xxEndDate), "date_format (bva.offlineDate,'%Y-%m-%d') <= date_format('" + xxEndDate + "','%Y-%m-%d')"
);
qw.orderByDesc("bvo.subscriptionDate");
IPage<BusVehicleOrder> page = PagerUtil.queryToPage(pq);
IPage<VehicleOrderListVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<VehicleOrderListVo> p = PagerUtil.pageToVo(pagging, null);

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

@ -52,10 +52,13 @@ import com.yxt.anrui.fin.api.finfundscarriedforwardveh.FinFundsCarriedForwardVeh
import com.yxt.anrui.fin.api.finfundscarriedforwardveh.FinFundsCarriedForwardVehDto;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailed;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.otherarreceivable.OtherReceivable;
import com.yxt.anrui.fin.biz.fincollectionconfirmation.FinCollectionConfirmationService;
import com.yxt.anrui.fin.biz.finfundscarriedforwardveh.FinFundsCarriedForwardVehService;
import com.yxt.anrui.fin.biz.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedService;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.anrui.fin.biz.kingdee.bdcustomer.BdCustomerService;
import com.yxt.anrui.fin.biz.kingdee.otherreceivablebill.OtherReceivableBillService;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
@ -117,7 +120,9 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
@Autowired
private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign;
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
private FinKingDeeService finKingDeeService;
@Autowired
private BdCustomerService bdCustomerService;
@Autowired
private BaseVehicleFeign baseVehicleFeign;
@Autowired
@ -606,6 +611,16 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
SysUserVo sysUserVo = sysUserFeign.fetchBySid(finFundsCarriedForwardApply.getCreateBySid()).getData();
if (sysUserVo.getStaffSid().equals(finFundsCarriedForwardApply.getStaffSid())) {
variables.put("isAdj", true);
List<String> orgPathList = Arrays.asList(finFundsCarriedForwardApply.getOrgSidPath().split("/"));
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(orgPathList.get(orgPathList.size() - 1)).getData();
if (sysOrganization == null) {
return rb.setMsg("当前所在的组织机构不存在");
}
if (StringUtils.isBlank(sysOrganization.getManagerSid())) {
bv.setNextNodeUserSids(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId());
}else {
bv.setNextNodeUserSids(sysOrganization.getManagerSid());
}
} else {
variables.put("isAdj", false);
SysUserVo userVo = sysUserFeign.selectByStaffsid(finFundsCarriedForwardApply.getStaffSid()).getData();
@ -782,19 +797,43 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
* */
private String getCustNoCW(String busSid) {
String custNo = "";
BdCustomer bdCustomer = new BdCustomer();
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(busSid);
if ("1".equals(finSelectedReceivablesDetailed.getPayTypeKey())) {//全款
custNo = finSelectedReceivablesDetailed.getContractNo();
//判断金蝶中是否存在该客户
Boolean custaBoolean = finKingDeeService.customerExistState(custNo).getData();
if (!custaBoolean) {//不存在则创建全款客户
bdCustomer.setFNumber(custNo);
bdCustomer.setFName(finSelectedReceivablesDetailed.getCustomerName() + custNo);
//bdCustomer.setTOrgIds();
}
} else {//贷款
if (finSelectedReceivablesDetailed.getVIN().length() > 3) {
BaseVehicle baseVehicle = baseVehicleFeign.selectByVinNoAndOrgSid(finSelectedReceivablesDetailed.getVIN(), finSelectedReceivablesDetailed.getUseOrgSid()).getData();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(finSelectedReceivablesDetailed.getContractNo(), baseVehicle.getSid()).getData();
custNo = busSalesOrderVehicle.getTemporaryNo();
//判断金蝶中是否存在该客户
Boolean custaBoolean = finKingDeeService.customerExistState(custNo).getData();
if (!custaBoolean) {//不存在则创建贷款客户
bdCustomer.setFNumber(custNo);
bdCustomer.setFName(finSelectedReceivablesDetailed.getCustomerName() + finSelectedReceivablesDetailed.getVIN().substring(finSelectedReceivablesDetailed.getVIN().length() - 8));
//bdCustomer.setTOrgIds();
bdCustomer.setFShortName(finSelectedReceivablesDetailed.getCustomerName() + custNo);
}
} else {
//没有车架号,拼接合同号和临时编号
custNo = finSelectedReceivablesDetailed.getContractNo() + finSelectedReceivablesDetailed.getVIN();
//判断金蝶中是否存在该客户
Boolean custaBoolean = finKingDeeService.customerExistState(custNo).getData();
if (!custaBoolean) {//不存在则创建临时类客户
bdCustomer.setFNumber(custNo);
bdCustomer.setFName(finSelectedReceivablesDetailed.getCustomerName() + custNo);
//bdCustomer.setTOrgIds();
}
}
}
bdCustomerService.draftBdCustomer(bdCustomer);
return custNo;
}
@ -1086,10 +1125,6 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
ResultBean rb = ResultBean.fireFail();
String businessSid = bv.getBusinessSid();
FinFundsCarriedForwardApply finFundsCarriedForwardApply = fetchBySid(businessSid);
//销售部门信息
SysOrganizationVo sysOrganizationVo1 = sysOrganizationFeign.fetchBySid(finFundsCarriedForwardApply.getSaleDeptSid()).getData();
//分公司信息
SysOrganizationVo sysOrganizationVo2 = sysOrganizationFeign.fetchBySid(finFundsCarriedForwardApply.getUseOrgSid()).getData();
FinFundsCarriedForwardApplyDetailsVo data = fetchDetailsVoBySid(businessSid).getData();
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
@ -1105,6 +1140,18 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
}
bv.setFormVariables(variables);
bv.setOrgSidPath(finFundsCarriedForwardApply.getOrgSidPath());
if ("Activity_1kve61q".equals(bv.getTaskDefKey())){
List<String> orgPathList = Arrays.asList(finFundsCarriedForwardApply.getOrgSidPath().split("/"));
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(orgPathList.get(orgPathList.size() - 1)).getData();
if (sysOrganization == null) {
return rb.setMsg("当前所在的组织机构不存在");
}
if (StringUtils.isBlank(sysOrganization.getManagerSid())) {
bv.setNextNodeUserSids(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId());
}else {
bv.setNextNodeUserSids(sysOrganization.getManagerSid());
}
}
if (bv.getTaskId().equals(finFundsCarriedForwardApply.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {

60
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/OtherReceivableBillService.java

@ -19,44 +19,56 @@ public class OtherReceivableBillService extends FinKingDeeService {
/**
* 生成的其他应收单的数据推送到金蝶的平台中
*
* @param otherReceivable
* @return
*/
public ResultBean otherReceivableBillService(OtherReceivable otherReceivable) {
ResultBean rb=ResultBean.fireFail();
ResultBean rb = ResultBean.fireFail();
//业务表的主表数据集合
Map<String,String> map_fEntityModel_=new HashMap<>();
Map<String, String> map_fEntityModel_ = new HashMap<>();
//物料的数组集合
//单据编号
if(otherReceivable.getBillNo()==null){
if (otherReceivable.getBillNo() == null) {
return rb.setMsg("单据编号不能为空");
}
map_fEntityModel_.put("FBillNo",otherReceivable.getBillNo());
map_fEntityModel_.put("FBillNo", otherReceivable.getBillNo());
//业务日期
if(otherReceivable.getBussDate()==null){
if (otherReceivable.getBussDate() == null) {
return rb.setMsg("业务日期不能为空");
}
map_fEntityModel_.put("FDATE",otherReceivable.getBussDate());
map_fEntityModel_.put("FDATE", otherReceivable.getBussDate());
//客户
if(otherReceivable.getCommUnit()==null){
if (otherReceivable.getCommUnit() == null) {
return rb.setMsg("客户编码不能为空");
}
map_fEntityModel_.put("FCONTACTUNIT",otherReceivable.getCommUnit());
map_fEntityModel_.put("FCONTACTUNIT", otherReceivable.getCommUnit());
//收款组织
if(otherReceivable.getCollectionOrg()==null){
if (otherReceivable.getCollectionOrg() == null) {
return rb.setMsg("收款组织不能为空");
}
map_fEntityModel_.put("FPAYORGID",otherReceivable.getCollectionOrg());
map_fEntityModel_.put("FSETTLEORGID",otherReceivable.getCollectionOrg());
List<OtherReceivable.CollectionDetailDto> collectionDetails = otherReceivable.getCollectionDetails()==null?new ArrayList<>(): otherReceivable.getCollectionDetails();
map_fEntityModel_.put("FPAYORGID", otherReceivable.getCollectionOrg());
map_fEntityModel_.put("FSETTLEORGID", otherReceivable.getCollectionOrg());
List<OtherReceivable.CollectionDetailDto> collectionDetails = otherReceivable.getCollectionDetails() == null ? new ArrayList<>() : otherReceivable.getCollectionDetails();
//准备 物料列表的数据
ResultBean<List<Map<String, String>>> vehicleListMap = createVehicleListsForReceivableBill(collectionDetails);
if(!vehicleListMap.getSuccess()){
ResultBean<List<Map<String, String>>> vehicleListMap = createVehicleListsForReceivableBill(collectionDetails);
if (!vehicleListMap.getSuccess()) {
return rb.setMsg(vehicleListMap.getMsg());
}
String kingDeeData = OtherReceivableBillCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap.getData());
String kingDeeData = OtherReceivableBillCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_, vehicleListMap.getData());
try {
return accessKingDeeInterface(KingDeeBillId.AR_OTHERRECEIVABLE.getID(),kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.AR_OTHERRECEIVABLE.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
if(!resultBean1.getSuccess()){
log.info("其他应收单保存失败!");
return rb.setMsg("其他应收单保存失败!");
}
log.info("其他应收单保存成功!");
ResultBean<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.AR_OTHERRECEIVABLE.getID(), kingDeeData, KingDeeBillUrl.SUBMIT_URL.getURL());
if(!resultBean2.getSuccess()){
log.info("其他应收单提交失败!");
return rb.setMsg("其他应收单提交失败!");
}
log.info("其他应收单提交成功!");
} catch (Exception e) {
e.printStackTrace();
}
@ -64,19 +76,19 @@ public class OtherReceivableBillService extends FinKingDeeService {
}
public ResultBean<List<Map<String, String>>> createVehicleListsForReceivableBill(List<OtherReceivable.CollectionDetailDto> collectionDetails) {
ResultBean<List<Map<String, String>>> rb=ResultBean.fireFail();
List<Map<String,String>> collectionDetailMap=new ArrayList<>();
for(int i = 0; i< collectionDetails.size(); i++){
ResultBean<List<Map<String, String>>> rb = ResultBean.fireFail();
List<Map<String, String>> collectionDetailMap = new ArrayList<>();
for (int i = 0; i < collectionDetails.size(); i++) {
OtherReceivable.CollectionDetailDto c = collectionDetails.get(i);
Map<String,String> m=new HashMap<>();
if(StringUtils.isBlank(c.getDearDept())){
Map<String, String> m = new HashMap<>();
if (StringUtils.isBlank(c.getDearDept())) {
return rb.setMsg("承担部门不能为空");
}
if(StringUtils.isBlank(c.getExTaxMoney())){
if (StringUtils.isBlank(c.getExTaxMoney())) {
return rb.setMsg("不含税金额不能为空");
}
m.put("FCOSTDEPARTMENTID",c.getDearDept());
m.put("FNOTAXAMOUNTFOR",c.getExTaxMoney());
m.put("FCOSTDEPARTMENTID", c.getDearDept());
m.put("FNOTAXAMOUNTFOR", c.getExTaxMoney());
collectionDetailMap.add(m);
}
return rb.success().setData(collectionDetailMap);

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/otherreceivablebill/data_model.json

@ -5,7 +5,7 @@
},
"FBillNo": "@KD_FBillNo",
"FDATE": "@KD_FDATE",
"FENDDATE_H": "1900-01-01",
"FENDDATE_H": "@KD_FDATE",
"FISINIT": "false",
"FCONTACTUNITTYPE": "BD_Customer",
"FCONTACTUNIT": {

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpreloancreditapply/LoanPreloanCreditApply.java

@ -75,6 +75,8 @@ public class LoanPreloanCreditApply extends BaseEntity {
private String useOrgName; // 分公司名称
@ApiModelProperty("组织全路径")
private String orgSidPath; // 组织全路径
@ApiModelProperty("公司风控结果key")
private String gsfkjgKey;
@ApiModelProperty("公司风控结果")
private String gsfkjg;
@ApiModelProperty("公司审核日期")
@ -83,6 +85,8 @@ public class LoanPreloanCreditApply extends BaseEntity {
private String gsshRemarks;
@ApiModelProperty("资方余额")
private String capitalBalance;
@ApiModelProperty("资方风控结果key")
private String zffkjgKey;
@ApiModelProperty("资方风控结果")
private String zffkjg;
@ApiModelProperty("资方审核日期")

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpreloancreditapply/LoanPreloanCreditApplyDetailsVo.java

@ -86,6 +86,8 @@ public class LoanPreloanCreditApplyDetailsVo implements Vo {
private String useOrgName; // 分公司名称
@ApiModelProperty("组织全路径")
private String orgSidPath; // 组织全路径
@ApiModelProperty("公司风控结果key")
private String gsfkjgKey;
@ApiModelProperty("公司风控结果")
private String gsfkjg;
@ApiModelProperty("公司审核日期")
@ -94,6 +96,8 @@ public class LoanPreloanCreditApplyDetailsVo implements Vo {
private String gsshRemarks;
@ApiModelProperty("资方余额")
private String capitalBalance;
@ApiModelProperty("资方风控结果key")
private String zffkjgKey;
@ApiModelProperty("资方风控结果")
private String zffkjg;
@ApiModelProperty("资方审核日期")

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpreloancreditapply/LoanPreloanCreditApplyDto.java

@ -81,6 +81,8 @@ public class LoanPreloanCreditApplyDto implements Dto {
private String useOrgName; // 分公司名称
@ApiModelProperty("组织全路径")
private String orgSidPath; // 组织全路径
@ApiModelProperty("公司风控结果key")
private String gsfkjgKey;
@ApiModelProperty("公司风控结果")
private String gsfkjg;
@ApiModelProperty("公司审核日期")
@ -89,6 +91,8 @@ public class LoanPreloanCreditApplyDto implements Dto {
private String gsshRemarks;
@ApiModelProperty("资方余额")
private String capitalBalance;
@ApiModelProperty("资方风控结果key")
private String zffkjgKey;
@ApiModelProperty("资方风控结果")
private String zffkjg;
@ApiModelProperty("资方审核日期")

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpreloancreditapply/LoanPreloanCreditApplyQuery.java

@ -67,6 +67,8 @@ public class LoanPreloanCreditApplyQuery implements Query {
private String menuSid;
@ApiModelProperty("移动端查询条件")
private String name;
@ApiModelProperty("审核状态(1提交,0审核)")
@ApiModelProperty("PC审核状态(1提交,0审核)")
private String state;
@ApiModelProperty("移动审核状态(1未审核 2已审核)")
private String type;
}

11
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanpreloancreditapply/LoanPreloanCreditApplyVo.java

@ -53,14 +53,23 @@ public class LoanPreloanCreditApplyVo implements Vo {
private Date createTime;
@ApiModelProperty("车型名称")
private String modelName;
@ApiModelProperty("客户类型key")
private String custTypeKey;
@ApiModelProperty("客户类型value")
private String custTypeValue;
@ApiModelProperty("客户(企业)名称")
private String khqyName;
@ApiModelProperty("资方名称")
private String capitalName;
@ApiModelProperty("身份证号码")
private String idCard;
@ApiModelProperty("手机号码")
private String phone;
@ApiModelProperty("公司审核日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date gsshDate;
@ApiModelProperty("公司风控结果key")
private String gsfkjgKey;
@ApiModelProperty("公司风控结果")
private String gsfkjg;
@ApiModelProperty("资方风控结果")
@ -71,4 +80,6 @@ public class LoanPreloanCreditApplyVo implements Vo {
private Boolean isEdit;
@ApiModelProperty("是否可以删除")
private Boolean isDelete;
@ApiModelProperty("是否可以申诉")
private Boolean isHandle;
}

26
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanpreloancreditapply/LoanPreloanCreditApplyService.java

@ -136,20 +136,32 @@ public class LoanPreloanCreditApplyService extends MybatisBaseService<LoanPreloa
if (StringUtils.isNotBlank(query.getZffkjg())) {
qw.like("zffkjg", query.getZffkjg());
}
if (StringUtils.isNotBlank(query.getType())) {
if ("1".equals(query.getType())) {
qw.ne("state", 2);
} else {
qw.eq("state", 2);
}
}
if (StringUtils.isNotBlank(query.getName())) {
//TODO
qw.and(wrapper -> wrapper.like("custName", query.getKhqyName()).or().like("qyName", query.getKhqyName()));
}
IPage<LoanPreloanCreditApply> page = PagerUtil.queryToPage(pq);
IPage<LoanPreloanCreditApplyVo> pagging = baseMapper.selectPageVo(page, qw);
for (LoanPreloanCreditApplyVo record : pagging.getRecords()) {
String state = record.getState();
if ("1".equals(state)){
if ("1".equals(state)) {
record.setIsEdit(true);
record.setIsDelete(true);
}else {
} else {
record.setIsEdit(false);
record.setIsDelete(false);
}
if ("001".equals(record.getGsfkjgKey())){
record.setIsHandle(false);
}else {
record.setIsHandle(true);
}
}
PagerVo<LoanPreloanCreditApplyVo> p = PagerUtil.pageToVo(pagging, null);
return p;
@ -236,10 +248,10 @@ public class LoanPreloanCreditApplyService extends MybatisBaseService<LoanPreloa
IPage<LoanPreloanCreditApplyVo> pagging = baseMapper.selectPageVo(page, qw);
for (LoanPreloanCreditApplyVo record : pagging.getRecords()) {
String state = record.getState();
if ("0".equals(state)){
if ("0".equals(state)) {
record.setIsEdit(true);
record.setIsDelete(false);
}else {
} else {
record.setIsEdit(false);
record.setIsDelete(false);
}
@ -382,7 +394,7 @@ public class LoanPreloanCreditApplyService extends MybatisBaseService<LoanPreloa
return rb.setMsg("保存失败");
}
String sid = stringResultBean.getData();
baseMapper.updateStateBySid(sid,0);
baseMapper.updateStateBySid(sid, 0);
return rb.success();
}
@ -509,7 +521,7 @@ public class LoanPreloanCreditApplyService extends MybatisBaseService<LoanPreloa
return rb.setMsg("保存失败");
}
String sid = stringResultBean.getData();
baseMapper.updateStateBySid(sid,2);
baseMapper.updateStateBySid(sid, 2);
return rb.success();
}
}

19
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewDetailsQuery.java

@ -0,0 +1,19 @@
package com.yxt.anrui.terminal.api.risk.creditreview;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class CreditReviewDetailsQuery implements Query {
private String sid;
@ApiModelProperty("客户类型key")
private String customerTypeKey;
@ApiModelProperty("客户类型value")
private String customerTypeValue;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("组织全路径")
private String orgPath;
}

55
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewDetailsVo.java

@ -0,0 +1,55 @@
package com.yxt.anrui.terminal.api.risk.creditreview;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class CreditReviewDetailsVo implements Vo {
private String sid;
@ApiModelProperty("申请人+部门")
private String publishInfo;
@ApiModelProperty("申请日期")
private String createTime;
@ApiModelProperty("客户类型key 1个人2企业")
private String customerTypeKey;
@ApiModelProperty("客户类型value")
private String customerType;
@ApiModelProperty("车型名称")
private String model;
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("法人/贷款人姓名")
private String legalPersonName;
@ApiModelProperty("贷款人sid")
private String legalPersonSid;
@ApiModelProperty("法人/贷款人手机号")
private String legalPersonMobile;
@ApiModelProperty("法人/贷款人身份证")
private String legalPersonIdNumber;
@ApiModelProperty("身份证正反面附件")
private List<String> legalPersonIdCardImages;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("组织全路径")
private String orgPath;
@ApiModelProperty("企业名称")
private String companyName;
@ApiModelProperty("企业sid")
private String companySid;
@ApiModelProperty("公司要求材料")
private List<String> materialImages;
@ApiModelProperty("资方名称")
private String managementName;
@ApiModelProperty("资方sid")
private String managementSid;
@ApiModelProperty("模板下载地址")
private String downUrl;
@ApiModelProperty("风控要求的其他人员")
private List<ShareholderDetailsVo> shareholderList = new ArrayList<>();
private List<IdentityDetailsVo> identity = new ArrayList<>();
}

51
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewFeign.java

@ -0,0 +1,51 @@
package com.yxt.anrui.terminal.api.risk.creditreview;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.AdvanceInvoiceInfoQuery;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.AdvanceInvoiceInfoVo;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.AdvanceInvoicePageQuery;
import com.yxt.anrui.terminal.api.risk.policyrecordapply.AppFinPolicyApplyInitVo;
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 java.util.List;
/**
* @Author
* @Date
* @Description
*/
@Api(tags = "贷前信用审核")
@FeignClient(
contextId = "terminal-CreditReview",
name = "anrui-terminal",
path = "/riskcenter/v1/creditReview",
fallback = CreditReviewFeignFallback.class)
public interface CreditReviewFeign {
@ApiOperation("获取信用审核列表")
@PostMapping("/getCreditReviewList")
@ResponseBody
public ResultBean<PagerVo<CreditReviewVo>> getCreditReviewList(@RequestBody PagerQuery<CreditReviewQuery> pagerQuery);
@ApiOperation("获取贷前信用审核 个人/企业")
@GetMapping("/initCreditReviewInfo")
@ResponseBody
public ResultBean<CreditReviewDetailsVo> initCreditReviewInfo(@SpringQueryMap CreditReviewDetailsQuery query);
@ApiOperation("查询车型信息")
@GetMapping("/selModelByUseOrgSid")
@ResponseBody
public ResultBean<List<IdentityDetailsVo>> selModelByUseOrgSid(@SpringQueryMap CreditReviewDetailsQuery query);
@ApiOperation("查询资方信息")
@GetMapping("/getTRCList")
@ResponseBody
public ResultBean<List<IdentityDetailsVo>> getTRCList(@SpringQueryMap CreditReviewDetailsQuery query);
}

42
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewFeignFallback.java

@ -0,0 +1,42 @@
package com.yxt.anrui.terminal.api.risk.creditreview;
import com.yxt.anrui.terminal.api.risk.policyrecordapply.AppFinPolicyApplyInitVo;
import com.yxt.anrui.terminal.api.risk.policyrecordapply.flow.CompletePolicyDto;
import com.yxt.anrui.terminal.api.risk.policyrecordapply.flow.PolicyFlowableQuery;
import com.yxt.anrui.terminal.api.risk.policyrecordapply.flow.PolicyTaskQuery;
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 dimengzhe
* @Date 2023/3/21 15:19
* @Description
*/
@Component
public class CreditReviewFeignFallback implements CreditReviewFeign {
@Override
public ResultBean<PagerVo<CreditReviewVo>> getCreditReviewList(PagerQuery<CreditReviewQuery> pagerQuery) {
return null;
}
@Override
public ResultBean<CreditReviewDetailsVo> initCreditReviewInfo(CreditReviewDetailsQuery query) {
return null;
}
@Override
public ResultBean<List<IdentityDetailsVo>> selModelByUseOrgSid(CreditReviewDetailsQuery query) {
return null;
}
@Override
public ResultBean<List<IdentityDetailsVo>> getTRCList(CreditReviewDetailsQuery query) {
return null;
}
}

19
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewQuery.java

@ -0,0 +1,19 @@
package com.yxt.anrui.terminal.api.risk.creditreview;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class CreditReviewQuery implements Query {
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("组织全路径")
private String orgPath;
@ApiModelProperty("购车人/手机号")
private String names;
@ApiModelProperty("审核状态")
private String type;
private String menuSid;
}

37
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/CreditReviewVo.java

@ -0,0 +1,37 @@
package com.yxt.anrui.terminal.api.risk.creditreview;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class CreditReviewVo implements Vo {
private String sid;
@ApiModelProperty("创建日期")
private String createDate;
@ApiModelProperty("购车人")
private String name;
@ApiModelProperty("手机号")
private String mobile;
@ApiModelProperty("车型")
private String model;
@ApiModelProperty("资方名称")
private String management;
@ApiModelProperty("审核日期 审核后有值")
private String examineDate;
@ApiModelProperty("公司风控审核结果 审核后有值")
private String companyResults;
@ApiModelProperty("资方风控审核结果 审核后有值")
private String managementResults;
@ApiModelProperty("是否显示删除 审核后不显示")
private Boolean showDeleteBtn;
@ApiModelProperty("是否显示修改审核后显示")
private Boolean showUpdateBtn;
@ApiModelProperty("是否显示申诉 审核后显示")
private Boolean showHandleBtn;
@ApiModelProperty("客户类型")
private String customerKey;
@ApiModelProperty("申诉结果")
private String appealResults;
}

15
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/IdentityDetailsVo.java

@ -0,0 +1,15 @@
package com.yxt.anrui.terminal.api.risk.creditreview;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class IdentityDetailsVo implements Vo {
private String sid;
@ApiModelProperty("人员类型key")
private String dictKey;
@ApiModelProperty("人员类型value")
private String dictValue;
}

26
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/creditreview/ShareholderDetailsVo.java

@ -0,0 +1,26 @@
package com.yxt.anrui.terminal.api.risk.creditreview;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class ShareholderDetailsVo implements Vo {
@ApiModelProperty("姓名")
private String shareholderName;
@ApiModelProperty("手机号")
private String shareholderMobile;
@ApiModelProperty("身份证号")
private String shareholderIdNumber;
@ApiModelProperty("备注")
private String shareholderRemarks;
@ApiModelProperty("身份key")
private String shareholderTypeKey;
@ApiModelProperty("身份value")
private String shareholderTypeValue;
@ApiModelProperty("身份证正反面")
private List<String> shareholderIdCardImages;
}

51
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/creditreview/CreditReviewRest.java

@ -0,0 +1,51 @@
package com.yxt.anrui.terminal.biz.risk.creditreview;
import com.yxt.anrui.terminal.api.risk.creditreview.*;
import com.yxt.anrui.terminal.api.risk.otherpolicyrecordapply.AppFinOtherPolicyApplyInitVo;
import com.yxt.anrui.terminal.api.risk.otherpolicyrecordapply.OtherPolicyRecordApplyFeign;
import com.yxt.anrui.terminal.api.risk.otherpolicyrecordapply.flow.CompleteOtherPolicyDto;
import com.yxt.anrui.terminal.api.risk.otherpolicyrecordapply.flow.OtherPolicyFlowableQuery;
import com.yxt.anrui.terminal.api.risk.otherpolicyrecordapply.flow.OtherPolicyTaskQuery;
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.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
/**
* @Author
* @Date 2023/3/25 9:39
* @Description
*/
@Api(tags = "贷前信用审核")
@Controller
@RequestMapping("/riskcenter/v1/creditReview")
public class CreditReviewRest implements CreditReviewFeign {
@Autowired
private CreditReviewService creditReviewService;
@Override
public ResultBean<PagerVo<CreditReviewVo>> getCreditReviewList(PagerQuery<CreditReviewQuery> pagerQuery) {
return creditReviewService.getCreditReviewList(pagerQuery);
}
@Override
public ResultBean<CreditReviewDetailsVo> initCreditReviewInfo(CreditReviewDetailsQuery query) {
return creditReviewService.initCreditReviewInfo(query);
}
@Override
public ResultBean<List<IdentityDetailsVo>> selModelByUseOrgSid(CreditReviewDetailsQuery query) {
return creditReviewService.selModelByUseOrgSid(query);
}
@Override
public ResultBean<List<IdentityDetailsVo>> getTRCList(CreditReviewDetailsQuery query) {
return creditReviewService.getTRCList(query);
}
}

205
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/creditreview/CreditReviewService.java

@ -0,0 +1,205 @@
package com.yxt.anrui.terminal.biz.risk.creditreview;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigFeign;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigVos;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationQuery;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationVo;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
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.loanfinbank.LoanFinBankFeign;
import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBanksVo;
import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.LoanFinOtherPolicyApplyInitVo;
import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.LoanFinOtherPolicyRecordApplyFeign;
import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow.LoanOtherPolicyApplyCompleteDto;
import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow.LoanOtherPolicyApplyTaskQuery;
import com.yxt.anrui.riskcenter.api.loanpreloancreditapply.LoanPreloanCreditApplyDetailsVo;
import com.yxt.anrui.riskcenter.api.loanpreloancreditapply.LoanPreloanCreditApplyFeign;
import com.yxt.anrui.riskcenter.api.loanpreloancreditapply.LoanPreloanCreditApplyQuery;
import com.yxt.anrui.riskcenter.api.loanpreloancreditapply.LoanPreloanCreditApplyVo;
import com.yxt.anrui.riskcenter.api.loanpreloancreditpeo.LoanPreloanCreditPeoDetailsVo;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.AdvanceInvoicePageQuery;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.AdvanceInvoicePageVo;
import com.yxt.anrui.terminal.api.risk.creditreview.*;
import com.yxt.anrui.terminal.api.risk.otherpolicyrecordapply.AppFinOtherPolicyApplyInitVo;
import com.yxt.anrui.terminal.api.risk.otherpolicyrecordapply.flow.CompleteOtherPolicyDto;
import com.yxt.anrui.terminal.api.risk.otherpolicyrecordapply.flow.OtherPolicyFlowableQuery;
import com.yxt.anrui.terminal.api.risk.otherpolicyrecordapply.flow.OtherPolicyTaskQuery;
import com.yxt.common.base.utils.DateUtils;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* @Author
* @Date 2023/3/25 9:40
* @Description
*/
@Service
public class CreditReviewService {
@Autowired
private LoanPreloanCreditApplyFeign loanPreloanCreditApplyFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private BaseVehmodelConfigFeign baseVehmodelConfigFeign;
@Autowired
private LoanFinBankFeign loanFinBankFeign;
public ResultBean<PagerVo<CreditReviewVo>> getCreditReviewList(PagerQuery<CreditReviewQuery> pagerQuery) {
ResultBean<PagerVo<CreditReviewVo>> rb = ResultBean.fireFail();
PagerQuery<LoanPreloanCreditApplyQuery> pq = new PagerQuery<>();
CreditReviewQuery params = pagerQuery.getParams();
LoanPreloanCreditApplyQuery loanParams = new LoanPreloanCreditApplyQuery();
loanParams.setOrgSidPath(params.getOrgPath());
loanParams.setUserSid(params.getUserSid());
loanParams.setType(params.getType());
loanParams.setMenuSid(params.getMenuSid());
loanParams.setName(params.getNames());
pq.setParams(loanParams);
PagerVo<LoanPreloanCreditApplyVo> loanPreloanCreditApplyVoPagerVo = loanPreloanCreditApplyFeign.listPage(pq).getData();
PagerVo<CreditReviewVo> v = new PagerVo<>();
List<CreditReviewVo> creditReviewVos = new ArrayList<>();
for (LoanPreloanCreditApplyVo record : loanPreloanCreditApplyVoPagerVo.getRecords()) {
CreditReviewVo creditReviewVo = new CreditReviewVo();
creditReviewVo.setSid(record.getSid());
creditReviewVo.setCreateDate(DateUtil.formatDate(record.getCreateTime()));
creditReviewVo.setName(record.getKhqyName());
creditReviewVo.setMobile(record.getPhone());
creditReviewVo.setModel(record.getModelName());
creditReviewVo.setManagement(record.getCapitalName());
creditReviewVo.setExamineDate(DateUtil.formatDate(record.getGsshDate()));
creditReviewVo.setCompanyResults(record.getGsfkjg());
creditReviewVo.setManagementResults(record.getZffkjg());
creditReviewVo.setShowDeleteBtn(record.getIsDelete());
creditReviewVo.setShowUpdateBtn(record.getIsEdit());
creditReviewVo.setShowHandleBtn(record.getIsHandle());
creditReviewVo.setCustomerKey(record.getCustTypeKey());
creditReviewVo.setAppealResults(record.getSsjg());
creditReviewVos.add(creditReviewVo);
}
v.setRecords(creditReviewVos);
return rb.success().setData(v);
}
public ResultBean<CreditReviewDetailsVo> initCreditReviewInfo(CreditReviewDetailsQuery query) {
ResultBean rb = ResultBean.fireFail();
CreditReviewDetailsVo creditReviewDetailsVo = new CreditReviewDetailsVo();
if (StringUtils.isBlank(query.getSid())){//新增初始化
SysUserVo sysUserVo = sysUserFeign.fetchBySid(query.getUserSid()).getData();
SysOrganizationVo sysOrganizationVoBM = sysOrganizationFeign.selectByOrgSidPath(query.getOrgPath()).getData();
creditReviewDetailsVo.setUserSid(query.getUserSid());
creditReviewDetailsVo.setOrgPath(query.getOrgPath());
creditReviewDetailsVo.setPublishInfo(sysOrganizationVoBM.getName() + "-" + sysUserVo.getName());
}else {//修改回显
LoanPreloanCreditApplyDetailsVo loanPreloanCreditApplyDetailsVo = loanPreloanCreditApplyFeign.fetchDetailsBySid(query.getSid()).getData();
creditReviewDetailsVo.setSid(loanPreloanCreditApplyDetailsVo.getSid());
creditReviewDetailsVo.setPublishInfo(loanPreloanCreditApplyDetailsVo.getApplyDeptName() + "-" + loanPreloanCreditApplyDetailsVo.getCreateByName());
creditReviewDetailsVo.setCreateTime(DateUtil.formatDate(loanPreloanCreditApplyDetailsVo.getCreateTime()));
creditReviewDetailsVo.setCustomerTypeKey(loanPreloanCreditApplyDetailsVo.getCustTypeKey());
creditReviewDetailsVo.setCustomerType(loanPreloanCreditApplyDetailsVo.getCustTypeValue());
creditReviewDetailsVo.setModel(loanPreloanCreditApplyDetailsVo.getModelName());
creditReviewDetailsVo.setModelSid(loanPreloanCreditApplyDetailsVo.getModelSid());
creditReviewDetailsVo.setLegalPersonName(loanPreloanCreditApplyDetailsVo.getCustName());
creditReviewDetailsVo.setLegalPersonSid(loanPreloanCreditApplyDetailsVo.getCustSid());
creditReviewDetailsVo.setLegalPersonMobile(loanPreloanCreditApplyDetailsVo.getPhone());
creditReviewDetailsVo.setLegalPersonIdNumber(loanPreloanCreditApplyDetailsVo.getIdCard());
creditReviewDetailsVo.setLegalPersonIdCardImages(loanPreloanCreditApplyDetailsVo.getIdCardImages());
creditReviewDetailsVo.setUserSid(loanPreloanCreditApplyDetailsVo.getCreateBySid());
creditReviewDetailsVo.setOrgPath(loanPreloanCreditApplyDetailsVo.getOrgSidPath());
creditReviewDetailsVo.setCompanyName(loanPreloanCreditApplyDetailsVo.getQyName());
creditReviewDetailsVo.setCompanySid(loanPreloanCreditApplyDetailsVo.getQySid());
creditReviewDetailsVo.setMaterialImages(loanPreloanCreditApplyDetailsVo.getComFkFiles());
creditReviewDetailsVo.setManagementSid(loanPreloanCreditApplyDetailsVo.getCapitalSid());
creditReviewDetailsVo.setManagementName(loanPreloanCreditApplyDetailsVo.getCapitalName());
//creditReviewDetailsVo.setDownUrl();
//参数优化
query.setCustomerTypeKey(loanPreloanCreditApplyDetailsVo.getCustTypeKey());
//风控要求的其他人员
List<ShareholderDetailsVo> shareholderDetailsVos = new ArrayList<>();
List<LoanPreloanCreditPeoDetailsVo> loanPreloanCreditPeos = loanPreloanCreditApplyDetailsVo.getLoanPreloanCreditPeos();
for (LoanPreloanCreditPeoDetailsVo loanPreloanCreditPeo : loanPreloanCreditPeos) {
ShareholderDetailsVo shareholderDetailsVo = new ShareholderDetailsVo();
shareholderDetailsVo.setShareholderName(loanPreloanCreditPeo.getPeoName());
shareholderDetailsVo.setShareholderMobile(loanPreloanCreditPeo.getPhone());
shareholderDetailsVo.setShareholderIdNumber(loanPreloanCreditPeo.getIdCard());
shareholderDetailsVo.setShareholderRemarks(loanPreloanCreditPeo.getRemarks());
shareholderDetailsVo.setShareholderTypeKey(loanPreloanCreditPeo.getPeoTypeKey());
shareholderDetailsVo.setShareholderTypeValue(loanPreloanCreditPeo.getPeoTypeValue());
shareholderDetailsVo.setShareholderIdCardImages(loanPreloanCreditPeo.getIdCardImages());
shareholderDetailsVos.add(shareholderDetailsVo);
}
creditReviewDetailsVo.setShareholderList(shareholderDetailsVos);
}
//构建人员类型下拉选数据
List<IdentityDetailsVo> identityDetailsVos = new ArrayList<>();
IdentityDetailsVo identityDetailsVo = new IdentityDetailsVo();
if ("1".equals(query.getCustomerTypeKey())){
identityDetailsVo.setSid("003");
identityDetailsVo.setDictKey("003");
identityDetailsVo.setDictValue("担保人");
identityDetailsVos.add(identityDetailsVo);
}else {
identityDetailsVo.setSid("001");
identityDetailsVo.setDictKey("001");
identityDetailsVo.setDictValue("股东");
identityDetailsVos.add(identityDetailsVo);
}
identityDetailsVo.setSid("002");
identityDetailsVo.setDictKey("002");
identityDetailsVo.setDictValue("配偶");
identityDetailsVos.add(identityDetailsVo);
identityDetailsVo.setSid("004");
identityDetailsVo.setDictKey("004");
identityDetailsVo.setDictValue("其他");
identityDetailsVos.add(identityDetailsVo);
creditReviewDetailsVo.setIdentity(identityDetailsVos);
return rb.success().setData(creditReviewDetailsVo);
}
public ResultBean<List<IdentityDetailsVo>> selModelByUseOrgSid(CreditReviewDetailsQuery query) {
ResultBean rb = ResultBean.fireFail();
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(query.getOrgPath()).getData();
List<BaseVehmodelConfigVos> baseVehmodelConfigVos = baseVehmodelConfigFeign.selModelByUseOrgSid(useOrgSid).getData();
List<IdentityDetailsVo> identityDetailsVos = new ArrayList<>();
for (BaseVehmodelConfigVos baseVehmodelConfigVo : baseVehmodelConfigVos) {
IdentityDetailsVo identityDetailsVo = new IdentityDetailsVo();
identityDetailsVo.setSid(baseVehmodelConfigVo.getModelSid());
identityDetailsVo.setDictKey(baseVehmodelConfigVo.getModelSid());
identityDetailsVo.setDictValue(baseVehmodelConfigVo.getVehicleAlias());
identityDetailsVos.add(identityDetailsVo);
}
return rb.success().setData(identityDetailsVos);
}
public ResultBean<List<IdentityDetailsVo>> getTRCList(CreditReviewDetailsQuery query) {
ResultBean rb = ResultBean.fireFail();
List<LoanFinBanksVo> loanFinBanksVos = loanFinBankFeign.selectListByOrgPath(query.getOrgPath()).getData();
List<IdentityDetailsVo> identityDetailsVos = new ArrayList<>();
for (LoanFinBanksVo loanFinBanksVo : loanFinBanksVos) {
IdentityDetailsVo identityDetailsVo = new IdentityDetailsVo();
identityDetailsVo.setSid(loanFinBanksVo.getSid());
identityDetailsVo.setDictKey(loanFinBanksVo.getSid());
identityDetailsVo.setDictValue(loanFinBanksVo.getBankName());
identityDetailsVos.add(identityDetailsVo);
}
return rb.success().setData(identityDetailsVos);
}
}
Loading…
Cancel
Save