diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusLoancontractForRepayVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusLoancontractForRepayVo.java index ed2bfd8e8e..7f419c16b9 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusLoancontractForRepayVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusLoancontractForRepayVo.java @@ -34,4 +34,5 @@ public class BusLoancontractForRepayVo implements Vo { private String policyName; // 金融产品名称 private String orderSid; private String builded; //是否生成还款计划表 + private boolean handleBtn; //ture 可以办理 false 不能 } diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractService.java index 4e7f3e82bc..aeeedc2595 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractService.java @@ -65,6 +65,7 @@ import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyVo; import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameter; import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterQuery; import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterVo; +import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory; import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentSchedule; import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentScheduleFeign; import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; @@ -281,6 +282,7 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService busSalesOrderVehicles = busSalesOrderVehicleService.selByLoanContractSid(record.getSalesOrderSid()); busSalesOrderVehicles.removeAll(Collections.singleton(null)); @@ -293,8 +295,15 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService repaymentSchedule = repaymentScheduleFeign.selByLoanContractSid(record.getSalesOrderSid()); if (repaymentSchedule.getData() != null) { record.setBuilded("是"); + List histories = repaymentScheduleFeign.selHistoryBySid(repaymentSchedule.getData().getSid()).getData(); + if (histories.isEmpty() || histories == null) { + record.setHandleBtn(true); + } } else { record.setBuilded("否"); + if (StringUtils.isNotBlank(record.getBankContractNo())) { + record.setHandleBtn(true); + } } } } diff --git a/anrui-riskcenter-ui/src/api/returntostorage/returntostorage.js b/anrui-riskcenter-ui/src/api/returntostorage/returntostorage.js new file mode 100644 index 0000000000..1211c11171 --- /dev/null +++ b/anrui-riskcenter-ui/src/api/returntostorage/returntostorage.js @@ -0,0 +1,112 @@ +import request from '@/utils/request' + +export default { + // 查询分页列表 + listPage: function(params) { + return request({ + url: '/riskcenter/v1/loanrestorereportapply/listPage', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + saveOrUpdate: function(data) { + return request({ + url: '/riskcenter/v1/loanrestorereportapply/save', + method: 'post', + data: data, + headers: { 'Content-Type': 'application/json' } + }) + }, + init: function(data) { + return request({ + url: '/riskcenter/v1/loanrestorereportapply/init', + method: 'get', + params: data + }) + }, + fetchBySid: function(data) { + return request({ + url: '/riskcenter/v1/loanrestorereportapply/fetchDetailsBySid/' + data, + method: 'get' + }) + }, + deleteBySids: function(data) { + return request({ + url: '/riskcenter/v1/loanrestorereportapply/delBySids', + method: 'DELETE', + data: data, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 提交流程 + submit: function(params) { + return request({ + url: '/riskcenter/v1/loanrestorereportapply/submit', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 流程审批(同意) + complete: function(params) { + return request({ + url: '/riskcenter/v1/loanrestorereportapply/complete', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 流程审批(加签) + delegate: function(params) { + return request({ + url: '/riskcenter/v1/loanrestorereportapply/delegate', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 流程审批(驳回) + reject: function(params) { + return request({ + url: '/riskcenter/v1/loanrestorereportapply/reject', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 流程审批(终止) + breakProcess: function(params) { + return request({ + url: '/riskcenter/v1/loanrestorereportapply/breakProcess', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 流程审批(撤回) + revokeProcess: function(params) { + return request({ + url: '/riskcenter/v1/loanrestorereportapply/revokeProcess', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 审批流程(同意)获取下一环节 + getNextNodesForSubmit: function(data) { + return request({ + url: '/riskcenter/v1/loanrestorereportapply/getNextNodesForSubmit', + method: 'get', + params: data + }) + }, + // 审批流程(驳回)获取上一环节 + getPreviousNodesForReject: function(data) { + return request({ + url: '/riskcenter/v1/loanrestorereportapply/getPreviousNodesForReject', + method: 'get', + params: data + }) + } +} diff --git a/anrui-riskcenter-ui/src/api/surrenderforredemption/surrenderforredemption.js b/anrui-riskcenter-ui/src/api/surrenderforredemption/surrenderforredemption.js new file mode 100644 index 0000000000..5f998bb0f0 --- /dev/null +++ b/anrui-riskcenter-ui/src/api/surrenderforredemption/surrenderforredemption.js @@ -0,0 +1,122 @@ +import request from '@/utils/request' + +export default { + // 查询分页列表 + listPage: function(params) { + return request({ + url: '/riskcenter/v1/loanredemptionapply/listPage', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 查询分页列表 -- 选择车辆 + getVinList: function(params) { + return request({ + url: '/riskcenter/v1/loanredemptionapply/getVinList', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + saveOrUpdate: function(data) { + return request({ + url: '/riskcenter/v1/loanredemptionapply/saveRedemption', + method: 'post', + data: data, + headers: { 'Content-Type': 'application/json' } + }) + }, + fetchBySid: function(data) { + return request({ + url: '/riskcenter/v1/loanredemptionapply/redemptionDetails', + method: 'get', + params: data + }) + }, + redemptionInit(data) { + return request({ + url: '/riskcenter/v1/loanredemptionapply/redemptionInit', + method: 'get', + params: data + }) + }, + deleteBySids: function(data) { + return request({ + url: '/riskcenter/v1/loanredemptionapply/deleteBySids', + method: 'DELETE', + data: data, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 提交流程 + submit: function(params) { + return request({ + url: '/riskcenter/v1/loanredemptionapply/submit', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 流程审批(加签) + delegate: function(params) { + return request({ + url: '/riskcenter/v1/loanredemptionapply/delegate', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 流程审批(同意) + complete: function(params) { + return request({ + url: '/riskcenter/v1/loanredemptionapply/complete', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 流程审批(驳回) + reject: function(params) { + return request({ + url: '/riskcenter/v1/loanredemptionapply/reject', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 流程审批(终止) + breakProcess: function(params) { + return request({ + url: '/riskcenter/v1/loanredemptionapply/breakProcess', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 流程审批(撤回) + revokeProcess: function(params) { + return request({ + url: '/riskcenter/v1/loanredemptionapply/revokeProcess', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + // 审批流程(同意)获取下一环节 + getNextNodesForSubmit: function(data) { + return request({ + url: '/riskcenter/v1/loanredemptionapply/getNextNodesForSubmit', + method: 'get', + params: data + }) + }, + // 审批流程(驳回)获取上一环节 + getPreviousNodesForReject: function(data) { + return request({ + url: '/riskcenter/v1/loanredemptionapply/getPreviousNodesForReject', + method: 'get', + params: data + }) + } +} diff --git a/anrui-riskcenter-ui/src/router/index.js b/anrui-riskcenter-ui/src/router/index.js index d6ba3f89af..6df3fa8700 100644 --- a/anrui-riskcenter-ui/src/router/index.js +++ b/anrui-riskcenter-ui/src/router/index.js @@ -583,6 +583,22 @@ export const constantRoutes = [ } ] }, + { + path: '/surrenderforredemption', + component: Layout, + redirect: '/surrenderforredemption', + meta: { + title: '交回车辆赎回申请' + }, + children: [ + { + path: '/surrenderforredemption/surrenderforredemption', + component: () => import('@/views/surrenderforredemption/surrenderforredemption.vue'), + name: 'SurrenderForRedemption', + meta: { title: '交回车辆赎回申请', noCache: true } + } + ] + }, // 流程审批 // 金融产品政策报备--编辑 @@ -937,6 +953,27 @@ export const constantRoutes = [ component: () => import('@/views/workFlow/zifangduizhangFlow/zifangduizhangYiBan.vue'), name: 'ZiFangDuiZhangYiBan' + }, + // 交回车辆赎回申请管理--编辑 + { + path: '/jiaohuishuhuiFlow/surrenderforredemptionEdit', + component: () => + import('@/views/workFlow/jiaohuishuhuiFlow/surrenderforredemptionEdit.vue'), + name: 'SurrenderForRedemptionEdit' + }, + // 交回车辆赎回申请管理--待办 + { + path: '/jiaohuishuhuiFlow/surrenderforredemptionDaiBan', + component: () => + import('@/views/workFlow/jiaohuishuhuiFlow/surrenderforredemptionDaiBan.vue'), + name: 'SurrenderForRedemptionDaiBan' + }, + // 交回车辆赎回申请管理--已办 + { + path: '/jiaohuishuhuiFlow/surrenderforredemptionYiBan', + component: () => + import('@/views/workFlow/jiaohuishuhuiFlow/surrenderforredemptionYiBan.vue'), + name: 'SurrenderForRedemptionYiBan' }, // 404 page must be placed at the end !!! // { path: '*', redirect: '/404', hidden: true } diff --git a/anrui-riskcenter-ui/src/views/advancerequest/advancerequest.vue b/anrui-riskcenter-ui/src/views/advancerequest/advancerequest.vue index fda89e1540..4baff7e568 100644 --- a/anrui-riskcenter-ui/src/views/advancerequest/advancerequest.vue +++ b/anrui-riskcenter-ui/src/views/advancerequest/advancerequest.vue @@ -223,7 +223,7 @@ export default { this.centerDialogVisible = true var params = { deployId: row.procDefId, - procInsId: row.procInstId, + procInsId: row.procInstSid, token: getStorage() } this.url = '/#/flow/flowRecordForBusiness?data=' + encodeURI((JSON.stringify(params))) diff --git a/anrui-riskcenter-ui/src/views/advancerequest/advancerequestAdd.vue b/anrui-riskcenter-ui/src/views/advancerequest/advancerequestAdd.vue index 1b8ea5ec3b..a2687dcac2 100644 --- a/anrui-riskcenter-ui/src/views/advancerequest/advancerequestAdd.vue +++ b/anrui-riskcenter-ui/src/views/advancerequest/advancerequestAdd.vue @@ -31,7 +31,7 @@
财务付款形式
- + @@ -54,10 +54,10 @@ - + - + @@ -73,7 +73,7 @@ - + @@ -83,7 +83,7 @@ - + @@ -264,7 +264,7 @@ export default { return sums }, init() { - typeValues({ type: 'paymentForm' }).then((resp) => { + typeValues({ type: 'payForm' }).then((resp) => { if (resp.success) { this.finPayment_list = resp.data } diff --git a/anrui-riskcenter-ui/src/views/advancerequest/advancerequestInfo.vue b/anrui-riskcenter-ui/src/views/advancerequest/advancerequestInfo.vue index 6ccef5fa2d..9b271afef1 100644 --- a/anrui-riskcenter-ui/src/views/advancerequest/advancerequestInfo.vue +++ b/anrui-riskcenter-ui/src/views/advancerequest/advancerequestInfo.vue @@ -58,9 +58,9 @@ - + - + diff --git a/anrui-riskcenter-ui/src/views/agentbusiness/agentbusiness.vue b/anrui-riskcenter-ui/src/views/agentbusiness/agentbusiness.vue index 7f6a8c6ad6..ecb9d12892 100644 --- a/anrui-riskcenter-ui/src/views/agentbusiness/agentbusiness.vue +++ b/anrui-riskcenter-ui/src/views/agentbusiness/agentbusiness.vue @@ -83,7 +83,7 @@ {{ scope.row.closingDate }} - + diff --git a/anrui-riskcenter-ui/src/views/deduct/deductAdd.vue b/anrui-riskcenter-ui/src/views/deduct/deductAdd.vue index 36129889af..6ee6a0f551 100644 --- a/anrui-riskcenter-ui/src/views/deduct/deductAdd.vue +++ b/anrui-riskcenter-ui/src/views/deduct/deductAdd.vue @@ -57,7 +57,6 @@ - diff --git a/anrui-riskcenter-ui/src/views/deduct/deductInfo.vue b/anrui-riskcenter-ui/src/views/deduct/deductInfo.vue index 4bac7f98e4..1c2ade7749 100644 --- a/anrui-riskcenter-ui/src/views/deduct/deductInfo.vue +++ b/anrui-riskcenter-ui/src/views/deduct/deductInfo.vue @@ -55,7 +55,6 @@ - diff --git a/anrui-riskcenter-ui/src/views/repaymentschedule/repaymentschedule.vue b/anrui-riskcenter-ui/src/views/repaymentschedule/repaymentschedule.vue index 2f5b054bca..f926c610fd 100644 --- a/anrui-riskcenter-ui/src/views/repaymentschedule/repaymentschedule.vue +++ b/anrui-riskcenter-ui/src/views/repaymentschedule/repaymentschedule.vue @@ -251,11 +251,11 @@ export default { }, toEdit() { if (this.sids.length === 1) { - if (this.multipleSelection[0].bankContractNo !== '' && this.multipleSelection[0].builded === '否') { + if (this.multipleSelection[0].bankContractNo !== '' && (this.multipleSelection[0].builded === '否' && this.multipleSelection[0].handleBtn)) { this.viewState = 2 this.$refs['divAdd'].showEdit(this.sids[0]) } else { - this.$message({ showClose: true, type: 'error', message: '该记录资方合同号为空或已生成还款计划表' }) + this.$message({ showClose: true, type: 'error', message: '该记录资方合同号为空或已生成还款计划表且已存在还款记录' }) } } else { this.$message({ showClose: true, type: 'error', message: '请选择一条记录进行操作' }) diff --git a/anrui-riskcenter-ui/src/views/returntostorage/returntostorage.vue b/anrui-riskcenter-ui/src/views/returntostorage/returntostorage.vue new file mode 100644 index 0000000000..19cc643627 --- /dev/null +++ b/anrui-riskcenter-ui/src/views/returntostorage/returntostorage.vue @@ -0,0 +1,402 @@ + + + + + diff --git a/anrui-riskcenter-ui/src/views/returntostorage/returntostorageAdd.vue b/anrui-riskcenter-ui/src/views/returntostorage/returntostorageAdd.vue new file mode 100644 index 0000000000..2f7312427a --- /dev/null +++ b/anrui-riskcenter-ui/src/views/returntostorage/returntostorageAdd.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/anrui-riskcenter-ui/src/views/returntostorage/returntostorageInfo.vue b/anrui-riskcenter-ui/src/views/returntostorage/returntostorageInfo.vue new file mode 100644 index 0000000000..cd0273a474 --- /dev/null +++ b/anrui-riskcenter-ui/src/views/returntostorage/returntostorageInfo.vue @@ -0,0 +1,186 @@ + + + + + diff --git a/anrui-riskcenter-ui/src/views/surrenderforredemption/surrenderforredemption.vue b/anrui-riskcenter-ui/src/views/surrenderforredemption/surrenderforredemption.vue new file mode 100644 index 0000000000..1e3db48234 --- /dev/null +++ b/anrui-riskcenter-ui/src/views/surrenderforredemption/surrenderforredemption.vue @@ -0,0 +1,510 @@ + + + + + diff --git a/anrui-riskcenter-ui/src/views/surrenderforredemption/surrenderforredemptionAdd.vue b/anrui-riskcenter-ui/src/views/surrenderforredemption/surrenderforredemptionAdd.vue new file mode 100644 index 0000000000..24ecba0644 --- /dev/null +++ b/anrui-riskcenter-ui/src/views/surrenderforredemption/surrenderforredemptionAdd.vue @@ -0,0 +1,358 @@ + + + + + diff --git a/anrui-riskcenter-ui/src/views/surrenderforredemption/surrenderforredemptionInfo.vue b/anrui-riskcenter-ui/src/views/surrenderforredemption/surrenderforredemptionInfo.vue new file mode 100644 index 0000000000..cb470891b5 --- /dev/null +++ b/anrui-riskcenter-ui/src/views/surrenderforredemption/surrenderforredemptionInfo.vue @@ -0,0 +1,284 @@ + + + + + diff --git a/anrui-riskcenter-ui/src/views/workFlow/diankuanFlow/advancerequestDaiBan.vue b/anrui-riskcenter-ui/src/views/workFlow/diankuanFlow/advancerequestDaiBan.vue index d2e613a43a..2ab009442b 100644 --- a/anrui-riskcenter-ui/src/views/workFlow/diankuanFlow/advancerequestDaiBan.vue +++ b/anrui-riskcenter-ui/src/views/workFlow/diankuanFlow/advancerequestDaiBan.vue @@ -61,9 +61,9 @@ - + - + diff --git a/anrui-riskcenter-ui/src/views/workFlow/diankuanFlow/advancerequestEdit.vue b/anrui-riskcenter-ui/src/views/workFlow/diankuanFlow/advancerequestEdit.vue index fc9c8f3d49..f457d1962a 100644 --- a/anrui-riskcenter-ui/src/views/workFlow/diankuanFlow/advancerequestEdit.vue +++ b/anrui-riskcenter-ui/src/views/workFlow/diankuanFlow/advancerequestEdit.vue @@ -30,7 +30,7 @@
财务付款形式
- + @@ -53,10 +53,10 @@ - + - + @@ -72,7 +72,7 @@ - + @@ -82,7 +82,7 @@ - + @@ -280,7 +280,7 @@ export default { return sums }, init() { - typeValues({ type: 'paymentForm' }).then((resp) => { + typeValues({ type: 'payForm' }).then((resp) => { if (resp.success) { this.finPayment_list = resp.data } diff --git a/anrui-riskcenter-ui/src/views/workFlow/diankuanFlow/advancerequestYiBan.vue b/anrui-riskcenter-ui/src/views/workFlow/diankuanFlow/advancerequestYiBan.vue index 5c2a2a8f7e..2ad043c19d 100644 --- a/anrui-riskcenter-ui/src/views/workFlow/diankuanFlow/advancerequestYiBan.vue +++ b/anrui-riskcenter-ui/src/views/workFlow/diankuanFlow/advancerequestYiBan.vue @@ -58,9 +58,9 @@ - + - + diff --git a/anrui-riskcenter-ui/src/views/workFlow/huakouFlow/deductDaiBan.vue b/anrui-riskcenter-ui/src/views/workFlow/huakouFlow/deductDaiBan.vue index e948f24165..985c327b2c 100644 --- a/anrui-riskcenter-ui/src/views/workFlow/huakouFlow/deductDaiBan.vue +++ b/anrui-riskcenter-ui/src/views/workFlow/huakouFlow/deductDaiBan.vue @@ -58,7 +58,6 @@ - diff --git a/anrui-riskcenter-ui/src/views/workFlow/huakouFlow/deductEdit.vue b/anrui-riskcenter-ui/src/views/workFlow/huakouFlow/deductEdit.vue index f4de2c17fa..076e958a59 100644 --- a/anrui-riskcenter-ui/src/views/workFlow/huakouFlow/deductEdit.vue +++ b/anrui-riskcenter-ui/src/views/workFlow/huakouFlow/deductEdit.vue @@ -56,7 +56,6 @@ - diff --git a/anrui-riskcenter-ui/src/views/workFlow/huakouFlow/deductYiBan.vue b/anrui-riskcenter-ui/src/views/workFlow/huakouFlow/deductYiBan.vue index e7802e2e11..189eaf3ac9 100644 --- a/anrui-riskcenter-ui/src/views/workFlow/huakouFlow/deductYiBan.vue +++ b/anrui-riskcenter-ui/src/views/workFlow/huakouFlow/deductYiBan.vue @@ -55,7 +55,6 @@ - diff --git a/anrui-riskcenter-ui/src/views/workFlow/jiaohuishuhuiFlow/relation/returntostorageInfo.vue b/anrui-riskcenter-ui/src/views/workFlow/jiaohuishuhuiFlow/relation/returntostorageInfo.vue new file mode 100644 index 0000000000..12674a84f5 --- /dev/null +++ b/anrui-riskcenter-ui/src/views/workFlow/jiaohuishuhuiFlow/relation/returntostorageInfo.vue @@ -0,0 +1,186 @@ + + + + + diff --git a/anrui-riskcenter-ui/src/views/workFlow/jiaohuishuhuiFlow/surrenderforredemptionDaiBan.vue b/anrui-riskcenter-ui/src/views/workFlow/jiaohuishuhuiFlow/surrenderforredemptionDaiBan.vue new file mode 100644 index 0000000000..8008d69dad --- /dev/null +++ b/anrui-riskcenter-ui/src/views/workFlow/jiaohuishuhuiFlow/surrenderforredemptionDaiBan.vue @@ -0,0 +1,533 @@ + + + + + diff --git a/anrui-riskcenter-ui/src/views/workFlow/jiaohuishuhuiFlow/surrenderforredemptionEdit.vue b/anrui-riskcenter-ui/src/views/workFlow/jiaohuishuhuiFlow/surrenderforredemptionEdit.vue new file mode 100644 index 0000000000..b5a46de3b2 --- /dev/null +++ b/anrui-riskcenter-ui/src/views/workFlow/jiaohuishuhuiFlow/surrenderforredemptionEdit.vue @@ -0,0 +1,326 @@ + + + + + diff --git a/anrui-riskcenter-ui/src/views/workFlow/jiaohuishuhuiFlow/surrenderforredemptionYiBan.vue b/anrui-riskcenter-ui/src/views/workFlow/jiaohuishuhuiFlow/surrenderforredemptionYiBan.vue new file mode 100644 index 0000000000..5161de184d --- /dev/null +++ b/anrui-riskcenter-ui/src/views/workFlow/jiaohuishuhuiFlow/surrenderforredemptionYiBan.vue @@ -0,0 +1,319 @@ + + + + + diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleApplyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleApplyDto.java index d2d7037405..95c44f2bdd 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleApplyDto.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleApplyDto.java @@ -25,5 +25,5 @@ public class LoanBuckleApplyDto implements Dto { private String orgPath; private List files = new ArrayList<>(); private List records = new ArrayList<>(); - private List historySids = new ArrayList<>(); + } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleHistoryRecord.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleHistoryRecord.java index 6a6b02542b..a997c3893c 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleHistoryRecord.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleHistoryRecord.java @@ -42,6 +42,6 @@ public class LoanBuckleHistoryRecord { @ApiModelProperty("实还日期") private String actualDate; - private List historySids = new ArrayList<>(); + private List historySids = new ArrayList<>(); } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapplyrecord/LoanBuckleApplyRecord.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapplyrecord/LoanBuckleApplyRecord.java index 03cc1a9630..552268ed1c 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapplyrecord/LoanBuckleApplyRecord.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapplyrecord/LoanBuckleApplyRecord.java @@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; import java.util.Date; /** @@ -23,5 +24,7 @@ public class LoanBuckleApplyRecord extends BaseEntity { private String mainSid; @ApiModelProperty("还款记录sid") private String repaymentHistorySid; + @ApiModelProperty("实还金额") + private BigDecimal actualMoney; } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/RepaymentHistoryVoForBuckle.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/RepaymentHistoryVoForBuckle.java new file mode 100644 index 0000000000..22490ea535 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/RepaymentHistoryVoForBuckle.java @@ -0,0 +1,49 @@ +package com.yxt.anrui.riskcenter.api.loanrepaymenthistory; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author Fan + * @description + * @date 2024/1/16 13:43 + */ +@Data +public class RepaymentHistoryVoForBuckle { + private String sid; + @ApiModelProperty("消贷合同编号") + private String loanContractNo; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("资方合同") + private String bankContractNo; + @ApiModelProperty("资方名称") + private String bankName; + @ApiModelProperty("客户") + private String customer; + @ApiModelProperty("期数") + private String period; + @ApiModelProperty("借款人名称") + private String borrowerName; + @ApiModelProperty("应还日期") + private String dueDate; + @ApiModelProperty("应还金额") + private String dueMoney; + @ApiModelProperty("实还日期") + private String actualDate; + @ApiModelProperty("数据日期") + private String dataTime; + @ApiModelProperty("实还金额") + private BigDecimal actualMoney; + @ApiModelProperty("本期未还金额") + private String outstandingMoney; + @ApiModelProperty("划扣状态") + private String buckle; + @ApiModelProperty("还款方式") + private String returnWay; + private String planDetailSid; + private String updateState; //更新状态 + private String updateTime; //更新日期 +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/TransferRecordVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/TransferRecordVo.java new file mode 100644 index 0000000000..1d3b08875e --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/TransferRecordVo.java @@ -0,0 +1,18 @@ +package com.yxt.anrui.riskcenter.api.loanrepaymenthistory; + +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/1/16 14:30 + */ +@Data +public class TransferRecordVo { + private String spread; //息差 + private String transferPrincipal; //转付本金 + private String defaultInterest; //转付罚息 + private String accountType; //转付账户类型 + private String account; //转付账户 + private String accountNumber; //转付账户账号 +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/utils/CollectorsUtil.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/utils/CollectorsUtil.java new file mode 100644 index 0000000000..ac73a89c73 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/utils/CollectorsUtil.java @@ -0,0 +1,90 @@ +package com.yxt.anrui.riskcenter.api.loanrepaymenthistory.utils; + +import java.math.BigDecimal; +import java.util.Collections; +import java.util.Set; +import java.util.function.BiConsumer; +import java.util.function.BinaryOperator; +import java.util.function.Function; +import java.util.function.Supplier; +import java.util.stream.Collector; + +public class CollectorsUtil { + static final Set CH_NOID = Collections.emptySet(); + + private CollectorsUtil() { + } + + @SuppressWarnings("unchecked") + private static Function castingIdentity() { + return i -> (R) i; + } + + /** + * Simple implementation class for {@code Collector}. + * + * @param + * the type of elements to be collected + * @param + * the type of the result + */ + static class CollectorImpl implements Collector { + private final Supplier supplier; + private final BiConsumer accumulator; + private final BinaryOperator combiner; + private final Function finisher; + private final Set characteristics; + + CollectorImpl(Supplier supplier, BiConsumer accumulator, BinaryOperator combiner, + Function finisher, Set characteristics) { + this.supplier = supplier; + this.accumulator = accumulator; + this.combiner = combiner; + this.finisher = finisher; + this.characteristics = characteristics; + } + + CollectorImpl(Supplier supplier, BiConsumer accumulator, BinaryOperator combiner, + Set characteristics) { + this(supplier, accumulator, combiner, castingIdentity(), characteristics); + } + + @Override + public BiConsumer accumulator() { + return accumulator; + } + + @Override + public Supplier supplier() { + return supplier; + } + + @Override + public BinaryOperator combiner() { + return combiner; + } + + @Override + public Function finisher() { + return finisher; + } + + @Override + public Set characteristics() { + return characteristics; + } + } + + public static Collector summingBigDecimal(ToBigDecimalFunction mapper) { + return new CollectorImpl<>(() -> new BigDecimal[1], (a, t) -> { + if (a[0] == null) { + a[0] = BigDecimal.ZERO; + } + a[0] = a[0].add(mapper.applyAsBigDecimal(t)); + }, (a, b) -> { + a[0] = a[0].add(b[0]); + return a; + }, a -> a[0], CH_NOID); + } + +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/utils/ToBigDecimalFunction.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/utils/ToBigDecimalFunction.java new file mode 100644 index 0000000000..bb3bd8eabb --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/utils/ToBigDecimalFunction.java @@ -0,0 +1,8 @@ +package com.yxt.anrui.riskcenter.api.loanrepaymenthistory.utils; + +import java.math.BigDecimal; + +@FunctionalInterface +public interface ToBigDecimalFunction { + BigDecimal applyAsBigDecimal(T value); +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeign.java index 7645526bc6..1867040483 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeign.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeign.java @@ -1,5 +1,6 @@ package com.yxt.anrui.riskcenter.api.loanrepaymentschedule; +import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory; import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformationQuery; import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformationVo; import com.yxt.common.core.query.PagerQuery; @@ -47,11 +48,16 @@ public interface LoanRepaymentScheduleFeign { @ResponseBody public ResultBean> viewVinOneSchedule(@RequestParam("salesOrderSid") String salesOrderSid); - @ApiOperation("查看单台还款计划表") + @ApiOperation("查看还款计划表") @GetMapping("/selByLoanContractSid") @ResponseBody ResultBean selByLoanContractSid(@RequestParam("loanContractSid") String loanContractSid); + @ApiOperation("查看还款计划表") + @GetMapping("/selHistoryBySid") + @ResponseBody + ResultBean> selHistoryBySid(@RequestParam("sid") String sid); + //-------------------------app接口-------------------- /** diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeignFallback.java index db393ebf2f..7ce9e0456f 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeignFallback.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeignFallback.java @@ -1,5 +1,6 @@ package com.yxt.anrui.riskcenter.api.loanrepaymentschedule; +import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -40,6 +41,11 @@ public class LoanRepaymentScheduleFeignFallback implements LoanRepaymentSchedule return null; } + @Override + public ResultBean> selHistoryBySid(String sid) { + return null; + } + @Override public ResultBean> getRepaymentPlanList(PagerQuery pq) { return null; diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java index 85a73cea21..5ba11d90a3 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java @@ -554,11 +554,11 @@ public class LoanBePadsincereApplyService extends MybatisBaseService loanBePadsincereVehDetailsVos = loanBePadsincereVehService.selByMainSid(loanBePadsincereApply.getSid()); Map variables = new HashMap<>(); Map appMap = new HashMap<>(); appMap.put("sid", businessSid); @@ -871,31 +872,33 @@ public class LoanBePadsincereApplyService extends MybatisBaseService listPage(PagerQuery pq) { IPage page = PagerUtil.queryToPage(pq); @@ -256,7 +261,20 @@ public class LoanBuckleApplyService extends MybatisBaseService historySids = record.getHistorySids(); + if (!historySids.isEmpty()) { + for (String historySid : historySids) { + LoanBucklePlanHistory loanBucklePlanHistory = new LoanBucklePlanHistory(); + loanBucklePlanHistory.setMainSid(sid); + loanBucklePlanHistory.setPlanSid(record.getRecordSid()); + loanBucklePlanHistory.setRecordSid(historySid); + loanBucklePlanHistoryService.insert(loanBucklePlanHistory); + } + } } } } @@ -288,12 +306,25 @@ public class LoanBuckleApplyService extends MybatisBaseService historySids = record.getHistorySids(); + if (!historySids.isEmpty()) { + for (String historySid : historySids) { + LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(historySid); + if (null != repaymentHistory) { + repaymentHistory.setBuckle("申请中"); + repaymentHistory.setBuckleKey("002"); + loanRepaymentHistoryService.updateById(repaymentHistory); + } + LoanBucklePlanHistory loanBucklePlanHistory = new LoanBucklePlanHistory(); + loanBucklePlanHistory.setMainSid(sid); + loanBucklePlanHistory.setPlanSid(record.getRecordSid()); + loanBucklePlanHistory.setRecordSid(historySid); + loanBucklePlanHistoryService.insert(loanBucklePlanHistory); + } } } } @@ -342,14 +373,45 @@ public class LoanBuckleApplyService extends MybatisBaseService records = loanBuckleApplyRecordService.selByMainSid(sid); List recordList = new ArrayList<>(); if (!records.isEmpty()) { - for (LoanBuckleApplyRecord record : records) { - String historySid = record.getRepaymentHistorySid(); - LoanBuckleHistoryRecord historyRecord = new LoanBuckleHistoryRecord(); - LoanRepaymentHistoryRecordVo recordVo = loanRepaymentHistoryService.buckleInfo(historySid).getData(); - if (null != recordVo) { - BeanUtil.copyProperties(recordVo, historyRecord); + for (LoanBuckleApplyRecord r : records) { + LoanBuckleHistoryRecord record = new LoanBuckleHistoryRecord(); + LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.fetchBySid(r.getRepaymentHistorySid()); + if (null != planDetails) { + if (StringUtils.isNotBlank(planDetails.getLoanContractNo())) { + record.setLoanContractNo(planDetails.getLoanContractNo()); + } + if (StringUtils.isNotBlank(planDetails.getVinNo())) { + record.setVinNo(planDetails.getVinNo()); + } + if (StringUtils.isNotBlank(planDetails.getBankName())) { + record.setBankName(planDetails.getBankName()); + } + if (StringUtils.isNotBlank(planDetails.getBankContractNo())) { + record.setBankContractNo(planDetails.getBankContractNo()); + } + if (StringUtils.isNotBlank(planDetails.getCustomer())) { + record.setCustomer(planDetails.getCustomer()); + } + if (StringUtils.isNotBlank(planDetails.getBorrowerName())) { + record.setBorrowerName(planDetails.getBorrowerName()); + } + if (StringUtils.isNotBlank(planDetails.getPeriod())) { + record.setPeriod(planDetails.getPeriod()); + } + } + if (r.getActualMoney() != null) { + record.setActualMoney(r.getActualMoney().toString()); } - recordList.add(historyRecord); + List strings = loanBucklePlanHistoryService.fetchByMainSidAndPlanSid(sid, r.getRepaymentHistorySid()); + record.setHistorySids(strings); + recordList.add(record); +// String historySid = record.getRepaymentHistorySid(); +// LoanBuckleHistoryRecord historyRecord = new LoanBuckleHistoryRecord(); +// LoanRepaymentHistoryRecordVo recordVo = loanRepaymentHistoryService.buckleInfo(historySid).getData(); +// if (null != recordVo) { +// BeanUtil.copyProperties(recordVo, historyRecord); +// } +// recordList.add(historyRecord); } } initVo.setRecords(recordList); @@ -571,15 +633,34 @@ public class LoanBuckleApplyService extends MybatisBaseService applyRecords = loanBuckleApplyRecordService.selByMainSid(businessSid); if (!applyRecords.isEmpty()) { for (LoanBuckleApplyRecord applyRecord : applyRecords) { - LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid()); - if (null != repaymentHistory) { - repaymentHistory.setBuckle("审核通过"); - repaymentHistory.setBuckleKey("003"); - repaymentHistory.setClosingDate(new DateTime()); - loanRepaymentHistoryService.updateById(repaymentHistory); + List historySids = loanBucklePlanHistoryService.fetchByMainSidAndPlanSid(businessSid, applyRecord.getRepaymentHistorySid()); + if (!historySids.isEmpty()) { + historySids.stream().forEach( + v -> { + LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(v); + if (null != repaymentHistory) { + repaymentHistory.setBuckle("审核通过"); + repaymentHistory.setBuckleKey("003"); + repaymentHistory.setClosingDate(new DateTime()); + loanRepaymentHistoryService.updateById(repaymentHistory); + } + } + ); } } } +// List applyRecords = loanBuckleApplyRecordService.selByMainSid(businessSid); +// if (!applyRecords.isEmpty()) { +// for (LoanBuckleApplyRecord applyRecord : applyRecords) { +// LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid()); +// if (null != repaymentHistory) { +// repaymentHistory.setBuckle("审核通过"); +// repaymentHistory.setBuckleKey("003"); +// repaymentHistory.setClosingDate(new DateTime()); +// loanRepaymentHistoryService.updateById(repaymentHistory); +// } +// } +// } try { ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() .setNameFormat("demo-pool-%d").build(); @@ -608,81 +689,77 @@ public class LoanBuckleApplyService extends MybatisBaseService voucherDetails = new ArrayList<>(); for (LoanBuckleApplyRecord v : records) { - LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(v.getRepaymentHistorySid()); - if (null != repaymentHistory) { - String planDetailSid = repaymentHistory.getPlanDetailSid(); - LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.fetchBySid(planDetailSid); - if (null != planDetails) { - GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); - String state = loanRepaymentPlanDetailsService.selForPushBuckleVoucher(planDetailSid); - if (StringUtils.isNotBlank(state)) { - if (state.equals("0")) { - voucherDetail.setSceneCode("03"); - } else if (state.equals("1")) { - voucherDetail.setSceneCode("02"); - } else if (state.equals("2")) { - voucherDetail.setSceneCode("01"); - } - } - String bankName = loanRepaymentPlanDetailsService.getBankNameByMainOrOtherPolicy(planDetails); - if (StringUtils.isNotBlank(bankName)) { - voucherDetail.setBankName(bankName); + LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.fetchBySid(v.getRepaymentHistorySid()); + if (null != planDetails) { + GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); + String state = loanRepaymentPlanDetailsService.selForPushBuckleVoucher(v.getRepaymentHistorySid()); + if (StringUtils.isNotBlank(state)) { + if (state.equals("0")) { + voucherDetail.setSceneCode("03"); + } else if (state.equals("1")) { + voucherDetail.setSceneCode("02"); + } else if (state.equals("2")) { + voucherDetail.setSceneCode("01"); } - String useOrgSid = planDetails.getUseOrgSid(); - SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); - if (null != organizationVo) { - generalVoucher.setUseOrgCode(organizationVo.getOrgCode()); - } - String deptSid = planDetails.getDeptSid(); - SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData(); - if (null != organizationDeptVo) { - voucherDetail.setDeptCode(organizationDeptVo.getOrgCode()); - } - BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData(); - BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(planDetails.getSalesOrderSid()).getData(); - if (null != salesOrder) { - if (null != busSalesOrderVehicle) { - String customerNumber = ""; - //判断财务系统是否有客户 - Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData(); - String linkNo = ""; - BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData(); - if (!aBoolean) { - // List bdCustomers = new ArrayList<>(); - BdCustomer bdCustomer = new BdCustomer(); - bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo()); - bdCustomer.setFShortName(salesOrder.getContractNo()); - BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData(); - bdCustomer.setTOrgIds(data.getOrgCode()); - if (org.apache.commons.lang3.StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) { - String vinNo = busSalesOrderVehicle.getLinkNo(); - if (vinNo.length() > 8) { - linkNo = vinNo.substring(vinNo.length() - 8); - } else { - linkNo = busSalesOrderVehicle.getLinkNo(); - } - if (null != borrowerDetailsVo) { - bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo); - } + } + String bankName = loanRepaymentPlanDetailsService.getBankNameByMainOrOtherPolicy(planDetails); + if (StringUtils.isNotBlank(bankName)) { + voucherDetail.setBankName(bankName); + } + String useOrgSid = planDetails.getUseOrgSid(); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); + if (null != organizationVo) { + generalVoucher.setUseOrgCode(organizationVo.getOrgCode()); + } + String deptSid = planDetails.getDeptSid(); + SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData(); + if (null != organizationDeptVo) { + voucherDetail.setDeptCode(organizationDeptVo.getOrgCode()); + } + BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData(); + BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(planDetails.getSalesOrderSid()).getData(); + if (null != salesOrder) { + if (null != busSalesOrderVehicle) { + String customerNumber = ""; + //判断财务系统是否有客户 + Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData(); + String linkNo = ""; + BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData(); + if (!aBoolean) { + // List bdCustomers = new ArrayList<>(); + BdCustomer bdCustomer = new BdCustomer(); + bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo()); + bdCustomer.setFShortName(salesOrder.getContractNo()); + BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData(); + bdCustomer.setTOrgIds(data.getOrgCode()); + if (org.apache.commons.lang3.StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) { + String vinNo = busSalesOrderVehicle.getLinkNo(); + if (vinNo.length() > 8) { + linkNo = vinNo.substring(vinNo.length() - 8); } else { - if (null != borrowerDetailsVo) { - bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo()); - } + linkNo = busSalesOrderVehicle.getLinkNo(); } - // bdCustomers.add(bdCustomer); - ResultBean resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer); - if (resultBean.getSuccess()) { - customerNumber = bdCustomer.getFNumber(); + if (null != borrowerDetailsVo) { + bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo); } } else { - customerNumber = busSalesOrderVehicle.getTemporaryNo(); + if (null != borrowerDetailsVo) { + bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo()); + } } - voucherDetail.setCustomerCode(customerNumber); + // bdCustomers.add(bdCustomer); + ResultBean resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer); + if (resultBean.getSuccess()) { + customerNumber = bdCustomer.getFNumber(); + } + } else { + customerNumber = busSalesOrderVehicle.getTemporaryNo(); } + voucherDetail.setCustomerCode(customerNumber); } - voucherDetail.setAmount(repaymentHistory.getActualMoney()); - voucherDetails.add(voucherDetail); } + voucherDetail.setAmount(v.getActualMoney()); + voucherDetails.add(voucherDetail); } } generalVoucher.setVoucherDetails(voucherDetails); @@ -817,14 +894,32 @@ public class LoanBuckleApplyService extends MybatisBaseService applyRecords = loanBuckleApplyRecordService.selByMainSid(query.getBusinessSid()); if (!applyRecords.isEmpty()) { for (LoanBuckleApplyRecord applyRecord : applyRecords) { - LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid()); - if (null != repaymentHistory) { - repaymentHistory.setBuckle("审核未通过"); - repaymentHistory.setBuckleKey("004"); - loanRepaymentHistoryService.updateById(repaymentHistory); + List historySids = loanBucklePlanHistoryService.fetchByMainSidAndPlanSid(query.getBusinessSid(), applyRecord.getRepaymentHistorySid()); + if (!historySids.isEmpty()) { + historySids.stream().forEach( + v -> { + LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(v); + if (null != repaymentHistory) { + repaymentHistory.setBuckle("审核未通过"); + repaymentHistory.setBuckleKey("004"); + loanRepaymentHistoryService.updateById(repaymentHistory); + } + } + ); } } } +// List applyRecords = loanBuckleApplyRecordService.selByMainSid(query.getBusinessSid()); +// if (!applyRecords.isEmpty()) { +// for (LoanBuckleApplyRecord applyRecord : applyRecords) { +// LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid()); +// if (null != repaymentHistory) { +// repaymentHistory.setBuckle("审核未通过"); +// repaymentHistory.setBuckleKey("004"); +// loanRepaymentHistoryService.updateById(repaymentHistory); +// } +// } +// } } return rb.success().setData(resultBean.getData()); } else { @@ -843,16 +938,22 @@ public class LoanBuckleApplyService extends MybatisBaseService applyRecords = loanBuckleApplyRecordService.selByMainSid(query.getBusinessSid()); if (!applyRecords.isEmpty()) { for (LoanBuckleApplyRecord applyRecord : applyRecords) { - LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid()); - if (null != repaymentHistory) { - repaymentHistory.setBuckle("审核未通过"); - repaymentHistory.setBuckleKey("004"); - loanRepaymentHistoryService.updateById(repaymentHistory); + List historySids = loanBucklePlanHistoryService.fetchByMainSidAndPlanSid(query.getBusinessSid(), applyRecord.getRepaymentHistorySid()); + if (!historySids.isEmpty()) { + historySids.stream().forEach( + v -> { + LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(v); + if (null != repaymentHistory) { + repaymentHistory.setBuckle("审核未通过"); + repaymentHistory.setBuckleKey("004"); + loanRepaymentHistoryService.updateById(repaymentHistory); + } + } + ); } } } } - return rb.success().setData(resultBean.getData()); } } @@ -964,8 +1065,8 @@ public class LoanBuckleApplyService extends MybatisBaseService records = new ArrayList<>(); if (!applyRecords.isEmpty()) { for (LoanBuckleApplyRecord applyRecord : applyRecords) { - String historySid = applyRecord.getRepaymentHistorySid(); - LoanRepaymentHistoryRecordVo data = loanRepaymentHistoryService.buckleInfo(historySid).getData(); + String planSid = applyRecord.getRepaymentHistorySid(); + LoanRepaymentPlanDetails data = loanRepaymentPlanDetailsService.fetchBySid(planSid); if (null != data) { AppRecordVo appRecordVo = new AppRecordVo(); if (StringUtils.isNotBlank(data.getLoanContractNo())) { @@ -977,9 +1078,7 @@ public class LoanBuckleApplyService extends MybatisBaseService applyRecords = loanBuckleApplyRecordService.selByMainSid(sid); if (!applyRecords.isEmpty()) { for (LoanBuckleApplyRecord applyRecord : applyRecords) { - LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid()); - if (null != repaymentHistory) { - repaymentHistory.setBuckle("未申请"); - repaymentHistory.setBuckleKey("001"); - loanRepaymentHistoryService.updateById(repaymentHistory); + List historySids = loanBucklePlanHistoryService.fetchByMainSidAndPlanSid(sid, applyRecord.getRepaymentHistorySid()); + if (!historySids.isEmpty()) { + historySids.stream().forEach( + v -> { + LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(v); + if (null != repaymentHistory) { + repaymentHistory.setBuckle("未申请"); + repaymentHistory.setBuckleKey("001"); + loanRepaymentHistoryService.updateById(repaymentHistory); + } + } + ); } } } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleplanhistory/LoanBucklePlanHistoryMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleplanhistory/LoanBucklePlanHistoryMapper.java index f25c12d505..f412afe3e1 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleplanhistory/LoanBucklePlanHistoryMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleplanhistory/LoanBucklePlanHistoryMapper.java @@ -12,4 +12,5 @@ import java.util.List; @Mapper public interface LoanBucklePlanHistoryMapper extends BaseMapper { + List fetchByMainSidAndPlanSid(@Param("sid") String sid, @Param("repaymentHistorySid") String repaymentHistorySid); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleplanhistory/LoanBucklePlanHistoryMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleplanhistory/LoanBucklePlanHistoryMapper.xml index 1184e5db5a..8d1af22bea 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleplanhistory/LoanBucklePlanHistoryMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleplanhistory/LoanBucklePlanHistoryMapper.xml @@ -3,4 +3,10 @@ + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleplanhistory/LoanBucklePlanHistoryService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleplanhistory/LoanBucklePlanHistoryService.java index 429d4d5057..0c5be77a84 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleplanhistory/LoanBucklePlanHistoryService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleplanhistory/LoanBucklePlanHistoryService.java @@ -16,4 +16,7 @@ import java.util.List; public class LoanBucklePlanHistoryService extends MybatisBaseService { + public List fetchByMainSidAndPlanSid(String sid, String repaymentHistorySid) { + return baseMapper.fetchByMainSidAndPlanSid(sid,repaymentHistorySid); + } } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyService.java index 50f03aab94..f70b3b588b 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyService.java @@ -214,7 +214,7 @@ public class LoanRedemptionApplyService extends MybatisBaseService pagging = baseMapper.listPage(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); return p; diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.java index ce139bd8f3..88ae7f2ea7 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.java @@ -38,7 +38,7 @@ public interface LoanRepaymentHistoryMapper extends BaseMapper selUpdateStateList(@Param(Constants.WRAPPER) QueryWrapper qw); - List selbuckleNewInitList(@Param(Constants.WRAPPER) QueryWrapper qw); + List selbuckleNewInitList(@Param(Constants.WRAPPER) QueryWrapper qw); IPage transferPaymentList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); @@ -51,4 +51,6 @@ public interface LoanRepaymentHistoryMapper extends BaseMapper repaymentStatisticsExport(@Param(Constants.WRAPPER) QueryWrapper qw); String getMaxUpdateTimeByBankContractNo(@Param("bankContractNo") String bankContractNo); + + TransferRecordVo selTransferRecord(@Param("sid") String sid); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml index 7559b7274a..850333470a 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml @@ -101,6 +101,7 @@ from loan_repayment_history where planDetailSid = #{planSid} and returnWayKey != '02' + and updateState = '1' + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java index bbc1cee881..620cec5d9e 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java @@ -2,6 +2,7 @@ package com.yxt.anrui.riskcenter.biz.loanrepaymenthistory; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateTime; +import cn.hutool.core.math.Money; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.google.common.util.concurrent.ThreadFactoryBuilder; @@ -38,6 +39,7 @@ import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameter; import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterQuery; import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterVo; import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.*; +import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.utils.CollectorsUtil; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForLateVoucher; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsDto; @@ -74,6 +76,7 @@ import java.util.concurrent.*; import java.util.function.Predicate; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.stream.Collector; import java.util.stream.Collectors; @@ -932,6 +935,7 @@ public class LoanRepaymentHistoryService extends MybatisBaseService buckleNewInit(String orgPath) { ResultBean rb = ResultBean.fireFail(); LoanBuckleApplyInit vo = new LoanBuckleApplyInit(); @@ -951,42 +955,95 @@ public class LoanRepaymentHistoryService extends MybatisBaseService histories = baseMapper.selbuckleNewInitList(qw); + List histories = baseMapper.selbuckleNewInitList(qw); + Map countMoney = new HashMap<>(); + Map> sids = new HashMap<>(); + Map newMap = new HashMap<>(); + Map> stringListMap = new HashMap<>(); Set planSids = new HashSet<>(); if (!histories.isEmpty()) { - for (LoanRepaymentHistoryVo history : histories) { - String planDetailSid = history.getPlanDetailSid(); - List historyList = baseMapper.selByPlanSid(planDetailSid); - if (!historyList.isEmpty()) { - BigDecimal actualMoney = new BigDecimal(0); - for (LoanRepaymentHistory repaymentHistory : historyList) { - actualMoney = repaymentHistory.getActualMoney().add(actualMoney); - } - if (actualMoney.compareTo(BigDecimal.ZERO) == -1) { - planSids.add(planDetailSid); - } - } + countMoney = histories.stream() + .collect(Collectors.groupingBy(RepaymentHistoryVoForBuckle::getPlanDetailSid, CollectorsUtil.summingBigDecimal(RepaymentHistoryVoForBuckle::getActualMoney))); + sids = histories.stream() + .collect(Collectors.groupingBy(RepaymentHistoryVoForBuckle::getPlanDetailSid, Collectors.mapping(RepaymentHistoryVoForBuckle::getSid, Collectors.toList()))); + } + for (Map.Entry entry : countMoney.entrySet()) { + if (entry.getValue().compareTo(BigDecimal.ZERO) > 0) { + newMap.put(entry.getKey(), entry.getValue()); } } - Iterator it = histories.iterator(); - while (it.hasNext()) { - LoanRepaymentHistoryVo historyVo = it.next(); - if (!planSids.isEmpty()) { - if (planSids.contains(historyVo.getPlanDetailSid())) { - it.remove(); + for (Map.Entry> entry : sids.entrySet()) { + for (Map.Entry entry2 : newMap.entrySet()) { + if (entry.getKey().equals(entry2.getKey())) { + stringListMap.put(entry.getKey(), entry.getValue()); } } } - if (!histories.isEmpty()) { - for (LoanRepaymentHistoryVo history : histories) { - LoanBuckleHistoryRecord record = new LoanBuckleHistoryRecord(); - LoanRepaymentHistoryRecordVo recordVo = baseMapper.buckleInfo(history.getSid()); - if (null != recordVo) { - BeanUtil.copyProperties(recordVo, record); + for (Map.Entry> entry : stringListMap.entrySet()) { + LoanBuckleHistoryRecord record = new LoanBuckleHistoryRecord(); + record.setRecordSid(entry.getKey()); + record.setHistorySids(entry.getValue()); + record.setActualMoney(newMap.get(entry.getKey()).toString()); + LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.fetchBySid(entry.getKey()); + if (null != planDetails) { + if (StringUtils.isNotBlank(planDetails.getLoanContractNo())) { + record.setLoanContractNo(planDetails.getLoanContractNo()); + } + if (StringUtils.isNotBlank(planDetails.getVinNo())) { + record.setVinNo(planDetails.getVinNo()); + } + if (StringUtils.isNotBlank(planDetails.getBankName())) { + record.setBankName(planDetails.getBankName()); + } + if (StringUtils.isNotBlank(planDetails.getBankContractNo())) { + record.setBankContractNo(planDetails.getBankContractNo()); + } + if (StringUtils.isNotBlank(planDetails.getCustomer())) { + record.setCustomer(planDetails.getCustomer()); + } + if (StringUtils.isNotBlank(planDetails.getBorrowerName())) { + record.setBorrowerName(planDetails.getBorrowerName()); + } + if (StringUtils.isNotBlank(planDetails.getPeriod())) { + record.setPeriod(planDetails.getPeriod()); } - historyRecords.add(record); } - } + historyRecords.add(record); + } +// if (!histories.isEmpty()) { +// for (LoanRepaymentHistoryVo history : histories) { +// String planDetailSid = history.getPlanDetailSid(); +// List historyList = baseMapper.selByPlanSid(planDetailSid); +// if (!historyList.isEmpty()) { +// BigDecimal actualMoney = new BigDecimal(0); +// for (LoanRepaymentHistory repaymentHistory : historyList) { +// actualMoney = repaymentHistory.getActualMoney().add(actualMoney); +// } +// if (actualMoney.compareTo(BigDecimal.ZERO) == -1) { +// planSids.add(planDetailSid); +// } +// } +// } +// } +// Iterator it = histories.iterator(); +// while (it.hasNext()) { +// LoanRepaymentHistoryVo historyVo = it.next(); +// if (!planSids.isEmpty()) { +// if (planSids.contains(historyVo.getPlanDetailSid())) { +// it.remove(); +// } +// } +// } +// if (!histories.isEmpty()) { +// for (LoanRepaymentHistoryVo history : histories) { +// LoanBuckleHistoryRecord record = new LoanBuckleHistoryRecord(); +// LoanRepaymentHistoryRecordVo recordVo = baseMapper.buckleInfo(history.getSid()); +// if (null != recordVo) { +// BeanUtil.copyProperties(recordVo, record); +// } +// historyRecords.add(record); +// } +// } vo.setRecords(historyRecords); return rb.success().setData(vo); } @@ -1077,7 +1134,6 @@ public class LoanRepaymentHistoryService extends MybatisBaseService= date_format('" + dueStartDate + "','%Y-%m-%d')"). @@ -1090,6 +1146,34 @@ public class LoanRepaymentHistoryService extends MybatisBaseService pagging = baseMapper.transferPaymentList(page, qw); + if (pagerQuery.getType().equals("1")) { + List records = pagging.getRecords(); + if (!records.isEmpty()) { + for (TransferPaymentVo record : records) { + TransferRecordVo transferRecordVo = baseMapper.selTransferRecord(record.getSid()); + if (null != transferRecordVo) { + if (StringUtils.isNotBlank(transferRecordVo.getTransferPrincipal())) { + record.setTransferPrincipal(transferRecordVo.getTransferPrincipal()); + } + if (StringUtils.isNotBlank(transferRecordVo.getAccount())) { + record.setAccount(transferRecordVo.getAccount()); + } + if (StringUtils.isNotBlank(transferRecordVo.getAccountNumber())) { + record.setAccountNumber(transferRecordVo.getAccountNumber()); + } + if (StringUtils.isNotBlank(transferRecordVo.getAccountType())) { + record.setAccountType(transferRecordVo.getAccountType()); + } + if (StringUtils.isNotBlank(transferRecordVo.getSpread())) { + record.setSpread(transferRecordVo.getSpread()); + } + if (StringUtils.isNotBlank(transferRecordVo.getDefaultInterest())) { + record.setDefaultInterest(transferRecordVo.getDefaultInterest()); + } + } + } + } + } PagerVo p = PagerUtil.pageToVo(pagging, null); return p; } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml index f432f29145..401656f3b5 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml @@ -53,6 +53,7 @@ AND lrpd.period = #{period} AND lrpd.bankContractNo = #{bankContractNo} AND DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') < CURDATE() + AND lrh.`updateState` = '1' GROUP BY lrpd.`sid` HAVING (yq_total > 0) diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.java index 74b3e62595..0f13f8b877 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory; import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.*; import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformation; import org.apache.ibatis.annotations.Mapper; @@ -32,4 +33,5 @@ public interface LoanRepaymentScheduleMapper extends BaseMapper selHistoryBySid(@Param("sid") String sid); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.xml index dbb4324d72..fd304239bb 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.xml @@ -58,4 +58,10 @@ from loan_repayment_schedule where loanContractSid = #{loanContractSid} + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleRest.java index 87dc84b735..290c088e4b 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleRest.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleRest.java @@ -1,6 +1,7 @@ package com.yxt.anrui.riskcenter.biz.loanrepaymentschedule; +import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory; import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.*; import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformationVo; import com.yxt.common.core.query.PagerQuery; @@ -51,6 +52,11 @@ public class LoanRepaymentScheduleRest implements LoanRepaymentScheduleFeign { return loanRepaymentScheduleService.selByLoanContractSid(loanContractSid); } + @Override + public ResultBean> selHistoryBySid(String sid) { + return loanRepaymentScheduleService.selHistoryBySid(sid); + } + @Override public ResultBean> getRepaymentPlanList(PagerQuery pq) { ResultBean> rb = ResultBean.fireFail(); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java index abaddbce4c..2a5aa379e6 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java @@ -40,6 +40,7 @@ import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy; import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy; import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyVo; import com.yxt.anrui.riskcenter.api.loanmortgageinformationtransact.LoanMortgageInformationTransactDto; +import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsDto; import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.*; import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; @@ -2414,4 +2415,10 @@ public class LoanRepaymentScheduleService extends MybatisBaseService> selHistoryBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + List repaymentHistories = baseMapper.selHistoryBySid(sid); + return rb.success().setData(repaymentHistories); + } } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeCollectionVehDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeCollectionVehDetailsVo.java index 6220469b8c..79c7e58ebd 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeCollectionVehDetailsVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeCollectionVehDetailsVo.java @@ -56,6 +56,10 @@ public class AppBeCollectionVehDetailsVo implements Vo { @ApiModelProperty("是否有担保人") private Boolean showDbr = false; + @ApiModelProperty("是否有还款协议") + private Boolean showXy = false; + @ApiModelProperty("是否有远程控制") + private Boolean showYckz = false; @ApiModelProperty("销售订单车辆sid") private String saleVehSid; @ApiModelProperty("贷款合同编号") diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/becollection/BeCollectionService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/becollection/BeCollectionService.java index 07152ad54c..6c314d01da 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/becollection/BeCollectionService.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/becollection/BeCollectionService.java @@ -307,9 +307,15 @@ public class BeCollectionService { AppBeCollectionVehDetailsVo appBeCollectionVehDetailsVo = new AppBeCollectionVehDetailsVo(); appBeCollectionVehDetailsVo.setSaleVehSid(loanBeCollectionVehDetail.getSaleVehSid()); LoanBeCollectionVehDbrDetailsVo loanBeCollectionVehDbrDetailsVo = loanBeCollectionVehFeign.initDbr(loanBeCollectionVehDetail.getSaleVehSid()).getData(); - if (StringUtils.isNotBlank(loanBeCollectionVehDbrDetailsVo.getPeoName())) { + if (StringUtils.isNotBlank(loanBeCollectionVehDbrDetailsVo.getPeoName()) && collMeasures.contains("增加担保人")) { appBeCollectionVehDetailsVo.setShowDbr(true); } + if (collMeasures.contains("远程控制")){ + appBeCollectionVehDetailsVo.setShowYckz(true); + } + if (collMeasures.contains("签订还款协议")){ + appBeCollectionVehDetailsVo.setShowXy(true); + } appBeCollectionVehDetailsVo.setContractId(loanBeCollectionVehDetail.getLoanContractNo()); appBeCollectionVehDetailsVo.setVin(loanBeCollectionVehDetail.getVinNo()); appBeCollectionVehDetailsVo.setCarNum(loanBeCollectionVehDetail.getCarNum());