Преглед изворни кода

调整: 最高贷款额度=票面金额/(利率*(承兑日期-预计贴现+15)/365+1)

DESKTOP-G50GNKL\admin пре 2 година
родитељ
комит
bd7e39b75a
1 измењених фајлова са 50 додато и 31 уклоњено
  1. 50 31
      src/utils/calc.js

+ 50 - 31
src/utils/calc.js

xqd xqd
@@ -3,7 +3,7 @@ export const GetNumberOfDays = (dateStart, dateEnd) => { // 获得天数
   // dateStart:开始日期,
   // dateEnd: 结束日期
   // 时间戳相减,除以天数
-  if(!dateStart || !dateEnd){
+  if (!dateStart || !dateEnd) {
     return 0
   }
   var a1 = Date.parse(new Date(dateStart))
@@ -11,40 +11,59 @@ export const GetNumberOfDays = (dateStart, dateEnd) => { // 获得天数
   var day = parseInt((a2 - a1) / (1000 * 60 * 60 * 24))
   return day
 }
-// 最高贷款额度=票面金额/(((服务费率+利率)*(承兑日期-预计贴现日)/360)+1)
-export const maxLoanAmount = (num1 = 0, num2 = 0, num3 = 0, num4, num5) => {
-  num1 = num1 ? num1 : 0
-  num2 = num2 ? num2 : 0
-  num3 = num3 ? num3 : 0
-  /* 调试过程
-  console.log('num1=', num1)
-  console.log('num2=', num2)
-  console.log('num3=', num3)
-  console.log('num4=', num4)
-  console.log('num5=', num5)
-  let a = new Big(num2).plus(num3).div(100)
-  let b = GetNumberOfDays(num4, num5) // 贴现天数
-  let c = a.times(b).div(360) // 折算总利率
-  let d = c.plus(1)
-  console.log('a=', a.toString())
-  console.log('b=', b.toString())
-  console.log('c=', c.toString())
-  console.log('d=', d.toString())
-  return (new Big(num1).div(d).toFixed(2)).toString()
-  */
-  return (new Big(num1).div(new Big(num2).plus(num3).div(100).times(GetNumberOfDays(num4, num5)).div(360).plus(1)).toFixed(2)).toString()
+// 最高贷款额度=票面金额/(利率*(承兑日期-预计贴现+15)/365+1)   【向下取整】
+/**
+ *
+ * @param {*} num1 票面金额
+ * @param {*} num2 利率
+ * @param {*} num3 承兑日期
+ * @param {*} num4 预计贴现
+ * @returns
+ */
+export const maxLoanAmount = (num1 = 0, num2 = 0, num3, num4) => {
+  const amount = (
+    new Big(num1) // 票面金额
+      .div(new Big(num2).div(100) // 利率/100
+        .times(GetNumberOfDays(num3, num4) + 15) // 承兑日期-预计贴现+15
+        .div(365).plus(1)) // 365+1
+  ).toString()
+  // 【向下取整】
+  return Math.floor(amount)
 }
+// 最高贷款额度=票面金额/(((服务费率+利率)*(承兑日期-预计贴现日)/360)+1)
+// export const maxLoanAmount = (num1 = 0, num2 = 0, num3 = 0, num4, num5) => {
+//   num1 = num1 || 0
+//   num2 = num2 || 0
+//   num3 = num3 || 0
+//   /* 调试过程
+//   console.log('num1=', num1)
+//   console.log('num2=', num2)
+//   console.log('num3=', num3)
+//   console.log('num4=', num4)
+//   console.log('num5=', num5)
+//   let a = new Big(num2).plus(num3).div(100)
+//   let b = GetNumberOfDays(num4, num5) // 贴现天数
+//   let c = a.times(b).div(360) // 折算总利率
+//   let d = c.plus(1)
+//   console.log('a=', a.toString())
+//   console.log('b=', b.toString())
+//   console.log('c=', c.toString())
+//   console.log('d=', d.toString())
+//   return (new Big(num1).div(d).toFixed(2)).toString()
+//   */
+//   return (new Big(num1).div(new Big(num2).plus(num3).div(100).times(GetNumberOfDays(num4, num5)).div(365).plus(1)).toFixed(2)).toString()
+// }
 
-// 服务费=最高贷款额度*服务费率*(承兑日期-预计贴现日)/360)
+// 服务费=票面金额*服务费率*(承兑日期-预计贴现日)/365
 export const serviceCharge = (num1 = 0, num2 = 0, num3, num4) => {
-  num1 = num1 ? num1 : 0
-  num2 = num2 ? num2 : 0
-  return (new Big(num1).times(Big(num2).div(100)).times(GetNumberOfDays(num3, num4)).div(360).toFixed(2)).toString()
+  num1 = num1 || 0
+  num2 = num2 || 0
+  return (new Big(num1).times(Big(num2).div(100)).times(GetNumberOfDays(num3, num4)).div(365).toFixed(2)).toString()
 }
 
-// 利息=最高贷款额度*利率*(承兑日期-预计贴现日)/360)
+// 利息=最高贷款额度*利率*(承兑日期-预计贴现日)/365
 export const interest = (num1 = 0, num2 = 0, num3, num4) => {
-  num1 = num1 ? num1 : 0
-  num2 = num2 ? num2 : 0
-  return (new Big(num1).times(Big(num2).div(100)).times(GetNumberOfDays(num3, num4)).div(360).toFixed(2)).toString()
+  num1 = num1 || 0
+  num2 = num2 || 0
+  return (new Big(num1).times(Big(num2).div(100)).times(GetNumberOfDays(num3, num4)).div(365).toFixed(2)).toString()
 }