Browse Source

Merge remote-tracking branch 'origin/master'

master
God 1 year ago
parent
commit
afc67dbdb6
  1. 63
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java
  2. 7
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeign.java
  3. 6
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeignFallback.java
  4. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesvehicle/BusSalesVehicleQuery.java
  5. 40
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  6. 8
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractRest.java
  7. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicle/BusSalesVehicleMapper.xml
  8. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicle/BusSalesVehicleService.java
  9. 28
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/cheliangjiaofu/cheliangjiaofu.vue
  10. 19
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java
  11. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml
  12. 4
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java
  13. 26
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml
  14. 128
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java
  15. 24
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/AppAccrualRecordVo.java
  16. 24
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/AppMonthAccrualDetailsVo.java
  17. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFallback.java
  18. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFeign.java
  19. 24
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/AppTransferPaymentDetailsVo.java
  20. 26
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/AppTransferRecordVo.java
  21. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeign.java
  22. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeignFallback.java
  23. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentRecordVo.java
  24. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyRest.java
  25. 89
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java
  26. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyRest.java
  27. 98
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java
  28. 1
      anrui-system-ui/package.json
  29. 10
      anrui-system-ui/src/api/user.js
  30. 2
      anrui-system-ui/src/main.js
  31. 5
      anrui-system-ui/src/store/modules/user.js
  32. 15
      anrui-system-ui/src/views/login/login.vue
  33. 31
      anrui-system-ui/src/views/login/verify.vue
  34. 23
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/AccrualRecordVo.java
  35. 24
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/MonthAccrualDetailsVo.java
  36. 67
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/MonthAccrualFeign.java
  37. 52
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/MonthAccrualFeignFallback.java
  38. 25
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/AppMonthAccrualDelegateQuery.java
  39. 46
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/AppMonthAccrualTaskQuery.java
  40. 35
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/CompleteMonthAccrualDto.java
  41. 21
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/MonthAccrualFlowableQuery.java
  42. 26
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/PaymentRecordVo.java
  43. 24
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/TransferPaymentDetailsVo.java
  44. 67
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/TransferPaymentFeign.java
  45. 52
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/TransferPaymentFeignFallback.java
  46. 25
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/AppTransferPaymentDelegateQuery.java
  47. 46
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/AppTransferPaymentTaskQuery.java
  48. 35
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/CompleteTransferPaymentDto.java
  49. 21
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/TransferPaymentFlowableQuery.java
  50. 68
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/monthaccrual/MonthAccrualRest.java
  51. 157
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/monthaccrual/MonthAccrualService.java
  52. 68
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/transferpayment/TransferPaymentRest.java
  53. 157
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/transferpayment/TransferPaymentService.java

63
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java

@ -32,10 +32,7 @@ import com.yxt.anrui.base.biz.commoncontract.CommonContractService;
import com.yxt.anrui.base.common.enums.VehicleState;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.buscenter.api.busdelivered.AppDeliveredDetailsVo;
import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApply;
import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApplyDetailQuery;
import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApplyDetailVo;
import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApplyFeign;
import com.yxt.anrui.buscenter.api.busdeliveredapply.*;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.BusDeliveredApplyDetails;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.BusDeliveredApplyDetailsFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
@ -69,8 +66,11 @@ import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoDetailsVo;
import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigate.LoanHomevisitInvestigateFeign;
import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigatecustomer.LoanHomevisitInvestigateCustomerDetailsVo;
import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigatecustomer.LoanHomevisitInvestigateCustomerFeign;
import com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview.LoanNoGuaranteeCreditReviewDetailsVo;
import com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview.LoanNoGuaranteeCreditReviewFeign;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionssVo;
@ -156,6 +156,10 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
private DocPdfComponent docPdfComponent;
@Autowired
private LoanHomevisitInvestigateCustomerFeign loanHomevisitInvestigateCustomerFeign;
@Autowired
private LoanNoGuaranteeCreditReviewFeign loanNoGuaranteeCreditReviewFeign;
@Autowired
private LoanHomevisitInvestigateFeign loanHomevisitInvestigateFeign;
public ResultBean<Boolean> vehicleOut(BaseVehicleOutDto dto) {
log.info("BaseVehicleOutService-vehicleOut-95:{}", JSONObject.toJSONString(dto));
@ -2331,7 +2335,58 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
finKingDeeFeign.draftSalOutStock(salOutStockGcOrSz);
j = j + 1;
}
//重推其他应收单
if (baseVehicleOutApply != null) {
String contractNo = baseVehicleOutApply.getContractNo();
BusSalesOrder busSalesOrder = busSalesOrderFeign.selectOrderByContractNo(contractNo).getData();
String orderSid = "";
String isLoan = ""; // 01非担保 02担保
if (null != busSalesOrder) {
orderSid = busSalesOrder.getSid();
if (busSalesOrder.getPayTypeKey().equals("2")) {
//查询是否是自营非担保
ResultBean<SolutionsDetailsVo> detailsVoResultBean = loanSolutionsFeign.selectDetailsss(busSalesOrder.getSid());
if (null != detailsVoResultBean.getData()) {
if ("01".equals(detailsVoResultBean.getData().getTypeKey())) {
isLoan = "01";
} else {
isLoan = "02";
}
}
}
}
if (StringUtils.isNotBlank(isLoan)) {
String vinSid = vehicleOut.getVinSid();
BusSalesOrderVehicle vehicle = busSalesOrderVehicleFeign.selectByOrderSidAndVehSid(orderSid, vinSid).getData();
if (null != vehicle) {
PushOtherDocument push = new PushOtherDocument();
push.setBusVinSid(vehicle.getSid());
push.setVinSid(vehicle.getLinkSid());
push.setOrderSid(busSalesOrder.getSid());
String borrowerSid = vehicle.getBorrowerSid();
if ("01".equals(isLoan)) {
LoanNoGuaranteeCreditReviewDetailsVo data = loanNoGuaranteeCreditReviewFeign.details(borrowerSid).getData();
if (null != data) {
if (StringUtils.isNotBlank(data.getIsCompInvoic())) {
push.setIsKp(data.getIsCompInvoic());
} else {
push.setIsKp("0");
}
}
} else if ("02".equals(isLoan)) {
String isKp = loanHomevisitInvestigateFeign.selIsCompanyBuy(orderSid, borrowerSid).getData();
if (StringUtils.isNotBlank(isKp)) {
push.setIsKp(isKp);
} else {
push.setIsKp("0");
}
}
busSalesOrderLoancontractFeign.pushOtherDocument(push);
}
}
}
}
}
return rb.success();

7
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeign.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.buscenter.api.bussalesorderloancontract;
import com.yxt.anrui.buscenter.api.busdeliveredapply.PushOtherDocument;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery;
@ -129,4 +130,10 @@ public interface BusSalesOrderLoancontractFeign {
@PostMapping("/delByOrderSidAndDkrSid")
@ResponseBody
ResultBean delByOrderSidAndDkrSid(@RequestParam("saleOrderSid") String saleOrderSid,@RequestParam("borrowerSid") String borrowerSid);
@ApiOperation("推送融资放款的其他应收单应收")
@PostMapping("/pushOtherDocument")
@ResponseBody
ResultBean pushOtherDocument(@RequestBody PushOtherDocument push);
}

6
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeignFallback.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.buscenter.api.bussalesorderloancontract;
import com.yxt.anrui.buscenter.api.busdeliveredapply.PushOtherDocument;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -124,4 +125,9 @@ public class BusSalesOrderLoancontractFeignFallback implements BusSalesOrderLoan
public ResultBean delByOrderSidAndDkrSid(String saleOrderSid, String borrowerSid) {
return null;
}
@Override
public ResultBean pushOtherDocument(PushOtherDocument push) {
return null;
}
}

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesvehicle/BusSalesVehicleQuery.java

