42 lines
1.3 KiB
TypeScript
42 lines
1.3 KiB
TypeScript
import { lanes } from "./cyclecountCheck.js";
|
|
|
|
export const getCycleCountCheck = async (age: number = 1000, type: any) => {
|
|
/**
|
|
* Get the lane data based on the age and type
|
|
*/
|
|
|
|
let filteredLanes = lanes;
|
|
|
|
if (type === "empty") {
|
|
let empty = lanes.filter((t: any) => t.rowType === type.toUpperCase());
|
|
|
|
return {
|
|
sucess: true,
|
|
message: `${empty.length} lanes that are of type ${type}.`,
|
|
data: empty.sort(
|
|
(a: any, b: any) => b.DaysSinceLast - a.DaysSinceLast
|
|
),
|
|
};
|
|
}
|
|
|
|
if (type != "") {
|
|
let noType = lanes.filter((t: any) => t.DaysSinceLast >= age);
|
|
|
|
return {
|
|
sucess: true,
|
|
message: `${noType.length} lanes that are of type ${type} and have not been cycle counted in the last ${age} days.`,
|
|
data: noType
|
|
.filter((t: any) => t.rowType === type?.toUpperCase())
|
|
.sort((a: any, b: any) => b.DaysSinceLast - a.DaysSinceLast),
|
|
};
|
|
}
|
|
|
|
return {
|
|
success: true,
|
|
message: `${filteredLanes.length} lanes grabed that have not been cycle counted in the last ${age} days.`,
|
|
data: filteredLanes.sort(
|
|
(a: any, b: any) => b.DaysSinceLast - a.DaysSinceLast
|
|
),
|
|
};
|
|
};
|