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"; import { serverSettings } from "../../server/controller/settings/getSettings.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, // }; // } const plantToken = serverSettings.filter((n) => n.name === "plantToken"); let orders: any = []; 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: "Errot getting current open orders", data: [], }; } // add plant token in const pOrders = orders.data.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 }; };