evmtools-node 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.prettierrc +9 -0
- package/.vscode/settings.json +20 -0
- package/LICENSE +201 -0
- package/README.md +71 -0
- package/class.pu +62 -0
- package/dist/common/index.d.ts +4 -0
- package/dist/common/index.d.ts.map +1 -0
- package/dist/common/index.js +20 -0
- package/dist/common/index.js.map +1 -0
- package/dist/common/myStyles.d.ts +10 -0
- package/dist/common/myStyles.d.ts.map +1 -0
- package/dist/common/myStyles.js +52 -0
- package/dist/common/myStyles.js.map +1 -0
- package/dist/common/styles.d.ts +12 -0
- package/dist/common/styles.d.ts.map +1 -0
- package/dist/common/styles.js +30 -0
- package/dist/common/styles.js.map +1 -0
- package/dist/common/utils.d.ts +53 -0
- package/dist/common/utils.d.ts.map +1 -0
- package/dist/common/utils.js +163 -0
- package/dist/common/utils.js.map +1 -0
- package/dist/domain/Project.d.ts +98 -0
- package/dist/domain/Project.d.ts.map +1 -0
- package/dist/domain/Project.js +291 -0
- package/dist/domain/Project.js.map +1 -0
- package/dist/domain/ProjectCreator.d.ts +8 -0
- package/dist/domain/ProjectCreator.d.ts.map +1 -0
- package/dist/domain/ProjectCreator.js +3 -0
- package/dist/domain/ProjectCreator.js.map +1 -0
- package/dist/domain/ProjectProgressCreator.d.ts +5 -0
- package/dist/domain/ProjectProgressCreator.d.ts.map +1 -0
- package/dist/domain/ProjectProgressCreator.js +3 -0
- package/dist/domain/ProjectProgressCreator.js.map +1 -0
- package/dist/domain/ProjectRepository.d.ts +5 -0
- package/dist/domain/ProjectRepository.d.ts.map +1 -0
- package/dist/domain/ProjectRepository.js +3 -0
- package/dist/domain/ProjectRepository.js.map +1 -0
- package/dist/domain/ProjectService.d.ts +59 -0
- package/dist/domain/ProjectService.d.ts.map +1 -0
- package/dist/domain/ProjectService.js +216 -0
- package/dist/domain/ProjectService.js.map +1 -0
- package/dist/domain/TaskNode.d.ts +37 -0
- package/dist/domain/TaskNode.d.ts.map +1 -0
- package/dist/domain/TaskNode.js +54 -0
- package/dist/domain/TaskNode.js.map +1 -0
- package/dist/domain/TaskRow.d.ts +222 -0
- package/dist/domain/TaskRow.d.ts.map +1 -0
- package/dist/domain/TaskRow.js +260 -0
- package/dist/domain/TaskRow.js.map +1 -0
- package/dist/domain/TaskRowCreator.d.ts +11 -0
- package/dist/domain/TaskRowCreator.d.ts.map +1 -0
- package/dist/domain/TaskRowCreator.js +3 -0
- package/dist/domain/TaskRowCreator.js.map +1 -0
- package/dist/domain/TaskService.d.ts +18 -0
- package/dist/domain/TaskService.d.ts.map +1 -0
- package/dist/domain/TaskService.js +56 -0
- package/dist/domain/TaskService.js.map +1 -0
- package/dist/domain/index.d.ts +9 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +25 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/infrastructure/ExcelBufferProjectCreator.d.ts +9 -0
- package/dist/infrastructure/ExcelBufferProjectCreator.d.ts.map +1 -0
- package/dist/infrastructure/ExcelBufferProjectCreator.js +23 -0
- package/dist/infrastructure/ExcelBufferProjectCreator.js.map +1 -0
- package/dist/infrastructure/ExcelProjectCreator.d.ts +8 -0
- package/dist/infrastructure/ExcelProjectCreator.d.ts.map +1 -0
- package/dist/infrastructure/ExcelProjectCreator.js +31 -0
- package/dist/infrastructure/ExcelProjectCreator.js.map +1 -0
- package/dist/infrastructure/ExcelTaskRowCreator.d.ts +8 -0
- package/dist/infrastructure/ExcelTaskRowCreator.d.ts.map +1 -0
- package/dist/infrastructure/ExcelTaskRowCreator.js +24 -0
- package/dist/infrastructure/ExcelTaskRowCreator.js.map +1 -0
- package/dist/infrastructure/MappingProjectCreator.d.ts +9 -0
- package/dist/infrastructure/MappingProjectCreator.d.ts.map +1 -0
- package/dist/infrastructure/MappingProjectCreator.js +36 -0
- package/dist/infrastructure/MappingProjectCreator.js.map +1 -0
- package/dist/infrastructure/ProjectRepositoryImpl.d.ts +6 -0
- package/dist/infrastructure/ProjectRepositoryImpl.d.ts.map +1 -0
- package/dist/infrastructure/ProjectRepositoryImpl.js +124 -0
- package/dist/infrastructure/ProjectRepositoryImpl.js.map +1 -0
- package/dist/infrastructure/TaskRowCreatorImpl.d.ts +11 -0
- package/dist/infrastructure/TaskRowCreatorImpl.d.ts.map +1 -0
- package/dist/infrastructure/TaskRowCreatorImpl.js +135 -0
- package/dist/infrastructure/TaskRowCreatorImpl.js.map +1 -0
- package/dist/infrastructure/TaskRowFactory.d.ts +9 -0
- package/dist/infrastructure/TaskRowFactory.d.ts.map +1 -0
- package/dist/infrastructure/TaskRowFactory.js +47 -0
- package/dist/infrastructure/TaskRowFactory.js.map +1 -0
- package/dist/infrastructure/index.d.ts +9 -0
- package/dist/infrastructure/index.d.ts.map +1 -0
- package/dist/infrastructure/index.js +25 -0
- package/dist/infrastructure/index.js.map +1 -0
- package/dist/infrastructure/types.d.ts +29 -0
- package/dist/infrastructure/types.d.ts.map +1 -0
- package/dist/infrastructure/types.js +66 -0
- package/dist/infrastructure/types.js.map +1 -0
- package/dist/logger.d.ts +7 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +42 -0
- package/dist/logger.js.map +1 -0
- package/dist/presentation/cli-pbevm-diff.d.ts +2 -0
- package/dist/presentation/cli-pbevm-diff.d.ts.map +1 -0
- package/dist/presentation/cli-pbevm-diff.js +39 -0
- package/dist/presentation/cli-pbevm-diff.js.map +1 -0
- package/dist/presentation/cli-pbevm-show-project.d.ts +2 -0
- package/dist/presentation/cli-pbevm-show-project.d.ts.map +1 -0
- package/dist/presentation/cli-pbevm-show-project.js +38 -0
- package/dist/presentation/cli-pbevm-show-project.js.map +1 -0
- package/dist/presentation/cli-pbevm-summary.d.ts +3 -0
- package/dist/presentation/cli-pbevm-summary.d.ts.map +1 -0
- package/dist/presentation/cli-pbevm-summary.js +35 -0
- package/dist/presentation/cli-pbevm-summary.js.map +1 -0
- package/dist/presentation/cli-test.d.ts +3 -0
- package/dist/presentation/cli-test.d.ts.map +1 -0
- package/dist/presentation/cli-test.js +123 -0
- package/dist/presentation/cli-test.js.map +1 -0
- package/dist/presentation/project-test2.d.ts +22 -0
- package/dist/presentation/project-test2.d.ts.map +1 -0
- package/dist/presentation/project-test2.js +106 -0
- package/dist/presentation/project-test2.js.map +1 -0
- package/dist/usercase/index.d.ts +4 -0
- package/dist/usercase/index.d.ts.map +1 -0
- package/dist/usercase/index.js +20 -0
- package/dist/usercase/index.js.map +1 -0
- package/dist/usercase/pbevm-diff-usercase.d.ts +10 -0
- package/dist/usercase/pbevm-diff-usercase.d.ts.map +1 -0
- package/dist/usercase/pbevm-diff-usercase.js +67 -0
- package/dist/usercase/pbevm-diff-usercase.js.map +1 -0
- package/dist/usercase/pbevm-show-project-usecase.d.ts +10 -0
- package/dist/usercase/pbevm-show-project-usecase.d.ts.map +1 -0
- package/dist/usercase/pbevm-show-project-usecase.js +19 -0
- package/dist/usercase/pbevm-show-project-usecase.js.map +1 -0
- package/dist/usercase/pbevm-summary-usercase.d.ts +8 -0
- package/dist/usercase/pbevm-summary-usercase.d.ts.map +1 -0
- package/dist/usercase/pbevm-summary-usercase.js +47 -0
- package/dist/usercase/pbevm-summary-usercase.js.map +1 -0
- package/eslint.config.mjs +25 -0
- package/now.xlsm +0 -0
- package/package.json +71 -0
- package/prev.xlsm +0 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const yargs_1 = __importDefault(require("yargs"));
|
|
7
|
+
const helpers_1 = require("yargs/helpers");
|
|
8
|
+
// import { getLogger } from '../logger'
|
|
9
|
+
const ExcelProjectCreator_1 = require("../infrastructure/ExcelProjectCreator");
|
|
10
|
+
const pbevm_show_project_usecase_1 = require("../usercase/pbevm-show-project-usecase");
|
|
11
|
+
const ProjectRepositoryImpl_1 = require("../infrastructure/ProjectRepositoryImpl");
|
|
12
|
+
// const logger = getLogger('main')
|
|
13
|
+
const main = () => {
|
|
14
|
+
const { path } = createArgs();
|
|
15
|
+
const creator = new ExcelProjectCreator_1.ExcelProjectCreator(path);
|
|
16
|
+
const repository = new ProjectRepositoryImpl_1.ProjectRepositoryImpl();
|
|
17
|
+
new pbevm_show_project_usecase_1.PbevmShowProjectUsecase(creator, repository)
|
|
18
|
+
.execute()
|
|
19
|
+
.catch((error) => console.error(error));
|
|
20
|
+
};
|
|
21
|
+
const createArgs = () => {
|
|
22
|
+
const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
23
|
+
.option('path', {
|
|
24
|
+
type: 'string',
|
|
25
|
+
description: 'Excel file Path',
|
|
26
|
+
default: './classdata.xlsx',
|
|
27
|
+
})
|
|
28
|
+
.option('output', {
|
|
29
|
+
type: 'string',
|
|
30
|
+
description: 'Output directory',
|
|
31
|
+
default: './output',
|
|
32
|
+
})
|
|
33
|
+
.help()
|
|
34
|
+
.parseSync(); // 型付きで取得
|
|
35
|
+
return argv;
|
|
36
|
+
};
|
|
37
|
+
main();
|
|
38
|
+
//# sourceMappingURL=cli-pbevm-show-project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-pbevm-show-project.js","sourceRoot":"","sources":["../../src/presentation/cli-pbevm-show-project.ts"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,2CAAuC;AACvC,wCAAwC;AACxC,+EAA2E;AAC3E,uFAAgF;AAChF,mFAA+E;AAE/E,mCAAmC;AAEnC,MAAM,IAAI,GAAG,GAAG,EAAE;IACd,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,CAAA;IAE7B,MAAM,OAAO,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,CAAA;IAC7C,MAAM,UAAU,GAAG,IAAI,6CAAqB,EAAE,CAAA;IAC9C,IAAI,oDAAuB,CAAC,OAAO,EAAE,UAAU,CAAC;SAC3C,OAAO,EAAE;SACT,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,GAAG,EAAE;IACpB,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACpC,MAAM,CAAC,MAAM,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,kBAAkB;KAC9B,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QACd,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,UAAU;KACtB,CAAC;SACD,IAAI,EAAE;SACN,SAAS,EAAE,CAAA,CAAC,SAAS;IAC1B,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AAED,IAAI,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-pbevm-summary.d.ts","sourceRoot":"","sources":["../../src/presentation/cli-pbevm-summary.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const yargs_1 = __importDefault(require("yargs"));
|
|
8
|
+
const helpers_1 = require("yargs/helpers");
|
|
9
|
+
const ExcelTaskRowCreator_1 = require("../infrastructure/ExcelTaskRowCreator");
|
|
10
|
+
const pbevm_summary_usercase_1 = require("../usercase/pbevm-summary-usercase");
|
|
11
|
+
// const logger = getLogger('main')
|
|
12
|
+
// TaskRowCreator を使ったサンプル。また tidy をつかって集計などをテストしてる
|
|
13
|
+
const main = () => {
|
|
14
|
+
const { path } = createArgs();
|
|
15
|
+
const reader = new ExcelTaskRowCreator_1.ExcelTaskRowCreator(path);
|
|
16
|
+
new pbevm_summary_usercase_1.PbevmSummaryUsecase(reader).execute().catch((error) => console.error(error));
|
|
17
|
+
};
|
|
18
|
+
const createArgs = () => {
|
|
19
|
+
const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
20
|
+
.option('path', {
|
|
21
|
+
type: 'string',
|
|
22
|
+
description: 'Excel file Path',
|
|
23
|
+
default: './now.xlsm',
|
|
24
|
+
})
|
|
25
|
+
.option('output', {
|
|
26
|
+
type: 'string',
|
|
27
|
+
description: 'Output directory',
|
|
28
|
+
default: './output',
|
|
29
|
+
})
|
|
30
|
+
.help()
|
|
31
|
+
.parseSync(); // 型付きで取得
|
|
32
|
+
return argv;
|
|
33
|
+
};
|
|
34
|
+
main();
|
|
35
|
+
//# sourceMappingURL=cli-pbevm-summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-pbevm-summary.js","sourceRoot":"","sources":["../../src/presentation/cli-pbevm-summary.ts"],"names":[],"mappings":";;;;;;AACA,kDAAyB;AACzB,2CAAuC;AAGvC,+EAA2E;AAC3E,+EAAwE;AAExE,mCAAmC;AAEnC,mDAAmD;AACnD,MAAM,IAAI,GAAG,GAAG,EAAE;IACd,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,CAAA;IAE7B,MAAM,MAAM,GAAmB,IAAI,yCAAmB,CAAC,IAAI,CAAC,CAAA;IAC5D,IAAI,4CAAmB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;AACpF,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,GAAG,EAAE;IACpB,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACpC,MAAM,CAAC,MAAM,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,YAAY;KACxB,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QACd,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,UAAU;KACtB,CAAC;SACD,IAAI,EAAE;SACN,SAAS,EAAE,CAAA,CAAC,SAAS;IAC1B,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AAED,IAAI,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-test.d.ts","sourceRoot":"","sources":["../../src/presentation/cli-test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const yargs_1 = __importDefault(require("yargs"));
|
|
8
|
+
const helpers_1 = require("yargs/helpers");
|
|
9
|
+
// import { getLogger } from '../logger'
|
|
10
|
+
const excel_csv_read_write_1 = require("excel-csv-read-write");
|
|
11
|
+
const TaskService_1 = require("../domain/TaskService");
|
|
12
|
+
const ExcelTaskRowCreator_1 = require("../infrastructure/ExcelTaskRowCreator");
|
|
13
|
+
const common_1 = require("../common");
|
|
14
|
+
const styles_1 = require("../common/styles");
|
|
15
|
+
// const logger = getLogger('main')
|
|
16
|
+
// こちらもTaskRowCreatorのサンプル。
|
|
17
|
+
const main = async () => {
|
|
18
|
+
const { excelPath } = createArgs();
|
|
19
|
+
const reader = new ExcelTaskRowCreator_1.ExcelTaskRowCreator(excelPath);
|
|
20
|
+
const rows = await reader.createRowData();
|
|
21
|
+
const baseDates = (0, common_1.generateBaseDates)(new Date('2025-06-13T00:00:00+09:00'), new Date('2025-06-28T00:00:00+09:00'));
|
|
22
|
+
// const filters = rows.filter((row) => row.id >= 23) //
|
|
23
|
+
// printTaskRows(filters, baseDates)
|
|
24
|
+
const taskService = new TaskService_1.TaskService();
|
|
25
|
+
const taskNodes = taskService.buildTaskTree(rows);
|
|
26
|
+
const tasks = taskNodes.filter((row) => row.id >= 23); //
|
|
27
|
+
(0, common_1.printTaskNodes)(tasks, baseDates);
|
|
28
|
+
printTaskNodes1(tasks);
|
|
29
|
+
const flatternRows = taskService.convertToTaskRows(taskNodes);
|
|
30
|
+
const workbook = await (0, excel_csv_read_write_1.createWorkbook)();
|
|
31
|
+
const converters = {
|
|
32
|
+
// なんか、日付はコレやらないとキレイに出力できない
|
|
33
|
+
startDate: (value) => value,
|
|
34
|
+
endDate: (value) => value,
|
|
35
|
+
actualStartDate: (value) => value,
|
|
36
|
+
actualEndDate: (value) => value,
|
|
37
|
+
expectedProgressDate: (value) => value,
|
|
38
|
+
};
|
|
39
|
+
(0, excel_csv_read_write_1.json2workbook)({
|
|
40
|
+
instances: rows,
|
|
41
|
+
workbook,
|
|
42
|
+
sheetName: 'rows',
|
|
43
|
+
applyStyles: (0, styles_1.createStyles)(common_1.style5),
|
|
44
|
+
converters,
|
|
45
|
+
});
|
|
46
|
+
(0, excel_csv_read_write_1.json2workbook)({
|
|
47
|
+
instances: flatternRows,
|
|
48
|
+
workbook,
|
|
49
|
+
sheetName: 'flatternRows',
|
|
50
|
+
applyStyles: (0, styles_1.createStyles)(common_1.style5),
|
|
51
|
+
converters,
|
|
52
|
+
});
|
|
53
|
+
workbook.deleteSheet('Sheet1');
|
|
54
|
+
await (0, excel_csv_read_write_1.toFileAsync)(workbook, 'result.xlsx');
|
|
55
|
+
// await sub()
|
|
56
|
+
// console.table(flattern)
|
|
57
|
+
};
|
|
58
|
+
// const sub = async () => {
|
|
59
|
+
// let robots: unknown[] = await csv2json('robotSample.csv')
|
|
60
|
+
// // robots = robots.map((robot) => ({ ...robot, now: new Date() })) // 日付列を追加 unknown型には使えないので注意
|
|
61
|
+
// robots = robots.map((robot) => Object.assign({}, robot, { now: new Date() })) // 日付列を追加
|
|
62
|
+
// console.table(robots)
|
|
63
|
+
// // なにも考えずにダンプ
|
|
64
|
+
// // json2excel(robots, 'output/robots.xlsx').catch((error) => console.log(error))
|
|
65
|
+
// // プロパティごとに、変換メソッドをかませたケース
|
|
66
|
+
// // nowとIdというプロパティには、変換methodを指定
|
|
67
|
+
// const converters: Converters = {
|
|
68
|
+
// now: (value: unknown) => value,
|
|
69
|
+
// Id: (value: string) => '0' + value,
|
|
70
|
+
// }
|
|
71
|
+
// json2excel(robots, 'output/robots1.xlsx', '', 'Sheet1', converters).catch((error) =>
|
|
72
|
+
// console.log(error)
|
|
73
|
+
// )
|
|
74
|
+
// // プロパティごとに、変換メソッドをかませたケース.
|
|
75
|
+
// // nowとIdというプロパティには、変換methodを指定
|
|
76
|
+
// // さらにその列(M列) に、日付フォーマットでExcel出力する
|
|
77
|
+
// const excelFormatter = (
|
|
78
|
+
// instances: any[],
|
|
79
|
+
// workbook: XlsxPopulate.Workbook,
|
|
80
|
+
// sheetName: string
|
|
81
|
+
// ) => {
|
|
82
|
+
// const rowCount = instances.length
|
|
83
|
+
// const sheet = workbook.sheet(sheetName)
|
|
84
|
+
// sheet.range(`M2:M${rowCount + 1}`).style('numberFormat', 'yyyy/mm/dd hh:mm') // 書式: 日付+時刻
|
|
85
|
+
// // よくある整形パタン。
|
|
86
|
+
// // sheet.range(`C2:C${rowCount + 1}`).style('numberFormat', '@') // 書式: 文字(コレをやらないと、見かけ上文字だが、F2で抜けると数字になっちゃう)
|
|
87
|
+
// // sheet.range(`E2:F${rowCount + 1}`).style('numberFormat', 'yyyy/mm/dd') // 書式: 日付
|
|
88
|
+
// // sheet.range(`H2:H${rowCount + 1}`).style('numberFormat', 'yyyy/mm/dd hh:mm') // 書式: 日付+時刻
|
|
89
|
+
// }
|
|
90
|
+
// json2excel(robots, 'output/robots2.xlsx', '', 'Sheet1', converters, excelFormatter).catch(
|
|
91
|
+
// (error) => console.log(error)
|
|
92
|
+
// ) // プロパティ指定で、変換をかける
|
|
93
|
+
// }
|
|
94
|
+
const createArgs = () => {
|
|
95
|
+
const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
96
|
+
.option('excelPath', {
|
|
97
|
+
type: 'string',
|
|
98
|
+
description: 'Excel file Path',
|
|
99
|
+
default: './classdata.xlsx',
|
|
100
|
+
})
|
|
101
|
+
.option('output', {
|
|
102
|
+
type: 'string',
|
|
103
|
+
description: 'Output directory',
|
|
104
|
+
default: './output',
|
|
105
|
+
})
|
|
106
|
+
.help()
|
|
107
|
+
.parseSync(); // 型付きで取得
|
|
108
|
+
return argv;
|
|
109
|
+
};
|
|
110
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
111
|
+
main();
|
|
112
|
+
function printTaskNodes1(taskNodes) {
|
|
113
|
+
for (const rootTask of taskNodes) {
|
|
114
|
+
// root単位でfor文回せば良い
|
|
115
|
+
for (const row of rootTask) {
|
|
116
|
+
printTask1(row);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
function printTask1(row) {
|
|
121
|
+
console.log(row.id, row.name, row.assignee);
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=cli-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-test.js","sourceRoot":"","sources":["../../src/presentation/cli-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ProjectProgressCreator } from '../domain/ProjectProgressCreator';
|
|
2
|
+
export declare class ProjectProgress {
|
|
3
|
+
private _date;
|
|
4
|
+
private _pv?;
|
|
5
|
+
private _ev?;
|
|
6
|
+
constructor(_date: Date, _pv?: number | undefined, _ev?: number | undefined);
|
|
7
|
+
get spi(): number | undefined;
|
|
8
|
+
get date(): Date;
|
|
9
|
+
get pv(): number | undefined;
|
|
10
|
+
get ev(): number | undefined;
|
|
11
|
+
}
|
|
12
|
+
export declare class ProjectProgressBufferCreatorImpl implements ProjectProgressCreator {
|
|
13
|
+
private _buffer;
|
|
14
|
+
constructor(_buffer: ArrayBuffer);
|
|
15
|
+
createProjectProgress(): Promise<ProjectProgress[]>;
|
|
16
|
+
}
|
|
17
|
+
export declare class ProjectProgressCreatorImpl implements ProjectProgressCreator {
|
|
18
|
+
private _excelPath;
|
|
19
|
+
constructor(_excelPath: string);
|
|
20
|
+
createProjectProgress(): Promise<ProjectProgress[]>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=project-test2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-test2.d.ts","sourceRoot":"","sources":["../../src/presentation/project-test2.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAOzE,qBAAa,eAAe;IAEpB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,GAAG,CAAC;IACZ,OAAO,CAAC,GAAG,CAAC;gBAFJ,KAAK,EAAE,IAAI,EACX,GAAG,CAAC,EAAE,MAAM,YAAA,EACZ,GAAG,CAAC,EAAE,MAAM,YAAA;IAExB,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAG5B;IACD,IAAI,IAAI,SAEP;IACD,IAAI,EAAE,uBAEL;IACD,IAAI,EAAE,uBAEL;CACJ;AAED,qBAAa,gCAAiC,YAAW,sBAAsB;IAC/D,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,WAAW;IAElC,qBAAqB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;CAK5D;AAED,qBAAa,0BAA2B,YAAW,sBAAsB;IACzD,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,MAAM;IAEhC,qBAAqB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;CAS5D"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ProjectProgressCreatorImpl = exports.ProjectProgressBufferCreatorImpl = exports.ProjectProgress = void 0;
|
|
7
|
+
const yargs_1 = __importDefault(require("yargs"));
|
|
8
|
+
const helpers_1 = require("yargs/helpers");
|
|
9
|
+
// import { getLogger } from '../logger'
|
|
10
|
+
const excel_csv_read_write_1 = require("excel-csv-read-write");
|
|
11
|
+
const infrastructure_1 = require("../infrastructure");
|
|
12
|
+
const domain_1 = require("../domain");
|
|
13
|
+
const common_1 = require("../common");
|
|
14
|
+
// const logger = getLogger('main')
|
|
15
|
+
class ProjectProgress {
|
|
16
|
+
constructor(_date, _pv, _ev) {
|
|
17
|
+
this._date = _date;
|
|
18
|
+
this._pv = _pv;
|
|
19
|
+
this._ev = _ev;
|
|
20
|
+
}
|
|
21
|
+
get spi() {
|
|
22
|
+
const { _pv, _ev } = this;
|
|
23
|
+
return (0, domain_1.isValidNumber)(_pv) && (0, domain_1.isValidNumber)(_ev) && _pv !== 0 ? _ev / _pv : undefined;
|
|
24
|
+
}
|
|
25
|
+
get date() {
|
|
26
|
+
return this._date;
|
|
27
|
+
}
|
|
28
|
+
get pv() {
|
|
29
|
+
return this._pv;
|
|
30
|
+
}
|
|
31
|
+
get ev() {
|
|
32
|
+
return this._ev;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.ProjectProgress = ProjectProgress;
|
|
36
|
+
class ProjectProgressBufferCreatorImpl {
|
|
37
|
+
constructor(_buffer) {
|
|
38
|
+
this._buffer = _buffer;
|
|
39
|
+
}
|
|
40
|
+
async createProjectProgress() {
|
|
41
|
+
const rawDatas = (await (0, excel_csv_read_write_1.excelBuffer2json)(this._buffer, 'EVM記録'));
|
|
42
|
+
return toProjectProgress(rawDatas);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.ProjectProgressBufferCreatorImpl = ProjectProgressBufferCreatorImpl;
|
|
46
|
+
class ProjectProgressCreatorImpl {
|
|
47
|
+
constructor(_excelPath) {
|
|
48
|
+
this._excelPath = _excelPath;
|
|
49
|
+
}
|
|
50
|
+
async createProjectProgress() {
|
|
51
|
+
const rawDatas = (await (0, excel_csv_read_write_1.excel2json2)({
|
|
52
|
+
filePath: this._excelPath,
|
|
53
|
+
sheetName: 'EVM記録',
|
|
54
|
+
}));
|
|
55
|
+
// console.table(rawDatas)
|
|
56
|
+
return toProjectProgress(rawDatas);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.ProjectProgressCreatorImpl = ProjectProgressCreatorImpl;
|
|
60
|
+
const toProjectProgress = (rawDatas) => {
|
|
61
|
+
return rawDatas
|
|
62
|
+
.filter((rawData) => rawData['PV'] !== undefined || rawData['EV'] !== undefined)
|
|
63
|
+
.map((rawData) => {
|
|
64
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
65
|
+
return new ProjectProgress((0, excel_csv_read_write_1.dateFromSn)(rawData['日付']), rawData['PV'], rawData['EV']);
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
const main = async () => {
|
|
69
|
+
const { excelProjectPath, excelProgressPath } = createArgs();
|
|
70
|
+
const projectProgressCreator = new ProjectProgressCreatorImpl(excelProgressPath);
|
|
71
|
+
const datas = await projectProgressCreator.createProjectProgress();
|
|
72
|
+
printTable(datas);
|
|
73
|
+
const creator = new infrastructure_1.ExcelProjectCreator(excelProjectPath);
|
|
74
|
+
const project = await creator.createProject();
|
|
75
|
+
const stats = project.statisticsByProject;
|
|
76
|
+
console.table(stats);
|
|
77
|
+
};
|
|
78
|
+
const createArgs = () => {
|
|
79
|
+
const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
80
|
+
.option('excelProgressPath', {
|
|
81
|
+
type: 'string',
|
|
82
|
+
description: 'Excel file Path',
|
|
83
|
+
default: './classdata.xlsx',
|
|
84
|
+
})
|
|
85
|
+
.option('excelProjectPath', {
|
|
86
|
+
type: 'string',
|
|
87
|
+
description: 'Excel file Path',
|
|
88
|
+
default: './classdata.xlsx',
|
|
89
|
+
})
|
|
90
|
+
.help()
|
|
91
|
+
.parseSync(); // 型付きで取得
|
|
92
|
+
return argv;
|
|
93
|
+
};
|
|
94
|
+
main();
|
|
95
|
+
function printTable(datas) {
|
|
96
|
+
const dispDatas = datas.map((data) => {
|
|
97
|
+
return {
|
|
98
|
+
date: (0, common_1.dateStr)(data.date),
|
|
99
|
+
pv: data.pv,
|
|
100
|
+
ev: data.ev,
|
|
101
|
+
spi: data.spi,
|
|
102
|
+
};
|
|
103
|
+
});
|
|
104
|
+
console.table(dispDatas);
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=project-test2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-test2.js","sourceRoot":"","sources":["../../src/presentation/project-test2.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/usercase/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,0BAA0B,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./pbevm-diff-usercase"), exports);
|
|
18
|
+
__exportStar(require("./pbevm-show-project-usecase"), exports);
|
|
19
|
+
__exportStar(require("./pbevm-summary-usercase"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/usercase/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAqC;AACrC,+DAA4C;AAC5C,2DAAwC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AssigneeDiff, Project, ProjectCreator, ProjectDiff, ProjectService, TaskDiff } from '../domain';
|
|
2
|
+
export declare class PbevmDiffUsercase {
|
|
3
|
+
private _nowProjectCreator;
|
|
4
|
+
private _prevProjectCreator;
|
|
5
|
+
private _projectService;
|
|
6
|
+
constructor(_nowProjectCreator: ProjectCreator, _prevProjectCreator: ProjectCreator, _projectService: ProjectService);
|
|
7
|
+
execute(): Promise<void>;
|
|
8
|
+
save(currentProject: Project, prevProject: Project, projectDiffs: ProjectDiff[], assigneeDiffs: AssigneeDiff[], taskDiffs: TaskDiff[]): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=pbevm-diff-usercase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pbevm-diff-usercase.d.ts","sourceRoot":"","sources":["../../src/usercase/pbevm-diff-usercase.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,YAAY,EACZ,OAAO,EACP,cAAc,EACd,WAAW,EACX,cAAc,EACd,QAAQ,EACX,MAAM,WAAW,CAAA;AAElB,qBAAa,iBAAiB;IAEtB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,eAAe;gBAFf,kBAAkB,EAAE,cAAc,EAClC,mBAAmB,EAAE,cAAc,EACnC,eAAe,EAAE,cAAc;IAGrC,OAAO;IAgBP,IAAI,CACN,cAAc,EAAE,OAAO,EACvB,WAAW,EAAE,OAAO,EACpB,YAAY,EAAE,WAAW,EAAE,EAC3B,aAAa,EAAE,YAAY,EAAE,EAC7B,SAAS,EAAE,QAAQ,EAAE;CA8C5B"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PbevmDiffUsercase = void 0;
|
|
4
|
+
const excel_csv_read_write_1 = require("excel-csv-read-write");
|
|
5
|
+
const common_1 = require("../common");
|
|
6
|
+
class PbevmDiffUsercase {
|
|
7
|
+
constructor(_nowProjectCreator, _prevProjectCreator, _projectService) {
|
|
8
|
+
this._nowProjectCreator = _nowProjectCreator;
|
|
9
|
+
this._prevProjectCreator = _prevProjectCreator;
|
|
10
|
+
this._projectService = _projectService;
|
|
11
|
+
}
|
|
12
|
+
async execute() {
|
|
13
|
+
const nowP = await this._nowProjectCreator.createProject();
|
|
14
|
+
const prevP = await this._prevProjectCreator.createProject();
|
|
15
|
+
const taskDiffs = this._projectService.calculateTaskDiffs(nowP, prevP);
|
|
16
|
+
// console.table(taskDiffs.filter((row) => row.hasDiff))
|
|
17
|
+
const projectDiffs = this._projectService.calculateProjectDiffs(taskDiffs);
|
|
18
|
+
// console.table(projectDiffs.filter((row) => row.hasDiff))
|
|
19
|
+
const assigneeDiffs = this._projectService.calculateAssigneeDiffs(taskDiffs);
|
|
20
|
+
// console.table(assigneeDiffs.filter((row) => row.hasDiff))
|
|
21
|
+
await this.save(nowP, prevP, projectDiffs, assigneeDiffs, taskDiffs);
|
|
22
|
+
}
|
|
23
|
+
async save(currentProject, prevProject, projectDiffs, assigneeDiffs, taskDiffs) {
|
|
24
|
+
const path = `${currentProject.name}-diff.xlsx`;
|
|
25
|
+
const workbook = await (0, excel_csv_read_write_1.createWorkbook)();
|
|
26
|
+
if (projectDiffs) {
|
|
27
|
+
console.log('プロジェクトDiff');
|
|
28
|
+
console.table(projectDiffs.filter((row) => row.hasDiff));
|
|
29
|
+
(0, excel_csv_read_write_1.json2workbook)({
|
|
30
|
+
instances: projectDiffs,
|
|
31
|
+
workbook,
|
|
32
|
+
sheetName: `プロジェクトDiff`,
|
|
33
|
+
applyStyles: (0, common_1.createStyles)(),
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
if (assigneeDiffs) {
|
|
37
|
+
console.log('担当Diff');
|
|
38
|
+
console.table(assigneeDiffs.filter((row) => row.hasDiff));
|
|
39
|
+
(0, excel_csv_read_write_1.json2workbook)({
|
|
40
|
+
instances: assigneeDiffs,
|
|
41
|
+
workbook,
|
|
42
|
+
sheetName: '担当Diff',
|
|
43
|
+
applyStyles: (0, common_1.createStyles)(),
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
if (taskDiffs) {
|
|
47
|
+
console.log('タスクDiff');
|
|
48
|
+
console.table(taskDiffs.filter((row) => row.hasDiff));
|
|
49
|
+
(0, excel_csv_read_write_1.json2workbook)({
|
|
50
|
+
instances: taskDiffs,
|
|
51
|
+
workbook,
|
|
52
|
+
sheetName: `タスクDiff`,
|
|
53
|
+
applyStyles: (0, common_1.createStyles)(common_1.style6), // 日付列のフォーマットを指定
|
|
54
|
+
converters: {
|
|
55
|
+
// なんか、日付はコレやらないとキレイに出力できない
|
|
56
|
+
prevBaseDate: (value) => value,
|
|
57
|
+
currentBaseDate: (value) => value,
|
|
58
|
+
baseDate: (value) => value,
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
workbook.deleteSheet('Sheet1');
|
|
63
|
+
await (0, excel_csv_read_write_1.toFileAsync)(workbook, path);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.PbevmDiffUsercase = PbevmDiffUsercase;
|
|
67
|
+
//# sourceMappingURL=pbevm-diff-usercase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pbevm-diff-usercase.js","sourceRoot":"","sources":["../../src/usercase/pbevm-diff-usercase.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ProjectCreator } from '../domain/ProjectCreator';
|
|
2
|
+
import { ProjectRepository } from '../domain/ProjectRepository';
|
|
3
|
+
export declare class PbevmShowProjectUsecase {
|
|
4
|
+
private _creator;
|
|
5
|
+
private _repository;
|
|
6
|
+
private logger;
|
|
7
|
+
constructor(_creator: ProjectCreator, _repository: ProjectRepository);
|
|
8
|
+
execute(): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=pbevm-show-project-usecase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pbevm-show-project-usecase.d.ts","sourceRoot":"","sources":["../../src/usercase/pbevm-show-project-usecase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAI/D,qBAAa,uBAAuB;IAI5B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,WAAW;IAJvB,OAAO,CAAC,MAAM,CAAkC;gBAGpC,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,iBAAiB;IAGpC,OAAO;CAIhB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PbevmShowProjectUsecase = void 0;
|
|
4
|
+
const logger_1 = require("../logger");
|
|
5
|
+
// ProjectCreatorを使ったサンプル。プロジェクトを生成してSaveしている
|
|
6
|
+
// Projectがもつ属性をExcelに出力している。
|
|
7
|
+
class PbevmShowProjectUsecase {
|
|
8
|
+
constructor(_creator, _repository) {
|
|
9
|
+
this._creator = _creator;
|
|
10
|
+
this._repository = _repository;
|
|
11
|
+
this.logger = (0, logger_1.getLogger)('ShowProjectUsecase');
|
|
12
|
+
}
|
|
13
|
+
async execute() {
|
|
14
|
+
const project = await this._creator.createProject();
|
|
15
|
+
await this._repository.save(project);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.PbevmShowProjectUsecase = PbevmShowProjectUsecase;
|
|
19
|
+
//# sourceMappingURL=pbevm-show-project-usecase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pbevm-show-project-usecase.js","sourceRoot":"","sources":["../../src/usercase/pbevm-show-project-usecase.ts"],"names":[],"mappings":";;;AACA,sCAAqC;AAGrC,6CAA6C;AAC7C,6BAA6B;AAC7B,MAAa,uBAAuB;IAGhC,YACY,QAAwB,EACxB,WAA8B;QAD9B,aAAQ,GAAR,QAAQ,CAAgB;QACxB,gBAAW,GAAX,WAAW,CAAmB;QAJlC,WAAM,GAAG,IAAA,kBAAS,EAAC,oBAAoB,CAAC,CAAA;IAK7C,CAAC;IAEJ,KAAK,CAAC,OAAO;QACT,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAA;QACnD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACxC,CAAC;CACJ;AAZD,0DAYC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TaskRowCreator } from '../domain/TaskRowCreator';
|
|
2
|
+
export declare class PbevmSummaryUsecase {
|
|
3
|
+
private _creator;
|
|
4
|
+
private logger;
|
|
5
|
+
constructor(_creator: TaskRowCreator);
|
|
6
|
+
execute(): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=pbevm-summary-usercase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pbevm-summary-usercase.d.ts","sourceRoot":"","sources":["../../src/usercase/pbevm-summary-usercase.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAGzD,qBAAa,mBAAmB;IAGhB,OAAO,CAAC,QAAQ;IAF5B,OAAO,CAAC,MAAM,CAAmC;gBAE7B,QAAQ,EAAE,cAAc;IAEtC,OAAO;CA+ChB"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PbevmSummaryUsecase = void 0;
|
|
4
|
+
const logger_1 = require("../logger");
|
|
5
|
+
const tidy_1 = require("@tidyjs/tidy");
|
|
6
|
+
const common_1 = require("../common");
|
|
7
|
+
class PbevmSummaryUsecase {
|
|
8
|
+
constructor(_creator) {
|
|
9
|
+
this._creator = _creator;
|
|
10
|
+
this.logger = (0, logger_1.getLogger)('PbevmSummaryUsecase');
|
|
11
|
+
}
|
|
12
|
+
async execute() {
|
|
13
|
+
const rows = await this._creator.createRowData();
|
|
14
|
+
const baseDate = new Date('2025-06-13T00:00:00+0900');
|
|
15
|
+
const dispRows = rows.map((row) => {
|
|
16
|
+
const { id, name, assignee, pv, calculatePV, ev, spi } = row;
|
|
17
|
+
return {
|
|
18
|
+
id,
|
|
19
|
+
name,
|
|
20
|
+
assignee,
|
|
21
|
+
pv,
|
|
22
|
+
calcPv1: calculatePV(baseDate),
|
|
23
|
+
ev,
|
|
24
|
+
spi,
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
console.table(dispRows);
|
|
28
|
+
// aggregate の練習
|
|
29
|
+
const showAggregate = () => {
|
|
30
|
+
const result = (0, tidy_1.tidy)(rows, (0, tidy_1.groupBy)('assignee', [
|
|
31
|
+
(0, tidy_1.summarize)({
|
|
32
|
+
担当のタスク数: (group) => group.length,
|
|
33
|
+
担当の工数の和: (group) => (0, common_1.sum)(group.map((d) => d.workload ?? 0)),
|
|
34
|
+
担当の工数の平均: (group) => (0, common_1.average)(group.map((d) => d.workload ?? 0)),
|
|
35
|
+
// pv: (group) => group.map((d) => d.pv),
|
|
36
|
+
// calcPv_baseDate_の列: (group) => group.map((d) => d.calculatePV(baseDate)),
|
|
37
|
+
[`${(0, common_1.dateStr)(baseDate)}までのPV累積`]: (group) => (0, common_1.sum)(group.map((d) => d.calculatePVs(baseDate)), 3),
|
|
38
|
+
[`${(0, common_1.dateStr)(baseDate)}のPV`]: (group) => (0, common_1.sum)(group.map((d) => d.calculatePV(baseDate) ?? 0), 3),
|
|
39
|
+
}),
|
|
40
|
+
]));
|
|
41
|
+
console.table(result);
|
|
42
|
+
};
|
|
43
|
+
showAggregate();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.PbevmSummaryUsecase = PbevmSummaryUsecase;
|
|
47
|
+
//# sourceMappingURL=pbevm-summary-usercase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pbevm-summary-usercase.js","sourceRoot":"","sources":["../../src/usercase/pbevm-summary-usercase.ts"],"names":[],"mappings":";;;AAAA,sCAAqC;AACrC,uCAAuD;AAGvD,sCAAiD;AAEjD,MAAa,mBAAmB;IAG5B,YAAoB,QAAwB;QAAxB,aAAQ,GAAR,QAAQ,CAAgB;QAFpC,WAAM,GAAG,IAAA,kBAAS,EAAC,qBAAqB,CAAC,CAAA;IAEF,CAAC;IAEhD,KAAK,CAAC,OAAO;QACT,MAAM,IAAI,GAAc,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAA;QAE3D,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAA;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9B,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;YAC5D,OAAO;gBACH,EAAE;gBACF,IAAI;gBACJ,QAAQ;gBACR,EAAE;gBACF,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC;gBAC9B,EAAE;gBACF,GAAG;aACN,CAAA;QACL,CAAC,CAAC,CAAA;QAEF,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAEvB,gBAAgB;QAChB,MAAM,aAAa,GAAG,GAAG,EAAE;YACvB,MAAM,MAAM,GAAG,IAAA,WAAI,EACf,IAAI,EACJ,IAAA,cAAO,EAAC,UAAU,EAAE;gBAChB,IAAA,gBAAS,EAAC;oBACN,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM;oBAChC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,YAAG,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;oBAC1D,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,gBAAO,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;oBAC/D,yCAAyC;oBACzC,4EAA4E;oBAC5E,CAAC,GAAG,IAAA,gBAAO,EAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CACvC,IAAA,YAAG,EACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAC1C,CAAC,CACJ;oBACL,CAAC,GAAG,IAAA,gBAAO,EAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CACnC,IAAA,YAAG,EACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAC9C,CAAC,CACJ;iBACR,CAAC;aACL,CAAC,CACL,CAAA;YACD,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACzB,CAAC,CAAA;QACD,aAAa,EAAE,CAAA;IACnB,CAAC;CACJ;AApDD,kDAoDC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import eslint from '@eslint/js'
|
|
2
|
+
import tseslint from 'typescript-eslint'
|
|
3
|
+
import prettier from 'eslint-config-prettier'
|
|
4
|
+
|
|
5
|
+
export default [
|
|
6
|
+
{
|
|
7
|
+
ignores: ['dist/**', 'eslint.config.mjs'],
|
|
8
|
+
},
|
|
9
|
+
eslint.configs.recommended,
|
|
10
|
+
...tseslint.configs.recommended,
|
|
11
|
+
...tseslint.configs.recommendedTypeChecked,
|
|
12
|
+
{
|
|
13
|
+
files: ['**/*.ts'],
|
|
14
|
+
languageOptions: {
|
|
15
|
+
parserOptions: {
|
|
16
|
+
project: ['./tsconfig.json'],
|
|
17
|
+
tsconfigRootDir: new URL('.', import.meta.url).pathname,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
rules: {
|
|
21
|
+
// 任意: プロジェクトに合わせて調整可能
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
prettier,
|
|
25
|
+
]
|
package/now.xlsm
ADDED
|
Binary file
|