@optifye/dashboard-core 6.5.10 → 6.5.11
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/dist/index.js +139 -17
- package/dist/index.mjs +139 -17
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -25339,29 +25339,36 @@ var LinePdfGenerator = ({
|
|
|
25339
25339
|
const startHour = parseInt(hours);
|
|
25340
25340
|
const startMinute = parseInt(minutes || "0");
|
|
25341
25341
|
let SHIFT_DURATION = 11;
|
|
25342
|
+
let endHour = startHour + 11;
|
|
25343
|
+
let endMinute = startMinute;
|
|
25342
25344
|
if (endTimeStr) {
|
|
25343
25345
|
const [endHours, endMinutes] = endTimeStr.split(":");
|
|
25344
|
-
|
|
25345
|
-
|
|
25346
|
+
endHour = parseInt(endHours);
|
|
25347
|
+
endMinute = parseInt(endMinutes || "0");
|
|
25346
25348
|
let duration = endHour - startHour;
|
|
25347
25349
|
if (duration <= 0) {
|
|
25348
25350
|
duration += 24;
|
|
25349
25351
|
}
|
|
25350
|
-
const
|
|
25351
|
-
|
|
25352
|
-
duration += minuteDiff / 60;
|
|
25353
|
-
}
|
|
25354
|
-
SHIFT_DURATION = Math.round(duration);
|
|
25352
|
+
const hasPartialLastHour = endMinute > 0 && endMinute < 60;
|
|
25353
|
+
SHIFT_DURATION = hasPartialLastHour ? Math.ceil(duration) : Math.round(duration);
|
|
25355
25354
|
}
|
|
25356
25355
|
return Array.from({ length: SHIFT_DURATION }, (_, i) => {
|
|
25356
|
+
const isLastHour = i === SHIFT_DURATION - 1;
|
|
25357
25357
|
const hourStartTime = /* @__PURE__ */ new Date();
|
|
25358
|
-
hourStartTime.setHours(startHour);
|
|
25358
|
+
hourStartTime.setHours((startHour + i) % 24);
|
|
25359
25359
|
hourStartTime.setMinutes(startMinute);
|
|
25360
25360
|
hourStartTime.setSeconds(0);
|
|
25361
25361
|
hourStartTime.setMilliseconds(0);
|
|
25362
|
-
|
|
25363
|
-
|
|
25364
|
-
|
|
25362
|
+
let hourEndTime = /* @__PURE__ */ new Date();
|
|
25363
|
+
if (isLastHour && endTimeStr) {
|
|
25364
|
+
hourEndTime.setHours(endHour % 24);
|
|
25365
|
+
hourEndTime.setMinutes(endMinute);
|
|
25366
|
+
} else {
|
|
25367
|
+
hourEndTime.setHours((startHour + i + 1) % 24);
|
|
25368
|
+
hourEndTime.setMinutes(startMinute);
|
|
25369
|
+
}
|
|
25370
|
+
hourEndTime.setSeconds(0);
|
|
25371
|
+
hourEndTime.setMilliseconds(0);
|
|
25365
25372
|
const formatTime3 = (date2) => {
|
|
25366
25373
|
return date2.toLocaleTimeString("en-IN", {
|
|
25367
25374
|
hour: "2-digit",
|
|
@@ -25378,17 +25385,132 @@ var LinePdfGenerator = ({
|
|
|
25378
25385
|
const targetOutputPerHour = Math.round(lineInfo.metrics.line_threshold / shiftDuration);
|
|
25379
25386
|
let hourlyActualOutput = [];
|
|
25380
25387
|
if (lineInfo.metrics.output_hourly && Object.keys(lineInfo.metrics.output_hourly).length > 0) {
|
|
25381
|
-
const
|
|
25388
|
+
const [startHourStr, startMinuteStr] = (lineInfo.metrics.shift_start || "6:00").split(":");
|
|
25389
|
+
const startHour = parseInt(startHourStr);
|
|
25390
|
+
const startMinute = parseInt(startMinuteStr || "0");
|
|
25391
|
+
const [endHourStr, endMinuteStr] = (lineInfo.metrics.shift_end || "18:00").split(":");
|
|
25392
|
+
const endMinute = parseInt(endMinuteStr || "0");
|
|
25393
|
+
const hasPartialLastHour = endMinute > 0 && endMinute < 60;
|
|
25382
25394
|
const expectedHours = [];
|
|
25383
25395
|
for (let i = 0; i < shiftDuration; i++) {
|
|
25384
25396
|
expectedHours.push((startHour + i) % 24);
|
|
25385
25397
|
}
|
|
25386
|
-
hourlyActualOutput = expectedHours.map((
|
|
25387
|
-
|
|
25388
|
-
|
|
25389
|
-
|
|
25398
|
+
hourlyActualOutput = expectedHours.map((expectedHour, index) => {
|
|
25399
|
+
let hourSum = 0;
|
|
25400
|
+
const outputHourly = lineInfo.metrics.output_hourly;
|
|
25401
|
+
const hourData = outputHourly[expectedHour.toString()] || [];
|
|
25402
|
+
if (startMinute > 0) {
|
|
25403
|
+
if (index === 0) {
|
|
25404
|
+
if (Array.isArray(hourData)) {
|
|
25405
|
+
for (let i = startMinute; i < hourData.length; i++) {
|
|
25406
|
+
const val = hourData[i];
|
|
25407
|
+
if (val !== "x" && typeof val === "number") {
|
|
25408
|
+
hourSum += val;
|
|
25409
|
+
}
|
|
25410
|
+
}
|
|
25411
|
+
}
|
|
25412
|
+
const nextHour = (expectedHour + 1) % 24;
|
|
25413
|
+
const nextHourData = outputHourly[nextHour.toString()] || [];
|
|
25414
|
+
if (Array.isArray(nextHourData)) {
|
|
25415
|
+
for (let i = 0; i < startMinute && i < nextHourData.length; i++) {
|
|
25416
|
+
const val = nextHourData[i];
|
|
25417
|
+
if (val !== "x" && typeof val === "number") {
|
|
25418
|
+
hourSum += val;
|
|
25419
|
+
}
|
|
25420
|
+
}
|
|
25421
|
+
}
|
|
25422
|
+
} else if (index < expectedHours.length - 1) {
|
|
25423
|
+
if (Array.isArray(hourData)) {
|
|
25424
|
+
for (let i = startMinute; i < hourData.length; i++) {
|
|
25425
|
+
const val = hourData[i];
|
|
25426
|
+
if (val !== "x" && typeof val === "number") {
|
|
25427
|
+
hourSum += val;
|
|
25428
|
+
}
|
|
25429
|
+
}
|
|
25430
|
+
}
|
|
25431
|
+
const nextHour = (expectedHour + 1) % 24;
|
|
25432
|
+
const nextHourData = outputHourly[nextHour.toString()] || [];
|
|
25433
|
+
if (Array.isArray(nextHourData)) {
|
|
25434
|
+
for (let i = 0; i < startMinute && i < nextHourData.length; i++) {
|
|
25435
|
+
const val = nextHourData[i];
|
|
25436
|
+
if (val !== "x" && typeof val === "number") {
|
|
25437
|
+
hourSum += val;
|
|
25438
|
+
}
|
|
25439
|
+
}
|
|
25440
|
+
}
|
|
25441
|
+
} else {
|
|
25442
|
+
if (hasPartialLastHour && endMinute > 0) {
|
|
25443
|
+
if (startMinute > 0) {
|
|
25444
|
+
if (Array.isArray(hourData)) {
|
|
25445
|
+
for (let i = startMinute; i < hourData.length; i++) {
|
|
25446
|
+
const val = hourData[i];
|
|
25447
|
+
if (val !== "x" && typeof val === "number") {
|
|
25448
|
+
hourSum += val;
|
|
25449
|
+
}
|
|
25450
|
+
}
|
|
25451
|
+
}
|
|
25452
|
+
const nextHour = (expectedHour + 1) % 24;
|
|
25453
|
+
const nextHourData = outputHourly[nextHour.toString()] || [];
|
|
25454
|
+
if (Array.isArray(nextHourData)) {
|
|
25455
|
+
for (let i = 0; i < endMinute && i < nextHourData.length; i++) {
|
|
25456
|
+
const val = nextHourData[i];
|
|
25457
|
+
if (val !== "x" && typeof val === "number") {
|
|
25458
|
+
hourSum += val;
|
|
25459
|
+
}
|
|
25460
|
+
}
|
|
25461
|
+
}
|
|
25462
|
+
} else {
|
|
25463
|
+
if (Array.isArray(hourData)) {
|
|
25464
|
+
for (let i = 0; i < endMinute && i < hourData.length; i++) {
|
|
25465
|
+
const val = hourData[i];
|
|
25466
|
+
if (val !== "x" && typeof val === "number") {
|
|
25467
|
+
hourSum += val;
|
|
25468
|
+
}
|
|
25469
|
+
}
|
|
25470
|
+
}
|
|
25471
|
+
}
|
|
25472
|
+
} else {
|
|
25473
|
+
if (Array.isArray(hourData)) {
|
|
25474
|
+
for (let i = startMinute; i < hourData.length; i++) {
|
|
25475
|
+
const val = hourData[i];
|
|
25476
|
+
if (val !== "x" && typeof val === "number") {
|
|
25477
|
+
hourSum += val;
|
|
25478
|
+
}
|
|
25479
|
+
}
|
|
25480
|
+
}
|
|
25481
|
+
const nextHour = (expectedHour + 1) % 24;
|
|
25482
|
+
const nextHourData = outputHourly[nextHour.toString()] || [];
|
|
25483
|
+
if (Array.isArray(nextHourData)) {
|
|
25484
|
+
for (let i = 0; i < startMinute && i < nextHourData.length; i++) {
|
|
25485
|
+
const val = nextHourData[i];
|
|
25486
|
+
if (val !== "x" && typeof val === "number") {
|
|
25487
|
+
hourSum += val;
|
|
25488
|
+
}
|
|
25489
|
+
}
|
|
25490
|
+
}
|
|
25491
|
+
}
|
|
25492
|
+
}
|
|
25493
|
+
} else {
|
|
25494
|
+
if (Array.isArray(hourData)) {
|
|
25495
|
+
hourData.forEach((val) => {
|
|
25496
|
+
if (val !== "x" && typeof val === "number") {
|
|
25497
|
+
hourSum += val;
|
|
25498
|
+
}
|
|
25499
|
+
});
|
|
25500
|
+
}
|
|
25501
|
+
if (index === expectedHours.length - 1 && hasPartialLastHour && endMinute > 0) {
|
|
25502
|
+
hourSum = 0;
|
|
25503
|
+
if (Array.isArray(hourData)) {
|
|
25504
|
+
for (let i = 0; i < endMinute && i < hourData.length; i++) {
|
|
25505
|
+
const val = hourData[i];
|
|
25506
|
+
if (val !== "x" && typeof val === "number") {
|
|
25507
|
+
hourSum += val;
|
|
25508
|
+
}
|
|
25509
|
+
}
|
|
25510
|
+
}
|
|
25511
|
+
}
|
|
25390
25512
|
}
|
|
25391
|
-
return
|
|
25513
|
+
return hourSum;
|
|
25392
25514
|
});
|
|
25393
25515
|
} else if (lineInfo.metrics.output_array && lineInfo.metrics.output_array.length > 0) {
|
|
25394
25516
|
hourlyActualOutput = lineInfo.metrics.output_array.reduce((acc, val, i) => {
|
package/dist/index.mjs
CHANGED
|
@@ -25309,29 +25309,36 @@ var LinePdfGenerator = ({
|
|
|
25309
25309
|
const startHour = parseInt(hours);
|
|
25310
25310
|
const startMinute = parseInt(minutes || "0");
|
|
25311
25311
|
let SHIFT_DURATION = 11;
|
|
25312
|
+
let endHour = startHour + 11;
|
|
25313
|
+
let endMinute = startMinute;
|
|
25312
25314
|
if (endTimeStr) {
|
|
25313
25315
|
const [endHours, endMinutes] = endTimeStr.split(":");
|
|
25314
|
-
|
|
25315
|
-
|
|
25316
|
+
endHour = parseInt(endHours);
|
|
25317
|
+
endMinute = parseInt(endMinutes || "0");
|
|
25316
25318
|
let duration = endHour - startHour;
|
|
25317
25319
|
if (duration <= 0) {
|
|
25318
25320
|
duration += 24;
|
|
25319
25321
|
}
|
|
25320
|
-
const
|
|
25321
|
-
|
|
25322
|
-
duration += minuteDiff / 60;
|
|
25323
|
-
}
|
|
25324
|
-
SHIFT_DURATION = Math.round(duration);
|
|
25322
|
+
const hasPartialLastHour = endMinute > 0 && endMinute < 60;
|
|
25323
|
+
SHIFT_DURATION = hasPartialLastHour ? Math.ceil(duration) : Math.round(duration);
|
|
25325
25324
|
}
|
|
25326
25325
|
return Array.from({ length: SHIFT_DURATION }, (_, i) => {
|
|
25326
|
+
const isLastHour = i === SHIFT_DURATION - 1;
|
|
25327
25327
|
const hourStartTime = /* @__PURE__ */ new Date();
|
|
25328
|
-
hourStartTime.setHours(startHour);
|
|
25328
|
+
hourStartTime.setHours((startHour + i) % 24);
|
|
25329
25329
|
hourStartTime.setMinutes(startMinute);
|
|
25330
25330
|
hourStartTime.setSeconds(0);
|
|
25331
25331
|
hourStartTime.setMilliseconds(0);
|
|
25332
|
-
|
|
25333
|
-
|
|
25334
|
-
|
|
25332
|
+
let hourEndTime = /* @__PURE__ */ new Date();
|
|
25333
|
+
if (isLastHour && endTimeStr) {
|
|
25334
|
+
hourEndTime.setHours(endHour % 24);
|
|
25335
|
+
hourEndTime.setMinutes(endMinute);
|
|
25336
|
+
} else {
|
|
25337
|
+
hourEndTime.setHours((startHour + i + 1) % 24);
|
|
25338
|
+
hourEndTime.setMinutes(startMinute);
|
|
25339
|
+
}
|
|
25340
|
+
hourEndTime.setSeconds(0);
|
|
25341
|
+
hourEndTime.setMilliseconds(0);
|
|
25335
25342
|
const formatTime3 = (date2) => {
|
|
25336
25343
|
return date2.toLocaleTimeString("en-IN", {
|
|
25337
25344
|
hour: "2-digit",
|
|
@@ -25348,17 +25355,132 @@ var LinePdfGenerator = ({
|
|
|
25348
25355
|
const targetOutputPerHour = Math.round(lineInfo.metrics.line_threshold / shiftDuration);
|
|
25349
25356
|
let hourlyActualOutput = [];
|
|
25350
25357
|
if (lineInfo.metrics.output_hourly && Object.keys(lineInfo.metrics.output_hourly).length > 0) {
|
|
25351
|
-
const
|
|
25358
|
+
const [startHourStr, startMinuteStr] = (lineInfo.metrics.shift_start || "6:00").split(":");
|
|
25359
|
+
const startHour = parseInt(startHourStr);
|
|
25360
|
+
const startMinute = parseInt(startMinuteStr || "0");
|
|
25361
|
+
const [endHourStr, endMinuteStr] = (lineInfo.metrics.shift_end || "18:00").split(":");
|
|
25362
|
+
const endMinute = parseInt(endMinuteStr || "0");
|
|
25363
|
+
const hasPartialLastHour = endMinute > 0 && endMinute < 60;
|
|
25352
25364
|
const expectedHours = [];
|
|
25353
25365
|
for (let i = 0; i < shiftDuration; i++) {
|
|
25354
25366
|
expectedHours.push((startHour + i) % 24);
|
|
25355
25367
|
}
|
|
25356
|
-
hourlyActualOutput = expectedHours.map((
|
|
25357
|
-
|
|
25358
|
-
|
|
25359
|
-
|
|
25368
|
+
hourlyActualOutput = expectedHours.map((expectedHour, index) => {
|
|
25369
|
+
let hourSum = 0;
|
|
25370
|
+
const outputHourly = lineInfo.metrics.output_hourly;
|
|
25371
|
+
const hourData = outputHourly[expectedHour.toString()] || [];
|
|
25372
|
+
if (startMinute > 0) {
|
|
25373
|
+
if (index === 0) {
|
|
25374
|
+
if (Array.isArray(hourData)) {
|
|
25375
|
+
for (let i = startMinute; i < hourData.length; i++) {
|
|
25376
|
+
const val = hourData[i];
|
|
25377
|
+
if (val !== "x" && typeof val === "number") {
|
|
25378
|
+
hourSum += val;
|
|
25379
|
+
}
|
|
25380
|
+
}
|
|
25381
|
+
}
|
|
25382
|
+
const nextHour = (expectedHour + 1) % 24;
|
|
25383
|
+
const nextHourData = outputHourly[nextHour.toString()] || [];
|
|
25384
|
+
if (Array.isArray(nextHourData)) {
|
|
25385
|
+
for (let i = 0; i < startMinute && i < nextHourData.length; i++) {
|
|
25386
|
+
const val = nextHourData[i];
|
|
25387
|
+
if (val !== "x" && typeof val === "number") {
|
|
25388
|
+
hourSum += val;
|
|
25389
|
+
}
|
|
25390
|
+
}
|
|
25391
|
+
}
|
|
25392
|
+
} else if (index < expectedHours.length - 1) {
|
|
25393
|
+
if (Array.isArray(hourData)) {
|
|
25394
|
+
for (let i = startMinute; i < hourData.length; i++) {
|
|
25395
|
+
const val = hourData[i];
|
|
25396
|
+
if (val !== "x" && typeof val === "number") {
|
|
25397
|
+
hourSum += val;
|
|
25398
|
+
}
|
|
25399
|
+
}
|
|
25400
|
+
}
|
|
25401
|
+
const nextHour = (expectedHour + 1) % 24;
|
|
25402
|
+
const nextHourData = outputHourly[nextHour.toString()] || [];
|
|
25403
|
+
if (Array.isArray(nextHourData)) {
|
|
25404
|
+
for (let i = 0; i < startMinute && i < nextHourData.length; i++) {
|
|
25405
|
+
const val = nextHourData[i];
|
|
25406
|
+
if (val !== "x" && typeof val === "number") {
|
|
25407
|
+
hourSum += val;
|
|
25408
|
+
}
|
|
25409
|
+
}
|
|
25410
|
+
}
|
|
25411
|
+
} else {
|
|
25412
|
+
if (hasPartialLastHour && endMinute > 0) {
|
|
25413
|
+
if (startMinute > 0) {
|
|
25414
|
+
if (Array.isArray(hourData)) {
|
|
25415
|
+
for (let i = startMinute; i < hourData.length; i++) {
|
|
25416
|
+
const val = hourData[i];
|
|
25417
|
+
if (val !== "x" && typeof val === "number") {
|
|
25418
|
+
hourSum += val;
|
|
25419
|
+
}
|
|
25420
|
+
}
|
|
25421
|
+
}
|
|
25422
|
+
const nextHour = (expectedHour + 1) % 24;
|
|
25423
|
+
const nextHourData = outputHourly[nextHour.toString()] || [];
|
|
25424
|
+
if (Array.isArray(nextHourData)) {
|
|
25425
|
+
for (let i = 0; i < endMinute && i < nextHourData.length; i++) {
|
|
25426
|
+
const val = nextHourData[i];
|
|
25427
|
+
if (val !== "x" && typeof val === "number") {
|
|
25428
|
+
hourSum += val;
|
|
25429
|
+
}
|
|
25430
|
+
}
|
|
25431
|
+
}
|
|
25432
|
+
} else {
|
|
25433
|
+
if (Array.isArray(hourData)) {
|
|
25434
|
+
for (let i = 0; i < endMinute && i < hourData.length; i++) {
|
|
25435
|
+
const val = hourData[i];
|
|
25436
|
+
if (val !== "x" && typeof val === "number") {
|
|
25437
|
+
hourSum += val;
|
|
25438
|
+
}
|
|
25439
|
+
}
|
|
25440
|
+
}
|
|
25441
|
+
}
|
|
25442
|
+
} else {
|
|
25443
|
+
if (Array.isArray(hourData)) {
|
|
25444
|
+
for (let i = startMinute; i < hourData.length; i++) {
|
|
25445
|
+
const val = hourData[i];
|
|
25446
|
+
if (val !== "x" && typeof val === "number") {
|
|
25447
|
+
hourSum += val;
|
|
25448
|
+
}
|
|
25449
|
+
}
|
|
25450
|
+
}
|
|
25451
|
+
const nextHour = (expectedHour + 1) % 24;
|
|
25452
|
+
const nextHourData = outputHourly[nextHour.toString()] || [];
|
|
25453
|
+
if (Array.isArray(nextHourData)) {
|
|
25454
|
+
for (let i = 0; i < startMinute && i < nextHourData.length; i++) {
|
|
25455
|
+
const val = nextHourData[i];
|
|
25456
|
+
if (val !== "x" && typeof val === "number") {
|
|
25457
|
+
hourSum += val;
|
|
25458
|
+
}
|
|
25459
|
+
}
|
|
25460
|
+
}
|
|
25461
|
+
}
|
|
25462
|
+
}
|
|
25463
|
+
} else {
|
|
25464
|
+
if (Array.isArray(hourData)) {
|
|
25465
|
+
hourData.forEach((val) => {
|
|
25466
|
+
if (val !== "x" && typeof val === "number") {
|
|
25467
|
+
hourSum += val;
|
|
25468
|
+
}
|
|
25469
|
+
});
|
|
25470
|
+
}
|
|
25471
|
+
if (index === expectedHours.length - 1 && hasPartialLastHour && endMinute > 0) {
|
|
25472
|
+
hourSum = 0;
|
|
25473
|
+
if (Array.isArray(hourData)) {
|
|
25474
|
+
for (let i = 0; i < endMinute && i < hourData.length; i++) {
|
|
25475
|
+
const val = hourData[i];
|
|
25476
|
+
if (val !== "x" && typeof val === "number") {
|
|
25477
|
+
hourSum += val;
|
|
25478
|
+
}
|
|
25479
|
+
}
|
|
25480
|
+
}
|
|
25481
|
+
}
|
|
25360
25482
|
}
|
|
25361
|
-
return
|
|
25483
|
+
return hourSum;
|
|
25362
25484
|
});
|
|
25363
25485
|
} else if (lineInfo.metrics.output_array && lineInfo.metrics.output_array.length > 0) {
|
|
25364
25486
|
hourlyActualOutput = lineInfo.metrics.output_array.reduce((acc, val, i) => {
|