Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
fanzongzhe 2 years ago
parent
commit
001da9ed52
  1. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeign.java
  2. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeignFallback.java
  3. 17
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  4. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java
  5. 11
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java
  6. 11
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  7. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/AppFinFundsCarriedForwardYXYSKXDto.java
  8. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/AppFinFundsCarriedForwardYXYSKXVo.java
  9. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApply.java
  10. 40
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyDetailsVo.java
  11. 8
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyDto.java
  12. 42
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyFeign.java
  13. 44
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyFeignFallback.java
  14. 8
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyVo.java
  15. 25
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/ZC.java
  16. 25
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/ZR.java
  17. 23
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/FinFundsApplyCompleteDto.java
  18. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/FinFundsApplyNodeQuery.java
  19. 26
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/FinFundsApplyNodeVo.java
  20. 6
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/FinFundsApplyTaskQuery.java
  21. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardveh/FinFundsCarriedForwardVehDto.java
  22. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.java
  23. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  24. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyMapper.java
  25. 6
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyMapper.xml
  26. 73
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyRest.java
  27. 378
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java
  28. 10
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehMapper.java
  29. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehMapper.xml
  30. 36
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehService.java
  31. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java
  32. 7
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java
  33. 41
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
  34. 2
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysflowableconfig/SysFlowableConfigVvo.java
  35. 4
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java
  36. 5
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeignFallback.java
  37. 19
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/UserssQuery.java
  38. 5
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java
  39. 37
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java
  40. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinbank/LoanFinBankFeign.java
  41. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinbank/LoanFinBankFeignFallback.java
  42. 18
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinbank/LoanFinBanksVo.java
  43. 7
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicy.java
  44. 1
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicyVo.java
  45. 14
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicy.java
  46. 20
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyDto.java
  47. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyQuery.java
  48. 19
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyVo.java
  49. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyVos.java
  50. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinbank/LoanFinBankMapper.java
  51. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinbank/LoanFinBankMapper.xml
  52. 8
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinbank/LoanFinBankRest.java
  53. 12
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinbank/LoanFinBankService.java
  54. 38
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.xml
  55. 105
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyService.java
  56. 115
      doc/databases/risk_center.sql
  57. 2607
      工作内容需要的文档/单据模板/款项结转打印模板/kqjz.ftl
  58. 6
      工作内容需要的文档/单据模板/款项结转打印模板/款项结转(调账申请).doc

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeign.java

@ -152,6 +152,10 @@ public interface BaseVehmodelConfigFeign {
@GetMapping("/selectCarConfigSummary/{modelSid}/{configSid}/{userSid}")
public ResultBean<AppCarConfigSummaryVo> selectCarConfigSummary(@PathVariable("modelSid") String modelSid, @PathVariable("configSid") String configSid, @PathVariable("userSid") String userSid);
@ApiOperation("获取车型配置总结(即常用配置一句话描述)(销售订单)")
@GetMapping("/selectCarConfigSummary1/{modelSid}/{configSid}/{orgSid}")
public ResultBean<AppCarConfigSummaryVo> selectCarConfigSummary1(@PathVariable("modelSid") String modelSid, @PathVariable("configSid") String configSid, @PathVariable("orgSid") String orgSid);
/**
* 车型配置关联表新增配置并关联
*

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeignFallback.java

@ -128,6 +128,11 @@ public class BaseVehmodelConfigFeignFallback implements BaseVehmodelConfigFeign
return null;
}
@Override
public ResultBean<AppCarConfigSummaryVo> selectCarConfigSummary1(String modelSid, String configSid, String orgSid) {
return null;
}
@Override
public ResultBean saveAndRelationConfig(BaseModelConfigDto dto) {
return null;

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

@ -42,7 +42,6 @@ import com.yxt.anrui.base.common.enums.ManPurOrderType;
import com.yxt.anrui.base.common.enums.VehicleState;
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApply;
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyFeign;
import com.yxt.anrui.buscenter.api.busarrearscarryvehicledetails.BusArrearsCarryVehicleDetailsFeign;
import com.yxt.anrui.buscenter.api.busmaindeposit.pc.PcBusMainDepositFeign;
import com.yxt.anrui.buscenter.api.busmaindeposit.pc.PcBusMainDepositVehicleQuery;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderDetailsVo;
@ -1431,14 +1430,14 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
public IPage<VehicleModelPriceVo> getModelList(PagerQuery<VehicleModelPriceQuery> pagerQuery) {
String userSid = pagerQuery.getParams().getUserSid();
// 1、根据业务员部门sid查询分公司sid
// String orgPath = pagerQuery.getParams().getOrgPath();
// String orgSid = "";
// if (StringUtils.isBlank(orgPath)) {
// orgSid = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData();
// } else {
// orgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
// }
String orgSid = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData();
String orgPath = pagerQuery.getParams().getOrgPath();
String orgSid = "";
if (StringUtils.isBlank(orgPath)) {
orgSid = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData();
} else {
orgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
}
// String orgSid = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData();
if (StringUtils.isNotBlank(orgSid)) {
pagerQuery.getParams().setUseOrg(orgSid);
}

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java

@ -187,6 +187,11 @@ public class BaseVehmodelConfigRest implements BaseVehmodelConfigFeign {
return baseVehmodelConfigService.selectCarConfigSummary(modelSid, configSid,userSid);
}
@Override
public ResultBean<AppCarConfigSummaryVo> selectCarConfigSummary1(String modelSid, String configSid, String orgSid) {
return baseVehmodelConfigService.selectCarConfigSummary1(modelSid, configSid,orgSid);
}
@Override
public ResultBean saveAndRelationConfig(BaseModelConfigDto dto) {
return baseVehmodelConfigService.saveAndRelationConfig(dto);

11
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java

@ -534,6 +534,17 @@ public class BaseVehmodelConfigService extends MybatisBaseService<BaseVehmodelCo
return rb.setData(new AppCarConfigSummaryVo());
}
public ResultBean<AppCarConfigSummaryVo> selectCarConfigSummary1(String modelSid, String configSid, String orgSid) {
ResultBean<AppCarConfigSummaryVo> rb = ResultBean.fireFail();
AppModelConfigListVo appModelConfigListVo = baseMapper.selectCarConfigSummary(modelSid, configSid, orgSid);
if (appModelConfigListVo != null) {
AppCarConfigSummaryVo configSummaryVo = addConfigName(appModelConfigListVo);
return rb.success().setData(configSummaryVo);
}
return rb.setData(new AppCarConfigSummaryVo());
}
/**
* 拼接常用配置字段
*

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

@ -2238,11 +2238,12 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
String saleOrderSid = appInitModelQuery.getSalesOrderSid();
String customerSid = appInitModelQuery.getCustomerSid();
String userSid = appInitModelQuery.getUserSid();
String orgSid = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData();
// String orgSid = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData();
BusSalesOrder busSalesOrder = fetchBySid(saleOrderSid);
if (busSalesOrder == null) {
return rb.setMsg("销售订单单据信息不存在");
}
String orgSid = sysStaffOrgFeign.getOrgSidByPath(busSalesOrder.getOrgSidPath()).getData();
String type = "";
AppBusSaleOrderInitModelInfoVo vo = new AppBusSaleOrderInitModelInfoVo();
vo.setSaleOrderSid(saleOrderSid);
@ -2533,10 +2534,11 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
String configSid = appBusSaleOrderInitModelInfoQuery.getConfigSid();
String customerSid = appBusSaleOrderInitModelInfoQuery.getCustomerSid();
String userSid = appBusSaleOrderInitModelInfoQuery.getUserSid();
String orgSid = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData();
// String orgSid = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData();
String special = appBusSaleOrderInitModelInfoQuery.getSpecial();
String saleOrderSid = appBusSaleOrderInitModelInfoQuery.getSaleOrderSid();
BusSalesOrder busSalesOrder = fetchBySid(saleOrderSid);
String orgSid = sysStaffOrgFeign.getOrgSidByPath(busSalesOrder.getOrgSidPath()).getData();
AppBusSaleOrderInitModelInfoVo vo = new AppBusSaleOrderInitModelInfoVo();
//选择的车型信息的数据
AppOrderInfoVo orderInfo = new AppOrderInfoVo();
@ -2551,7 +2553,8 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
//销售订单选择的采购订单的列表
List<AppReadyCarListVo> appReadyCarLists = new ArrayList<>();
//根据车型及配置查询车型信息
ResultBean<AppCarConfigSummaryVo> appCarConfigSummaryVoResultBean = baseVehmodelConfigFeign.selectCarConfigSummary(modelSid, configSid, userSid);
String orgSids = sysStaffOrgFeign.getOrgSidByPath(busSalesOrder.getOrgSidPath()).getData();
ResultBean<AppCarConfigSummaryVo> appCarConfigSummaryVoResultBean = baseVehmodelConfigFeign.selectCarConfigSummary1(modelSid, configSid, orgSids);
if (appCarConfigSummaryVoResultBean.getSuccess()) {
AppCarConfigSummaryVo data = appCarConfigSummaryVoResultBean.getData();
//车型sid
@ -5138,8 +5141,6 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
//推送车款
createCarFin(vo, busSalesOrder);
}
//-----------------推送车款款项结束
//推送采购渠道待选择
BusPurchaseChannelDto busPurchaseChannelDto = new BusPurchaseChannelDto();

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

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

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

@ -84,5 +84,7 @@ public class AppFinFundsCarriedForwardYXYSKXVo implements Dto {
private String useOrgSid;
private int subscribedOf;
@ApiModelProperty("采购系统sid")
private String purchaseSystemSid; // 采购系统sid
private String purchaseSystemSid;
@ApiModelProperty("剩余应收")
private String surplusReceivable;
}

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApply.java

@ -88,5 +88,8 @@ public class FinFundsCarriedForwardApply extends BaseEntity {
private String purchaseSystemSid; // 采购系统sid
@ApiModelProperty("采购系统名称")
private String purchaseSystem; // 采购系统名称
@ApiModelProperty("结转金额合计")
private String jzjehj; // 结转金额合计
@ApiModelProperty("pdf路径")
private String pdfPath;
}

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

@ -60,43 +60,49 @@ public class FinFundsCarriedForwardApplyDetailsVo implements Vo {
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("创建人sid")
private String createBySid; // 创建人sid
private String createBySid;
@ApiModelProperty("部门-人员名")
private String publishInfo;
@ApiModelProperty("创建人接口")
private String createByName; // 创建人接口
private String createByName;
@ApiModelProperty("申请部门sid")
private String applyDeptSid; // 申请部门sid
private String applyDeptSid;
@ApiModelProperty("申请部门名称")
private String applyDeptName; // 申请部门名称
private String applyDeptName;
@ApiModelProperty("销售部门sid")
private String saleDeptSid; // 销售部门sid
private String saleDeptSid;
@ApiModelProperty("销售部门名称")
private String saleDeptName; // 销售部门名称
private String saleDeptName;
@ApiModelProperty("业务员sid")
private String staffSid; // 业务员sid
private String staffSid;
@ApiModelProperty("业务员姓名")
private String staffName; // 业务员姓名
private String staffName;
@ApiModelProperty("来源")
private String source; // 来源
private String source;
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
private String useOrgSid;
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
private String useOrgName;
@ApiModelProperty("组织全路径")
private String orgSidPath; // 组织全路径
private String orgSidPath;
@ApiModelProperty("申请编号")
private String billNo; // 申请编号
private String billNo;
@ApiModelProperty("采购系统sid")
private String purchaseSystemSid; // 采购系统sid
private String purchaseSystemSid;
@ApiModelProperty("采购系统名称")
private String purchaseSystem; // 采购系统名称
private String purchaseSystem;
@ApiModelProperty("状态")
private String collectionBillStateValue;
private String procInsId;
private String taskId;
@ApiModelProperty("结转金额合计")
private String jzjehj; // 结转金额合计
@ApiModelProperty("pdf路径")
private String pdfPath;
@ApiModelProperty("款项确认书附件")
private List<String> kxqrsImages = new ArrayList<>();
@ApiModelProperty("款项结转车辆列表")
private List<FinFundsCarriedForwardVehDetailsVo> finFundsCarriedForwardVehDetailsVos = new ArrayList<>();
/* @ApiModelProperty("应收未收款项明细")
private List<AppFinFundsCarriedForwardYXYSKXVo> yswsFinFundsCarriedForwardYXYSKXVos = new ArrayList<>();*/
@ApiModelProperty("已选应收款项明细")
private List<AppFinFundsCarriedForwardYXYSKXVo> yxysFinFundsCarriedForwardYXYSKXVos = new ArrayList<>();
}

8
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyDto.java

