1
This commit is contained in:
1 parent
62546bc937
commit
33913c29d2
9 files changed
+1153
-239
No files matched your search
@@ -22,6 +22,7 @@ interface WorkloadRow {
|
||||
id: string
|
||||
conversion: number | null
|
||||
workload: number | null
|
||||
basicFee: number | null
|
||||
budgetAdoptedUnitPrice: number | null
|
||||
consultCategoryFactor: number | null
|
||||
}
|
||||
@@ -159,6 +160,7 @@ const buildDefaultWorkloadRows = (serviceId: string | number): WorkloadRow[] =>
|
||||
id: `task-${taskId}-${order}`,
|
||||
conversion: toFiniteNumberOrNull(task.conversion),
|
||||
workload: null,
|
||||
basicFee: null,
|
||||
budgetAdoptedUnitPrice: toFiniteNumberOrNull(task.defPrice),
|
||||
consultCategoryFactor: defaultConsultCategoryFactor
|
||||
}))
|
||||
@@ -177,23 +179,35 @@ const mergeWorkloadRows = (
|
||||
return {
|
||||
...row,
|
||||
workload: toFiniteNumberOrNull(fromDb.workload),
|
||||
basicFee: toFiniteNumberOrNull(fromDb.basicFee),
|
||||
budgetAdoptedUnitPrice: toFiniteNumberOrNull(fromDb.budgetAdoptedUnitPrice),
|
||||
consultCategoryFactor: toFiniteNumberOrNull(fromDb.consultCategoryFactor)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const calcWorkloadServiceFee = (row: WorkloadRow) => {
|
||||
const calcWorkloadBasicFee = (row: WorkloadRow) => {
|
||||
if (
|
||||
row.budgetAdoptedUnitPrice == null ||
|
||||
row.conversion == null ||
|
||||
row.workload == null ||
|
||||
row.consultCategoryFactor == null
|
||||
row.workload == null
|
||||
) {
|
||||
return null
|
||||
}
|
||||
return roundTo(
|
||||
toDecimal(row.budgetAdoptedUnitPrice).mul(row.conversion).mul(row.workload).mul(row.consultCategoryFactor),
|
||||
toDecimal(row.budgetAdoptedUnitPrice).mul(row.conversion).mul(row.workload),
|
||||
2
|
||||
)
|
||||
}
|
||||
|
||||
const calcWorkloadServiceFee = (row: WorkloadRow) => {
|
||||
if (row.consultCategoryFactor == null) {
|
||||
return null
|
||||
}
|
||||
const basicFee = row.basicFee ?? calcWorkloadBasicFee(row)
|
||||
if (basicFee == null) return null
|
||||
return roundTo(
|
||||
toDecimal(basicFee).mul(row.consultCategoryFactor),
|
||||
2
|
||||
)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user