@ -33,7 +33,7 @@ public class BusSalesVehicleQuery implements Query {
private String saleDateStart;
@ApiModelProperty("销售日期结束")
private String saleDateEnd;
@ApiModelProperty("交付状态")
@ApiModelProperty("交付状态:1已交付,0未交付")
private String handoverState;
@ApiModelProperty("交付日期开始")

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

@ -1624,6 +1624,19 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
//将应收未收中的订金设置为作废
//-------修改应收未收款项表中的款项状态为02作废------------
List<BusSalesOrderVehicle> vehicleList = busSalesOrderVehicleService.selectListByOrderSid(query.getBusinessSid());
StateQuery stateQuery = new StateQuery();
List<String> busVinSidListState = new ArrayList<>();
if (!vehicleList.isEmpty()) {
vehicleList.stream().forEach(v -> {
busVinSidListState.add(v.getSid());
});
stateQuery.setKxState("02");
stateQuery.setBusVinSid(busVinSidListState);
ResultBean updateStateResultBean = finUncollectedReceivablesDetailedFeign.updateKxState(stateQuery);
}
//再加回来
BusSalesOrderDeposit busSalesOrderDeposit = busSalesOrderDepositService.selectByOrderSid(query.getBusinessSid());
if (BusSalesOrderConstantUtils.DepositType.DEPOSIT_CARRY_FORWARD.getCode().equals(busSalesOrderDeposit.getDepositTypeKey())) {
@ -1681,6 +1694,19 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
//将应收未收中的订金设置为作废
//-------修改应收未收款项表中的款项状态为02作废------------
List<BusSalesOrderVehicle> vehicleList = busSalesOrderVehicleService.selectListByOrderSid(query.getBusinessSid());
StateQuery stateQuery = new StateQuery();
List<String> busVinSidListState = new ArrayList<>();
if (!vehicleList.isEmpty()) {
vehicleList.stream().forEach(v -> {
busVinSidListState.add(v.getSid());
});
stateQuery.setKxState("02");
stateQuery.setBusVinSid(busVinSidListState);
ResultBean updateStateResultBean = finUncollectedReceivablesDetailedFeign.updateKxState(stateQuery);
}
//再加回来
BusSalesOrderDeposit busSalesOrderDeposit = busSalesOrderDepositService.selectByOrderSid(query.getBusinessSid());
if (BusSalesOrderConstantUtils.DepositType.DEPOSIT_CARRY_FORWARD.getCode().equals(busSalesOrderDeposit.getDepositTypeKey())) {
@ -1732,19 +1758,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
}
//将应收未收中的订金设置为作废
//-------修改应收未收款项表中的款项状态为02作废------------
List<BusSalesOrderVehicle> vehicleList = busSalesOrderVehicleService.selectListByOrderSid(query.getBusinessSid());
StateQuery stateQuery = new StateQuery();
List<String> busVinSidListState = new ArrayList<>();
if (!vehicleList.isEmpty()) {
vehicleList.stream().forEach(v -> {
busVinSidListState.add(v.getSid());
});
stateQuery.setKxState("02");
stateQuery.setBusVinSid(busVinSidListState);
ResultBean updateStateResultBean = finUncollectedReceivablesDetailedFeign.updateKxState(stateQuery);
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}

8
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractRest.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.buscenter.biz.bussalesorderloancontract;
import com.yxt.anrui.buscenter.api.busdeliveredapply.PushOtherDocument;
import com.yxt.anrui.buscenter.api.bussalesorderloancontract.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -153,4 +154,11 @@ public class BusSalesOrderLoancontractRest implements BusSalesOrderLoancontractF
public ResultBean delByOrderSidAndDkrSid(String saleOrderSid, String borrowerSid) {
return busSalesOrderLoancontractService.delByOrderSidAndDkrSid(saleOrderSid, borrowerSid);
}
@Override
public ResultBean pushOtherDocument(PushOtherDocument push) {
ResultBean rb = ResultBean.fireFail();
busSalesOrderLoancontractService.pushOtherDocument(push);
return rb.success();
}
}

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicle/BusSalesVehicleMapper.xml

@ -32,11 +32,11 @@
>
0
<if test="state != null and state != ''">
<if test="state == '已交付'">
<if test='state == "1"'>
and length(bh.closingDate)
>0
</if>
<if test="state == '未交付'">
<if test='state == "0"'>
and (bh.closingDate is null
or bh.closingDate = '')
</if>

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicle/BusSalesVehicleService.java

@ -58,7 +58,7 @@ public class BusSalesVehicleService {
qw.like("bvoa.contractNo", query.getContractNo());
}
if (StringUtils.isNotBlank(query.getSaleType())) {
qw.like("bvoa.saleTypeValue", query.getSaleType());
qw.eq("bvoa.saleTypeKey", query.getSaleType());
}
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("bv.vinNo", query.getVinNo());

28
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/cheliangjiaofu/cheliangjiaofu.vue

@ -24,7 +24,9 @@
<el-input v-model="listQuery.params.contractNo" clearable placeholder="" />
</el-form-item>
<el-form-item label="销售类型">
<el-input v-model="listQuery.params.saleType" clearable placeholder="" />
<el-select v-model="listQuery.params.saleType" clearable placeholder="请选择">
<el-option v-for="item in purchaseType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="车架号">
<el-input v-model="listQuery.params.vinNo" clearable placeholder="" />
@ -38,7 +40,9 @@
<el-date-picker v-model="listQuery.params.saleDateEnd" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</el-form-item>
<el-form-item label="交付状态">
<el-input v-model="listQuery.params.handoverState" clearable placeholder="" />
<el-select v-model="listQuery.params.handoverState" clearable placeholder="请选择">
<el-option v-for="item in handoverState_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="交付日期">
<el-date-picker v-model="listQuery.params.handoverDateStart" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
@ -132,6 +136,7 @@ import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import { listPage, exportExcel } from '@/api/cheiliangjiaofu/cheliangjiaofu'
import { typeValues } from '@/api/dictcommons/dictcommons'
export default {
name: 'CheLiangJiaoFu',
@ -165,6 +170,17 @@ export default {
tableKey: 0,
list: [],
sids: [],
purchaseType_list: [],
handoverState_list: [
{
dictKey: '0',
dictValue: '未交付'
},
{
dictKey: '1',
dictValue: '已交付'
}
],
FormLoading: false,
listLoading: false,
listQuery: {
@ -194,12 +210,20 @@ export default {
},
created() {
//
this.init()
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
init() {
typeValues({ type: 'purchaseType' }).then((res) => {
if (res.success) {
this.purchaseType_list = res.data
}
})
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow

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

@ -1618,6 +1618,23 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
if (!finSelectedReceivablesDetailedVos.isEmpty()) {
for (FinSelectedReceivablesDetailed v : finSelectedReceivablesDetailedVos) {
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(v.getReceivablesSid());
if("2".equals(finUncollectedReceivablesDetailed.getPayTypeKey())){
String subscribute = baseMapper.selectByBusSid1(finUncollectedReceivablesDetailed.getBusVinSid());
String receiableMoney = finUncollectedReceivablesDetailedService.selectByBusVinSid1(finUncollectedReceivablesDetailed.getBusVinSid());
if (new BigDecimal(subscribute).compareTo(new BigDecimal(receiableMoney)) >= 0) {
//已认款完成
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.FIN_RQ.getTypeKey());
baseVehicleStateDto.setBusSid(finUncollectedReceivablesDetailed.getBusVinSid());
dtoList.add(baseVehicleStateDto);
} else {
//认款未完成
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.FIN_WRQ.getTypeKey());
baseVehicleStateDto.setBusSid(finUncollectedReceivablesDetailed.getBusVinSid());
dtoList.add(baseVehicleStateDto);
}
}else{
//查询该车的所有认款,是否都已认完
String subscribute = baseMapper.selectByBusSid(finUncollectedReceivablesDetailed.getBusVinSid());
String receiableMoney = finUncollectedReceivablesDetailedService.selectByBusVinSid(finUncollectedReceivablesDetailed.getBusVinSid());
@ -1634,7 +1651,7 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
baseVehicleStateDto.setBusSid(finUncollectedReceivablesDetailed.getBusVinSid());
dtoList.add(baseVehicleStateDto);
}
}
}
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml

@ -317,13 +317,13 @@
</select>
<select id="selectByBusVinSid" resultType="java.lang.String">
select sum(reveivableMoney)
select ifnull(sum(reveivableMoney),0)
from fin_uncollected_receivables_detailed
where busVinSid = #{busVinSid}
</select>
<select id="selectByBusVinSid1" resultType="java.lang.String">
select sum(reveivableMoney)
select ifnull(sum(reveivableMoney),0)
from fin_uncollected_receivables_detailed
where busVinSid = #{busVinSid} and receivablesName = '首付款及费用'
</select>

4
anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java

@ -56,7 +56,7 @@ public interface DailyReportMapper extends BaseMapper<DailyReport> {
List<DailyReportVo> selectReport3(@Param("date") String date, @Param("busOrgSid") String busOrgSid);
List<BrandVo> selectByBrand2(@Param("useOrgSid") String useOrgSid, @Param("date") String date);
List<BrandVo> selectByBrand2(@Param("useOrgSid") String useOrgSid, @Param("date") String date,@Param(Constants.WRAPPER) QueryWrapper<DailyReport> qw);
List<DailyReportVo> selectReport4(@Param("join") List<String> brandList, @Param("useOrgSid") String useOrgSid, @Param("date") String date);
List<DailyReportVo> selectReport4(@Param("join") List<String> brandList, @Param("useOrgSid") String useOrgSid, @Param("date") String date,@Param(Constants.WRAPPER) QueryWrapper<DailyReport> qw);
}

26
anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml

@ -403,13 +403,6 @@
SELECT dr.brandSid linkSid,
dr.brandName NAME,
b.colspan
<!--(
SELECT count(ddr.vehModelSid)
FROM daily_report ddr
WHERE ddr.brandSid = dr.brandSid
AND DATE_FORMAT(ddr.createTime, '%Y-%m-%d') = #{date}
and ddr.useOrgSid = #{useOrgSid}
) as colspan-->
FROM daily_report dr
left join
(
@ -418,16 +411,14 @@
from (SELECT ddr.brandSid
FROM daily_report ddr
left join
anrui_base.base_model_config bmv
on ddr.vehMConfigSid = bmv.sid
anrui_base.base_model_config bmc
on ddr.vehMConfigSid = bmc.sid
left join
anrui_base.base_vehicle_model bm
on bm.sid = ddr.vehModelSid
WHERE DATE_FORMAT(ddr.createTime, '%Y-%m-%d') = #{date}
and ddr.useOrgSid = #{useOrgSid}
group by ddr.brandSid,
bm.fuelTypeValue,
bm.emissionStandardValue) a
<where>
${ew.sqlSegment}
</where>) a
group by a.brandSid) b
on b.brandSid = dr.brandSid
WHERE dr.useOrgSid = #{useOrgSid}
@ -582,13 +573,16 @@
from daily_report dr
left join anrui_base.base_vehicle_model bm on bm.sid = dr.vehModelSid
left join anrui_base.base_model_config bmc on bmc.sid = dr.vehMConfigSid
where dr.useOrgSid = #{useOrgSid}
<!-- where dr.useOrgSid = #{useOrgSid}
AND DATE_FORMAT(dr.createTime, '%Y-%m-%d') = #{date}
and dr.brandSid in
<foreach collection="join" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
group by dr.brandSid, bm.fuelTypeValue, bm.emissionStandardValue
order by dr.brandSid desc
order by dr.brandSid desc-->
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

128
anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java

@ -1059,9 +1059,18 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
public ResultBean<DailyReportAppVo> list4(String date, String useOrgSid) {
ResultBean<DailyReportAppVo> rb = ResultBean.fireFail();
QueryWrapper<DailyReport> qw = new QueryWrapper<>();
DailyReportAppVo dailyReportAppVo = new DailyReportAppVo();
dailyReportAppVo.setTitle("分公司" + date + "日报");
List<BrandVo> rows1 = baseMapper.selectByBrand2(useOrgSid, date);
qw.like("ddr.createTime",date);
qw.eq("ddr.useOrgSid",useOrgSid);
qw.groupBy("ddr.brandSid");
qw.groupBy("bm.fuelTypeValue");
qw.groupBy("bm.emissionStandardValue");
List<DailyParameterVo> parameterVoList = baseMapper.selectByParameters(useOrgSid);
parameterVoList.removeAll(Collections.singleton(null));
qw = getCommon(parameterVoList,qw);
List<BrandVo> rows1 = baseMapper.selectByBrand2(useOrgSid, date,qw);
rows1.removeAll(Collections.singleton(null));
dailyReportAppVo.setRow1(rows1);
List<String> brandList = rows1.stream().map(v -> v.getLinkSid()).collect(Collectors.toList());
@ -1069,7 +1078,16 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
if (brandList.isEmpty()) {
return rb.success();
}
List<DailyReportVo> dailyReportVoList = baseMapper.selectReport4(brandList, useOrgSid, date);
qw = new QueryWrapper<>();
qw.eq("dr.useOrgSid",useOrgSid);
qw.like("dr.createTime",date);
qw.in("dr.brandSid",brandList);
qw.orderByDesc("dr.brandSid");
qw.groupBy("dr.brandSid");
qw.groupBy("bm.fuelTypeValue");
qw.groupBy("bm.emissionStandardValue");
qw = getCommon(parameterVoList,qw);
List<DailyReportVo> dailyReportVoList = baseMapper.selectReport4(brandList, useOrgSid, date,qw);
//燃料
List<String> row2 = dailyReportVoList.stream().map(v -> v.getFuelTypeValue()).collect(Collectors.toList());
dailyReportAppVo.setRow2(row2);
@ -1310,8 +1328,10 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
List<ParameterVo> dynamicRows = new ArrayList<>();
List<DailyParameterVo> parameterVoList = baseMapper.selectByParameters(useOrgSid);
parameterVoList.removeAll(Collections.singleton(null));
/*List<DailyParameterVo> parameterVoList = baseMapper.selectByParameters(useOrgSid);
parameterVoList.removeAll(Collections.singleton(null));*/
int totalRowspan = 3;
if (!parameterVoList.isEmpty()) {
for (int i = 0; i < parameterVoList.size(); i++) {
DailyParameterVo dailyParameterVo = parameterVoList.get(i);
String tableName = Arrays.asList(dailyParameterVo.getTableNameKey().split("\\.")).get(1);
@ -1338,7 +1358,6 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
dynamicRows.add(parameterVo);
}
dailyReportAppVo.setDynamicRows(dynamicRows);
int totalRowspan = 3;
if (!dynamicRows.isEmpty()) {
for (int i = 0; i < dynamicRows.size(); i++) {
if (i > 6) {
@ -1394,7 +1413,106 @@ public class DailyReportService extends MybatisBaseService<DailyReportMapper, Da
}
}
}
}
dailyReportAppVo.setTotalRowspan(totalRowspan);
return rb.success().setData(dailyReportAppVo);
}
public QueryWrapper<DailyReport> getCommon(List<DailyParameterVo> parameterVoList,QueryWrapper<DailyReport> qw){
if(!parameterVoList.isEmpty()){
for (int i = 0; i < parameterVoList.size(); i++) {
DailyParameterVo dailyParameterVo = parameterVoList.get(i);
String tableName = Arrays.asList(dailyParameterVo.getTableNameKey().split("\\.")).get(1);
if (i > 6) {
break;
} else {
switch (i) {
case 0:
if ("base_model_config".equals(tableName)) {
// qw.groupBy("bmc." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bmc."+dailyParameterVo.getColName()+",'')");
qw.orderByDesc("bmc." + dailyParameterVo.getColName());
} else if ("base_vehicle_model".equals(tableName)) {
// qw.groupBy("bm." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bm."+dailyParameterVo.getColName()+",'')");
qw.orderByDesc("bm." + dailyParameterVo.getColName());
}
break;
case 1:
if ("base_model_config".equals(tableName)) {
// qw.groupBy("bmc." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bmc."+dailyParameterVo.getColName()+",'')");
qw.orderByDesc("bmc." + dailyParameterVo.getColName());
} else if ("base_vehicle_model".equals(tableName)) {
// qw.groupBy("bm." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bm."+dailyParameterVo.getColName()+",'')");
qw.orderByDesc("bm." + dailyParameterVo.getColName());
}
break;
case 2:
if ("base_model_config".equals(tableName)) {
// qw.groupBy("bmc." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bmc."+dailyParameterVo.getColName()+",'')");
qw.orderByDesc("bmc." + dailyParameterVo.getColName());
} else if ("base_vehicle_model".equals(tableName)) {
// qw.groupBy("bm." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bm."+dailyParameterVo.getColName()+",'')");
qw.orderByDesc("bm." + dailyParameterVo.getColName());
}
break;
case 3:
if ("base_model_config".equals(tableName)) {
// qw.groupBy("bmc." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bmc."+dailyParameterVo.getColName()+",'')");
qw.orderByDesc("bmc." + dailyParameterVo.getColName());
} else if ("base_vehicle_model".equals(tableName)) {
// qw.groupBy("bm." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bm."+dailyParameterVo.getColName()+",'')");
qw.orderByDesc("bm." + dailyParameterVo.getColName());
}
break;
case 4:
if ("base_model_config".equals(tableName)) {
// qw.groupBy("bmc." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bmc."+dailyParameterVo.getColName()+",'')");
qw.orderByDesc("bmc." + dailyParameterVo.getColName());
} else if ("base_vehicle_model".equals(tableName)) {
// qw.groupBy("bm." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bm."+dailyParameterVo.getColName()+",'')");
qw.orderByDesc("bm." + dailyParameterVo.getColName());
}
break;
case 5:
if ("base_model_config".equals(tableName)) {
// qw.groupBy("bmc." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bmc."+dailyParameterVo.getColName()+",'')");
qw.orderByDesc("bmc." + dailyParameterVo.getColName());
} else if ("base_vehicle_model".equals(tableName)) {
// qw.groupBy("bm." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bm."+dailyParameterVo.getColName()+",'')");
qw.orderByDesc("bm." + dailyParameterVo.getColName());
}
break;
case 6:
if ("base_model_config".equals(tableName)) {
// qw.groupBy("bmc." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bmc."+dailyParameterVo.getColName()+",'')");
qw.orderByDesc("bmc." + dailyParameterVo.getColName());
} else if ("base_vehicle_model".equals(tableName)) {
// qw.groupBy("bm." + dailyParameterVo.getColName());
qw.groupBy("IFNULL(bm."+dailyParameterVo.getColName()+",'')");
qw.orderByDesc("bm." + dailyParameterVo.getColName());
}
break;
default:
break;
}
}
}
}
return qw;
}
}

24
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/AppAccrualRecordVo.java

@ -0,0 +1,24 @@
package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2023/12/22 9:22
*/
@Data
public class AppAccrualRecordVo {
private String contractId;
private String instalments;
private String vin;
private String zf;
private String zfNo;
private String cusName;
private String loanName;
private String repaymentDate;
private String dept;
private String dueMoney;
}

24
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/AppMonthAccrualDetailsVo.java

@ -0,0 +1,24 @@
package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppRecordVo;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
* @date 2023/12/22 8:58
*/
@Data
public class AppMonthAccrualDetailsVo {
private String sid;
private String publishInfo;
private String time;
private String remarks;
private List<String> files = new ArrayList<>();
private String taskId;
private String procInsId;
private List<AppAccrualRecordVo> records = new ArrayList<>();
}

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFallback.java

@ -86,5 +86,10 @@ public class LoanMonthlyAccrualApplyFallback implements LoanMonthlyAccrualApplyF
return null;
}
@Override
public ResultBean<AppMonthAccrualDetailsVo> appDetail(String sid) {
return null;
}
}

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFeign.java

