| 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))
|
| xqd
@@ -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()
|
|
|
}
|