evmtools-node
Version:
このライブラリは、プライムブレインズ社で利用している「進捗管理ツール(Excel)」ファイルを読み込み、 プロジェクトの進捗状況や要員別の作業量を可視化するためのライブラリです。
54 lines • 2.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PbevmShowPvUsecase = void 0;
const excel_csv_read_write_1 = require("excel-csv-read-write");
const common_1 = require("../common");
const logger_1 = require("../logger");
const logger = (0, logger_1.getLogger)('main');
class PbevmShowPvUsecase {
constructor(_projectCretor) {
this._projectCretor = _projectCretor;
}
async execute(fromDate, toDate, assignee) {
const project = await this._projectCretor.createProject();
const results = project.getTaskRows(fromDate, toDate, assignee);
await this.save(project, results);
}
async save(currentProject, taskRows) {
const path = `${currentProject.name}-pv.xlsx`;
const results = taskRows.map((taskRow) => {
const {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
calculatePV,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
calculatePVs,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
plotMap,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
checkStartEndDateAndPlotMap, startDate, endDate, actualStartDate, actualEndDate, expectedProgressDate, ...rest // ココのデータだけが出力される
} = taskRow;
return {
...rest,
予定開始日: (0, common_1.dateStr)(startDate),
予定終了日: (0, common_1.dateStr)(endDate),
実績開始日: (0, common_1.dateStr)(actualStartDate),
実績終了日: (0, common_1.dateStr)(actualEndDate),
進捗応当日: (0, common_1.dateStr)(expectedProgressDate),
};
});
logger.info('pv出力');
console.table(results);
if (results.length > 0) {
const workbook = await (0, excel_csv_read_write_1.createWorkbook)();
(0, excel_csv_read_write_1.json2workbook)({
instances: results,
workbook,
sheetName: `pv`,
});
workbook.deleteSheet('Sheet1');
await (0, excel_csv_read_write_1.toFileAsync)(workbook, path);
}
}
}
exports.PbevmShowPvUsecase = PbevmShowPvUsecase;
//# sourceMappingURL=pbevm-show-pv-usecase.js.map