@ -90,4 +90,9 @@ public interface LoanMonthlyAccrualApplyFeign {
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
public ResultBean delegate(@RequestBody AccrualDelegateQuery query);
@ApiOperation("月还计提申请移动端详情")
@GetMapping("/appDetail/{sid}")
@ResponseBody
ResultBean<AppMonthAccrualDetailsVo> appDetail(@PathVariable("sid") String sid);
}

24
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/AppTransferPaymentDetailsVo.java

@ -0,0 +1,24 @@
package com.yxt.anrui.riskcenter.api.loantransferpaymentapply;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.AppAccrualRecordVo;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
* @date 2023/12/22 9:11
*/
@Data
public class AppTransferPaymentDetailsVo {
private String sid;
private String publishInfo;
private String time;
private String remarks;
private List<String> files = new ArrayList<>();
private String taskId;
private String procInsId;
private List<AppTransferRecordVo> records = new ArrayList<>();
}

26
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/AppTransferRecordVo.java

@ -0,0 +1,26 @@
package com.yxt.anrui.riskcenter.api.loantransferpaymentapply;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2023/12/22 9:23
*/
@Data
public class AppTransferRecordVo {
private String contractId;
private String instalments;
private String vin;
private String zf;
private String zfNo;
private String cusName;
private String loanName;
private String actualDate;
private String actualMoney;
private String spread;
private String transferPrincipal;
private String defaultInterest;
private String account;
private String accountNumber;
}

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeign.java

