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.
Files changed (141) hide show
  1. package/.prettierrc +9 -0
  2. package/.vscode/settings.json +20 -0
  3. package/LICENSE +201 -0
  4. package/README.md +71 -0
  5. package/class.pu +62 -0
  6. package/dist/common/index.d.ts +4 -0
  7. package/dist/common/index.d.ts.map +1 -0
  8. package/dist/common/index.js +20 -0
  9. package/dist/common/index.js.map +1 -0
  10. package/dist/common/myStyles.d.ts +10 -0
  11. package/dist/common/myStyles.d.ts.map +1 -0
  12. package/dist/common/myStyles.js +52 -0
  13. package/dist/common/myStyles.js.map +1 -0
  14. package/dist/common/styles.d.ts +12 -0
  15. package/dist/common/styles.d.ts.map +1 -0
  16. package/dist/common/styles.js +30 -0
  17. package/dist/common/styles.js.map +1 -0
  18. package/dist/common/utils.d.ts +53 -0
  19. package/dist/common/utils.d.ts.map +1 -0
  20. package/dist/common/utils.js +163 -0
  21. package/dist/common/utils.js.map +1 -0
  22. package/dist/domain/Project.d.ts +98 -0
  23. package/dist/domain/Project.d.ts.map +1 -0
  24. package/dist/domain/Project.js +291 -0
  25. package/dist/domain/Project.js.map +1 -0
  26. package/dist/domain/ProjectCreator.d.ts +8 -0
  27. package/dist/domain/ProjectCreator.d.ts.map +1 -0
  28. package/dist/domain/ProjectCreator.js +3 -0
  29. package/dist/domain/ProjectCreator.js.map +1 -0
  30. package/dist/domain/ProjectProgressCreator.d.ts +5 -0
  31. package/dist/domain/ProjectProgressCreator.d.ts.map +1 -0
  32. package/dist/domain/ProjectProgressCreator.js +3 -0
  33. package/dist/domain/ProjectProgressCreator.js.map +1 -0
  34. package/dist/domain/ProjectRepository.d.ts +5 -0
  35. package/dist/domain/ProjectRepository.d.ts.map +1 -0
  36. package/dist/domain/ProjectRepository.js +3 -0
  37. package/dist/domain/ProjectRepository.js.map +1 -0
  38. package/dist/domain/ProjectService.d.ts +59 -0
  39. package/dist/domain/ProjectService.d.ts.map +1 -0
  40. package/dist/domain/ProjectService.js +216 -0
  41. package/dist/domain/ProjectService.js.map +1 -0
  42. package/dist/domain/TaskNode.d.ts +37 -0
  43. package/dist/domain/TaskNode.d.ts.map +1 -0
  44. package/dist/domain/TaskNode.js +54 -0
  45. package/dist/domain/TaskNode.js.map +1 -0
  46. package/dist/domain/TaskRow.d.ts +222 -0
  47. package/dist/domain/TaskRow.d.ts.map +1 -0
  48. package/dist/domain/TaskRow.js +260 -0
  49. package/dist/domain/TaskRow.js.map +1 -0
  50. package/dist/domain/TaskRowCreator.d.ts +11 -0
  51. package/dist/domain/TaskRowCreator.d.ts.map +1 -0
  52. package/dist/domain/TaskRowCreator.js +3 -0
  53. package/dist/domain/TaskRowCreator.js.map +1 -0
  54. package/dist/domain/TaskService.d.ts +18 -0
  55. package/dist/domain/TaskService.d.ts.map +1 -0
  56. package/dist/domain/TaskService.js +56 -0
  57. package/dist/domain/TaskService.js.map +1 -0
  58. package/dist/domain/index.d.ts +9 -0
  59. package/dist/domain/index.d.ts.map +1 -0
  60. package/dist/domain/index.js +25 -0
  61. package/dist/domain/index.js.map +1 -0
  62. package/dist/infrastructure/ExcelBufferProjectCreator.d.ts +9 -0
  63. package/dist/infrastructure/ExcelBufferProjectCreator.d.ts.map +1 -0
  64. package/dist/infrastructure/ExcelBufferProjectCreator.js +23 -0
  65. package/dist/infrastructure/ExcelBufferProjectCreator.js.map +1 -0
  66. package/dist/infrastructure/ExcelProjectCreator.d.ts +8 -0
  67. package/dist/infrastructure/ExcelProjectCreator.d.ts.map +1 -0
  68. package/dist/infrastructure/ExcelProjectCreator.js +31 -0
  69. package/dist/infrastructure/ExcelProjectCreator.js.map +1 -0
  70. package/dist/infrastructure/ExcelTaskRowCreator.d.ts +8 -0
  71. package/dist/infrastructure/ExcelTaskRowCreator.d.ts.map +1 -0
  72. package/dist/infrastructure/ExcelTaskRowCreator.js +24 -0
  73. package/dist/infrastructure/ExcelTaskRowCreator.js.map +1 -0
  74. package/dist/infrastructure/MappingProjectCreator.d.ts +9 -0
  75. package/dist/infrastructure/MappingProjectCreator.d.ts.map +1 -0
  76. package/dist/infrastructure/MappingProjectCreator.js +36 -0
  77. package/dist/infrastructure/MappingProjectCreator.js.map +1 -0
  78. package/dist/infrastructure/ProjectRepositoryImpl.d.ts +6 -0
  79. package/dist/infrastructure/ProjectRepositoryImpl.d.ts.map +1 -0
  80. package/dist/infrastructure/ProjectRepositoryImpl.js +124 -0
  81. package/dist/infrastructure/ProjectRepositoryImpl.js.map +1 -0
  82. package/dist/infrastructure/TaskRowCreatorImpl.d.ts +11 -0
  83. package/dist/infrastructure/TaskRowCreatorImpl.d.ts.map +1 -0
  84. package/dist/infrastructure/TaskRowCreatorImpl.js +135 -0
  85. package/dist/infrastructure/TaskRowCreatorImpl.js.map +1 -0
  86. package/dist/infrastructure/TaskRowFactory.d.ts +9 -0
  87. package/dist/infrastructure/TaskRowFactory.d.ts.map +1 -0
  88. package/dist/infrastructure/TaskRowFactory.js +47 -0
  89. package/dist/infrastructure/TaskRowFactory.js.map +1 -0
  90. package/dist/infrastructure/index.d.ts +9 -0
  91. package/dist/infrastructure/index.d.ts.map +1 -0
  92. package/dist/infrastructure/index.js +25 -0
  93. package/dist/infrastructure/index.js.map +1 -0
  94. package/dist/infrastructure/types.d.ts +29 -0
  95. package/dist/infrastructure/types.d.ts.map +1 -0
  96. package/dist/infrastructure/types.js +66 -0
  97. package/dist/infrastructure/types.js.map +1 -0
  98. package/dist/logger.d.ts +7 -0
  99. package/dist/logger.d.ts.map +1 -0
  100. package/dist/logger.js +42 -0
  101. package/dist/logger.js.map +1 -0
  102. package/dist/presentation/cli-pbevm-diff.d.ts +2 -0
  103. package/dist/presentation/cli-pbevm-diff.d.ts.map +1 -0
  104. package/dist/presentation/cli-pbevm-diff.js +39 -0
  105. package/dist/presentation/cli-pbevm-diff.js.map +1 -0
  106. package/dist/presentation/cli-pbevm-show-project.d.ts +2 -0
  107. package/dist/presentation/cli-pbevm-show-project.d.ts.map +1 -0
  108. package/dist/presentation/cli-pbevm-show-project.js +38 -0
  109. package/dist/presentation/cli-pbevm-show-project.js.map +1 -0
  110. package/dist/presentation/cli-pbevm-summary.d.ts +3 -0
  111. package/dist/presentation/cli-pbevm-summary.d.ts.map +1 -0
  112. package/dist/presentation/cli-pbevm-summary.js +35 -0
  113. package/dist/presentation/cli-pbevm-summary.js.map +1 -0
  114. package/dist/presentation/cli-test.d.ts +3 -0
  115. package/dist/presentation/cli-test.d.ts.map +1 -0
  116. package/dist/presentation/cli-test.js +123 -0
  117. package/dist/presentation/cli-test.js.map +1 -0
  118. package/dist/presentation/project-test2.d.ts +22 -0
  119. package/dist/presentation/project-test2.d.ts.map +1 -0
  120. package/dist/presentation/project-test2.js +106 -0
  121. package/dist/presentation/project-test2.js.map +1 -0
  122. package/dist/usercase/index.d.ts +4 -0
  123. package/dist/usercase/index.d.ts.map +1 -0
  124. package/dist/usercase/index.js +20 -0
  125. package/dist/usercase/index.js.map +1 -0
  126. package/dist/usercase/pbevm-diff-usercase.d.ts +10 -0
  127. package/dist/usercase/pbevm-diff-usercase.d.ts.map +1 -0
  128. package/dist/usercase/pbevm-diff-usercase.js +67 -0
  129. package/dist/usercase/pbevm-diff-usercase.js.map +1 -0
  130. package/dist/usercase/pbevm-show-project-usecase.d.ts +10 -0
  131. package/dist/usercase/pbevm-show-project-usecase.d.ts.map +1 -0
  132. package/dist/usercase/pbevm-show-project-usecase.js +19 -0
  133. package/dist/usercase/pbevm-show-project-usecase.js.map +1 -0
  134. package/dist/usercase/pbevm-summary-usercase.d.ts +8 -0
  135. package/dist/usercase/pbevm-summary-usercase.d.ts.map +1 -0
  136. package/dist/usercase/pbevm-summary-usercase.js +47 -0
  137. package/dist/usercase/pbevm-summary-usercase.js.map +1 -0
  138. package/eslint.config.mjs +25 -0
  139. package/now.xlsm +0 -0
  140. package/package.json +71 -0
  141. package/prev.xlsm +0 -0
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatRelativeDays = exports.formatRelativeDaysNumber = exports.minDate = exports.maxDate = exports.average = exports.round = exports.sum = exports.dateStr = exports.generateBaseDates = void 0;
4
+ exports.printTaskNodes = printTaskNodes;
5
+ exports.printTaskRows = printTaskRows;
6
+ exports.printTask = printTask;
7
+ /**
8
+ * FROM/TOの日付を渡して、日付配列を作る。今のところJSTで作成する事
9
+ * @param from 例 new Date('2025-06-01T00:00:00+09:00'),
10
+ * @param to 例 new Date('2025-06-30T00:00:00+09:00')
11
+ * @returns
12
+ */
13
+ const generateBaseDates = (from, to) => {
14
+ const dates = [];
15
+ const current = new Date(from); // from を複製
16
+ while (current <= to) {
17
+ dates.push(new Date(current)); // コピーして格納
18
+ current.setDate(current.getDate() + 1); // 1日進める
19
+ }
20
+ return dates;
21
+ };
22
+ exports.generateBaseDates = generateBaseDates;
23
+ /**
24
+ * date をyyyy/mmdd表記する
25
+ * @param date
26
+ * @returns
27
+ */
28
+ const dateStr = (date) => {
29
+ if (!date)
30
+ return '';
31
+ return date.toLocaleString('ja-JP', {
32
+ timeZone: 'Asia/Tokyo',
33
+ year: 'numeric',
34
+ month: '2-digit',
35
+ day: '2-digit',
36
+ });
37
+ };
38
+ exports.dateStr = dateStr;
39
+ function printTaskNodes(taskNodes, baseDates) {
40
+ // TaskNode自体が Iterable なので、rootTaskごとにIterateする
41
+ for (const rootTask of taskNodes) {
42
+ // rootTaskごとにfor文を回せば良い
43
+ for (const row of rootTask) {
44
+ printTask(row, baseDates);
45
+ }
46
+ }
47
+ }
48
+ function printTaskRows(rows, baseDates) {
49
+ for (const row of rows) {
50
+ printTask(row, baseDates);
51
+ }
52
+ }
53
+ function printTask(row, baseDates) {
54
+ if (!row.isLeaf)
55
+ return;
56
+ console.log('-----');
57
+ console.log('row.id', 'row.name', 'row.isLeaf', 'baseDateDisp', 'row.calculatePV(baseDate)', 'row.calculatePVs(baseDate)'
58
+ // baseDatesn,
59
+ // 'baseDate'
60
+ );
61
+ for (const baseDate of baseDates) {
62
+ // const baseDatesn = date2Sn(baseDate)
63
+ const baseDateDisp = (0, exports.dateStr)(baseDate);
64
+ console.log(row.id, row.name, row.isLeaf, baseDateDisp, row.calculatePV(baseDate), row.calculatePVs(baseDate)
65
+ // baseDatesn,
66
+ // baseDate
67
+ );
68
+ }
69
+ }
70
+ /**
71
+ * 足し算する
72
+ */
73
+ const sumFunc = (prev, current) => (current ? prev + current : prev);
74
+ const sum = (numbers, scale) => {
75
+ if (numbers) {
76
+ // const nonNullDatas = numbers.filter((number) => !!number) // undefinedを除去
77
+ const nonNullDatas = numbers.filter((number) => number != null); // null または undefined を除去
78
+ if (nonNullDatas.length > 0) {
79
+ const result = nonNullDatas.reduce(sumFunc, 0);
80
+ return (0, exports.round)(result, scale);
81
+ }
82
+ }
83
+ };
84
+ exports.sum = sum;
85
+ /**
86
+ * 四捨五入して、scale位にする
87
+ * @param num
88
+ * @param scale
89
+ * @returns
90
+ */
91
+ const round = (num, scale = 10) => Math.round(num * 10 ** scale) / 10 ** scale;
92
+ exports.round = round;
93
+ /**
94
+ *
95
+ * @param numbers 平均
96
+ * @returns
97
+ */
98
+ const average = (numbers, scale = 3) => {
99
+ if (numbers) {
100
+ // const nonNullDatas = numbers.filter((data) => !!data) // undefinedを除去
101
+ const nonNullDatas = numbers.filter((data) => data != null); // null または undefined を除去
102
+ // console.log(nonNullDatas)
103
+ if (nonNullDatas.length > 0) {
104
+ const result = (0, exports.sum)(nonNullDatas) / nonNullDatas.length;
105
+ return (0, exports.round)(result, scale);
106
+ }
107
+ }
108
+ };
109
+ exports.average = average;
110
+ /**
111
+ * Date配列を引数にとり、MaxやMinを選んで返す
112
+ *
113
+ * @param dates
114
+ * @param maxOrMinDate
115
+ * @returns
116
+ */
117
+ const maxOrMinDate = (dates, maxOrMinDate) => {
118
+ const datesNum = dates
119
+ .filter((date) => !(date === undefined))
120
+ .map((date) => date.getTime());
121
+ return datesNum.length > 0 ? new Date(maxOrMinDate(...datesNum)) : undefined;
122
+ };
123
+ const maxDate = (dates) => maxOrMinDate(dates, Math.max);
124
+ exports.maxDate = maxDate;
125
+ const minDate = (dates) => maxOrMinDate(dates, Math.min);
126
+ exports.minDate = minDate;
127
+ /**
128
+ * baseDate(基準日) に比べて targetDate(おもに期限) が何日後かを計算して返す
129
+ * base 2025/07/19 target 2025/07/18 => -1
130
+ * @param baseDate
131
+ * @param targetDate
132
+ * @param locale
133
+ * @returns
134
+ */
135
+ const formatRelativeDaysNumber = (baseDate, targetDate) => {
136
+ if (!baseDate || !targetDate)
137
+ return undefined;
138
+ const base = new Date(baseDate);
139
+ const target = new Date(targetDate);
140
+ const diffMs = target.getTime() - base.getTime();
141
+ const diffDays = Math.floor(diffMs / (1000 * 60 * 60 * 24));
142
+ return diffDays;
143
+ };
144
+ exports.formatRelativeDaysNumber = formatRelativeDaysNumber;
145
+ /**
146
+ * baseDate(基準日) に比べて targetDate(おもに期限) が何日後かを計算して返す
147
+ * (文字列で)
148
+ * base 2025/07/19 target 2025/07/18 => -1
149
+ * @param baseDate
150
+ * @param targetDate
151
+ * @param locale
152
+ * @returns
153
+ */
154
+ const formatRelativeDays = (baseDate, targetDate, locale = 'ja') => {
155
+ const diffDays = (0, exports.formatRelativeDaysNumber)(baseDate, targetDate);
156
+ if (diffDays === undefined)
157
+ return undefined;
158
+ const rtf = new Intl.RelativeTimeFormat(locale, { numeric: 'auto' });
159
+ return rtf.format(diffDays, 'day'); // "in 3 days" → "3日後"
160
+ };
161
+ exports.formatRelativeDays = formatRelativeDays;
162
+ // if (!module.parent) { /* empty */ }
163
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/common/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ import { TaskNode } from './TaskNode';
2
+ import { TaskRow } from './TaskRow';
3
+ export declare class Project {
4
+ private _taskNodes;
5
+ private _baseDate;
6
+ private _startDate?;
7
+ private _endDate?;
8
+ private _name?;
9
+ private _taskService;
10
+ constructor(_taskNodes: TaskNode[], _baseDate: Date, _startDate?: Date | undefined, _endDate?: Date | undefined, _name?: string | undefined);
11
+ get baseDate(): Date;
12
+ get taskNodes(): TaskNode[];
13
+ get startDate(): Date | undefined;
14
+ get endDate(): Date | undefined;
15
+ get name(): string | undefined;
16
+ get length(): number;
17
+ toTaskRows(): TaskRow[];
18
+ printAndGetRawData: (printRowNum?: number) => {
19
+ 予定開始日: string;
20
+ 予定終了日: string;
21
+ 実績開始日: string;
22
+ 実績終了日: string;
23
+ 進捗応当日: string;
24
+ sharp: number;
25
+ id: number;
26
+ level: number;
27
+ name: string;
28
+ assignee?: string | undefined;
29
+ workload?: number | undefined;
30
+ progressRate?: number | undefined;
31
+ scheduledWorkDays?: number | undefined;
32
+ pv?: number | undefined;
33
+ ev?: number | undefined;
34
+ spi?: number | undefined;
35
+ delayDays?: number | undefined;
36
+ remarks?: string | undefined;
37
+ parentId?: number | undefined;
38
+ isLeaf?: boolean | undefined;
39
+ }[];
40
+ /**
41
+ * Project単位の統計情報を返す
42
+ * @param project
43
+ * @returns
44
+ */
45
+ get statisticsByProject(): ProjectStatistics[];
46
+ get statisticsByName(): AssigneeStatistics[];
47
+ /**
48
+ * LongData形式のPV情報を返す
49
+ * @param calcPVS 累積が欲しいときはtrue、デフォルトはfalse
50
+ * @returns LongData[]
51
+ */
52
+ private _internalPvByProjectLong;
53
+ /**
54
+ * Projectごともしくはヒトごとのデータについて、ひと単位の横並びデータに並び替える
55
+ * Excelに表示するなどはこちらが良い
56
+ * @param longDatas
57
+ * @returns
58
+ */
59
+ private _toWideFormat;
60
+ private _internalPvByProject;
61
+ get pvByProjectLong(): LongData[];
62
+ get pvsByProjectLong(): LongData[];
63
+ get pvByProject(): Record<string, unknown>[];
64
+ get pvsByProject(): Record<string, unknown>[];
65
+ private _internalPvByNameLong;
66
+ private _internalPvByName;
67
+ get pvByNameLong(): LongData[];
68
+ get pvsByNameLong(): LongData[];
69
+ get pvByName(): Record<string, unknown>[];
70
+ get pvsByName(): Record<string, unknown>[];
71
+ }
72
+ export declare const isValidNumber: (value: unknown) => value is number;
73
+ export declare const calcRate: (a: number | undefined, b: number | undefined) => number | undefined;
74
+ export type Statistics = {
75
+ totalTasksCount?: number;
76
+ totalWorkloadExcel?: number;
77
+ totalWorkloadCalculated?: number;
78
+ averageWorkload?: number;
79
+ baseDate: string;
80
+ totalPvExcel?: number;
81
+ totalPvCalculated?: number;
82
+ totalEv?: number;
83
+ spi?: number;
84
+ };
85
+ export type ProjectStatistics = {
86
+ projectName?: string;
87
+ startDate: string;
88
+ endDate: string;
89
+ } & Statistics;
90
+ export type AssigneeStatistics = {
91
+ assignee?: string;
92
+ } & Statistics;
93
+ export type LongData = {
94
+ assignee: string;
95
+ baseDate: string;
96
+ value?: number;
97
+ };
98
+ //# sourceMappingURL=Project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Project.d.ts","sourceRoot":"","sources":["../../src/domain/Project.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,qBAAa,OAAO;IAIZ,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,UAAU,CAAC;IACnB,OAAO,CAAC,QAAQ,CAAC;IACjB,OAAO,CAAC,KAAK,CAAC;IAPlB,OAAO,CAAC,YAAY,CAAoB;gBAG5B,UAAU,EAAE,QAAQ,EAAE,EACtB,SAAS,EAAE,IAAI,EACf,UAAU,CAAC,EAAE,IAAI,YAAA,EACjB,QAAQ,CAAC,EAAE,IAAI,YAAA,EACf,KAAK,CAAC,EAAE,MAAM,YAAA;IAG1B,IAAI,QAAQ,SAEX;IACD,IAAI,SAAS,eAEZ;IAED,IAAI,SAAS,qBAEZ;IACD,IAAI,OAAO,qBAEV;IACD,IAAI,IAAI,uBAEP;IAED,IAAI,MAAM,WAET;IAED,UAAU,IAAI,OAAO,EAAE;IAIvB,kBAAkB,GAAI,cAAc,MAAM;;;;;;;;;;;;;;;;;;;;;QA2CzC;IAED;;;;OAIG;IACH,IAAI,mBAAmB,IAAI,iBAAiB,EAAE,CA0B7C;IAED,IAAI,gBAAgB,IAAI,kBAAkB,EAAE,CAwB3C;IAED;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IA4ChC;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,oBAAoB;IAK5B,IAAI,eAAe,eAElB;IACD,IAAI,gBAAgB,eAEnB;IAED,IAAI,WAAW,8BAEd;IAED,IAAI,YAAY,8BAEf;IAED,OAAO,CAAC,qBAAqB;IA0C7B,OAAO,CAAC,iBAAiB;IAKzB,IAAI,YAAY,eAEf;IAED,IAAI,aAAa,eAEhB;IAED,IAAI,QAAQ,8BAEX;IAED,IAAI,SAAS,8BAEZ;CACJ;AA0BD,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,MACH,CAAA;AAcrD,eAAO,MAAM,QAAQ,GAAI,GAAG,MAAM,GAAG,SAAS,EAAE,GAAG,MAAM,GAAG,SAAS,uBAKpE,CAAA;AAoBD,MAAM,MAAM,UAAU,GAAG;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAClB,GAAG,UAAU,CAAA;AAEd,MAAM,MAAM,kBAAkB,GAAG;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,UAAU,CAAA;AAEd,MAAM,MAAM,QAAQ,GAAG;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA"}
@@ -0,0 +1,291 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calcRate = exports.isValidNumber = exports.Project = void 0;
4
+ const tidy_1 = require("@tidyjs/tidy");
5
+ const common_1 = require("../common");
6
+ const TaskService_1 = require("./TaskService");
7
+ class Project {
8
+ constructor(_taskNodes, _baseDate, _startDate, _endDate, _name) {
9
+ this._taskNodes = _taskNodes;
10
+ this._baseDate = _baseDate;
11
+ this._startDate = _startDate;
12
+ this._endDate = _endDate;
13
+ this._name = _name;
14
+ this._taskService = new TaskService_1.TaskService();
15
+ this.printAndGetRawData = (printRowNum) => {
16
+ console.log(`プロジェクト名: ${this._name}`);
17
+ console.log(`開始日: ${(0, common_1.dateStr)(this._startDate)}`);
18
+ console.log(`終了日: ${(0, common_1.dateStr)(this._endDate)}`);
19
+ console.log(`基準日: ${(0, common_1.dateStr)(this._baseDate)}`);
20
+ // console.table(this._taskNodes)
21
+ const taskRows = this.toTaskRows();
22
+ const rows = taskRows.map((taskRow) => {
23
+ const {
24
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
25
+ calculatePV,
26
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
27
+ calculatePVs,
28
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
29
+ plotMap,
30
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
31
+ checkStartEndDateAndPlotMap, startDate, endDate, actualStartDate, actualEndDate, expectedProgressDate, ...rest // ココのデータだけが出力される
32
+ } = taskRow;
33
+ return {
34
+ ...rest,
35
+ 予定開始日: (0, common_1.dateStr)(startDate),
36
+ 予定終了日: (0, common_1.dateStr)(endDate),
37
+ 実績開始日: (0, common_1.dateStr)(actualStartDate),
38
+ 実績終了日: (0, common_1.dateStr)(actualEndDate),
39
+ 進捗応当日: (0, common_1.dateStr)(expectedProgressDate),
40
+ };
41
+ });
42
+ // ユーザ入力値か、未指定なら全部。入力値が大きいときも全部
43
+ // const num = printRowNum && printRowNum <= rows.length ? printRowNum : rows.length
44
+ const taskCount = rows.length;
45
+ console.log(`タスク数:${taskCount}件`);
46
+ const numToShow = Math.min(printRowNum ?? taskCount, taskCount);
47
+ console.log(`先頭${numToShow}行データ:`);
48
+ console.table(rows.slice(0, numToShow));
49
+ return rows;
50
+ };
51
+ }
52
+ get baseDate() {
53
+ return this._baseDate;
54
+ }
55
+ get taskNodes() {
56
+ return this._taskNodes;
57
+ }
58
+ get startDate() {
59
+ return this._startDate;
60
+ }
61
+ get endDate() {
62
+ return this._endDate;
63
+ }
64
+ get name() {
65
+ return this._name;
66
+ }
67
+ get length() {
68
+ return this.toTaskRows().length;
69
+ }
70
+ toTaskRows() {
71
+ return this._taskService.convertToTaskRows(this._taskNodes);
72
+ }
73
+ /**
74
+ * Project単位の統計情報を返す
75
+ * @param project
76
+ * @returns
77
+ */
78
+ get statisticsByProject() {
79
+ const name = this._name;
80
+ const baseDate = this._baseDate;
81
+ const startDate = this._startDate; // Date|undefinedだけど、実際はほぼ確実に、存在する(タスクが0コとか)
82
+ const endDate = this._endDate; // Date|undefinedだけど、実際はほぼ確実に、存在する(タスクが0コとか)
83
+ const rows = this.toTaskRows();
84
+ const result = (0, tidy_1.tidy)(rows, (0, tidy_1.filter)((row) => row.isLeaf), //フォルダの情報は不要
85
+ (0, tidy_1.summarize)({
86
+ projectName: () => name,
87
+ startDate: () => (0, common_1.dateStr)(startDate),
88
+ endDate: () => (0, common_1.dateStr)(endDate),
89
+ totalTasksCount: (group) => group.length,
90
+ totalWorkloadExcel: sumWorkload, // Excel工数(task#workload) の 足し算
91
+ totalWorkloadCalculated: (group) => sumCalculatePVs(group, endDate), // endDate時の、計算、累積pv(したのヤツ) の、足し算
92
+ averageWorkload: averageWorkload,
93
+ baseDate: () => (0, common_1.dateStr)(baseDate),
94
+ totalPvExcel: sumPVs, // Excel累積pv(TaskRow#pv) の足し算
95
+ totalPvCalculated: (group) => sumCalculatePVs(group, baseDate), // 計算、累積pv(TaskRow#calculatePVs(baseDate)) の、足し算
96
+ totalEv: sumEVs, // Excel累積Ev(TaskRow#ev) の足し算
97
+ spi: (group) => calculateSPI(group, baseDate),
98
+ }));
99
+ // console.table(result)
100
+ return result;
101
+ }
102
+ get statisticsByName() {
103
+ const baseDate = this._baseDate;
104
+ const endDate = this._endDate;
105
+ const rows = this.toTaskRows();
106
+ const result = (0, tidy_1.tidy)(rows, (0, tidy_1.filter)((row) => row.isLeaf), //フォルダの情報は不要
107
+ (0, tidy_1.groupBy)('assignee', [
108
+ (0, tidy_1.summarize)({
109
+ totalTasksCount: (group) => group.length,
110
+ totalWorkloadExcel: sumWorkload,
111
+ totalWorkloadCalculated: (group) => sumCalculatePVs(group, endDate),
112
+ averageWorkload: averageWorkload,
113
+ baseDate: () => (0, common_1.dateStr)(baseDate),
114
+ totalPvExcel: sumPVs,
115
+ totalPvCalculated: (group) => sumCalculatePVs(group, baseDate),
116
+ totalEv: sumEVs,
117
+ spi: (group) => calculateSPI(group, baseDate),
118
+ }),
119
+ ]));
120
+ // console.table(result)
121
+ return result;
122
+ }
123
+ /**
124
+ * LongData形式のPV情報を返す
125
+ * @param calcPVS 累積が欲しいときはtrue、デフォルトはfalse
126
+ * @returns LongData[]
127
+ */
128
+ _internalPvByProjectLong(calcPVS = false) {
129
+ // const baseDate = project.baseDate
130
+ const from = this._startDate;
131
+ const to = this._endDate;
132
+ // const projectName = this._name
133
+ if (!(from && to)) {
134
+ throw new Error('fromかtoが取得できませんでした');
135
+ }
136
+ const baseDates = (0, common_1.generateBaseDates)(from, to);
137
+ const rows = this.toTaskRows();
138
+ const longFormat = [];
139
+ for (const baseDate of baseDates) {
140
+ const label = (0, common_1.dateStr)(baseDate);
141
+ const result = (0, tidy_1.tidy)(rows, (0, tidy_1.filter)((row) => row.isLeaf), //フォルダの情報は不要
142
+ // filter((row: TaskRow) => row.assignee !== undefined),
143
+ (0, tidy_1.summarize)({
144
+ [`${label}`]: (group) => calcPVS
145
+ ? sumCalculatePVs(group, baseDate)
146
+ : sumCalculatePV(group, baseDate),
147
+ // 基準日ごとに、担当者でグルーピングされたPVデータを足している
148
+ }));
149
+ // console.table(result)
150
+ for (const row of result) {
151
+ const name = (row.assignee ?? '(未割当)');
152
+ longFormat.push({
153
+ assignee: name,
154
+ baseDate: label,
155
+ value: row[label],
156
+ });
157
+ }
158
+ }
159
+ return longFormat;
160
+ }
161
+ /**
162
+ * Projectごともしくはヒトごとのデータについて、ひと単位の横並びデータに並び替える
163
+ * Excelに表示するなどはこちらが良い
164
+ * @param longDatas
165
+ * @returns
166
+ */
167
+ _toWideFormat(longDatas) {
168
+ const wideMap = new Map();
169
+ for (const { assignee, baseDate, value } of longDatas) {
170
+ // const mapKey = `${assignee}::${fromClass}->${toClass}`
171
+ // assigneeごとに、baseDateプロパティを追加していく(pvデータを横並びにしたい)
172
+ const mapKey = assignee;
173
+ if (!wideMap.has(mapKey)) {
174
+ wideMap.set(mapKey, { assignee });
175
+ }
176
+ wideMap.get(mapKey)[baseDate] = value;
177
+ }
178
+ return Array.from(wideMap.values());
179
+ }
180
+ _internalPvByProject(calcPVS = false) {
181
+ const longDatas = this._internalPvByProjectLong(calcPVS);
182
+ return this._toWideFormat(longDatas);
183
+ }
184
+ get pvByProjectLong() {
185
+ return this._internalPvByProjectLong();
186
+ }
187
+ get pvsByProjectLong() {
188
+ return this._internalPvByProjectLong(true);
189
+ }
190
+ get pvByProject() {
191
+ return this._internalPvByProject();
192
+ }
193
+ get pvsByProject() {
194
+ return this._internalPvByProject(true);
195
+ }
196
+ _internalPvByNameLong(calcPVS = false) {
197
+ const from = this._startDate;
198
+ const to = this._endDate;
199
+ if (!(from && to)) {
200
+ throw new Error('fromかtoが取得できませんでした');
201
+ }
202
+ const baseDates = (0, common_1.generateBaseDates)(from, to);
203
+ const rows = this.toTaskRows();
204
+ const longFormat = [];
205
+ for (const baseDate of baseDates) {
206
+ const label = (0, common_1.dateStr)(baseDate);
207
+ const result = (0, tidy_1.tidy)(rows, (0, tidy_1.filter)((row) => row.isLeaf), //フォルダの情報は不要
208
+ // filter((row: TaskRow) => row.assignee !== undefined),
209
+ (0, tidy_1.groupBy)('assignee', [
210
+ (0, tidy_1.summarize)({
211
+ [`${label}`]: (group) => calcPVS
212
+ ? sumCalculatePVs(group, baseDate)
213
+ : sumCalculatePV(group, baseDate), // 基準日ごとに、担当者でグルーピングされたPVデータを足している
214
+ }),
215
+ ]));
216
+ // console.table(result)
217
+ for (const row of result) {
218
+ const name = (row.assignee ?? '(未割当)');
219
+ longFormat.push({
220
+ assignee: name,
221
+ baseDate: label,
222
+ value: row[label],
223
+ });
224
+ }
225
+ }
226
+ return longFormat;
227
+ }
228
+ _internalPvByName(calcPVS = false) {
229
+ const longDatas = this._internalPvByNameLong(calcPVS);
230
+ return this._toWideFormat(longDatas);
231
+ }
232
+ get pvByNameLong() {
233
+ return this._internalPvByNameLong();
234
+ }
235
+ get pvsByNameLong() {
236
+ return this._internalPvByNameLong(true);
237
+ }
238
+ get pvByName() {
239
+ return this._internalPvByName();
240
+ }
241
+ get pvsByName() {
242
+ return this._internalPvByName(true);
243
+ }
244
+ }
245
+ exports.Project = Project;
246
+ const sumWorkload = (group) => (0, common_1.sum)(group.map((d) => d.workload ?? 0));
247
+ const averageWorkload = (group) => (0, common_1.average)(group.map((d) => d.workload ?? 0));
248
+ const sumCalculatePV = (group, baseDate) => (0, common_1.sum)(group.map((d) => d.calculatePV(baseDate) ?? 0), 3);
249
+ const sumCalculatePVs = (group, baseDate) => (0, common_1.sum)(group.map((d) => d.calculatePVs(baseDate) ?? 0), 3);
250
+ const sumPVs = (group) => (0, common_1.sum)(group.map((d) => d.pv ?? 0), 3); // 基準日ごとに、担当者でグルーピングされたPVデータを足している
251
+ const sumEVs = (group) => (0, common_1.sum)(group.map((d) => d.ev ?? 0), 3);
252
+ const isValidNumber = (value) => typeof value === 'number' && !Number.isNaN(value);
253
+ exports.isValidNumber = isValidNumber;
254
+ // const calcSPI = (group: TaskRow[]) => {
255
+ // const ev = sumEVs(group)
256
+ // const pv = sumPVs(group)
257
+ // return calcRate(ev, pv)
258
+ // }
259
+ const calculateSPI = (group, baseDate) => {
260
+ const ev = sumEVs(group);
261
+ const pv = sumCalculatePVs(group, baseDate);
262
+ return (0, exports.calcRate)(ev, pv);
263
+ };
264
+ const calcRate = (a, b) => {
265
+ if ((0, exports.isValidNumber)(b) && (0, exports.isValidNumber)(a) && b !== 0) {
266
+ return a / b;
267
+ }
268
+ return undefined;
269
+ };
270
+ exports.calcRate = calcRate;
271
+ // /**
272
+ // * タスク情報
273
+ // */
274
+ // private nu.mine.kino.entity.TaskInformation[] taskInformations;
275
+ // /**
276
+ // * プロジェクト開始日
277
+ // */
278
+ // private java.util.Date projectStartDate;
279
+ // /**
280
+ // * プロジェクト終了日
281
+ // */
282
+ // private java.util.Date projectEndDate;
283
+ // /**
284
+ // * 基準日
285
+ // */
286
+ // private java.util.Date baseDate;
287
+ // /**
288
+ // * 休日カレンダー
289
+ // */
290
+ // private nu.mine.kino.entity.Holiday[] holidays;
291
+ //# sourceMappingURL=Project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Project.js","sourceRoot":"","sources":["../../src/domain/Project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Project } from './Project';
2
+ /**
3
+ * Projectを生成するインタフェース
4
+ */
5
+ export interface ProjectCreator {
6
+ createProject(): Promise<Project>;
7
+ }
8
+ //# sourceMappingURL=ProjectCreator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectCreator.d.ts","sourceRoot":"","sources":["../../src/domain/ProjectCreator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;CACpC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ProjectCreator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectCreator.js","sourceRoot":"","sources":["../../src/domain/ProjectCreator.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { ProjectProgress } from '../presentation/project-test2';
2
+ export interface ProjectProgressCreator {
3
+ createProjectProgress(): Promise<ProjectProgress[]>;
4
+ }
5
+ //# sourceMappingURL=ProjectProgressCreator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectProgressCreator.d.ts","sourceRoot":"","sources":["../../src/domain/ProjectProgressCreator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAE/D,MAAM,WAAW,sBAAsB;IACnC,qBAAqB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAA;CACtD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ProjectProgressCreator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectProgressCreator.js","sourceRoot":"","sources":["../../src/domain/ProjectProgressCreator.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { Project } from './Project';
2
+ export interface ProjectRepository {
3
+ save(project: Project): Promise<void>;
4
+ }
5
+ //# sourceMappingURL=ProjectRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectRepository.d.ts","sourceRoot":"","sources":["../../src/domain/ProjectRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,WAAW,iBAAiB;IAC9B,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAaxC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ProjectRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectRepository.js","sourceRoot":"","sources":["../../src/domain/ProjectRepository.ts"],"names":[],"mappings":""}