evmtools-node
Version:
このライブラリは、プライムブレインズ社で利用している「進捗管理ツール(Excel)」ファイルを読み込み、 プロジェクトの進捗状況や要員別の作業量を可視化するためのライブラリです。
67 lines • 2.42 kB
TypeScript
import { Project, ProjectStatistics } from './Project';
import { TaskRow } from './TaskRow';
export declare class ProjectService {
calculateTaskDiffs(now: Project, prev: Project): TaskDiff[];
calculateProjectDiffs(taskDiffs: TaskDiff[]): ProjectDiff[];
calculateAssigneeDiffs(taskDiffs: TaskDiff[]): AssigneeDiff[];
/**
* existingに対してincomingをマージする。おなじプロジェクト名でおなじ基準日のデータは上書きする。
* @param existing
* @param incoming
* @returns
*/
mergeProjectStatistics: (existing: ProjectStatistics[], incoming: ProjectStatistics[]) => ProjectStatistics[];
/**
* 欠落している間のデータを補間して返す
* (たとえば、土日データを金曜日のデータで補間しています)
* @param projectStatisticsArray
* @returns
*/
fillMissingDates: (projectStatisticsArray: ProjectStatistics[]) => ProjectStatistics[];
}
export type DiffType = 'modified' | 'added' | 'removed' | 'none';
export type TaskDiffBase = {
readonly prevPV?: number;
readonly currentPV?: number;
readonly prevEV?: number;
readonly currentEV?: number;
readonly deltaPV?: number;
readonly deltaEV?: number;
readonly hasDiff: boolean;
readonly finished: boolean;
};
export type ProjectDiff = {
modifiedCount: number;
addedCount: number;
removedCount: number;
} & TaskDiffBase;
export type AssigneeDiff = {
modifiedCount: number;
addedCount: number;
removedCount: number;
readonly assignee?: string;
} & TaskDiffBase;
export type TaskDiff = {
readonly id: number;
readonly name: string;
readonly fullName: string;
readonly assignee?: string;
readonly parentId?: number;
readonly deltaProgressRate?: number;
readonly prevProgressRate?: number;
readonly currentProgressRate?: number;
readonly hasProgressRateDiff: boolean;
readonly hasPvDiff: boolean;
readonly hasEvDiff: boolean;
readonly diffType: DiffType;
readonly isOverdueAt: boolean;
readonly workload?: number;
readonly prevTask?: TaskRow;
readonly currentTask?: TaskRow;
readonly prevBaseDate?: Date;
readonly currentBaseDate?: Date;
readonly baseDate?: Date;
readonly daysOverdueAt?: number;
readonly daysStrOverdueAt?: string;
} & TaskDiffBase;
//# sourceMappingURL=ProjectService.d.ts.map