UNPKG

phx-node

Version:

PHX NODE

40 lines (39 loc) 1.9 kB
import { Logger } from "@nestjs/common"; import { PHXGrpcClientSystemService } from "src/module/grpc-client/grpc-client-system.service"; import { SETTING_TYPE } from "src/lib/types/tuition"; export interface ISettingEarlyPromotionItem { school_id: number; list_setting_detail: Array<{ code: string; }>; } export interface ISettingEarlyPromotion { listSettingEarlyPromotion: Array<ISettingEarlyPromotionItem>; listSettingEarlyPromotionCondition: Array<ISettingEarlyPromotionItem>; listSettingEarlyMustPayCondition: Array<ISettingEarlyPromotionItem>; } export interface IDataTuitionEarlyPromotion { school_term_id?: number; total_tuition: number; total_to_pay: number; total_promotion_computed: number; total_promotion_reference: number; } export declare class PHXSettingFormulaPromotionV2 { private readonly grpcClientSystemService; logger: Logger; constructor(grpcClientSystemService: PHXGrpcClientSystemService); getSettingFormulaPromoByCode(code: string, setting_type: SETTING_TYPE, hostname: string): Promise<any>; private getTotalToPayBySetting; generateTuitionAfterPromotion(feeDebtRecord: Array<any>, listSettingEarlyPromotionBySchoolId: Array<any>, listSettingEarlyPromotionConditionBySchoolId: Array<any>, listSettingEarlyMustPayConditionBySchoolId: Array<any>): { dataTuitionByYear: IDataTuitionEarlyPromotion; listDataTuitionBySemester: IDataTuitionEarlyPromotion[]; }; getTotalPromotionForEarlyPromo(listSettingEarlyPromotion: Array<any>, listSettingEarlyPromotionCondition: Array<any>, recordItem: any): { totalPromotionReference: number; totalPromotionComputed: number; }; private getTotalPromotionReference; getFormulaSettingBySchoolId(listFormulaSetting: Array<any>, schoolId: number): any[]; checkIsLimitBySibling(listSetting: Array<any>): boolean; }