@ -86,6 +86,14 @@ public class FinFundsCarriedForwardApplyDto implements Dto {
private String purchaseSystemSid; // 采购系统sid
@ApiModelProperty("采购系统名称")
private String purchaseSystem; // 采购系统名称
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("结转金额合计")
private String jzjehj; // 结转金额合计
@ApiModelProperty("pdf路径")
private String pdfPath;
@ApiModelProperty("是否为相同销售订单")
private Boolean isOneSale = false;
@ApiModelProperty("款项确认书附件")
private List<String> kxqrsImages = new ArrayList<>();
@ApiModelProperty("款项结转车辆列表")

42
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyFeign.java

@ -30,10 +30,7 @@ import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillCompleteDto;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeQuery;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeVo;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillTaskQuery;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyCompleteDto;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyNodeQuery;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyTaskQuery;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.SubmitFinFundsApplyDto;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery;
@ -87,11 +84,21 @@ public interface FinFundsCarriedForwardApplyFeign {
@ResponseBody
public ResultBean<FinFundsCarriedForwardApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("移动端编辑回显接口")
@GetMapping("/appFetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<FinFundsCarriedForwardApplyDetailsVo> appFetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("初始化款项结转申请")
@PostMapping("/init")
@ResponseBody
public ResultBean<FinFundsCarriedForwardApplyDetailsVo> init(@RequestBody FinFundsCarriedForwardApplyInitQuery finFundsCarriedForwardApplyInitQuery);
@ApiOperation("生成款项结转PDF")
@PostMapping("/createPdf")
@ResponseBody
public ResultBean<String> createPdf(@RequestParam("sid") String sid, @RequestParam("userName") String userName);
/****************************************************审批流程*****************************************************/
@ApiOperation("款项结转审批流程")
@ -104,11 +111,11 @@ public interface FinFundsCarriedForwardApplyFeign {
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<FinBillNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap FinFundsApplyNodeQuery query);
ResultBean<List<FinFundsApplyNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap FinFundsApplyNodeQuery query);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<FinBillNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap FinFundsApplyNodeQuery query);
ResultBean<List<FinFundsApplyNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap FinFundsApplyNodeQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
@ -121,4 +128,27 @@ public interface FinFundsCarriedForwardApplyFeign {
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody FinFundsApplyTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@Valid @SpringQueryMap FinFundsApplyNodeQuery query);
/******************************************移动端流程接口*******************************************/
@ApiOperation(value = "app撤回流程")
@PutMapping(value = "/revokeProcessApp")
public ResultBean revokeProcessApp(@Valid @RequestBody FinFundsApplyTaskQuery query);
@ApiOperation(value = "app驳回任务")
@PutMapping(value = "/rejectApp")
public ResultBean rejectApp(@Valid @RequestBody FinFundsApplyTaskQuery query);
@ApiOperation(value = "app办理(同意)")
@PutMapping("/completeApp")
public ResultBean completeApp(@Valid @RequestBody FinFundsApplyCompleteDto query);
@ApiOperation(value = "app终止任务")
@PutMapping(value = "/breakProcessApp")
public ResultBean breakProcessApp(@Valid @RequestBody FinFundsApplyTaskQuery query);
}

44
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyFeignFallback.java

@ -26,10 +26,7 @@
package com.yxt.anrui.fin.api.finfundscarriedforwardapply;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeVo;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyCompleteDto;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyNodeQuery;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyTaskQuery;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.SubmitFinFundsApplyDto;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -75,11 +72,21 @@ public class FinFundsCarriedForwardApplyFeignFallback implements FinFundsCarried
return rb.setMsg("接口anrui-fin/finfundscarriedforwardapply/fetchDetailsBySid无法访问");
}
@Override
public ResultBean<FinFundsCarriedForwardApplyDetailsVo> appFetchDetailsBySid(String sid) {
return null;
}
@Override
public ResultBean<FinFundsCarriedForwardApplyDetailsVo> init(FinFundsCarriedForwardApplyInitQuery finFundsCarriedForwardApplyInitQuery) {
return null;
}
@Override
public ResultBean<String> createPdf(String sid, String userName) {
return null;
}
@Override
public ResultBean submitFinFundsApply(SubmitFinFundsApplyDto dto) {
return null;
@ -91,12 +98,12 @@ public class FinFundsCarriedForwardApplyFeignFallback implements FinFundsCarried
}
@Override
public ResultBean<List<FinBillNodeVo>> getPreviousNodesForReject(FinFundsApplyNodeQuery query) {
public ResultBean<List<FinFundsApplyNodeVo>> getPreviousNodesForReject(FinFundsApplyNodeQuery query) {
return null;
}
@Override
public ResultBean<List<FinBillNodeVo>> getNextNodesForSubmit(FinFundsApplyNodeQuery query) {
public ResultBean<List<FinFundsApplyNodeVo>> getNextNodesForSubmit(FinFundsApplyNodeQuery query) {
return null;
}
@ -114,4 +121,29 @@ public class FinFundsCarriedForwardApplyFeignFallback implements FinFundsCarried
public ResultBean breakProcess(FinFundsApplyTaskQuery query) {
return null;
}
@Override
public ResultBean<String> getFlowOperateTitle(FinFundsApplyNodeQuery query) {
return null;
}
@Override
public ResultBean revokeProcessApp(FinFundsApplyTaskQuery query) {
return null;
}
@Override
public ResultBean rejectApp(FinFundsApplyTaskQuery query) {
return null;
}
@Override
public ResultBean completeApp(FinFundsApplyCompleteDto query) {
return null;
}
@Override
public ResultBean breakProcessApp(FinFundsApplyTaskQuery query) {
return null;
}
}

8
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/FinFundsCarriedForwardApplyVo.java

@ -68,4 +68,12 @@ public class FinFundsCarriedForwardApplyVo implements Vo {
private String procDefId;
@ApiModelProperty("流程实例的sid")
private String procInstSid;
@ApiModelProperty("pdf路径")
private String tzsqPath;
@ApiModelProperty("pdf路径")
private String downloadUrl;
@ApiModelProperty("是否可以修改")
private Boolean showUpdateBtn;
@ApiModelProperty("是否可以下载")
private Boolean showDownloadBtn;
}

25
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/ZC.java

@ -0,0 +1,25 @@
package com.yxt.anrui.fin.api.finfundscarriedforwardapply;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ZC {
@ApiModelProperty("调账类型")
private String zc;
@ApiModelProperty("合同编号")
private String conNo;
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("物料编码")
private String vinNo;
@ApiModelProperty("调出金额")
private String dcje;
@ApiModelProperty("调入金额")
private String drje;
@ApiModelProperty("调出前余额")
private String dcqye;
@ApiModelProperty("调出后余额")
private String dchye;
}

25
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/ZR.java

@ -0,0 +1,25 @@
package com.yxt.anrui.fin.api.finfundscarriedforwardapply;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ZR {
@ApiModelProperty("调账类型")
private String zr;
@ApiModelProperty("合同编号")
private String conNo;
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("物料编码")
private String vinNo;
@ApiModelProperty("调出金额")
private String dcje;
@ApiModelProperty("调入金额")
private String drje;
@ApiModelProperty("调出前余额")
private String dcqye;
@ApiModelProperty("调出后余额")
private String dchye;
}

23
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/FinFundsApplyCompleteDto.java

@ -1,5 +1,6 @@
package com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.anrui.fin.api.finbillfile.FinBillFileDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
@ -19,36 +20,20 @@ public class FinFundsApplyCompleteDto implements Dto {
private static final long serialVersionUID = 6378752532534735663L;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "用户全路径sid")
@NotBlank(message = "参数错误:orgSidPath")
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")
@ApiModelProperty(value = "流程id(PC)")
private String instanceId;
@ApiModelProperty(value = "流程id(移动)")
private String procInsId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty("客户开票申请书附件信息")
private List<FinBillFileDto> khkpsqsApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("款项确认书附件信息")
private List<FinBillFileDto> kpxxqrsApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("车辆登记合同附件信息")
private List<FinBillFileDto> cldjhtApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("证件")
private List<FinBillFileDto> zjApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("附件")
private List<FinBillFileDto> fjApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("欠款领票附件")
private List<FinBillFileDto> arrearsCollectionAppendxs = new ArrayList<>();
}

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

@ -20,4 +20,6 @@ public class FinFundsApplyNodeQuery implements Query {
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
private Integer next;
}

26
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/FinFundsApplyNodeVo.java

@ -0,0 +1,26 @@
package com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/9/6 15:03
* @Description
*/
@Data
public class FinFundsApplyNodeVo implements Vo {
private static final long serialVersionUID = -833419512294877848L;
@ApiModelProperty(value = "节点名称")
private String name;
@ApiModelProperty(value = "节点id")
private String id;
@ApiModelProperty(value = "审批组")
private List<String> candidateGroups;
@ApiModelProperty(value = "是否是最后环节")
private String endTask;
}

6
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/flowable/FinFundsApplyTaskQuery.java

@ -1,5 +1,6 @@
package com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -40,6 +41,9 @@ public class FinFundsApplyTaskQuery implements Query {
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
@ApiModelProperty("流程实例Id(PC)")
private String instanceId;
@ApiModelProperty("流程实例Id(移动)")
private String procInsId;
}

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

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

3
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationMapper.java

@ -122,4 +122,7 @@ public interface FinCollectionConfirmationMapper extends BaseMapper<FinCollectio
String selectCollectionMoneys(@Param("contractNo") String contractId, @Param("list") List<String> busVinSidList);
IPage<FinCollectionConfirmationJYDDKYDJVo> jyddkydjListPage(IPage<FinCollectionConfirmation> page, @Param(Constants.WRAPPER)QueryWrapper<FinCollectionConfirmation> qw);
@Update("update fin_collection_confirmation set balance = #{balance} where sid = #{busSid}")
void updateYeBySid(@Param("balance") String balance,@Param("busSid") String busSid);
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java

@ -2368,4 +2368,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
PagerVo<FinCollectionConfirmationJYDDKYDJVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public void updateYeBySid(String balance, String busSid) {
baseMapper.updateYeBySid(balance,busSid);
}
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyMapper.java

@ -34,6 +34,7 @@ import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.FinFundsCarriedForwardApply;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.FinFundsCarriedForwardApplyVo;
import org.apache.ibatis.annotations.Update;
import java.util.List;
import java.util.Map;
@ -69,4 +70,7 @@ public interface FinFundsCarriedForwardApplyMapper extends BaseMapper<FinFundsCa
int selectBySid(String join);
int updateFlowFiled(Map<String, Object> map);
@Update("update fin_funds_carried_forward_apply set pdfPath = #{pdfPath} where sid = #{businessSid}")
void updatePathBySid(@Param("pdfPath") String pdfPath,@Param("businessSid") String businessSid);
}

6
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyMapper.xml

@ -14,7 +14,9 @@
fa.`createTime`,
fa.`source`,
SUM(fv.`thisUseMoney`) AS carryForwardMoney,
fa.`remarks`
fa.`remarks`,
fa.pdfPath AS downloadUrl,
fa.pdfPath AS tzsqPath
FROM fin_funds_carried_forward_apply fa
LEFT JOIN fin_funds_carried_forward_veh fv
ON fa.`sid` = fv.`mainSid`
@ -57,7 +59,7 @@
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstId=#{procInsId}
, procInstSid=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}

73
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyRest.java