@ -92,4 +92,8 @@ public interface LoanTransferPaymentApplyFeign {
@PostMapping(value = "/delegate")
public ResultBean delegate(@RequestBody TransferDelegateQuery query);
@ApiOperation("代收代付申请移动端详情")
@GetMapping("/appDetail/{sid}")
@ResponseBody
ResultBean<AppTransferPaymentDetailsVo> appDetail(@PathVariable("sid") String sid);
}

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeignFallback.java

@ -85,4 +85,9 @@ public class LoanTransferPaymentApplyFeignFallback implements LoanTransferPaymen
public ResultBean delegate(TransferDelegateQuery query) {
return null;
}
@Override
public ResultBean<AppTransferPaymentDetailsVo> appDetail(String sid) {
return null;
}
}

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentRecordVo.java

@ -30,7 +30,7 @@ public class LoanTransferPaymentRecordVo {
private String actualMoney;
@ApiModelProperty("息差")
private String spread;
@ApiModelProperty("转付本金")
@ApiModelProperty("转付资方月还")
private String transferPrincipal;
@ApiModelProperty("转付罚息")
private String defaultInterest;

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyRest.java

@ -99,6 +99,10 @@ public class LoanMonthlyAccrualApplyRest implements LoanMonthlyAccrualApplyFeign
return loanMonthlyAccrualApplyService.delegate(query);
}
@Override
public ResultBean<AppMonthAccrualDetailsVo> appDetail(String sid) {
return loanMonthlyAccrualApplyService.appDetail(sid);
}
}

89
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java

