fix someone
This commit is contained in:
1 parent
c482faacbf
commit
ad4e9cdee0
17 files changed
+1084
-311
No files matched your search
@@ -43,28 +43,42 @@ export const getScaleBudgetFeeSplit = (params: {
|
||||
benchmarkBudgetOptional: unknown
|
||||
majorFactor: unknown
|
||||
consultCategoryFactor: unknown
|
||||
workStageFactor?: unknown
|
||||
workRatio?: unknown
|
||||
}): ScaleFeeSplitResult | null => {
|
||||
const hasWorkStageFactor = Object.prototype.hasOwnProperty.call(params, 'workStageFactor')
|
||||
const hasWorkRatio = Object.prototype.hasOwnProperty.call(params, 'workRatio')
|
||||
const benchmarkBudgetBasic = toFiniteNumberOrNull(params.benchmarkBudgetBasic)
|
||||
const benchmarkBudgetOptional = toFiniteNumberOrNull(params.benchmarkBudgetOptional)
|
||||
const majorFactor = toFiniteNumberOrNull(params.majorFactor)
|
||||
const consultCategoryFactor = toFiniteNumberOrNull(params.consultCategoryFactor)
|
||||
const workStageFactor = hasWorkStageFactor ? toFiniteNumberOrNull(params.workStageFactor) : 1
|
||||
const workRatio = hasWorkRatio ? toFiniteNumberOrNull(params.workRatio) : 100
|
||||
|
||||
if (
|
||||
benchmarkBudgetBasic == null ||
|
||||
benchmarkBudgetOptional == null ||
|
||||
majorFactor == null ||
|
||||
consultCategoryFactor == null
|
||||
consultCategoryFactor == null ||
|
||||
workStageFactor == null ||
|
||||
workRatio == null
|
||||
) {
|
||||
return null
|
||||
}
|
||||
|
||||
const basic = roundTo(toDecimal(benchmarkBudgetBasic).mul(majorFactor).mul(consultCategoryFactor), 2)
|
||||
const optional = roundTo(toDecimal(benchmarkBudgetOptional).mul(majorFactor).mul(consultCategoryFactor), 2)
|
||||
const multiplier = toDecimal(consultCategoryFactor)
|
||||
.mul(majorFactor)
|
||||
.mul(workStageFactor)
|
||||
.mul(workRatio)
|
||||
.div(100)
|
||||
const roundedBenchmarkBudget = roundTo(addNumbers(benchmarkBudgetBasic, benchmarkBudgetOptional), 2)
|
||||
const basic = roundTo(toDecimal(benchmarkBudgetBasic).mul(multiplier), 2)
|
||||
const optional = roundTo(toDecimal(benchmarkBudgetOptional).mul(multiplier), 2)
|
||||
|
||||
return {
|
||||
basic,
|
||||
optional,
|
||||
total: roundTo(addNumbers(basic, optional), 2),
|
||||
total: roundTo(toDecimal(roundedBenchmarkBudget).mul(multiplier), 2),
|
||||
basicFormula: '',
|
||||
optionalFormula: ''
|
||||
}
|
||||
@@ -74,14 +88,32 @@ export const getScaleBudgetFee = (params: {
|
||||
benchmarkBudget: unknown
|
||||
majorFactor: unknown
|
||||
consultCategoryFactor: unknown
|
||||
workStageFactor?: unknown
|
||||
workRatio?: unknown
|
||||
}) => {
|
||||
const hasWorkStageFactor = Object.prototype.hasOwnProperty.call(params, 'workStageFactor')
|
||||
const hasWorkRatio = Object.prototype.hasOwnProperty.call(params, 'workRatio')
|
||||
const benchmarkBudget = toFiniteNumberOrNull(params.benchmarkBudget)
|
||||
const majorFactor = toFiniteNumberOrNull(params.majorFactor)
|
||||
const consultCategoryFactor = toFiniteNumberOrNull(params.consultCategoryFactor)
|
||||
const workStageFactor = hasWorkStageFactor ? toFiniteNumberOrNull(params.workStageFactor) : 1
|
||||
const workRatio = hasWorkRatio ? toFiniteNumberOrNull(params.workRatio) : 100
|
||||
|
||||
if (benchmarkBudget == null || majorFactor == null || consultCategoryFactor == null) {
|
||||
if (
|
||||
benchmarkBudget == null ||
|
||||
majorFactor == null ||
|
||||
consultCategoryFactor == null ||
|
||||
workStageFactor == null ||
|
||||
workRatio == null
|
||||
) {
|
||||
return null
|
||||
}
|
||||
|
||||
return roundTo(toDecimal(benchmarkBudget).mul(majorFactor).mul(consultCategoryFactor), 2)
|
||||
const roundedBenchmarkBudget = roundTo(benchmarkBudget, 2)
|
||||
const multiplier = toDecimal(consultCategoryFactor)
|
||||
.mul(majorFactor)
|
||||
.mul(workStageFactor)
|
||||
.mul(workRatio)
|
||||
.div(100)
|
||||
return roundTo(toDecimal(roundedBenchmarkBudget).mul(multiplier), 2)
|
||||
}
|
||||
Reference in new issue
Block a user