@ -28,10 +28,7 @@ package com.yxt.anrui.fin.biz.finfundscarriedforwardapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeVo;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.*;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyCompleteDto;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyNodeQuery;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyTaskQuery;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.SubmitFinFundsApplyDto;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.*;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.common.core.query.PagerQuery;
@ -39,6 +36,7 @@ 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.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Delete;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -96,11 +94,21 @@ public class FinFundsCarriedForwardApplyRest implements FinFundsCarriedForwardAp
return finFundsCarriedForwardApplyService.fetchDetailsVoBySid(sid);
}
@Override
public ResultBean<FinFundsCarriedForwardApplyDetailsVo> appFetchDetailsBySid(String sid) {
return finFundsCarriedForwardApplyService.fetchDetailsVoBySid(sid);
}
@Override
public ResultBean<FinFundsCarriedForwardApplyDetailsVo> init(FinFundsCarriedForwardApplyInitQuery finFundsCarriedForwardApplyInitQuery) {
return finFundsCarriedForwardApplyService.init(finFundsCarriedForwardApplyInitQuery);
}
@Override
public ResultBean<String> createPdf(String sid, String userName) {
return finFundsCarriedForwardApplyService.createPdf(sid,userName);
}
@Override
public ResultBean submitFinFundsApply(SubmitFinFundsApplyDto dto) {
return finFundsCarriedForwardApplyService.submitFinFundsApply(dto);
@ -109,6 +117,9 @@ public class FinFundsCarriedForwardApplyRest implements FinFundsCarriedForwardAp
@Override
public ResultBean complete(FinFundsApplyCompleteDto query) {
BusinessVariables bv=new BusinessVariables();
if (StringUtils.isNotBlank(query.getProcInsId()) && StringUtils.isBlank(query.getInstanceId())){
query.setInstanceId(query.getProcInsId());
}
BeanUtil.copyProperties(query,bv);
bv.setModelId(ProcDefEnum.FINFUNDSAPPLY.getProDefId());
bv.setFormVariables(BeanUtil.beanToMap(query));
@ -116,27 +127,77 @@ public class FinFundsCarriedForwardApplyRest implements FinFundsCarriedForwardAp
}
@Override
public ResultBean<List<FinBillNodeVo>> getPreviousNodesForReject(FinFundsApplyNodeQuery query) {
public ResultBean<List<FinFundsApplyNodeVo>> getPreviousNodesForReject(FinFundsApplyNodeQuery query) {
return finFundsCarriedForwardApplyService.getPreviousNodesForReject(query);
}
@Override
public ResultBean<List<FinBillNodeVo>> getNextNodesForSubmit(FinFundsApplyNodeQuery query) {
public ResultBean<List<FinFundsApplyNodeVo>> getNextNodesForSubmit(FinFundsApplyNodeQuery query) {
return finFundsCarriedForwardApplyService.getNextNodesForSubmit(query);
}
@Override
public ResultBean reject(FinFundsApplyTaskQuery query) {
if (StringUtils.isNotBlank(query.getProcInsId()) && StringUtils.isBlank(query.getInstanceId())){
query.setInstanceId(query.getProcInsId());
}
return finFundsCarriedForwardApplyService.reject(query);
}
@Override
public ResultBean revokeProcess(FinFundsApplyTaskQuery query) {
if (StringUtils.isNotBlank(query.getProcInsId()) && StringUtils.isBlank(query.getInstanceId())){
query.setInstanceId(query.getProcInsId());
}
return finFundsCarriedForwardApplyService.revokeProcess(query);
}
@Override
public ResultBean breakProcess(FinFundsApplyTaskQuery query) {
if (StringUtils.isNotBlank(query.getProcInsId()) && StringUtils.isBlank(query.getInstanceId())){
query.setInstanceId(query.getProcInsId());
}
return finFundsCarriedForwardApplyService.breakProcess(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(FinFundsApplyNodeQuery query) {
return finFundsCarriedForwardApplyService.getFlowOperateTitle(query);
}
@Override
public ResultBean revokeProcessApp(FinFundsApplyTaskQuery query) {
if (StringUtils.isNotBlank(query.getProcInsId()) && StringUtils.isBlank(query.getInstanceId())){
query.setInstanceId(query.getProcInsId());
}
return finFundsCarriedForwardApplyService.revokeProcess(query);
}
@Override
public ResultBean rejectApp(FinFundsApplyTaskQuery query) {
if (StringUtils.isNotBlank(query.getProcInsId()) && StringUtils.isBlank(query.getInstanceId())){
query.setInstanceId(query.getProcInsId());
}
return finFundsCarriedForwardApplyService.reject(query);
}
@Override
public ResultBean completeApp(FinFundsApplyCompleteDto query) {
BusinessVariables bv=new BusinessVariables();
if (StringUtils.isNotBlank(query.getProcInsId()) && StringUtils.isBlank(query.getInstanceId())){
query.setInstanceId(query.getProcInsId());
}
BeanUtil.copyProperties(query,bv);
bv.setModelId(ProcDefEnum.FINFUNDSAPPLY.getProDefId());
bv.setFormVariables(BeanUtil.beanToMap(query));
return finFundsCarriedForwardApplyService.complete(bv);
}
@Override
public ResultBean breakProcessApp(FinFundsApplyTaskQuery query) {
if (StringUtils.isNotBlank(query.getProcInsId()) && StringUtils.isBlank(query.getInstanceId())){
query.setInstanceId(query.getProcInsId());
}
return finFundsCarriedForwardApplyService.breakProcess(query);
}
}

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

@ -30,38 +30,24 @@ import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo;
import com.yxt.anrui.base.api.basetrailer.BaseTrailerDetailsVo;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixDto;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixFeign;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyVo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplication;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationDetailsVo;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeVo;
import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerVo;
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleVo;
import com.yxt.anrui.fin.api.fincollectionconfirmation.FinCollectionConfirmation;
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.*;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyNodeQuery;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyNodeVo;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyTaskQuery;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.SubmitFinFundsApplyDto;
import com.yxt.anrui.fin.api.finfundscarriedforwardveh.FinFundsCarriedForwardVeh;
import com.yxt.anrui.fin.api.finfundscarriedforwardveh.FinFundsCarriedForwardVehDetailsVo;
import com.yxt.anrui.fin.api.finfundscarriedforwardveh.FinFundsCarriedForwardVehDto;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectReceivablesDetailedWCKCLRKVo;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailed;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDto;
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.flowable.api.flow.FlowProcessMapQuery;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
@ -69,24 +55,25 @@ import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.flow.PCHistTaskListAndCommentList;
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.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessageFlowVo;
import com.yxt.messagecenter.api.message.MessageFlowableQuery;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.ConstantUtils;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.WordUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessageFlowVo;
import com.yxt.messagecenter.api.message.MessageFlowableQuery;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -94,6 +81,8 @@ import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
import static java.util.Comparator.comparing;
/**
* Project: anrui-fin(款项结转申请) <br/>
* File: FinFundsCarriedForwardApplyService.java <br/>
@ -132,6 +121,8 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
private MessageFeign messageFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private com.yxt.anrui.portal.api.flow.FlowableFeign flowableFeignPro;
public PagerVo<FinFundsCarriedForwardApplyVo> listPageVo(PagerQuery<FinFundsCarriedForwardApplyQuery> pq) {
FinFundsCarriedForwardApplyQuery query = pq.getParams();
@ -190,6 +181,14 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
qw.groupBy("fa.sid");
IPage<FinFundsCarriedForwardApply> page = PagerUtil.queryToPage(pq);
IPage<FinFundsCarriedForwardApplyVo> pagging = baseMapper.selectPageVo(page, qw, query.getJzSmallMoney(), query.getJzBigMoney());
for (FinFundsCarriedForwardApplyVo record : pagging.getRecords()) {
record.setShowUpdateBtn(false);
if (StringUtils.isNotBlank(record.getDownloadUrl())) {
record.setShowDownloadBtn(true);
} else {
record.setShowDownloadBtn(false);
}
}
PagerVo<FinFundsCarriedForwardApplyVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
@ -225,6 +224,8 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
FinFundsCarriedForwardApplyDetailsVo vo = new FinFundsCarriedForwardApplyDetailsVo();
BeanUtil.copyProperties(entity, vo);
vo.setCreateByDate(DateUtil.formatDate(entity.getCreateTime()));
vo.setProcInsId(entity.getProcInstSid());
vo.setPublishInfo(vo.getApplyDeptName() + "-" + vo.getCreateByName());
List<CommonAppendixVo> commonAppendixVos = commonAppendixFeign.selByLinkSid(sid).getData();
List<String> kxqrsImages = new ArrayList<>();
for (CommonAppendixVo commonAppendixVo : commonAppendixVos) {
@ -233,6 +234,13 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
filePath = urlPrefix + filePath;
kxqrsImages.add(filePath);
}
if ("终止".equals(entity.getNodeState())) {
vo.setCollectionBillStateValue("已终止");
} else if ("已办结".equals(entity.getNodeState())) {
vo.setCollectionBillStateValue("已审核");
} else {
vo.setCollectionBillStateValue("待审核");
}
vo.setKxqrsImages(kxqrsImages);
List<FinFundsCarriedForwardVehDetailsVo> finFundsCarriedForwardVehDetailsVos = finFundsCarriedForwardVehService.fetchByMainSid(sid);
vo.setFinFundsCarriedForwardVehDetailsVos(finFundsCarriedForwardVehDetailsVos);
@ -256,12 +264,60 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
appFinFundsCarriedForwardYXYSKXVo.setUseOrgSid(finSelectedReceivablesDetailedVo.getUseOrgSid());
appFinFundsCarriedForwardYXYSKXVo.setSubscribedOf(finSelectedReceivablesDetailedVo.getSubscribedOf());
appFinFundsCarriedForwardYXYSKXVo.setSid(finSelectedReceivablesDetailedVo.getCollSid());
String currentReceivableMoney = finSelectedReceivablesDetailedVo.getCurrentReceivableMoney();
String subscriptionMoney = finSelectedReceivablesDetailedVo.getSubscriptionMoney();
BigDecimal surplusReceivable = new BigDecimal(currentReceivableMoney).subtract(new BigDecimal(subscriptionMoney));
appFinFundsCarriedForwardYXYSKXVo.setSurplusReceivable(surplusReceivable.toString());
appFinFundsCarriedForwardYXYSKXVoList.add(appFinFundsCarriedForwardYXYSKXVo);
}
vo.setYxysFinFundsCarriedForwardYXYSKXVos(appFinFundsCarriedForwardYXYSKXVoList);
return rb.success().setData(vo);
}
/*public ResultBean<FinFundsCarriedForwardApplyDetailsVo> appFetchDetailsBySid(String sid) {
ResultBean rb = ResultBean.fireFail();
FinFundsCarriedForwardApply entity = fetchBySid(sid);
FinFundsCarriedForwardApplyDetailsVo vo = new FinFundsCarriedForwardApplyDetailsVo();
BeanUtil.copyProperties(entity, vo);
vo.setCreateByDate(DateUtil.formatDate(entity.getCreateTime()));
vo.setProcInsId(entity.getProcInstSid());
List<CommonAppendixVo> commonAppendixVos = commonAppendixFeign.selByLinkSid(sid).getData();
List<String> kxqrsImages = new ArrayList<>();
for (CommonAppendixVo commonAppendixVo : commonAppendixVos) {
String filePath = commonAppendixVo.getFilePath();
String urlPrefix = fileUploadComponent.getUrlPrefix();
filePath = urlPrefix + filePath;
kxqrsImages.add(filePath);
}
vo.setKxqrsImages(kxqrsImages);
List<FinFundsCarriedForwardVehDetailsVo> finFundsCarriedForwardVehDetailsVos = finFundsCarriedForwardVehService.fetchByMainSid(sid);
vo.setFinFundsCarriedForwardVehDetailsVos(finFundsCarriedForwardVehDetailsVos);
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByCillSid(sid);
List<AppFinFundsCarriedForwardYXYSKXVo> appFinFundsCarriedForwardYXYSKXVoList = new ArrayList<>();
for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) {
AppFinFundsCarriedForwardYXYSKXVo appFinFundsCarriedForwardYXYSKXVo = new AppFinFundsCarriedForwardYXYSKXVo();
appFinFundsCarriedForwardYXYSKXVo.setContractSid(finSelectedReceivablesDetailedVo.getContractSid());
appFinFundsCarriedForwardYXYSKXVo.setContractId(finSelectedReceivablesDetailedVo.getContractNo());
appFinFundsCarriedForwardYXYSKXVo.setName(finSelectedReceivablesDetailedVo.getCustomerName());
appFinFundsCarriedForwardYXYSKXVo.setCustomerSid(finSelectedReceivablesDetailedVo.getCustomerSid());
appFinFundsCarriedForwardYXYSKXVo.setProjectName(finSelectedReceivablesDetailedVo.getReceivablesName());
appFinFundsCarriedForwardYXYSKXVo.setMobile(finSelectedReceivablesDetailedVo.getCustomerPhone());
appFinFundsCarriedForwardYXYSKXVo.setReceivable(finSelectedReceivablesDetailedVo.getCurrentReceivableMoney());
appFinFundsCarriedForwardYXYSKXVo.setConfirmMoney(finSelectedReceivablesDetailedVo.getSubscriptionMoney());
appFinFundsCarriedForwardYXYSKXVo.setVin(finSelectedReceivablesDetailedVo.getVIN());
appFinFundsCarriedForwardYXYSKXVo.setConfirmDate(finSelectedReceivablesDetailedVo.getSubscriptionDate());
appFinFundsCarriedForwardYXYSKXVo.setReceivablesSid(finSelectedReceivablesDetailedVo.getReceivablesSid());
appFinFundsCarriedForwardYXYSKXVo.setPayType(finSelectedReceivablesDetailedVo.getPayType());
appFinFundsCarriedForwardYXYSKXVo.setPayTypeKey(finSelectedReceivablesDetailedVo.getPayTypeKey());
appFinFundsCarriedForwardYXYSKXVo.setUseOrgSid(finSelectedReceivablesDetailedVo.getUseOrgSid());
appFinFundsCarriedForwardYXYSKXVo.setSubscribedOf(finSelectedReceivablesDetailedVo.getSubscribedOf());
appFinFundsCarriedForwardYXYSKXVo.setSid(finSelectedReceivablesDetailedVo.getCollSid());
appFinFundsCarriedForwardYXYSKXVoList.add(appFinFundsCarriedForwardYXYSKXVo);
}
vo.setYxysFinFundsCarriedForwardYXYSKXVos(appFinFundsCarriedForwardYXYSKXVoList);
return rb.success().setData(vo);
}*/
public ResultBean<FinFundsCarriedForwardApplyDetailsVo> init(FinFundsCarriedForwardApplyInitQuery finFundsCarriedForwardApplyInitQuery) {
ResultBean rb = ResultBean.fireFail();
List<String> busSids = finFundsCarriedForwardApplyInitQuery.getBusSids();
@ -291,13 +347,18 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
finFundsCarriedForwardVehDetailsVo.setCustomerSid(finSelectedReceivablesDetailed.getCustomerSid());
finFundsCarriedForwardVehDetailsVo.setCustomerName(finSelectedReceivablesDetailed.getCustomerName());
finFundsCarriedForwardVehDetailsVo.setVinNo(finSelectedReceivablesDetailed.getVIN());
if (StringUtils.isBlank(finSelectedReceivablesDetailed.getBalance())) {
finFundsCarriedForwardVehDetailsVo.setBalance(finSelectedReceivablesDetailed.getSubscriptionMoney().toString());
} else {
finFundsCarriedForwardVehDetailsVo.setBalance(finSelectedReceivablesDetailed.getBalance());
}
}
finFundsCarriedForwardVehDetailsVos.add(finFundsCarriedForwardVehDetailsVo);
}
finFundsCarriedForwardApplyDetailsVo.setSaleDeptSid(finCollectionConfirmation.getStaffDeptSid());
finFundsCarriedForwardApplyDetailsVo.setSaleDeptName(finCollectionConfirmation.getStaffDeptName());
finFundsCarriedForwardApplyDetailsVo.setStaffSid(finCollectionConfirmation.getStaffUserSid());
SysUserVo sysUserVo1 = sysUserFeign.fetchBySid(finCollectionConfirmation.getStaffUserSid()).getData();
finFundsCarriedForwardApplyDetailsVo.setStaffSid(sysUserVo1.getStaffSid());
finFundsCarriedForwardApplyDetailsVo.setStaffName(finCollectionConfirmation.getStaffName());
finFundsCarriedForwardApplyDetailsVo.setSource(finFundsCarriedForwardApplyInitQuery.getSource());
finFundsCarriedForwardApplyDetailsVo.setFinFundsCarriedForwardVehDetailsVos(finFundsCarriedForwardVehDetailsVos);
@ -305,6 +366,7 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
String useOrgName = sysOrganizationFeign.fetchBySid(useOrgSid).getData().getName();
finFundsCarriedForwardApplyDetailsVo.setUseOrgSid(useOrgSid);
finFundsCarriedForwardApplyDetailsVo.setUseOrgName(useOrgName);
finFundsCarriedForwardApplyDetailsVo.setOrgSidPath(finFundsCarriedForwardApplyInitQuery.getOrgSidPath());
return rb.success().setData(finFundsCarriedForwardApplyDetailsVo);
}
@ -321,7 +383,7 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
String billNo = "";
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(dto.getUseOrgSid()).getData();
String date = DateUtil.format(DateUtil.date(), "yyyyMM");
billNo = "XSCKD" + sysOrganizationVo.getOrgCode() + date;
billNo = "KXJZ" + sysOrganizationVo.getOrgCode() + date;
String i = baseMapper.selectNum(billNo);
if (StringUtils.isNotBlank(i)) {
billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue());
@ -329,7 +391,14 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
billNo = Rule.getBillNo(billNo, 0);
}
finFundsCarriedForwardApply.setBillNo(billNo);
Boolean isOneSale = dto.getIsOneSale();
if (isOneSale){
finFundsCarriedForwardApply.setNodeState("已办结");
}else {
finFundsCarriedForwardApply.setNodeState("待提交");
}
Long jzjehj = finFundsCarriedForwardVehDetailsVos.stream().collect(Collectors.summingLong(FinFundsCarriedForwardVehDto::getThisUseMoney));
finFundsCarriedForwardApply.setJzjehj(String.valueOf(jzjehj));
save(finFundsCarriedForwardApply);
for (String filePath : kxqrsImages) {
CommonAppendixDto commonAppendixDto = new CommonAppendixDto();
@ -430,6 +499,36 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
ResultBean rb = ResultBean.fireFail();
//用户的组织全路径
FinFundsCarriedForwardApply finFundsCarriedForwardApply = fetchBySid(dto.getSid());
List<FinFundsCarriedForwardVehDto> finFundsCarriedForwardVehDetailsVos = dto.getFinFundsCarriedForwardVehDetailsVos();
Long jzjehj = finFundsCarriedForwardVehDetailsVos.stream().collect(Collectors.summingLong(FinFundsCarriedForwardVehDto::getThisUseMoney));
List<AppFinFundsCarriedForwardYXYSKXDto> yxysFinFundsCarriedForwardYXYSKXVos = dto.getYxysFinFundsCarriedForwardYXYSKXVos();
Long rkje = yxysFinFundsCarriedForwardYXYSKXVos.stream().collect(Collectors.summingLong(AppFinFundsCarriedForwardYXYSKXDto::getConfirmMoney));
if (rkje < jzjehj) {
return rb.setMsg("认款金额不能小于填写的结转金额");
}
if ("已认款".equals(dto.getSource())) {
Boolean isOneSale = true;
for (FinFundsCarriedForwardVehDto finFundsCarriedForwardVehDetailsVo : finFundsCarriedForwardVehDetailsVos) {
String busBillNo = finFundsCarriedForwardVehDetailsVo.getBusBillNo();
for (AppFinFundsCarriedForwardYXYSKXDto yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) {
String contractId = yxysFinFundsCarriedForwardYXYSKXVo.getContractId();
if (!busBillNo.equals(contractId)) {
isOneSale = false;
continue;
}
}
if (!isOneSale) {
continue;
}
}
if (isOneSale) {
String pdfPath = createPdf(finFundsCarriedForwardApply.getSid(), finFundsCarriedForwardApply.getCreateByName()).getData();
dto.setPdfPath(pdfPath);
dto.setIsOneSale(true);
saveOrUpdateAll(dto);
return rb.success();
}
}
int r = submitBusinessDataPc(dto, finFundsCarriedForwardApply);
if (r == 3) {
return rb.setMsg("该申请不存在");
@ -443,6 +542,7 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
return rb.setMsg(resultBean.getMsg());
}
String businessSid = resultBean.getData();
finFundsCarriedForwardApply = fetchBySid(businessSid);
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
@ -476,6 +576,7 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
}
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
updateYeBySid(businessSid);
//极光推送
finFundsCarriedForwardApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
@ -498,7 +599,7 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
bv.setTaskDefKey(finFundsCarriedForwardApply.getNodeSid());
bv.setComment("重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
return completeTwo(bv);
}
return null;
}
@ -536,25 +637,47 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
return r;
}
public ResultBean<List<FinBillNodeVo>> getPreviousNodesForReject(FinFundsApplyNodeQuery query) {
ResultBean<List<FinBillNodeVo>> rb = ResultBean.fireFail();
public ResultBean<List<FinFundsApplyNodeVo>> getPreviousNodesForReject(FinFundsApplyNodeQuery query) {
ResultBean<List<FinFundsApplyNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.FINFUNDSAPPLY.getProDefId());
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
FinFundsCarriedForwardApply finFundsCarriedForwardApply = fetchBySid(query.getBusinessSid());
//判断发起人和销售专员是同一人
SysUserVo sysUserVo = sysUserFeign.fetchBySid(finFundsCarriedForwardApply.getCreateBySid()).getData();
if (sysUserVo.getStaffSid().equals(finFundsCarriedForwardApply.getStaffSid())) {
variables.put("isAdj", true);
} else {
variables.put("isAdj", false);
}
bv.setFormVariables(variables);
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<FinBillNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FinBillNodeVo.class)).collect(Collectors.toList());
List<FinFundsApplyNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FinFundsApplyNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<List<FinBillNodeVo>> getNextNodesForSubmit(FinFundsApplyNodeQuery query) {
ResultBean<List<FinBillNodeVo>> rb = ResultBean.fireFail();
public ResultBean<List<FinFundsApplyNodeVo>> getNextNodesForSubmit(FinFundsApplyNodeQuery query) {
ResultBean<List<FinFundsApplyNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.FINFUNDSAPPLY.getProDefId());
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
FinFundsCarriedForwardApply finFundsCarriedForwardApply = fetchBySid(query.getBusinessSid());
//判断发起人和销售专员是同一人
SysUserVo sysUserVo = sysUserFeign.fetchBySid(finFundsCarriedForwardApply.getCreateBySid()).getData();
if (sysUserVo.getStaffSid().equals(finFundsCarriedForwardApply.getStaffSid())) {
variables.put("isAdj", true);
} else {
variables.put("isAdj", false);
}
bv.setFormVariables(variables);
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<FinBillNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FinBillNodeVo.class)).collect(Collectors.toList());
List<FinFundsApplyNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FinFundsApplyNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
@ -581,6 +704,13 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
appMap.put("sid", businessSid);
appMap.put("sourceStr", finFundsCarriedForwardApply.getSource());
variables.put("app", appMap);
//判断发起人和销售专员是同一人
SysUserVo sysUserVo = sysUserFeign.fetchBySid(finFundsCarriedForwardApply.getCreateBySid()).getData();
if (sysUserVo.getStaffSid().equals(finFundsCarriedForwardApply.getStaffSid())) {
variables.put("isAdj", true);
} else {
variables.put("isAdj", false);
}
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
@ -590,6 +720,7 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
Map<String, Object> map = BeanUtil.beanToMap(ufVo);
//更新业务中的流程相关的参数
updateFlowFiled(map);
updateYeBySid(businessSid);
//极光推送
finFundsCarriedForwardApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
@ -634,6 +765,7 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
updateYeBySid(query.getBusinessSid());
return rb.success().setData(resultBean.getData());
}
}
@ -663,6 +795,7 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
updateYeBySid(query.getBusinessSid());
return rb.success().setData(resultBean.getData());
} else {
if (businessTaskId.equals(query.getTaskId())) {
@ -674,6 +807,7 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
updateYeBySid(query.getBusinessSid());
return rb.success().setData(resultBean.getData());
}
}
@ -691,6 +825,13 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
appMap.put("sid", businessSid);
appMap.put("sourceStr", finFundsCarriedForwardApply.getSource());
variables.put("app", appMap);
//判断发起人和销售专员是同一人
SysUserVo sysUserVo = sysUserFeign.fetchBySid(finFundsCarriedForwardApply.getCreateBySid()).getData();
if (sysUserVo.getStaffSid().equals(finFundsCarriedForwardApply.getStaffSid())) {
variables.put("isAdj", true);
} else {
variables.put("isAdj", false);
}
bv.setFormVariables(variables);
bv.setOrgSidPath(finFundsCarriedForwardApply.getOrgSidPath());
if (bv.getTaskId().equals(finFundsCarriedForwardApply.getTaskId())) {
@ -701,6 +842,9 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
String pdfPath = createPdf(finFundsCarriedForwardApply.getSid(), finFundsCarriedForwardApply.getCreateByName()).getData();
baseMapper.updatePathBySid(pdfPath,businessSid);
} else {
//极光推送
finFundsCarriedForwardApply = fetchBySid(businessSid);
@ -723,4 +867,178 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
}
}
public ResultBean completeTwo(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
String businessSid = bv.getBusinessSid();
FinFundsCarriedForwardApply finFundsCarriedForwardApply = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
appMap.put("sourceStr", finFundsCarriedForwardApply.getSource());
variables.put("app", appMap);
//判断发起人和销售专员是同一人
SysUserVo sysUserVo = sysUserFeign.fetchBySid(finFundsCarriedForwardApply.getCreateBySid()).getData();
if (sysUserVo.getStaffSid().equals(finFundsCarriedForwardApply.getStaffSid())) {
variables.put("isAdj", true);
} else {
variables.put("isAdj", false);
SysUserVo userVo = sysUserFeign.selectByStaffsid(finFundsCarriedForwardApply.getStaffSid()).getData();
bv.setNextNodeUserSids(userVo.getSid());
}
bv.setFormVariables(variables);
bv.setOrgSidPath(finFundsCarriedForwardApply.getOrgSidPath());
if (bv.getTaskId().equals(finFundsCarriedForwardApply.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
} else {
//极光推送
finFundsCarriedForwardApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
ufVo.setProcDefId(finFundsCarriedForwardApply.getProcDefId());
ufVo.setProcInsId(finFundsCarriedForwardApply.getProcInstSid());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("款项结转申请");
messageFlowableQuery.setMsgContent(finFundsCarriedForwardApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("款项结转申请");
messageFeign.pushMessage(messageFlowableQuery);
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
private ResultBean updateYeBySid(String businessSid) {
ResultBean rb = ResultBean.fireFail();
//修改剩余金额
FinFundsCarriedForwardApply finFundsCarriedForwardApply = fetchBySid(businessSid);
List<FinFundsCarriedForwardVehDetailsVo> finFundsCarriedForwardVehDetailsVos = finFundsCarriedForwardVehService.fetchByMainSid(businessSid);
for (FinFundsCarriedForwardVehDetailsVo finFundsCarriedForwardVehDetailsVo : finFundsCarriedForwardVehDetailsVos) {
//结转金额之和
String djjzMoney = finFundsCarriedForwardVehService.fetchDJSumMoneyByBusSid(finFundsCarriedForwardVehDetailsVo.getBusSid());
if (StringUtils.isBlank(djjzMoney)) {
djjzMoney = "0";
}
if ("简易订单订金".equals(finFundsCarriedForwardApply.getSource())) {
FinCollectionConfirmation finCollectionConfirmation = finCollectionConfirmationService.fetchBySid(finFundsCarriedForwardVehDetailsVo.getBusSid());
//余额
BigDecimal collectionMoney = finCollectionConfirmation.getCollectionMoney();
BigDecimal balance = collectionMoney.subtract(new BigDecimal(djjzMoney));
finCollectionConfirmationService.updateYeBySid(balance.toString(), finFundsCarriedForwardVehDetailsVo.getBusSid());
finFundsCarriedForwardVehService.updateYeByMainSid(balance.toString(), finFundsCarriedForwardVehDetailsVo.getSid());
} else if ("已认款".equals(finFundsCarriedForwardApply.getSource())) {
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(finFundsCarriedForwardVehDetailsVo.getBusSid());
//余额
BigDecimal subscriptionMoney = finSelectedReceivablesDetailed.getSubscriptionMoney();
BigDecimal balance = subscriptionMoney.subtract(new BigDecimal(djjzMoney));
finSelectedReceivablesDetailedService.updateYeBySid(balance.toString(), finFundsCarriedForwardVehDetailsVo.getSid());
finFundsCarriedForwardVehService.updateYeByMainSid(balance.toString(), businessSid);
}
}
return rb.success();
}
public ResultBean<String> getFlowOperateTitle(FinFundsApplyNodeQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
String data = "";
if (next == 0) {
ResultBean<List<FinFundsApplyNodeVo>> previousNodesForReject = getPreviousNodesForReject(query);
if (previousNodesForReject.getSuccess()) {
previousNodesForReject.getData().removeAll(Collections.singleton(null));
data = previousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(previousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<FinFundsApplyNodeVo>> nextNodesForSubmit = getNextNodesForSubmit(query);
if (nextNodesForSubmit.getSuccess()) {
nextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = nextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(nextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
public ResultBean<String> createPdf(String sid, String userName) {
ResultBean rb = ResultBean.fireFail();
FinFundsCarriedForwardApplyDetailsVo data = fetchDetailsVoBySid(sid).getData();
List<FinFundsCarriedForwardVehDetailsVo> finFundsCarriedForwardVehDetailsVos = data.getFinFundsCarriedForwardVehDetailsVos();
List<AppFinFundsCarriedForwardYXYSKXVo> yxysFinFundsCarriedForwardYXYSKXVos = data.getYxysFinFundsCarriedForwardYXYSKXVos();
Map<String, Object> dataMap = new HashMap();
List<PCHistTaskListAndCommentList> flowRecordVo = flowableFeignPro.flowRecordAndComment(data.getProcInsId(), "1").getData();
if (flowRecordVo != null) {
for (PCHistTaskListAndCommentList flowTask : flowRecordVo) {
if (flowTask.getFlowableRecordVo() != null) {
Map<String, Object> flowableRecordVo = flowTask.getFlowableRecordVo();
String taskDefKey = (String) flowableRecordVo.get("taskDefKey");
List<Map<String, Object>> taskUserInfos = ConstantUtils.getListData(flowableRecordVo, "taskUserInfos");
String assigneeName = (String) taskUserInfos.get(0).get("assigneeName");
String finishTime = (String) flowableRecordVo.get("finishTime");
finishTime = finishTime.substring(0, 10);
if ("Activity_1nfy3ql".equals(taskDefKey)) {
dataMap.put("spName", assigneeName + finishTime);
}
}
}
}
List<ZC> zcList = new ArrayList<>();
List<ZR> zrList = new ArrayList<>();
for (FinFundsCarriedForwardVehDetailsVo finFundsCarriedForwardVehDetailsVo : finFundsCarriedForwardVehDetailsVos) {
ZC zc = new ZC();
zc.setZc("转出");
zc.setConNo(finFundsCarriedForwardVehDetailsVo.getBusBillNo());
zc.setName(finFundsCarriedForwardVehDetailsVo.getCustomerName());
zc.setVinNo(finFundsCarriedForwardVehDetailsVo.getVinNo());
zc.setDcje(finFundsCarriedForwardVehDetailsVo.getThisUseMoney());
zc.setDcqye(finFundsCarriedForwardVehDetailsVo.getBalance());
zc.setDchye(new BigDecimal(finFundsCarriedForwardVehDetailsVo.getBalance()).subtract(new BigDecimal(finFundsCarriedForwardVehDetailsVo.getThisUseMoney())).toString());
zcList.add(zc);
}
for (AppFinFundsCarriedForwardYXYSKXVo yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) {
ZR zr = new ZR();
zr.setZr("转入");
zr.setConNo(yxysFinFundsCarriedForwardYXYSKXVo.getContractId());
zr.setName(yxysFinFundsCarriedForwardYXYSKXVo.getName());
zr.setVinNo(yxysFinFundsCarriedForwardYXYSKXVo.getVin());
zr.setDrje(yxysFinFundsCarriedForwardYXYSKXVo.getConfirmMoney());
zrList.add(zr);
}
dataMap.put("saleDate", DateUtil.formatDate(new Date()));
dataMap.put("zcList", zcList);
dataMap.put("zrList", zrList);
dataMap.put("makeName", data.getCreateByName() + data.getCreateByDate());
//获取模板
//模板路径
String sourcePath = "D:\\anrui\\upload\\template\\";
//生成word文件名
String dateStr = DateUtil.format(new Date(), "yyyyMMdd");
long seconds = System.currentTimeMillis();
String typeName = dateStr + seconds + ".doc";
// 生成文件路径
String targetPath = sourcePath + dateStr;
WordUtils.creatWord(dataMap, "kxjz", sourcePath, targetPath, typeName);
//新生成的word路径
String wordPath = targetPath + "\\" + typeName;
//生成出门证文件名
String pdfName = "款项结转_" + dateStr + seconds + ".pdf";
WordUtils.doc2pdf(wordPath, targetPath, pdfName, userName);
return rb.success().setData("template/" + dateStr + "/" + pdfName);
}
}

10
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehMapper.java

@ -30,10 +30,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.fin.api.finfundscarriedforwardveh.FinFundsCarriedForwardVehDetailsVo;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.*;
import com.yxt.anrui.fin.api.finfundscarriedforwardveh.FinFundsCarriedForwardVeh;
import com.yxt.anrui.fin.api.finfundscarriedforwardveh.FinFundsCarriedForwardVehVo;
@ -72,6 +69,9 @@ public interface FinFundsCarriedForwardVehMapper extends BaseMapper<FinFundsCarr
@Delete("delete from fin_funds_carried_forward_veh where mainSid = #{dtoSid}")
void deleteByMainSid(String dtoSid);
@Select("select * from fin_funds_carried_forward_veh where mainSid = #{dtoSid}")
@Select("select * from fin_funds_carried_forward_veh where mainSid = #{sid}")
List<FinFundsCarriedForwardVehDetailsVo> fetchByMainSid(String sid);
@Update("update fin_funds_carried_forward_veh set balance = #{balance} where sid = #{sid}")
void updateYeByMainSid(@Param("balance") String balance,@Param("sid") String sid);
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehMapper.xml

@ -25,7 +25,7 @@
ON fv.`mainSid` = fa.`sid`
LEFT JOIN fin_collection_confirmation fc
ON fv.`busSid` = fc.`sid`
WHERE fa.`nodeState` != "待提交" AND fa.`nodeState` != "终止"
WHERE fa.`nodeState` != "待提交" AND fa.`nodeState` != "终止" AND fa.`nodeState` != "发起申请" AND fv.busSid = #{busSid}
</select>
<select id="fetchSKSumMoneyByBusSid" resultType="java.lang.String">
@ -35,6 +35,6 @@
ON fv.`mainSid` = fa.`sid`
LEFT JOIN fin_selected_receivables_detailed fd
ON fv.`busSid` = fd.`sid`
WHERE fa.`nodeState` != "待提交" AND fa.`nodeState` != "终止"
WHERE fa.`nodeState` != "待提交" AND fa.`nodeState` != "终止" AND fa.`nodeState` != "发起申请" AND fv.busSid = #{busSid}
</select>
</mapper>

36
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardveh/FinFundsCarriedForwardVehService.java

@ -26,8 +26,33 @@
package com.yxt.anrui.fin.biz.finfundscarriedforwardveh;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basemiddleman.BaseMiddlemanDetailsVo;
import com.yxt.anrui.base.api.commoncontract.CommonContract;
import com.yxt.anrui.buscenter.api.busdeposit.BusDeposit;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitious;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFL;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderSourceLCVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDiscountListVo;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDeposit;
import com.yxt.anrui.buscenter.api.bussalesorderinsurance.BusSalesOrderInsuranceDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModel;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice;
import com.yxt.anrui.buscenter.api.bussalesordersubmit.BusSalesOrderSubmit;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.portal.api.flow.PCHistTaskListAndCommentList;
import com.yxt.anrui.portal.api.sysorganization.SysOrganization;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo;
import com.yxt.common.base.utils.ConstantUtils;
import com.yxt.common.base.utils.WordUtils;
import com.yxt.messagecenter.api.message.Message;
import com.yxt.messagecenter.api.messagelist.MessageList;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -43,7 +68,12 @@ import com.yxt.anrui.fin.api.finfundscarriedforwardveh.FinFundsCarriedForwardVeh
import org.springframework.stereotype.Service;
import java.util.List;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.util.*;
import static java.util.Comparator.comparing;
/**
* Project: anrui-fin(款项结转申请) <br/>
@ -123,4 +153,8 @@ public class FinFundsCarriedForwardVehService extends MybatisBaseService<FinFund
public List<FinFundsCarriedForwardVehDetailsVo> fetchByMainSid(String sid) {
return baseMapper.fetchByMainSid(sid);
}
public void updateYeByMainSid(String balance, String sid) {
baseMapper.updateYeByMainSid(balance,sid);
}
}

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

@ -152,4 +152,7 @@ public interface FinSelectedReceivablesDetailedMapper extends BaseMapper<FinSele
List<FinSelectReceivablesDetailedVo> selectPageList(@Param(Constants.WRAPPER) QueryWrapper<AppFinUncollectedReceivablesDetailedVo> qw, @Param("name") String name);
IPage<FinSelectReceivablesDetailedWCKCLRKVo> noOutVehRecPageList(IPage<FinSelectedReceivablesDetailed> page, @Param(Constants.WRAPPER)QueryWrapper<FinSelectReceivablesDetailedWCKCLRKVo> qw);
@Update("update fin_selected_receivables_detailed set balance = #{balance} where sid = #{busSid}")
void updateYeBySid(@Param("balance") String balance,@Param("busSid") String busSid);
}

7
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java

@ -558,8 +558,15 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
String useOrgSid = record.getUseOrgSid();
String useOrgName = sysOrganizationFeign.fetchBySid(useOrgSid).getData().getName();
record.setUseOrgName(useOrgName);
if (StringUtils.isBlank(record.getReveivableMoney())){
record.setReveivableMoney(record.getSubscriptionMoney());
}
}
PagerVo<FinSelectReceivablesDetailedWCKCLRKVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public void updateYeBySid(String balance, String busSid) {
baseMapper.updateYeBySid(balance,busSid);
}
}

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

@ -389,22 +389,25 @@ public class FlowableRest implements FlowableFeign {
boolean isChange = false;
String firstName = "";
String firstSid = "";
String changeName = "";
if (StringUtils.isBlank(nextUserSid)) {
ResultBean<UserAndOrgPath> nextNodeUserSidsOfSubmit = getNextNodeUserSidsOfSubmit(dto);
if (!nextNodeUserSidsOfSubmit.getSuccess()) {
// return rb.setMsg("nextUserSid 不能为空!");
//=================================添加系统个管理员自动审批
//下一环节用户为空的情况
nextUserSid = ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId();
adminContains = true;
} else {
nextUserSid = nextNodeUserSidsOfSubmit.getData().getUserSid();
formVariables.put(BusinessVariables.ORGPATH, nextNodeUserSidsOfSubmit.getData().getOrgPath());
//下一环节不为空,查询下一环节用户是否有转办人
if (nextUserSid != null) {
List<String> nextUserList = Arrays.asList(nextUserSid.split(","));
if (nextUserList.size() == 1) {
//下一环节用户sid
firstSid = nextUserList.get(0);
ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(firstSid);
if (sysUserVoResultBean.getData() != null) {
//下一环节用户名称
firstName = sysUserVoResultBean.getData().getName();
}
SysFlowableConfigQuery sysFlowableConfigQuery = new SysFlowableConfigQuery();
@ -413,7 +416,10 @@ public class FlowableRest implements FlowableFeign {
ResultBean<SysFlowableConfigVvo> sysFlowableConfigVvoResultBean = sysFlowableConfigFeign.selectByUserSid(sysFlowableConfigQuery);
if (sysFlowableConfigVvoResultBean.getData() != null) {
if (StringUtils.isNotBlank(sysFlowableConfigVvoResultBean.getData().getChangeUserSid())) {
//转办人sid
nextUserSid = sysFlowableConfigVvoResultBean.getData().getChangeUserSid();
//转办人名称
changeName = sysFlowableConfigVvoResultBean.getData().getChangeName();
isChange = true;
}
}
@ -422,6 +428,7 @@ public class FlowableRest implements FlowableFeign {
}
} else {
//若下一环节用户与系统管理员一致,则自动审批
if (ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId().equals(nextUserSid)) {
adminContains = true;
}
@ -442,6 +449,7 @@ public class FlowableRest implements FlowableFeign {
if (StringUtils.isBlank(businessSid)) {
return rb.setMsg("业务sid 不能为空!");
}
//查询任务id为taskId的任务是否存在
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
if (Objects.isNull(task)) {
return rb.setMsg("任务不存在");
@ -454,7 +462,7 @@ public class FlowableRest implements FlowableFeign {
String taskDefKey = "";
vo.setSid(businessSid);
if (DelegationState.PENDING.equals(task.getDelegationState())) {
if (DelegationState.PENDING.equals(task.getDelegationState())) {//加签
taskService.addComment(taskId, instanceId,
FlowComment.DELEGATE.getType(), comment);
taskService.resolveTask(taskId, formVariables);
@ -469,15 +477,11 @@ public class FlowableRest implements FlowableFeign {
if (ll.getData().size() > 0) {
LatestTaskVo latestTaskVo = ll.getData().get(0);
String id_ = latestTaskVo.getId_();
if(isChange){//添加评论
ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(nextUserSid);
if (isChange) {//若下一环节用户存在转办人则添加评论
ProcessCommentDto processCommentDto = new ProcessCommentDto();
processCommentDto.setReviewerSid(firstSid);
if(sysUserVoResultBean.getData() != null){
String changeName = sysUserVoResultBean.getData().getName();
processCommentDto.setReviewer(firstName);
processCommentDto.setContent("交" + changeName + "转办");
}
processCommentDto.setTime(new Date());
processCommentDto.setProcessId(dto.getInstanceId());
processCommentService.saveOrUpdateDto(processCommentDto);
@ -494,7 +498,7 @@ public class FlowableRest implements FlowableFeign {
vo.setNodeState(FlowComment.SETTLE.getRemark());
}
}
if (adminContains) {
if (adminContains) {//若下一环节用户与系统管理员一致,则自动审批
dto.setUserSid(nextUserSid);
dto.setTaskId(vo.getTaskId());
dto.setTaskDefKey(taskDefKey);
@ -516,7 +520,7 @@ public class FlowableRest implements FlowableFeign {
UserTask userTask = (UserTask) flowElement2;
List<String> candidateGroups = userTask.getCandidateGroups();
//根据角色查询用户
for (String roleSid : candidateGroups) {
/*for (String roleSid : candidateGroups) {
UserQuery userQuery = new UserQuery();
userQuery.setRoleSid(roleSid);
userQuery.setOrgSidPath(dto.getOrgSidPath());
@ -526,6 +530,13 @@ public class FlowableRest implements FlowableFeign {
continue;
}
sysUserVoLists2.addAll(userByRole.getData());
}*/
UserssQuery userssQuery = new UserssQuery();
userssQuery.setCandidateGroups(candidateGroups);
userssQuery.setOrgSidPath(dto.getOrgSidPath());
sysUserVoLists2 = sysUserFeign.getUsersByRoles(userssQuery).getData();
if (sysUserVoLists2 == null) {
sysUserVoLists2 = new ArrayList<>();
}
}
}
@ -534,7 +545,7 @@ public class FlowableRest implements FlowableFeign {
List<String> candidateGroups = userTask.getCandidateGroups();
List<SysUserVo> sysUserVoLists = new ArrayList<>();
//根据角色查询用户
for (String roleSid : candidateGroups) {
/* for (String roleSid : candidateGroups) {
UserQuery userQuery = new UserQuery();
userQuery.setRoleSid(roleSid);
userQuery.setOrgSidPath(dto.getOrgSidPath());
@ -544,6 +555,13 @@ public class FlowableRest implements FlowableFeign {
continue;
}
sysUserVoLists.addAll(userByRole.getData());
}*/
UserssQuery userssQuery = new UserssQuery();
userssQuery.setCandidateGroups(candidateGroups);
userssQuery.setOrgSidPath(dto.getOrgSidPath());
sysUserVoLists = sysUserFeign.getUsersByRoles(userssQuery).getData();
if (sysUserVoLists == null) {
sysUserVoLists = new ArrayList<>();
}
//当前环节运营部总经理 刘丽艳 点击同意 下一环节 事业部副总经理 (nextUserSid) 和事业部总经理(sysUserVoLists.get(0).getSid())
//判断查询回来的用户的集合size是1 并且用户的sid和下一环节的用户的sid相同。
@ -579,6 +597,7 @@ public class FlowableRest implements FlowableFeign {
/**
* 未添加系统管理员自动审批功能
*
* @param dto
* @param b 是否连续跳转环节
* @return

2
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysflowableconfig/SysFlowableConfigVvo.java

@ -14,4 +14,6 @@ public class SysFlowableConfigVvo implements Vo {
private static final long serialVersionUID = -3291554285219440731L;
@ApiModelProperty("转办人sid")
private String changeUserSid;
@ApiModelProperty("转办人名称")
private String changeName;
}

4
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java

@ -199,6 +199,10 @@ public interface SysUserFeign {
@GetMapping(value = "getUserByRole")
ResultBean<List<SysUserVo>> getUserByRole(@SpringQueryMap UserQuery query);
@ApiOperation(value = "获取本机构链角色的用户")
@PostMapping(value = "getUsersByRoles")
ResultBean<List<SysUserVo>> getUsersByRoles(@RequestBody UserssQuery usersQuery);
/**
* 参数当前用户角色sid部门sid
*

5
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeignFallback.java

@ -186,6 +186,11 @@ public class SysUserFeignFallback implements SysUserFeign {
return null;
}
@Override
public ResultBean<List<SysUserVo>> getUsersByRoles(UserssQuery usersQuery) {
return null;
}
@Override
public ResultBean<List<SysUserVo>> getUserByOrgRole(UserRoleQuery query) {
return null;

19
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/UserssQuery.java

@ -0,0 +1,19 @@
package com.yxt.anrui.portal.api.sysuser;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2023/7/10
**/
@Data
public class UserssQuery {
private List<String> candidateGroups = new ArrayList<>();
private String orgSidPath;
}

5
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java

@ -605,6 +605,11 @@ public class SysUserRest implements SysUserFeign {
return sysUserService.getUserByRole(query);
}
@Override
public ResultBean<List<SysUserVo>> getUsersByRoles(UserssQuery usersQuery) {
return sysUserService.getUsersByRoles(usersQuery);
}
@Override
public ResultBean<List<SysUserVo>> getUserByOrgRole(UserRoleQuery query) {
return sysUserService.getUserByOrgRole(query);

37
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java

@ -1118,6 +1118,43 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
return rb.success().setData(sysUserVoList);
}
public ResultBean<List<SysUserVo>> getUsersByRoles(UserssQuery usersQuery) {
ResultBean<List<SysUserVo>> rb = ResultBean.fireFail();
List<SysUserVo> sysUserVoList = new ArrayList<>();
List<String> candidateGroups = usersQuery.getCandidateGroups();
candidateGroups.removeAll(Collections.singleton(null));
String orgSidPath = usersQuery.getOrgSidPath();
if (!candidateGroups.isEmpty()) {
for (String roleSid : candidateGroups) {
//根据角色sid获取角色的层级
String levelTypeKey = sysRoleService.getLevelType(roleSid);
if (StringUtils.isNotBlank(levelTypeKey)) {
if (orgSidPath.split("/").length >= Integer.parseInt(levelTypeKey) - 1) {
String levelOrgSid = orgSidPath.split("/")[Integer.parseInt(levelTypeKey) - 1];
sysUserVoList = baseMapper.getUserByRole(roleSid, levelOrgSid);
if (sysUserVoList.size() > 1) {
List<String> stringList = sysUserVoList.stream().map(v -> v.getSid()).collect(Collectors.toList());
List<SysUserVo> sysUserVoList1 = baseMapper.getUserMessageByRole(roleSid, levelOrgSid, stringList);
sysUserVoList1.removeAll(Collections.singleton(null));
if (sysUserVoList1.size() > 0) {
sysUserVoList = sysUserVoList1;
}
}
}
sysUserVoList.removeAll(Collections.singleton(null));
sysUserVoList.forEach(t -> {
t.setOrgSidPath(orgSidPath);
});
} else {
return rb.setMsg("该角色层级未设置").setData(sysUserVoList);
}
}
}
return rb.success().setData(sysUserVoList);
}
public ResultBean<List<Map<String, String>>> getUserByOrgSid(String orgSid, String userSid) {

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinbank/LoanFinBankFeign.java

@ -113,4 +113,8 @@ public interface LoanFinBankFeign {
@ApiOperation("手机端查询资方的列表")
@PostMapping("/selectAppFinBankList")
public ResultBean<PagerVo<AppResultData>> selectAppFinBankList(@RequestBody PagerQuery<LoanFinBankQuery> pq);
@ApiOperation("产品政策查询资方下拉框")
@GetMapping("/selectListByOrgPath")
ResultBean<List<LoanFinBanksVo>> selectListByOrgPath(@RequestParam("orgPath") String orgPath);
}

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinbank/LoanFinBankFeignFallback.java

@ -70,4 +70,9 @@ public class LoanFinBankFeignFallback implements LoanFinBankFeign {
return ResultBean.fireFail().setMsg("接口anrui-base/basefinbank/selectAppFinBankList无法访问");
}
@Override
public ResultBean<List<LoanFinBanksVo>> selectListByOrgPath(String orgPath) {
return null;
}
}

18
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinbank/LoanFinBanksVo.java

@ -0,0 +1,18 @@
package com.yxt.anrui.riskcenter.api.loanfinbank;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/7/10
**/
@Data
public class LoanFinBanksVo implements Vo {
private static final long serialVersionUID = -2396821681988455147L;
private String sid;
private String name;
}

7
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicy.java

@ -1,5 +1,6 @@
package com.yxt.anrui.riskcenter.api.loanfinotherPolicy;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -12,6 +13,7 @@ import java.math.BigDecimal;
* @date: 2023/7/6
**/
@Data
@TableName("loan_fin_otherpolicy")
public class LoanFinOtherPolicy extends BaseEntity {
private static final long serialVersionUID = 7109639024348200286L;
@ApiModelProperty("产品名称:组合(资方+产品类别+最高融资比例+期数)")
@ -39,13 +41,14 @@ public class LoanFinOtherPolicy extends BaseEntity {
@ApiModelProperty("车辆功能value")
private String vehTypeValue;
@ApiModelProperty("最高融资额比例(%)")
private String maxLoanRatio;
private BigDecimal maxLoanRatio;
@ApiModelProperty("最高融资额")
private BigDecimal maxLoanAmount;
@ApiModelProperty("期数")
private int period;
private String periodKey;
@ApiModelProperty("年利率(%)")
private String yearRatio;
private BigDecimal yearRatio;
@ApiModelProperty("有效期至")
private String validDateTo;
@ApiModelProperty("报备状态:1已报备,0未报备")

1
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicyVo.java

@ -23,6 +23,7 @@ public class LoanFinOtherPolicyVo implements Vo {
private String maxLoanAmount;
@ApiModelProperty("期数")
private int period;
private String periodKey;
@ApiModelProperty("年利率")
private String yearRatio;
}

14
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicy.java

@ -43,15 +43,19 @@ public class LoanFinPolicy extends BaseEntity {
@ApiModelProperty("单车意外险")
private BigDecimal vehAccidentAmount;
@ApiModelProperty("首付比例(%)")
private String downPayRatio;
private BigDecimal downPayRatio;
private String downPayRatioKey;
@ApiModelProperty("最低首付比例(%)")
private String downPayRatioLeast;
private BigDecimal downPayRatioLeast;
private String downPayRatioLeastKey;
@ApiModelProperty("保证金比例(%)")
private String bondRatio;
private BigDecimal bondRatio;
private String bondRatioKey;
@ApiModelProperty("期数")
private int period;
private String periodKey;
@ApiModelProperty("标准年利率(%)")
private String yearRatio;
private BigDecimal yearRatio;
@ApiModelProperty("服务费类型key")
private String serviceAmountTypeKey;
@ApiModelProperty("服务费类型value")
@ -86,4 +90,6 @@ public class LoanFinPolicy extends BaseEntity {
private String useOrgSid;
@ApiModelProperty("使用组织名称")
private String useOrgName;
private String orgSidPath;
}

20
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyDto.java

@ -1,5 +1,6 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicy;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicyDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
@ -47,12 +48,16 @@ public class LoanFinPolicyDto implements Dto {
private String vehAccidentAmount;
@ApiModelProperty("首付比例(%)")
private String downPayRatio;
/* @ApiModelProperty("最低首付比例(%)")
private String downPayRatioLeast;*/
private String downPayRatioKey;
@ApiModelProperty("最低首付比例(%)")
private String downPayRatioLeast;
private String downPayRatioLeastKey;
@ApiModelProperty("保证金比例(%)")
private String bondRatio;
private String bondRatioKey;
@ApiModelProperty("期数")
private int period;
private String periodKey;
@ApiModelProperty("标准年利率(%)")
private String yearRatio;
@ApiModelProperty("服务费类型key")
@ -70,11 +75,8 @@ public class LoanFinPolicyDto implements Dto {
@ApiModelProperty("有效期至")
private String validDateTo;
@ApiModelProperty("是否有其他融:1有,0无")
private int isOtherProduct;
/* @ApiModelProperty("适用销售部门sids(逗号分隔)")
private String useDeptSids;
@ApiModelProperty("适用销售部门名称(逗号分隔)")
private String useDeptNames;*/
@JsonProperty("isOtherProduct")
private boolean isOtherProduct;
@ApiModelProperty("全组织路径")
private String orgPath;
@ApiModelProperty("适用销售部门List")
@ -82,5 +84,9 @@ public class LoanFinPolicyDto implements Dto {
@ApiModelProperty("其他融")
private LoanFinOtherPolicyDto loanFinOtherPolicy;
private String userSid;
@ApiModelProperty("备注")
private String remarks;
}

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyQuery.java

@ -43,6 +43,7 @@ public class LoanFinPolicyQuery implements Query {
private String downPayRatioLeastStart;
private String downPayRatioLeastEnd;
@ApiModelProperty("0是分公司,1是风控中心")
private int state;
private String menuUrl;
private String orgPath;
private String userSid;
}

19
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyVo.java

@ -1,10 +1,14 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicy;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicyVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
@ -43,10 +47,16 @@ public class LoanFinPolicyVo implements Vo {
private String vehAccidentAmount;
@ApiModelProperty("首付比例(%)")
private String downPayRatio;
private String downPayRatioKey;
@ApiModelProperty("最低首付比例(%)")
private String downPayRatioLeast;
private String downPayRatioLeastKey;
@ApiModelProperty("保证金比例(%)")
private String bondRatio;
private String bondRatioKey;
@ApiModelProperty("期数")
private int period;
private String periodKey;
@ApiModelProperty("标准年利率(%)")
private String yearRatio;
@ApiModelProperty("服务费类型key")
@ -64,11 +74,18 @@ public class LoanFinPolicyVo implements Vo {
@ApiModelProperty("有效期至")
private String validDateTo;
@ApiModelProperty("是否有其他融:1有,0无")
private int isOtherProduct;
@JsonProperty("isOtherProduct")
private boolean isOtherProduct;
@ApiModelProperty("适用销售部门sids(逗号分隔)")
private String useDeptSids;
@ApiModelProperty("适用销售部门名称(逗号分隔)")
private String useDeptNames;
@ApiModelProperty("适用销售部门List")
private List<UseDept> useDeptList = new ArrayList<>();
private LoanFinOtherPolicyVo loanFinOtherPolicy = new LoanFinOtherPolicyVo();
private String remarks;
private String orgPath;
private String userSid;
}

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

@ -12,7 +12,7 @@ import lombok.Data;
@Data
public class LoanFinPolicyVos implements Vo {
private static final long serialVersionUID = 7126087240752513932L;
private String sid;
@ApiModelProperty("报备状态")
private String filingStateValue;
@ApiModelProperty("风控状态")
@ -52,5 +52,5 @@ public class LoanFinPolicyVos implements Vo {
@ApiModelProperty("名义/留购价款")
private String nominalPrice;
@ApiModelProperty("是否有其他融")
private int isOtherProduct;
private boolean isOtherProduct;
}

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinbank/LoanFinBankMapper.java

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBank;
import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankExportVo;
import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankVo;
import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBanksVo;
import com.yxt.common.core.result.AppResultData;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -85,4 +86,6 @@ public interface LoanFinBankMapper extends BaseMapper<LoanFinBank> {
@Update("update loan_fin_bank set isDelete = 1 where sid =#{sid}")
int updateBySidDelete(String sid);
List<LoanFinBanksVo> selectListByOrgSid(String orgSid);
}

6
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinbank/LoanFinBankMapper.xml

@ -72,4 +72,10 @@
FROM loan_fin_bank bb
${ew.customSqlSegment}
</select>
<select id="selectListByOrgSid" resultType="com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBanksVo">
select sid, bankShortName name
from loan_fin_bank
where createOrgSid = #{orgSid}
</select>
</mapper>

8
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinbank/LoanFinBankRest.java

@ -1,6 +1,5 @@
package com.yxt.anrui.riskcenter.biz.loanfinbank;
import com.yxt.anrui.base.api.basefinbank.*;
import com.yxt.anrui.riskcenter.api.loanfinbank.*;
import com.yxt.common.base.utils.ExportExcelUtils;
import com.yxt.common.core.query.PagerQuery;
@ -16,8 +15,6 @@ import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@ -171,4 +168,9 @@ public class LoanFinBankRest implements LoanFinBankFeign {
PagerVo<AppResultData> pv = loanFinBankService.selectAppFinBankList(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean<List<LoanFinBanksVo>> selectListByOrgPath(String orgPath) {
return loanFinBankService.selectListByOrgPath(orgPath);
}
}

12
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinbank/LoanFinBankService.java

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.riskcenter.api.loanfinbank.*;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -16,6 +17,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@ -39,6 +41,8 @@ public class LoanFinBankService extends MybatisBaseService<LoanFinBankMapper, Lo
// private LoanFinPolicyService loanFinPolicyService;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
public PagerVo<LoanFinBank> listPage(PagerQuery<LoanFinBankQuery> pq) {
LoanFinBankQuery query = pq.getParams();
@ -210,4 +214,12 @@ public class LoanFinBankService extends MybatisBaseService<LoanFinBankMapper, Lo
BeanUtil.copyProperties(loanFinBank, vo);
return rb.success().setData(vo);
}
public ResultBean<List<LoanFinBanksVo>> selectListByOrgPath(String orgPath) {
ResultBean<List<LoanFinBanksVo>> rb = ResultBean.fireFail();
String orgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
List<LoanFinBanksVo> list = baseMapper.selectListByOrgSid(orgSid);
list.removeAll(Collections.singleton(null));
return rb.success().setData(list);
}
}

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

@ -2,5 +2,43 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.riskcenter.biz.loanfinpolicy.LoanFinPolicyMapper">
<select id="pagerList" resultType="com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyVos">
select lfp.sid,
case lfp.filingState
when 1 then '已报备'
when 2 then '报备中'
when 0 then '未报备' end as filingStateValue,
case lfp.riskState
when 1 then '禁用'
when 0 then '正常'
end as riskStateValue,
case lfp.useSate
when 1 then '禁用'
when 0 then '正常'
end as useSateValue,
lfp.validDateTo,
lfp.useOrgName,
lfp.useDeptNames,
lfp.policyName,
lfp.busTypeValue,
lfp.vehCategoryValue,
lfp.vehTypeValue,
lfp.period,
lfp.yearRatio,
lfp.serviceAmountTypeValue,
lfp.serviceAmount,
lfp.downPayRatioLeast,
lfp.vehAccidentAmount,
lfp.depositPremium,
lfp.depositSettle,
lfp.nominalPrice,
case lfp.isOtherProduct
when 1 then true
when 0 then false
end as isOtherProduct
from loan_fin_policy lfp
left join loan_fin_otherpolicy lfop on lfp.sid = lfop.mainPolicySid
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

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

@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicyDto;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicyVo;
@ -39,6 +41,9 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private SysUserFeign sysUserFeign;
public ResultBean saveOrUpdatePolicy(LoanFinPolicyDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = dto.getSid();
@ -67,8 +72,10 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
loanFinPolicy.setCreateOrgSid(useOrgSid);
loanFinPolicy.setUseOrgName(useOrgName);
loanFinPolicy.setCreateOrgName(useOrgName);
baseMapper.insert(loanFinPolicy);
if (dto.getIsOtherProduct() == 1) {
loanFinPolicy.setCreateBySid(dto.getUserSid());
loanFinPolicy.setOrgSidPath(orgPath);
if (dto.isOtherProduct()) {
loanFinPolicy.setIsOtherProduct(1);
LoanFinOtherPolicy loanFinOtherPolicy = new LoanFinOtherPolicy();
BeanUtil.copyProperties(dto, loanFinOtherPolicy, "sid");
LoanFinOtherPolicyDto loanFinOtherPolicyDto = dto.getLoanFinOtherPolicy();
@ -81,7 +88,10 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
loanFinOtherPolicy.setUseOrgName(useOrgName);
loanFinOtherPolicy.setCreateOrgName(useOrgName);
loanFinOtherPolicyService.insert(loanFinOtherPolicy);
} else {
loanFinPolicy.setIsOtherProduct(0);
}
baseMapper.insert(loanFinPolicy);
} else {
LoanFinPolicy loanFinPolicy = fetchBySid(sid);
if (loanFinPolicy == null) {
@ -102,12 +112,13 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
loanFinPolicy.setUseDeptNames("");
loanFinPolicy.setUseDeptSids("");
}
baseMapper.updateById(loanFinPolicy);
if (dto.getIsOtherProduct() == 0) {
if (!dto.isOtherProduct()) {
loanFinPolicy.setIsOtherProduct(0);
loanFinOtherPolicyService.deleteyMainSid(sid);
} else {
loanFinPolicy.setIsOtherProduct(1);
LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.selectByMainSid(sid);
if (loanFinOtherPolicy == null) {
if (loanFinOtherPolicy != null) {
BeanUtil.copyProperties(dto, loanFinOtherPolicy, "sid");
LoanFinOtherPolicyDto loanFinOtherPolicyDto = dto.getLoanFinOtherPolicy();
BeanUtil.copyProperties(loanFinOtherPolicyDto, loanFinOtherPolicy);
@ -122,9 +133,14 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
loanFinOtherPolicy.setMainPolicySid(loanFinPolicy.getSid());
loanFinOtherPolicy.setUseDeptSids(deptSids);
loanFinOtherPolicy.setUseDeptNames(deptNames);
loanFinOtherPolicy.setCreateOrgSid(useOrgSid);
loanFinOtherPolicy.setUseOrgName(useOrgName);
loanFinOtherPolicy.setCreateOrgName(useOrgName);
loanFinOtherPolicy.setCreateBySid(dto.getUserSid());
loanFinOtherPolicyService.insert(loanFinOtherPolicy);
}
}
baseMapper.updateById(loanFinPolicy);
}
return rb.success();
}
@ -137,13 +153,18 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
return rb.setMsg("该金融产品政策不存在");
}
BeanUtil.copyProperties(loanFinPolicy, loanFinPolicyVo);
loanFinPolicyVo.setOrgPath(loanFinPolicy.getOrgSidPath());
loanFinPolicyVo.setUserSid(loanFinPolicy.getCreateBySid());
if (loanFinPolicy.getIsOtherProduct() == 1) {
loanFinPolicyVo.setOtherProduct(true);
LoanFinOtherPolicyVo loanFinOtherPolicyVo = new LoanFinOtherPolicyVo();
LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.selectByMainSid(sid);
if (loanFinOtherPolicy != null) {
BeanUtil.copyProperties(loanFinOtherPolicy, loanFinOtherPolicyVo);
loanFinPolicyVo.setLoanFinOtherPolicy(loanFinOtherPolicyVo);
}
} else {
loanFinPolicyVo.setOtherProduct(false);
}
return rb.success().setData(loanFinPolicyVo);
}
@ -182,7 +203,79 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
LoanFinPolicyQuery query = pagerQuery.getParams();
QueryWrapper<LoanFinPolicy> qw = new QueryWrapper<>();
if (query != null) {
//
//========================================数据授权开始
if (StringUtils.isNotBlank(query.getMenuUrl())) {
//=======================
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("lfp.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("lfp.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("lfp.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("lfp.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("lfp.createBySid", query.getUserSid());
} else {
PagerVo<LoanFinPolicyVos> p = new PagerVo<>();
return p;
}
} else {
PagerVo<LoanFinPolicyVos> p = new PagerVo<>();
return p;
}
} else {
PagerVo<LoanFinPolicyVos> p = new PagerVo<>();
return p;
}
//报备状态
if (StringUtils.isNotBlank(query.getFilingStateKey())) {
qw.eq("lfp.filingState", query.getFilingStateKey());
}
//风控状态
if (StringUtils.isNotBlank(query.getRiskStateKey())) {
qw.eq("lfp.riskState", query.getRiskStateKey());
}
//使用状态
if (StringUtils.isNotBlank(query.getUseSateKey())) {
qw.eq("lfp.useSate", query.getUseSateKey());
}
//分公司
if (StringUtils.isNotBlank(query.getUseOrgName())) {
qw.like("lfp.useOrgName", query.getUseOrgName());
}
//业务类型
if (StringUtils.isNotBlank(query.getBusTypeKey())) {
qw.eq("lfp.busTypeKey", query.getBusTypeKey());
}
//车辆大类
//车辆功能
//适用销售部门
//产品政策名称
//有效期至开始
//有效期至结束
//期数
//最低首付比例开始
//最低首付比例结束
}
IPage<LoanFinPolicy> page = PagerUtil.queryToPage(pagerQuery);

115
doc/databases/risk_center.sql

@ -1063,7 +1063,7 @@ CREATE TABLE `loan_fin_policy`
`depositSettle` decimal(10, 0) DEFAULT NULL COMMENT '落户保证金',
`nominalPrice` decimal(10, 0) DEFAULT NULL COMMENT '名义/留购价款',
`validDateTo` varchar(255) DEFAULT NULL COMMENT '有效期至',
`filingState` int(64) DEFAULT NULL COMMENT '报备状态:1已报备,0未报备',
`filingState` int(64) DEFAULT NULL COMMENT '报备状态:1已报备,0未报备,2报备中',
`useSate` int(64) DEFAULT NULL COMMENT '使用状态:1停用 0正常 各分公司设置的状态',
`riskState` int(64) DEFAULT NULL COMMENT '风控状态:1禁用 0正常 风控中心设置的状态',
`isOtherProduct` int(64) DEFAULT NULL COMMENT '是否有其他融:1有,0无',
@ -1127,6 +1127,119 @@ CREATE TABLE `loan_fin_otherPolicy`
DEFAULT CHARSET = utf8 COMMENT ='其他融产品';
-- ------------------------------------------新
-- 金融产品政策
DROP TABLE IF EXISTS `loan_fin_policy`;
CREATE TABLE `loan_fin_policy`
(
`id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id',
`sid` varchar(64) NOT NULL COMMENT 'sid',
`lockVersion` int(32) DEFAULT '0' COMMENT '版本锁',
`createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用',
`state` int(32) DEFAULT '1' COMMENT '状态',
`isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除',
`remarks` varchar(255) DEFAULT NULL COMMENT '备注',
`createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid',
`updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid',
`policyName` VARCHAR(255) DEFAULT NULL COMMENT '政策名称:组合(资方简称+(担保/非担保)+首付比例+保证金比例+是否打包),如中车(担保)30+0打包',
`bankSid` VARCHAR(255) DEFAULT NULL COMMENT '资方sid',
`bankShortName` VARCHAR(255) DEFAULT NULL COMMENT '资方名称',
`busTypeKey` VARCHAR(255) DEFAULT NULL COMMENT '业务类型key',
`busTypeValue` VARCHAR(255) DEFAULT NULL COMMENT '业务类型value',
`vehCategoryKey` VARCHAR(255) DEFAULT NULL COMMENT '车辆大类key',
`vehCategoryValue` VARCHAR(255) DEFAULT NULL COMMENT '车辆大类value',
`vehTypeKey` VARCHAR(255) DEFAULT NULL COMMENT '车辆功能key',
`vehTypeValue` VARCHAR(255) DEFAULT NULL COMMENT '车辆功能value',
`isPack` int(64) DEFAULT NULL COMMENT '是否打包:1打包、2不打包',
`guaranteeTypeKey` VARCHAR(255) DEFAULT NULL COMMENT '担保类型key',
`guaranteeTypeValue` VARCHAR(255) DEFAULT NULL COMMENT '担保类型value',
`isVehFloat` int(32) DEFAULT NULL COMMENT '是否车损上浮',
`vehAccidentAmount` decimal(10, 0) DEFAULT NULL COMMENT '单车意外险',
`downPayRatio` decimal(10, 0) DEFAULT NULL COMMENT '首付比例(%)',
`downPayRatioKey` VARCHAR(255) DEFAULT NULL COMMENT '首付比例(%)key',
`downPayRatioLeast` decimal(10, 0) DEFAULT NULL COMMENT '最低首付比例(%)',
`downPayRatioLeastKey` VARCHAR(255) DEFAULT NULL COMMENT '最低首付比例(%)key',
`bondRatio` decimal(10, 0) DEFAULT NULL COMMENT '保证金比例(%)',
`bondRatioKey` VARCHAR(255) DEFAULT NULL COMMENT '保证金比例(%)key',
`period` int(64) DEFAULT NULL COMMENT '期数',
`periodKey` VARCHAR(255) DEFAULT NULL COMMENT '期数key',
`yearRatio` decimal(10, 2) DEFAULT NULL COMMENT '标准年利率(%)',
`serviceAmountTypeKey` varchar(255) DEFAULT NULL COMMENT '服务费类型key',
`serviceAmountTypeValue` varchar(255) DEFAULT NULL COMMENT '服务费类型value',
`serviceAmount` decimal(10, 0) DEFAULT NULL COMMENT '服务费',
`depositPremium` decimal(10, 0) DEFAULT NULL COMMENT '保险保证金',
`depositSettle` decimal(10, 0) DEFAULT NULL COMMENT '落户保证金',
`nominalPrice` decimal(10, 0) DEFAULT NULL COMMENT '名义/留购价款',
`validDateTo` varchar(255) DEFAULT NULL COMMENT '有效期至',
`filingState` int(64) DEFAULT NULL COMMENT '报备状态:1已报备,0未报备,2报备中',
`useSate` int(64) DEFAULT NULL COMMENT '使用状态:1停用 0正常 各分公司设置的状态',
`riskState` int(64) DEFAULT NULL COMMENT '风控状态:1禁用 0正常 风控中心设置的状态',
`isOtherProduct` int(64) DEFAULT NULL COMMENT '是否有其他融:1有,0无',
`useDeptSids` text DEFAULT NULL COMMENT '适用销售部门sids(逗号分隔)',
`useDeptNames` text DEFAULT NULL COMMENT '适用销售部门名称(逗号分隔)',
`createOrgSid` varchar(255) DEFAULT NULL COMMENT '创建组织sid',
`createOrgName` varchar(255) DEFAULT NULL COMMENT '创建组织名称',
`useOrgSid` varchar(255) DEFAULT NULL COMMENT '使用组织sid',
`useOrgName` varchar(255) DEFAULT NULL COMMENT '使用组织名称',
`orgPath` varchar(255) DEFAULT NULL COMMENT '组织全路径',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='金融产品政策';
-- 其他融产品
DROP TABLE IF EXISTS `loan_fin_otherPolicy`;
CREATE TABLE `loan_fin_otherPolicy`
(
`id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id',
`sid` varchar(64) NOT NULL COMMENT 'sid',
`lockVersion` int(32) DEFAULT '0' COMMENT '版本锁',
`createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用',
`state` int(32) DEFAULT '1' COMMENT '状态',
`isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除',
`remarks` varchar(255) DEFAULT NULL COMMENT '备注',
`createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid',
`updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid',
`otherPolicyName` VARCHAR(255) DEFAULT NULL COMMENT '产品名称:组合(资方+产品类别+最高融资比例+期数)',
`bankSid` VARCHAR(255) DEFAULT NULL COMMENT '资方sid',
`bankShortName` VARCHAR(255) DEFAULT NULL COMMENT '资方名称',
`mainPolicySid` VARCHAR(64) DEFAULT NULL COMMENT '主产品sid(可以为空)',
`productTypeKey` VARCHAR(64) DEFAULT NULL COMMENT '产品类别Key',
`productTypeValue` VARCHAR(64) DEFAULT NULL COMMENT '产品类别value',
`busTypeKey` VARCHAR(255) DEFAULT NULL COMMENT '业务类型key',
`busTypeValue` VARCHAR(255) DEFAULT NULL COMMENT '业务类型value',
`vehCategoryKey` VARCHAR(255) DEFAULT NULL COMMENT '车辆大类key',
`vehCategoryValue` VARCHAR(255) DEFAULT NULL COMMENT '车辆大类value',
`vehTypeKey` VARCHAR(255) DEFAULT NULL COMMENT '车辆功能key',
`vehTypeValue` VARCHAR(255) DEFAULT NULL COMMENT '车辆功能value',
`maxLoanRatio` decimal(10, 0) DEFAULT NULL COMMENT '最高融资额比例(%)',
`maxLoanAmount` decimal(10, 0) DEFAULT NULL COMMENT '最高融资额',
`period` int(64) DEFAULT NULL COMMENT '期数',
`periodKey` VARCHAR(255) DEFAULT NULL COMMENT '期数key',
`yearRatio` decimal(10, 2) DEFAULT NULL COMMENT '年利率(%)',
`validDateTo` varchar(255) DEFAULT NULL COMMENT '有效期至',
`filingState` int(64) DEFAULT NULL COMMENT '报备状态:1已报备,0未报备',
`useSate` int(64) DEFAULT NULL COMMENT '使用状态:1停用 0正常 各分公司设置的状态',
`riskState` int(64) DEFAULT NULL COMMENT '风控状态:1禁用 0正常 风控中心设置的状态',
`isOtherProduct` int(64) DEFAULT NULL COMMENT '是否有其他融:1有,0无',
`useDeptSids` text DEFAULT NULL COMMENT '适用销售部门sids(逗号分隔)',
`useDeptNames` text DEFAULT NULL COMMENT '适用销售部门名称(逗号分隔)',
`createOrgSid` varchar(255) DEFAULT NULL COMMENT '创建组织sid',
`createOrgName` varchar(255) DEFAULT NULL COMMENT '创建组织名称',
`useOrgSid` varchar(255) DEFAULT NULL COMMENT '使用组织sid',
`useOrgName` varchar(255) DEFAULT NULL COMMENT '使用组织名称',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='其他融产品';

2607
工作内容需要的文档/单据模板/款项结转打印模板/kqjz.ftl

File diff suppressed because it is too large

6
工作内容需要的文档/单据模板/款项结转打印模板/款项结转(调账申请).doc

@ -0,0 +1,6 @@
|调账申请 |
|${saleDate!} |
|调账类|合同编号 |客户 |物料编码 |
|型 | |名称 | |
Loading…
Cancel
Save