@ -26,11 +26,16 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApply;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppBuckleDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppRecordVo;
import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecord;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFile;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.*;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.flow.*;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualrecord.LoanMonthlyAccrualRecord;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistoryRecordVo;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.biz.loanbuckleapplyrecord.LoanBuckleApplyRecordService;
import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService;
@ -830,4 +835,88 @@ public class LoanMonthlyAccrualApplyService extends MybatisBaseService<LoanMonth
return rb.success();
}
public ResultBean<AppMonthAccrualDetailsVo> appDetail(String sid) {
ResultBean<AppMonthAccrualDetailsVo> rb = ResultBean.fireFail();
AppMonthAccrualDetailsVo vo = new AppMonthAccrualDetailsVo();
LoanMonthlyAccrualApply apply = fetchBySid(sid);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (null != apply) {
vo.setSid(sid);
String dept = "";
String applyName = "";
if (StringUtils.isNotBlank(apply.getRemarks())) {
vo.setRemarks(apply.getRemarks());
}
if (StringUtils.isNotBlank(apply.getProcInstId())) {
vo.setProcInsId(apply.getProcInstId());
}
if (StringUtils.isNotBlank(apply.getTaskId())) {
vo.setTaskId(apply.getTaskId());
}
if (null != apply.getApplyDate()) {
vo.setTime(sdf.format(apply.getApplyDate()));
}
if (StringUtils.isNotBlank(apply.getDept())) {
dept = apply.getDept();
}
if (StringUtils.isNotBlank(apply.getApplyName())) {
applyName = apply.getApplyName();
}
vo.setPublishInfo(dept + "-" + applyName);
List<LoanFile> fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.ACCRUALAPPLY.getAttachType());
fileList.removeAll(Collections.singleton(null));
if (!fileList.isEmpty()) {
List<String> files = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).
collect(Collectors.toList());
vo.setFiles(files);
}
List<LoanMonthlyAccrualRecord> applyRecords = loanMonthlyAccrualRecordService.selByMainSid(sid);
List<AppAccrualRecordVo> records = new ArrayList<>();
if (!applyRecords.isEmpty()) {
for (LoanMonthlyAccrualRecord applyRecord : applyRecords) {
String recordSid = applyRecord.getRecordSid();
LoanRepaymentPlanDetails data = loanRepaymentPlanDetailsService.fetchBySid(recordSid);
if (null != data) {
AppAccrualRecordVo appRecordVo = new AppAccrualRecordVo();
if (StringUtils.isNotBlank(data.getLoanContractNo())) {
appRecordVo.setContractId(data.getLoanContractNo());
}
if (null != data.getDueDate()) {
appRecordVo.setRepaymentDate(sdf.format(data.getDueDate()));
}
if (StringUtils.isNotBlank(data.getPeriod())) {
appRecordVo.setInstalments("期数:" + data.getPeriod());
}
if (StringUtils.isNotBlank(data.getVinNo())) {
appRecordVo.setVin("车架号:" + data.getVinNo());
}
if (StringUtils.isNotBlank(data.getBankName())) {
appRecordVo.setZf(data.getBankName());
}
if (StringUtils.isNotBlank(data.getBankContractNo())) {
appRecordVo.setZfNo(data.getBankContractNo());
}
if (StringUtils.isNotBlank(data.getCustomer())) {
appRecordVo.setCusName(data.getCustomer());
}
if (StringUtils.isNotBlank(data.getBorrowerName())) {
appRecordVo.setLoanName(data.getBorrowerName());
}
if (null != data.getDueMoney()) {
appRecordVo.setDueMoney(String.valueOf(data.getDueMoney()));
}
if (StringUtils.isNotBlank(data.getBorrowerName())) {
appRecordVo.setLoanName(data.getBorrowerName());
}
if (StringUtils.isNotBlank(data.getDept())) {
appRecordVo.setDept(data.getDept());
}
records.add(appRecordVo);
}
}
}
vo.setRecords(records);
}
return rb.success().setData(vo);
}
}

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyRest.java

@ -102,4 +102,9 @@ public class LoanTransferPaymentApplyRest implements LoanTransferPaymentApplyFei
return loanTransferPaymentApplyService.delegate(query);
}
@Override
public ResultBean<AppTransferPaymentDetailsVo> appDetail(String sid) {
return loanTransferPaymentApplyService.appDetail(sid);
}
}

98
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java

@ -27,7 +27,12 @@ import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFile;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.AppAccrualRecordVo;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.AppMonthAccrualDetailsVo;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyAccrualApply;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualrecord.LoanMonthlyAccrualRecord;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.*;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow.*;
import com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord;
@ -823,4 +828,97 @@ public class LoanTransferPaymentApplyService extends MybatisBaseService<LoanTran
}
public ResultBean<AppTransferPaymentDetailsVo> appDetail(String sid) {
ResultBean<AppTransferPaymentDetailsVo> rb = ResultBean.fireFail();
AppTransferPaymentDetailsVo vo = new AppTransferPaymentDetailsVo();
LoanTransferPaymentApply apply = fetchBySid(sid);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (null != apply) {
vo.setSid(sid);
String dept = "";
String applyName = "";
if (StringUtils.isNotBlank(apply.getRemarks())) {
vo.setRemarks(apply.getRemarks());
}
if (StringUtils.isNotBlank(apply.getProcInstId())) {
vo.setProcInsId(apply.getProcInstId());
}
if (StringUtils.isNotBlank(apply.getTaskId())) {
vo.setTaskId(apply.getTaskId());
}
if (null != apply.getApplyDate()) {
vo.setTime(sdf.format(apply.getApplyDate()));
}
if (StringUtils.isNotBlank(apply.getDept())) {
dept = apply.getDept();
}
if (StringUtils.isNotBlank(apply.getApplyName())) {
applyName = apply.getApplyName();
}
vo.setPublishInfo(dept + "-" + applyName);
List<LoanFile> fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.TRANSFERPAYMENT.getAttachType());
fileList.removeAll(Collections.singleton(null));
if (!fileList.isEmpty()) {
List<String> files = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).
collect(Collectors.toList());
vo.setFiles(files);
}
List<LoanTransferPaymentRecord> applyRecords = loanTransferPaymentRecordService.selByMainSid(sid);
List<AppTransferRecordVo> records = new ArrayList<>();
if (!applyRecords.isEmpty()) {
for (LoanTransferPaymentRecord applyRecord : applyRecords) {
String historySid = applyRecord.getRepaymentHistorySid();
LoanTransferPaymentRecordVo data = baseMapper.paymentInfo(historySid);
if (null != data) {
AppTransferRecordVo appRecordVo = new AppTransferRecordVo();
if (StringUtils.isNotBlank(data.getLoanContractNo())) {
appRecordVo.setContractId(data.getLoanContractNo());
}
if (StringUtils.isNotBlank(data.getPeriod())) {
appRecordVo.setInstalments("期数:" + data.getPeriod());
}
if (StringUtils.isNotBlank(data.getVinNo())) {
appRecordVo.setVin("车架号:" + data.getVinNo());
}
if (StringUtils.isNotBlank(data.getBankName())) {
appRecordVo.setZf(data.getBankName());
}
if (StringUtils.isNotBlank(data.getBankContractNo())) {
appRecordVo.setZfNo(data.getBankContractNo());
}
if (StringUtils.isNotBlank(data.getCustomer())) {
appRecordVo.setCusName(data.getCustomer());
}
if (StringUtils.isNotBlank(data.getBorrowerName())) {
appRecordVo.setLoanName(data.getBorrowerName());
}
if (StringUtils.isNotBlank(data.getActualDate())) {
appRecordVo.setActualDate(data.getActualDate());
}
if (StringUtils.isNotBlank(data.getActualMoney())) {
appRecordVo.setActualMoney(data.getActualMoney());
}
if (StringUtils.isNotBlank(data.getSpread())) {
appRecordVo.setSpread(data.getSpread());
}
if (StringUtils.isNotBlank(data.getTransferPrincipal())) {
appRecordVo.setTransferPrincipal(data.getTransferPrincipal());
}
if (StringUtils.isNotBlank(data.getDefaultInterest())) {
appRecordVo.setDefaultInterest(data.getDefaultInterest());
}
if (StringUtils.isNotBlank(data.getAccount())) {
appRecordVo.setAccount(data.getAccount());
}
if (StringUtils.isNotBlank(data.getAccountNumber())) {
appRecordVo.setAccountNumber(data.getAccountNumber());
}
records.add(appRecordVo);
}
}
}
vo.setRecords(records);
}
return rb.success().setData(vo);
}
}

1
anrui-system-ui/package.json

@ -29,6 +29,7 @@
"viewerjs": "^1.9.0",
"vue": "2.6.10",
"vue-amap": "^0.5.10",
"vue-monoplasty-slide-verify": "^1.3.1",
"vue-router": "3.0.6",
"vuex": "3.1.0",
"vuex-persistedstate": "^4.0.0",

