import { tryCatch } from "../../../globalUtils/tryCatch.js";
import { createLog } from "../../logger/logger.js";
import { query } from "../../sqlServer/prodSqlServer.js";
import { productionNumbers } from "../../sqlServer/querys/psiReport/prodcuctionNumbers.js";

// type ArticleData = {
//     id: string
// }
export const psiGetProductionData = async (
    avs: string,
    startDate: string,
    endDate: string
) => {
    let articles: any = [];

    if (!avs) {
        return {
            success: false,
            message: `Missing av's please send at least one over`,
            data: [],
        };
    }

    const { data, error } = (await tryCatch(
        query(
            productionNumbers
                .replace("[articles]", avs)
                .replace("[startDate]", startDate)
                .replace("[endDate]", endDate),
            "PSI production info"
        )
    )) as any;

    if (error) {
        createLog(
            "error",
            "datamart",
            "datamart",
            `There was an error getting the planning info: ${JSON.stringify(
                error
            )}`
        );
        return {
            success: false,
            messsage: `There was an error getting the planning info`,
            data: error,
        };
    }

    articles = data.data;

    return {
        success: true,
        message: "PSI planning Data",
        data: articles.map((n: any) => {
            if (n.PalDay) {
                return { ...n, PalDay: n.PalDay.toFixed(2) };
            }

            return n;
        }),
    };
};
