This commit is contained in:
2026-04-29 20:22:43 +03:30
parent 993d809de2
commit ebf8a9a624
10 changed files with 487 additions and 20 deletions

View File

@@ -36,3 +36,64 @@ export class InsurerPerMonthReportRowDtoRs {
this.data = data;
}
}
/** Per-expert file-activity stats (ExpertFileActivity: checked / unchecked / handled). */
export class InsurerExpertWorkLogEntryDtoRs {
expertId: string;
fullName: string;
/**
* `expert` = blame-panel expert (`expert` collection — same as insurer expert list, not `field-expert`).
* `damage_expert` = claim damage expert (`damage-expert` collection).
* Field experts (`RoleEnum.FIELD_EXPERT`, `field-expert` collection) are out of scope here.
*/
expertKind: "expert" | "damage_expert";
/** Distinct files in handled state after replaying activity up to the cutoff (or “now”). */
totalHandled: number;
/** Distinct files currently marked checked and not yet handled (same rules as expert-insurer stats). */
currentlyChecking: number;
/** Distinct files that had at least one CHECKED event in the reporting window (all-time = ever; monthly = that month only). */
distinctFilesCheckedInPeriod: number;
constructor(
expertId: string,
fullName: string,
expertKind: "expert" | "damage_expert",
totalHandled: number,
currentlyChecking: number,
distinctFilesCheckedInPeriod: number,
) {
this.expertId = expertId;
this.fullName = fullName;
this.expertKind = expertKind;
this.totalHandled = totalHandled;
this.currentlyChecking = currentlyChecking;
this.distinctFilesCheckedInPeriod = distinctFilesCheckedInPeriod;
}
}
export class InsurerExpertWorkLogResponseDtoRs {
experts: InsurerExpertWorkLogEntryDtoRs[];
constructor(experts: InsurerExpertWorkLogEntryDtoRs[]) {
this.experts = experts;
}
}
export class InsurerExpertWorkLogPerMonthRowDtoRs {
stDate: Date;
enDate: Date;
faLabel: string;
experts: InsurerExpertWorkLogEntryDtoRs[];
constructor(
stDate: Date,
enDate: Date,
faLabel: string,
experts: InsurerExpertWorkLogEntryDtoRs[],
) {
this.stDate = stDate;
this.enDate = enDate;
this.faLabel = faLabel;
this.experts = experts;
}
}