import { eq } from "drizzle-orm"; import { db } from "../../../../database/dbclient.js"; import { settings } from "../../../../database/schema/settings.js"; import { tryCatch } from "../../../globalUtils/tryCatch.js"; import { query } from "../../sqlServer/prodSqlServer.js"; import { openOrders } from "../../sqlServer/querys/dataMart/openOrders.js"; export const getOpenOrders = async (data: any | null) => { const { data: plantToken, error: plantError } = await tryCatch( db.select().from(settings).where(eq(settings.name, "plantToken")) ); if (plantError) { return { success: false, message: "Error getting Settings", data: plantError, }; } let orders = []; let updatedQuery = openOrders; // start days can be sent over if (data?.sDay) { updatedQuery = updatedQuery.replaceAll("[sDay]", data.sDay[0]); } else { updatedQuery = updatedQuery.replaceAll("[sDay]", "15"); } // end days can be sent over if (data?.eDay) { updatedQuery = updatedQuery.replaceAll("[eDay]", data.eDay[0]); } else { updatedQuery = updatedQuery.replaceAll("[eDay]", "5"); } try { orders = await query(updatedQuery, "Get active openorders"); } catch (error) { return { success: false, message: "Current open orders", data: orders }; } // add plant token in const pOrders = orders.map((item: any) => { // const dateCon = new Date(item.loadingDate).toLocaleString("en-US", { // month: "numeric", // day: "numeric", // year: "numeric", // hour: "2-digit", // minute: "2-digit", // hour12: false, // }); //const dateCon = new Date(item.loadingDate).toISOString().replace("T", " ").split(".")[0]; const dateCon = new Date(item.loadingDate).toISOString().split("T")[0]; //const delDate = new Date(item.deliveryDate).toISOString().replace("T", " ").split(".")[0]; const delDate = new Date(item.deliveryDate).toISOString().split("T")[0]; return { plantToken: plantToken[0].value, ...item, loadingDate: dateCon, deliveryDate: delDate, }; }); return { success: true, message: "Current open orders", data: pOrders }; };