10
anrui-system-ui/src/api/user.js

@ -9,6 +9,16 @@ export function login(data) {
headers: {'Content-Type': 'application/json'}
})
}
export function loginByNoVeriCode(data) {
return request({
url: '/portal/v1/sysuser/loginByNoVeriCode',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
}
// 用户注册
export function registUser(data) {
return request({

2
anrui-system-ui/src/main.js

@ -4,6 +4,8 @@ import 'normalize.css/normalize.css' // A modern alternative to CSS resets
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import slideVerify from 'vue-monoplasty-slide-verify'
Vue.use(slideVerify)
Vue.use(ElementUI)

5
anrui-system-ui/src/store/modules/user.js

@ -1,4 +1,4 @@
import { login, logout, getInfo } from '@/api/user'
import { login, logout, getInfo, loginByNoVeriCode } from '@/api/user'
import { getStorage, setStorage, removeStorage } from '@/utils/auth'
import router, { resetRouter } from '@/router'
@ -25,7 +25,8 @@ const actions = {
// user login
login({ commit }, userInfo) {
return new Promise((resolve, reject) => {
login(userInfo).then(response => {
// login(userInfo).then(response => {
loginByNoVeriCode(userInfo).then(response => {
const { data } = response
commit('SET_TOKEN', data.token)
setStorage(data.token)

15
anrui-system-ui/src/views/login/login.vue

@ -27,7 +27,8 @@
trigger="click"
v-model="loginCode"
@show="codeShow">
<imgCodeRole @login="login" ref="imgCodeRole"></imgCodeRole>
<!-- <imgCodeRole @login="login" ref="imgCodeRole"></imgCodeRole>-->
<verify ref="verify" @login="login"/>
<el-button slot="reference" type="primary" class="login-btn" v-loading="loading"> </el-button>
</el-popover>
<!--<router-link :to="{name: 'registUser'}" target="_blank" tag="a" class="register fl">个人注册</router-link>
@ -63,9 +64,10 @@ import {
import user from '@/api/User/login.js'
import {setToken, getToken, setSession} from '@/utils/auth'
import imgCodeRole from '@/components/imgCodeRole/index.vue'
import verify from './verify'
export default {
components: {imgCodeRole},
components: { imgCodeRole, verify },
data() {
return {
loginForm: {
@ -94,15 +96,16 @@ export default {
// },
login(data) {
this.loading = true
this.loginForm.verifyCode = data.verifyCode
this.loginForm.uuid = data.uuid
// this.loginForm.verifyCode = data.verifyCode
// this.loginForm.uuid = data.uuid
this.$store.dispatch('user/login', this.loginForm).then((res) => {
// this.$store.dispatch('user/getInfo')
this.$router.push({ path: '/home' })
this.loading = false
}).catch(() => {
this.loading = false
this.$refs.imgCodeRole.getCodeImage()
this.$refs.verify.onRefresh()
// this.$refs.imgCodeRole.getCodeImage()
})
},
codeShow() {
@ -111,7 +114,7 @@ export default {
this.showMsg = true
return;
}
this.$refs.imgCodeRole.getCodeImage()
// this.$refs.imgCodeRole.getCodeImage()
},
handleforgetPwd() {
this.forgetPwd = true

31
anrui-system-ui/src/views/login/verify.vue

@ -0,0 +1,31 @@
<template>
<div>
<slideVerify ref="slideblock" :l="42" :r="10" :w="350" :h="160" slider-text="向右滑动" @success="onSuccess" @fail="onFail" @/>
</div>
</template>
<script>
export default {
data() {
return {
verified: false
}
},
methods: {
onSuccess() {
this.verified = true
this.$emit('login', this.verified)
},
onFail() {},
onRefresh() {
this.$refs.slideblock.reset()
}
}
}
</script>
<style>
</style>

23
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/AccrualRecordVo.java

@ -0,0 +1,23 @@
package com.yxt.anrui.terminal.api.risk.monthaccrual;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/11/13 15:45
*/
@Data
public class AccrualRecordVo {
private String contractId;
private String instalments;
private String vin;
private String zf;
private String zfNo;
private String cusName;
private String loanName;
private String repaymentDate;
private String dept;
private String dueMoney;
}

24
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/MonthAccrualDetailsVo.java

@ -0,0 +1,24 @@
package com.yxt.anrui.terminal.api.risk.monthaccrual;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/11/13 15:38
*/
@Data
public class MonthAccrualDetailsVo implements Vo {
private String sid;
private String publishInfo;
private String time;
private String remarks;
private List<String> files = new ArrayList<>();
private String taskId;
private String procInsId;
private List<AccrualRecordVo> records = new ArrayList<>();
}

67
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/MonthAccrualFeign.java

@ -0,0 +1,67 @@
package com.yxt.anrui.terminal.api.risk.monthaccrual;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualDelegateQuery;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualTaskQuery;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.MonthAccrualFlowableQuery;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.CompleteMonthAccrualDto;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* @description:
* @author: fzz
* @date: 2023/8/8
**/
@Api(tags = "月还计提")
@FeignClient(
contextId = "terminal-MonthAccrual",
name = "anrui-terminal",
path = "/riskcenter/v1/monthaccrual",
fallback = MonthAccrualFeignFallback.class)
public interface MonthAccrualFeign {
@ApiOperation("划扣申请")
@GetMapping("/detail/{sid}")
@ResponseBody
ResultBean<MonthAccrualDetailsVo> detail(@PathVariable("sid") String sid);
//-------------------------流程-----------------------------------------
@ApiOperation("办理")
@PutMapping("/agreeCreditInfo")
@ResponseBody
ResultBean agreeCreditInfo(@Valid @RequestBody CompleteMonthAccrualDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectCreditInfo")
@ResponseBody
ResultBean rejectCreditInfo(@Valid @RequestBody AppMonthAccrualTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallCreditInfo")
@ResponseBody
ResultBean recallCreditInfo(@Valid @RequestBody AppMonthAccrualTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopCreditInfo")
@ResponseBody
ResultBean stopCreditInfo(@Valid @RequestBody AppMonthAccrualTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@Valid @SpringQueryMap MonthAccrualFlowableQuery query);
@ApiOperation(value = "加签")
@PutMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody AppMonthAccrualDelegateQuery delegateQuery);
}

52
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/MonthAccrualFeignFallback.java

@ -0,0 +1,52 @@
package com.yxt.anrui.terminal.api.risk.monthaccrual;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualDelegateQuery;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualTaskQuery;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.MonthAccrualFlowableQuery;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.CompleteMonthAccrualDto;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Component;
/**
* @description:
* @author: fzz
* @date:
**/
@Component
public class MonthAccrualFeignFallback implements MonthAccrualFeign {
@Override
public ResultBean<MonthAccrualDetailsVo> detail(String sid) {
return null;
}
@Override
public ResultBean agreeCreditInfo(CompleteMonthAccrualDto dto) {
return null;
}
@Override
public ResultBean rejectCreditInfo(AppMonthAccrualTaskQuery query) {
return null;
}
@Override
public ResultBean recallCreditInfo(AppMonthAccrualTaskQuery query) {
return null;
}
@Override
public ResultBean stopCreditInfo(AppMonthAccrualTaskQuery query) {
return null;
}
@Override
public ResultBean<String> getFlowOperateTitle(MonthAccrualFlowableQuery query) {
return null;
}
@Override
public ResultBean delegate(AppMonthAccrualDelegateQuery delegateQuery) {
return null;
}
}

25
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/AppMonthAccrualDelegateQuery.java

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

46
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/AppMonthAccrualTaskQuery.java

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

35
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/CompleteMonthAccrualDto.java

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

21
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/MonthAccrualFlowableQuery.java

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

26
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/PaymentRecordVo.java

@ -0,0 +1,26 @@
package com.yxt.anrui.terminal.api.risk.transferpayment;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/11/13 15:45
*/
@Data
public class PaymentRecordVo {
private String contractId;
private String instalments;
private String vin;
private String zf;
private String zfNo;
private String cusName;
private String loanName;
private String actualDate;
private String actualMoney;
private String spread;
private String transferPrincipal;
private String defaultInterest;
private String account;
private String accountNumber;
}

24
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/TransferPaymentDetailsVo.java

@ -0,0 +1,24 @@
package com.yxt.anrui.terminal.api.risk.transferpayment;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/11/13 15:38
*/
@Data
public class TransferPaymentDetailsVo implements Vo {
private String sid;
private String publishInfo;
private String time;
private String remarks;
private List<String> files = new ArrayList<>();
private String taskId;
private String procInsId;
private List<PaymentRecordVo> records = new ArrayList<>();
}

67
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/TransferPaymentFeign.java

@ -0,0 +1,67 @@
package com.yxt.anrui.terminal.api.risk.transferpayment;
import com.yxt.anrui.terminal.api.risk.transferpayment.flow.AppTransferPaymentDelegateQuery;
import com.yxt.anrui.terminal.api.risk.transferpayment.flow.AppTransferPaymentTaskQuery;
import com.yxt.anrui.terminal.api.risk.transferpayment.flow.TransferPaymentFlowableQuery;
import com.yxt.anrui.terminal.api.risk.transferpayment.flow.CompleteTransferPaymentDto;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* @description:
* @author: fzz
* @date: 2023/8/8
**/
@Api(tags = "代收代付审批")
@FeignClient(
contextId = "terminal-TransferPayment",
name = "anrui-terminal",
path = "/riskcenter/v1/transferpayment",
fallback = TransferPaymentFeignFallback.class)
public interface TransferPaymentFeign {
@ApiOperation("划扣申请")
@GetMapping("/detail/{sid}")
@ResponseBody
ResultBean<TransferPaymentDetailsVo> detail(@PathVariable("sid") String sid);
//-------------------------流程-----------------------------------------
@ApiOperation("办理")
@PutMapping("/agreeCreditInfo")
@ResponseBody
ResultBean agreeCreditInfo(@Valid @RequestBody CompleteTransferPaymentDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectCreditInfo")
@ResponseBody
ResultBean rejectCreditInfo(@Valid @RequestBody AppTransferPaymentTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallCreditInfo")
@ResponseBody
ResultBean recallCreditInfo(@Valid @RequestBody AppTransferPaymentTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopCreditInfo")
@ResponseBody
ResultBean stopCreditInfo(@Valid @RequestBody AppTransferPaymentTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@Valid @SpringQueryMap TransferPaymentFlowableQuery query);
@ApiOperation(value = "加签")
@PutMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody AppTransferPaymentDelegateQuery delegateQuery);
}

52
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/TransferPaymentFeignFallback.java

@ -0,0 +1,52 @@
package com.yxt.anrui.terminal.api.risk.transferpayment;
import com.yxt.anrui.terminal.api.risk.transferpayment.flow.AppTransferPaymentDelegateQuery;
import com.yxt.anrui.terminal.api.risk.transferpayment.flow.AppTransferPaymentTaskQuery;
import com.yxt.anrui.terminal.api.risk.transferpayment.flow.TransferPaymentFlowableQuery;
import com.yxt.anrui.terminal.api.risk.transferpayment.flow.CompleteTransferPaymentDto;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Component;
/**
* @description:
* @author: fzz
* @date:
**/
@Component
public class TransferPaymentFeignFallback implements TransferPaymentFeign {
@Override
public ResultBean<TransferPaymentDetailsVo> detail(String sid) {
return null;
}
@Override
public ResultBean agreeCreditInfo(CompleteTransferPaymentDto dto) {
return null;
}
@Override
public ResultBean rejectCreditInfo(AppTransferPaymentTaskQuery query) {
return null;
}
@Override
public ResultBean recallCreditInfo(AppTransferPaymentTaskQuery query) {
return null;
}
@Override
public ResultBean stopCreditInfo(AppTransferPaymentTaskQuery query) {
return null;
}
@Override
public ResultBean<String> getFlowOperateTitle(TransferPaymentFlowableQuery query) {
return null;
}
@Override
public ResultBean delegate(AppTransferPaymentDelegateQuery delegateQuery) {
return null;
}
}

25
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/AppTransferPaymentDelegateQuery.java

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

46
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/AppTransferPaymentTaskQuery.java

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

35
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/CompleteTransferPaymentDto.java

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

21
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/TransferPaymentFlowableQuery.java

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

68
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/monthaccrual/MonthAccrualRest.java

@ -0,0 +1,68 @@
package com.yxt.anrui.terminal.biz.risk.monthaccrual;
import com.yxt.anrui.terminal.api.risk.buckle.BuckleDetailsVo;
import com.yxt.anrui.terminal.api.risk.buckle.BuckleFeign;
import com.yxt.anrui.terminal.api.risk.buckle.flow.AppBuckleDelegateQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.AppBuckleTaskQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.BuckleFlowableQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.CompleteBuckleDto;
import com.yxt.anrui.terminal.api.risk.monthaccrual.MonthAccrualDetailsVo;
import com.yxt.anrui.terminal.api.risk.monthaccrual.MonthAccrualFeign;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualDelegateQuery;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualTaskQuery;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.CompleteMonthAccrualDto;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.MonthAccrualFlowableQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @description:
* @author: fzz
* @date:
**/
@Controller
@RequestMapping("/riskcenter/v1/monthaccrual")
public class MonthAccrualRest implements MonthAccrualFeign {
@Autowired
private MonthAccrualService monthAccrualService;
@Override
public ResultBean<MonthAccrualDetailsVo> detail(String sid) {
return monthAccrualService.detail(sid);
}
@Override
public ResultBean agreeCreditInfo(CompleteMonthAccrualDto dto) {
return monthAccrualService.agreeCreditInfo(dto);
}
@Override
public ResultBean rejectCreditInfo(AppMonthAccrualTaskQuery query) {
return monthAccrualService.rejectCreditInfo(query);
}
@Override
public ResultBean recallCreditInfo(AppMonthAccrualTaskQuery query) {
return monthAccrualService.recallCreditInfo(query);
}
@Override
public ResultBean stopCreditInfo(AppMonthAccrualTaskQuery query) {
return monthAccrualService.stopCreditInfo(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(MonthAccrualFlowableQuery query) {
return monthAccrualService.getFlowOperateTitle(query);
}
@Override
public ResultBean delegate(AppMonthAccrualDelegateQuery delegateQuery) {
return monthAccrualService.delegate(delegateQuery);
}
}

157
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/monthaccrual/MonthAccrualService.java

@ -0,0 +1,157 @@
package com.yxt.anrui.terminal.biz.risk.monthaccrual;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApplyFeign;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppBuckleDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.*;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.AppMonthAccrualDetailsVo;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyAccrualApplyFeign;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.flow.*;
import com.yxt.anrui.terminal.api.risk.buckle.BuckleDetailsVo;
import com.yxt.anrui.terminal.api.risk.buckle.flow.AppBuckleDelegateQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.AppBuckleTaskQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.BuckleFlowableQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.CompleteBuckleDto;
import com.yxt.anrui.terminal.api.risk.monthaccrual.MonthAccrualDetailsVo;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualDelegateQuery;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualTaskQuery;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.CompleteMonthAccrualDto;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.MonthAccrualFlowableQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
/**
* @description:
* @author: fzz
* @date:
**/
@Service
public class MonthAccrualService {
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private LoanMonthlyAccrualApplyFeign loanMonthlyAccrualApplyFeign;
public ResultBean<MonthAccrualDetailsVo> detail(String sid) {
ResultBean<MonthAccrualDetailsVo> rb = ResultBean.fireFail();
MonthAccrualDetailsVo vo = new MonthAccrualDetailsVo();
AppMonthAccrualDetailsVo data = loanMonthlyAccrualApplyFeign.appDetail(sid).getData();
if (null != data) {
BeanUtil.copyProperties(data, vo);
}
return rb.success().setData(vo);
}
public ResultBean agreeCreditInfo(CompleteMonthAccrualDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
AccrualCompleteDto completeDto = new
AccrualCompleteDto();
BeanUtil.copyProperties(dto, completeDto);
completeDto.setOrgSidPath(orgSidPath);
ResultBean resultBean = loanMonthlyAccrualApplyFeign.complete(completeDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectCreditInfo(AppMonthAccrualTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
AccrualTaskQuery taskQuery = new
AccrualTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = loanMonthlyAccrualApplyFeign.taskReject(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallCreditInfo(AppMonthAccrualTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
AccrualTaskQuery taskQuery = new
AccrualTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = loanMonthlyAccrualApplyFeign.revokeProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopCreditInfo(AppMonthAccrualTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
AccrualTaskQuery taskQuery = new
AccrualTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = loanMonthlyAccrualApplyFeign.breakProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(MonthAccrualFlowableQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
AccrualGetNodeQuery getNodeQuery = new
AccrualGetNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<AccrualGetNodeVo>> getPreviousNodesForReject = loanMonthlyAccrualApplyFeign.getPreviousNodesForReject(getNodeQuery);
if (getPreviousNodesForReject.getSuccess()) {
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null));
data = getPreviousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(getPreviousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<AccrualGetNodeVo>> getNextNodesForSubmit = loanMonthlyAccrualApplyFeign.getNextNodesForSubmit(getNodeQuery);
if (getNextNodesForSubmit.getSuccess()) {
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = getNextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(getNextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
public ResultBean delegate(AppMonthAccrualDelegateQuery delegateQuery) {
ResultBean rb = ResultBean.fireFail();
AccrualDelegateQuery delegateQuery1 = new
AccrualDelegateQuery();
BeanUtil.copyProperties(delegateQuery, delegateQuery1);
ResultBean delegate = loanMonthlyAccrualApplyFeign.delegate(delegateQuery1);
return rb.success();
}
}

68
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/transferpayment/TransferPaymentRest.java

@ -0,0 +1,68 @@
package com.yxt.anrui.terminal.biz.risk.transferpayment;
import com.yxt.anrui.terminal.api.risk.monthaccrual.MonthAccrualDetailsVo;
import com.yxt.anrui.terminal.api.risk.monthaccrual.MonthAccrualFeign;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualDelegateQuery;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualTaskQuery;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.CompleteMonthAccrualDto;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.MonthAccrualFlowableQuery;
import com.yxt.anrui.terminal.api.risk.transferpayment.TransferPaymentDetailsVo;
import com.yxt.anrui.terminal.api.risk.transferpayment.TransferPaymentFeign;
import com.yxt.anrui.terminal.api.risk.transferpayment.flow.AppTransferPaymentDelegateQuery;
import com.yxt.anrui.terminal.api.risk.transferpayment.flow.AppTransferPaymentTaskQuery;
import com.yxt.anrui.terminal.api.risk.transferpayment.flow.CompleteTransferPaymentDto;
import com.yxt.anrui.terminal.api.risk.transferpayment.flow.TransferPaymentFlowableQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @description:
* @author: fzz
* @date:
**/
@Controller
@RequestMapping("/riskcenter/v1/transferpayment")
public class TransferPaymentRest implements TransferPaymentFeign {
@Autowired
private TransferPaymentService transferPaymentService;
@Override
public ResultBean<TransferPaymentDetailsVo> detail(String sid) {
return transferPaymentService.detail(sid);
}
@Override
public ResultBean agreeCreditInfo(CompleteTransferPaymentDto dto) {
return transferPaymentService.agreeCreditInfo(dto);
}
@Override
public ResultBean rejectCreditInfo(AppTransferPaymentTaskQuery query) {
return transferPaymentService.rejectCreditInfo(query);
}
@Override
public ResultBean recallCreditInfo(AppTransferPaymentTaskQuery query) {
return transferPaymentService.recallCreditInfo(query);
}
@Override
public ResultBean stopCreditInfo(AppTransferPaymentTaskQuery query) {
return transferPaymentService.stopCreditInfo(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(TransferPaymentFlowableQuery query) {
return transferPaymentService.getFlowOperateTitle(query);
}
@Override
public ResultBean delegate(AppTransferPaymentDelegateQuery delegateQuery) {
return transferPaymentService.delegate(delegateQuery);
}
}

157
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/transferpayment/TransferPaymentService.java

@ -0,0 +1,157 @@
package com.yxt.anrui.terminal.biz.risk.transferpayment;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.AppMonthAccrualDetailsVo;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyAccrualApplyFeign;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.flow.*;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.AppTransferPaymentDetailsVo;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentApplyFeign;
import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow.*;
import com.yxt.anrui.terminal.api.risk.monthaccrual.MonthAccrualDetailsVo;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualDelegateQuery;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualTaskQuery;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.CompleteMonthAccrualDto;
import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.MonthAccrualFlowableQuery;
import com.yxt.anrui.terminal.api.risk.transferpayment.TransferPaymentDetailsVo;
import com.yxt.anrui.terminal.api.risk.transferpayment.flow.AppTransferPaymentDelegateQuery;
import com.yxt.anrui.terminal.api.risk.transferpayment.flow.AppTransferPaymentTaskQuery;
import com.yxt.anrui.terminal.api.risk.transferpayment.flow.CompleteTransferPaymentDto;
import com.yxt.anrui.terminal.api.risk.transferpayment.flow.TransferPaymentFlowableQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
/**
* @description:
* @author: fzz
* @date:
**/
@Service
public class TransferPaymentService {
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private LoanTransferPaymentApplyFeign loanTransferPaymentApplyFeign;
public ResultBean<TransferPaymentDetailsVo> detail(String sid) {
ResultBean<TransferPaymentDetailsVo> rb = ResultBean.fireFail();
TransferPaymentDetailsVo vo = new TransferPaymentDetailsVo();
AppTransferPaymentDetailsVo data = loanTransferPaymentApplyFeign.appDetail(sid).getData();
if (null != data) {
BeanUtil.copyProperties(data, vo);
}
return rb.success().setData(vo);
}
public ResultBean agreeCreditInfo(CompleteTransferPaymentDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
TransferCompleteDto completeDto = new
TransferCompleteDto();
BeanUtil.copyProperties(dto, completeDto);
completeDto.setOrgSidPath(orgSidPath);
ResultBean resultBean = loanTransferPaymentApplyFeign.complete(completeDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectCreditInfo(AppTransferPaymentTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
TransferTaskQuery taskQuery = new
TransferTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = loanTransferPaymentApplyFeign.taskReject(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallCreditInfo(AppTransferPaymentTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
TransferTaskQuery taskQuery = new
TransferTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = loanTransferPaymentApplyFeign.revokeProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopCreditInfo(AppTransferPaymentTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
TransferTaskQuery taskQuery = new
TransferTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = loanTransferPaymentApplyFeign.breakProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(TransferPaymentFlowableQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
TransferGetNodeQuery getNodeQuery = new
TransferGetNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<TransferGetNodeVo>> getPreviousNodesForReject = loanTransferPaymentApplyFeign.getPreviousNodesForReject(getNodeQuery);
if (getPreviousNodesForReject.getSuccess()) {
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null));
data = getPreviousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(getPreviousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<TransferGetNodeVo>> getNextNodesForSubmit = loanTransferPaymentApplyFeign.getNextNodesForSubmit(getNodeQuery);
if (getNextNodesForSubmit.getSuccess()) {
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = getNextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(getNextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
public ResultBean delegate(AppTransferPaymentDelegateQuery delegateQuery) {
ResultBean rb = ResultBean.fireFail();
TransferDelegateQuery delegateQuery1 = new
TransferDelegateQuery();
BeanUtil.copyProperties(delegateQuery, delegateQuery1);
ResultBean delegate = loanTransferPaymentApplyFeign.delegate(delegateQuery1);
return rb.success();
}
}
Loading…
Cancel
Save