diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java index 5ec479dfd0..87cbcc13ba 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java @@ -3804,36 +3804,75 @@ public class FinCollectionConfirmationService extends MybatisBaseService bankResultBean = loanFinBankFeign.reAdvancesByOrderSid(orderSid); - if (bankResultBean.getData() != null) { - LoanFinBank loanFinBank = bankResultBean.getData(); - if (null != loanFinBank.getReAdvances()) { - BigDecimal paymentMoney = planDetails.getPaymentMoney(); - String subscriptionMoney = v.getSubscriptionMoney(); - BigDecimal subtract = paymentMoney.subtract(new BigDecimal(subscriptionMoney)); - planDetails.setPaymentMoney(subtract); - loanRepaymentPlanDetailsFeign.updateByEntity(planDetails); - if (loanFinBank.getReAdvances() == 1) { - FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); - jr.setCreateBySid(userSid); - SysUserVo userVo = sysUserFeign.fetchBySid(sid).getData(); - jr.setCreateByName(userVo.getName()); - jr.setBusSid(planSid); - jr.setCurrentReceivableMoney(new BigDecimal(v.getSubscriptionMoney())); - jr.setReveivableMoney(new BigDecimal(v.getSubscriptionMoney())); - jr.setPayCostTitleKey("007"); - jr.setPayCostTitleValue("资方退还垫款"); - jr.setOrgSidPath(planDetails.getOrgSidPath()); - jr.setUseOrgName(planDetails.getUseOrgName()); - jr.setUseOrgSid(planDetails.getUseOrgSid()); - jr.setStaffDeptName(planDetails.getDept()); - jr.setStaffName(planDetails.getStaffName()); - jr.setStaffDeptSid(planDetails.getDeptSid()); - jr.setStaffUserSid(planDetails.getSalesUserSid()); - finUncollectedReceivablesDetailedJRService.insert(jr); + if (v.getReceivablesName().equals("月还")) { + if (null != planDetails.getPaymentMoney()) { + if (planDetails.getPaymentMoney().compareTo(BigDecimal.ZERO) == 1) { + String orderSid = planDetails.getSalesOrderSid(); + ResultBean bankResultBean = loanFinBankFeign.reAdvancesByOrderSid(orderSid); + if (bankResultBean.getData() != null) { + LoanFinBank loanFinBank = bankResultBean.getData(); + if (null != loanFinBank.getReAdvances()) { + BigDecimal paymentMoney = planDetails.getPaymentMoney(); + String subscriptionMoney = v.getSubscriptionMoney(); + BigDecimal subtract = paymentMoney.subtract(new BigDecimal(subscriptionMoney)); + planDetails.setPaymentMoney(subtract); + loanRepaymentPlanDetailsFeign.updateByEntity(planDetails); + if (loanFinBank.getReAdvances() == 1) { + FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); + jr.setCreateBySid(userSid); + SysUserVo userVo = sysUserFeign.fetchBySid(sid).getData(); + jr.setCreateByName(userVo.getName()); + jr.setBusSid(planSid); + jr.setCurrentReceivableMoney(new BigDecimal(v.getSubscriptionMoney())); + jr.setReveivableMoney(new BigDecimal(v.getSubscriptionMoney())); + jr.setPayCostTitleKey("007"); + jr.setPayCostTitleValue("资方退还垫款"); + jr.setOrgSidPath(planDetails.getOrgSidPath()); + jr.setUseOrgName(planDetails.getUseOrgName()); + jr.setUseOrgSid(planDetails.getUseOrgSid()); + jr.setStaffDeptName(planDetails.getDept()); + jr.setStaffName(planDetails.getStaffName()); + jr.setStaffDeptSid(planDetails.getDeptSid()); + jr.setStaffUserSid(planDetails.getSalesUserSid()); + finUncollectedReceivablesDetailedJRService.insert(jr); + } + } + } + } + } + } + if (v.getReceivablesName().equals("资方逾期利息")) { + if (null != planDetails.getPaymentInterest()) { + if (planDetails.getPaymentInterest().compareTo(BigDecimal.ZERO) == 1) { + String orderSid = planDetails.getSalesOrderSid(); + ResultBean bankResultBean = loanFinBankFeign.reAdvancesByOrderSid(orderSid); + if (bankResultBean.getData() != null) { + LoanFinBank loanFinBank = bankResultBean.getData(); + if (null != loanFinBank.getReAdvances()) { + BigDecimal paymentInterest = planDetails.getPaymentInterest(); + String subscriptionMoney = v.getSubscriptionMoney(); + BigDecimal subtract = paymentInterest.subtract(new BigDecimal(subscriptionMoney)); + planDetails.setPaymentInterest(subtract); + loanRepaymentPlanDetailsFeign.updateByEntity(planDetails); + if (loanFinBank.getReAdvances() == 1) { + FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); + jr.setCreateBySid(userSid); + SysUserVo userVo = sysUserFeign.fetchBySid(sid).getData(); + jr.setCreateByName(userVo.getName()); + jr.setBusSid(planSid); + jr.setCurrentReceivableMoney(new BigDecimal(v.getSubscriptionMoney())); + jr.setReveivableMoney(new BigDecimal(v.getSubscriptionMoney())); + jr.setPayCostTitleKey("007"); + jr.setPayCostTitleValue("资方退还垫款"); + jr.setOrgSidPath(planDetails.getOrgSidPath()); + jr.setUseOrgName(planDetails.getUseOrgName()); + jr.setUseOrgSid(planDetails.getUseOrgSid()); + jr.setStaffDeptName(planDetails.getDept()); + jr.setStaffName(planDetails.getStaffName()); + jr.setStaffDeptSid(planDetails.getDeptSid()); + jr.setStaffUserSid(planDetails.getSalesUserSid()); + finUncollectedReceivablesDetailedJRService.insert(jr); + } } } } diff --git a/anrui-riskcenter-ui/src/api/returntheaccount/returntheaccount.js b/anrui-riskcenter-ui/src/api/returntheaccount/returntheaccount.js new file mode 100644 index 0000000000..084fd8bbe0 --- /dev/null +++ b/anrui-riskcenter-ui/src/api/returntheaccount/returntheaccount.js @@ -0,0 +1,21 @@ +import request from '@/utils/request' + +export default { + // 查询分页列表 + listPage: function(params) { + return request({ + url: '/riskcenter/v1/LoanReturnVehLedger/listPage', + method: 'post', + data: params, + headers: { 'Content-Type': 'application/json' } + }) + }, + update: function(data) { + return request({ + url: '/riskcenter/v1/LoanReturnVehLedger/update', + method: 'post', + data: data, + headers: { 'Content-Type': 'application/json' } + }) + } +} diff --git a/anrui-riskcenter-ui/src/router/index.js b/anrui-riskcenter-ui/src/router/index.js index 6a654f7f66..5881a07e3c 100644 --- a/anrui-riskcenter-ui/src/router/index.js +++ b/anrui-riskcenter-ui/src/router/index.js @@ -599,6 +599,22 @@ export const constantRoutes = [ } ] }, + { + path: '/returntheaccount', + component: Layout, + redirect: '/returntheaccount', + meta: { + title: '交回车辆台账' + }, + children: [ + { + path: '/returntheaccount/returntheaccount', + component: () => import('@/views/returntheaccount/returntheaccount.vue'), + name: 'ReturnTheAccount', + meta: { title: '交回车辆台账', noCache: true } + } + ] + }, { path: '/surrenderforredemption', component: Layout, diff --git a/anrui-riskcenter-ui/src/views/repaymentschedule/repaymentscheduleAdd.vue b/anrui-riskcenter-ui/src/views/repaymentschedule/repaymentscheduleAdd.vue index 62ce046af6..8814f89ab8 100644 --- a/anrui-riskcenter-ui/src/views/repaymentschedule/repaymentscheduleAdd.vue +++ b/anrui-riskcenter-ui/src/views/repaymentschedule/repaymentscheduleAdd.vue @@ -2,7 +2,7 @@
-
{{ viewTitle }}
+
生成还款计划表(单车)
生成 关闭 @@ -27,7 +27,7 @@
主金融产品{{ (formobj.policyName) }}
- 查看金融方案 + 查看单车金融方案
@@ -40,30 +40,30 @@ {{ formobj.mainPeriod }} -
首期还款日
- +
*首期还款日
+
-
首期月还
- +
*首期月还
+
-
期间月还
- +
*期间月还
+
-
末期月还
- +
*末期月还
+
其它融({{ formobj.otherPolicyName }})
-
资方合同号
- +
*资方合同号
+ {{ formobj.otherBankNo }} @@ -85,16 +85,16 @@
-
首期月还
- +
*首期月还
+
-
期间月还
- +
*期间月还
+
-
末期月还
- +
*末期月还
+
@@ -116,8 +116,73 @@ export default { financialschemeInfo }, data() { + var mainFirstRepay = (rule, value, callback) => { + if (value === '') { + callback(new Error('主金融产品期间月还不能为空')) + } else { + if (value == '0') { + callback(new Error('主金融产品期间月还不能为零')) + } else { + callback() + } + } + } + var mainMidRepay = (rule, value, callback) => { + if (value === '') { + callback(new Error('主金融产品期间月还不能为空')) + } else { + if (value == '0') { + callback(new Error('主金融产品期间月还不能为零')) + } else { + callback() + } + } + } + var mainLastRepay = (rule, value, callback) => { + if (value === '') { + callback(new Error('主金融产品末期月还不能为空')) + } else { + if (value == '0') { + callback(new Error('主金融产品末期月还不能为零')) + } else { + callback() + } + } + } + var otherFirstRepay = (rule, value, callback) => { + if (value === '') { + callback(new Error('其它融首期月还不能为空')) + } else { + if (value == '0') { + callback(new Error('其它融首期月还不能为零')) + } else { + callback() + } + } + } + var otherMdRepay = (rule, value, callback) => { + if (value === '') { + callback(new Error('其它融期间月还不能为空')) + } else { + if (value == '0') { + callback(new Error('其它融期间月还不能为零')) + } else { + callback() + } + } + } + var otherLastRepay = (rule, value, callback) => { + if (value === '') { + callback(new Error('其它融末期月还不能为空')) + } else { + if (value == '0') { + callback(new Error('其它融末期月还不能为零')) + } else { + callback() + } + } + } return { - viewTitle: '', viewState: 1, submitdisabled: false, formobj: { @@ -146,12 +211,20 @@ export default { userSid: '', solutionsDetailsssVo: [] }, - rules: {} + rules: { + mainRepayDate: [{ required: true, message: '首期还款日不能为空', trigger: 'change' }], + mainFirstRepay: [{ required: true, validator: mainFirstRepay, trigger: 'blur' }], + mainMidRepay: [{ required: true, validator: mainMidRepay, trigger: 'blur' }], + mainLastRepay: [{ required: true, validator: mainLastRepay, trigger: 'blur' }], + otherFirstRepay: [{ required: true, validator: otherFirstRepay, trigger: 'blur' }], + otherMidRepay: [{ required: true, validator: otherMdRepay, trigger: 'blur' }], + otherLastRepay: [{ required: true, validator: otherLastRepay, trigger: 'blur' }], + otherBankNo: [{ required: true, message: '其它融资方合同号不能为空', trigger: 'blur' }] + } } }, methods: { showEdit(sid) { - this.viewTitle = '生成还款计划表' this.$nextTick(() => { this.$refs['form_obj'].clearValidate() }) @@ -176,6 +249,11 @@ export default { this.$message({ showClose: true, type: 'success', message: '生成成功' }) this.handleReturn('true') } + else { + this.submitdisabled = false + } + }).catch(() => { + this.submitdisabled = false }) } }) @@ -233,6 +311,9 @@ export default { .addinputInfo { margin-left: 120px !important; } +/deep/ .el-form-item__error { + margin-left: 110px !important; +} .titleOne { padding: 7px; display: flex; diff --git a/anrui-riskcenter-ui/src/views/returntheaccount/returntheaccount.vue b/anrui-riskcenter-ui/src/views/returntheaccount/returntheaccount.vue new file mode 100644 index 0000000000..138b0f334b --- /dev/null +++ b/anrui-riskcenter-ui/src/views/returntheaccount/returntheaccount.vue @@ -0,0 +1,404 @@ + + + + + diff --git a/anrui-riskcenter-ui/src/views/secondarysublet/secondarysubletAdd.vue b/anrui-riskcenter-ui/src/views/secondarysublet/secondarysubletAdd.vue index d0316cfa22..5e9891d874 100644 --- a/anrui-riskcenter-ui/src/views/secondarysublet/secondarysubletAdd.vue +++ b/anrui-riskcenter-ui/src/views/secondarysublet/secondarysubletAdd.vue @@ -226,7 +226,7 @@ export default { this.customerType_list = res.data } }) - typeValues({ type: 'documenttype' }).then((res) => { + typeValues({ type: 'certificateType' }).then((res) => { if (res.success) { this.certificateType_list = res.data } diff --git a/anrui-riskcenter-ui/src/views/workFlow/ercizhuanzuFlow/secondarysubletEdit.vue b/anrui-riskcenter-ui/src/views/workFlow/ercizhuanzuFlow/secondarysubletEdit.vue index 6ba85af8c0..c1d186c75b 100644 --- a/anrui-riskcenter-ui/src/views/workFlow/ercizhuanzuFlow/secondarysubletEdit.vue +++ b/anrui-riskcenter-ui/src/views/workFlow/ercizhuanzuFlow/secondarysubletEdit.vue @@ -242,7 +242,7 @@ export default { this.customerType_list = res.data } }) - typeValues({ type: 'documenttype' }).then((res) => { + typeValues({ type: 'certificateType' }).then((res) => { if (res.success) { this.certificateType_list = res.data } 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 a6e7c27224..e55d3d2841 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 @@ -178,11 +178,7 @@ + and r.state = 1 + \ No newline at end of file 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 2d136d924b..191a1541ab 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 @@ -148,12 +148,13 @@ pd.overdue, t.repaidMoney, t.outstandingMoney, - IFNULL(v.bankBeInter, 0) AS bankBeInter, +-- IFNULL(v.bankBeInter, 0) AS bankBeInter, + IFNULL(pd.paymentInterest, 0) AS bankBeInter, pd.overdue AS dueOverdue, pd.updateTime AS updateDate FROM loan_repayment_plan_details AS pd LEFT JOIN anrui_buscenter.bus_sales_order AS s ON s.sid = pd.salesOrderSid - LEFT JOIN loan_be_padsincere_veh AS v ON v.saleVehSid = pd.busVinSid +-- LEFT JOIN loan_be_padsincere_veh AS v ON v.saleVehSid = pd.busVinSid LEFT JOIN ( SELECT p.sid, IFNULL(( @@ -289,13 +290,14 @@ pd.salesOrderSid, t.repaidMoney, t.outstandingMoney, - IFNULL( v.bankBeInter, 0 ) AS bankBeInter, +-- IFNULL( v.bankBeInter, 0 ) AS bankBeInter, + IFNULL( pd.paymentInterest, 0 ) AS bankBeInter, pd.overdue AS dueOverdue, pd.updateTime AS updateDate FROM loan_repayment_plan_details AS pd LEFT JOIN anrui_buscenter.bus_sales_order AS s ON s.sid = pd.salesOrderSid - LEFT JOIN loan_be_padsincere_veh AS v ON v.saleVehSid = pd.busVinSid +-- LEFT JOIN loan_be_padsincere_veh AS v ON v.saleVehSid = pd.busVinSid LEFT JOIN ( SELECT p.sid, @@ -384,13 +386,14 @@ pd.salesOrderSid, t.repaidMoney, t.outstandingMoney, - IFNULL( v.bankBeInter, 0 ) AS bankBeInter, +-- IFNULL( v.bankBeInter, 0 ) AS bankBeInter, + IFNULL( pd.paymentInterest, 0 ) AS bankBeInter, pd.overdue AS dueOverdue, pd.updateTime AS updateDate FROM loan_repayment_plan_details AS pd LEFT JOIN anrui_buscenter.bus_sales_order AS s ON s.sid = pd.salesOrderSid - LEFT JOIN loan_be_padsincere_veh AS v ON v.saleVehSid = pd.busVinSid +-- LEFT JOIN loan_be_padsincere_veh AS v ON v.saleVehSid = pd.busVinSid LEFT JOIN ( SELECT p.sid, @@ -490,13 +493,14 @@ pd.salesOrderSid, t.repaidMoney, t.outstandingMoney, - IFNULL( v.bankBeInter, 0 ) AS bankBeInter, +-- IFNULL( v.bankBeInter, 0 ) AS bankBeInter, + IFNULL( pd.paymentInterest, 0 ) AS bankBeInter, pd.overdue AS dueOverdue, pd.updateTime AS updateDate FROM loan_repayment_plan_details AS pd LEFT JOIN anrui_buscenter.bus_sales_order AS s ON s.sid = pd.salesOrderSid - LEFT JOIN loan_be_padsincere_veh AS v ON v.saleVehSid = pd.busVinSid +-- LEFT JOIN loan_be_padsincere_veh AS v ON v.saleVehSid = pd.busVinSid LEFT JOIN ( SELECT p.sid, 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 0c7e4e9d5b..588a538de1 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 @@ -71,6 +71,7 @@ import com.yxt.messagecenter.api.message.MessagePushTransferDto; import com.yxt.messagecenter.api.message.PushMessageQuery; import com.yxt.messagecenter.api.message.PushSmsDto; import com.yxt.messagecenter.api.messagelist.MessageListDto; +import org.apache.poi.hpsf.Decimal; import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; @@ -148,6 +149,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService solutionsDetailsVoResultBean = loanSolutionsService.selectDetailss(orderSid); + if (solutionsDetailsVoResultBean.getData() != null) { + BeanUtil.copyProperties(solutionsDetailsVoResultBean.getData(), solutionsDetailsssVo); + } if (StringUtils.isBlank(dto.getMainRepayDate())) { return rb.setMsg("请选择主金融产品首期还款日!"); } @@ -317,6 +328,18 @@ public class LoanRepaymentScheduleService extends MybatisBaseService 0) { + return rb.setMsg("填写的主产品月还与金融方案月还正负差值不能大于50"); + } + if (mainRepay.compareTo(f) < 0) { + return rb.setMsg("填写的主产品月还与金融方案月还正负差值不能大于50"); + } + } if (dto.getIsOtherPolicy().equals("1")) { if (StringUtils.isBlank(dto.getOtherRepayDate())) { return rb.setMsg("请选择其他融首期还款日!"); @@ -330,6 +353,18 @@ public class LoanRepaymentScheduleService extends MybatisBaseService 0) { + return rb.setMsg("填写的其他融月还与金融方案其他融月还正负差值不能大于50"); + } + if (otherRepay.compareTo(f) < 0) { + return rb.setMsg("填写的其他融月还与金融方案其他融月还正负差值不能大于50"); + } + } } if (null != loanRepaymentSchedule) { scheduleSid = loanRepaymentSchedule.getSid();