<?php

namespace Modules\Parametrage\Oxaproc\Service;

use Entity\Model\Paravrac;
use Helpers\Outil\Sql;
use Helpers\Trad\ITrad;
use Helpers\Validator\Validator;

class ParamOxaprocService
{
    /**
     * @return array<mixed>
     */
    public function getFonctionInput()
    {
        return [
            //URL
            'URLACCESOXAPROC' => [
                'NOM' => 'URL de lancement Oxaproc',
                'type' => 'URL',
                'TYPEPARV' => 'OXAPROC'
            ],
            'SUPPORT_URL' => [
                'NOM' => 'URL du lien "Support"',
                'type' => 'URL',
                'TYPEPARV' => 'OXAPROC',
                'min' => '0',
                'max' => '255',
            ],
            'CONTACT_URL' => [
                'NOM' => 'URL du lien "Contact"',
                'type' => 'URL',
                'TYPEPARV' => 'OXAPROC',
                'min' => '0',
                'max' => '255',
            ],
            'AIDE_TYPE' => [
                'type' => 'SELECT',
                'TYPEPARV' => 'OXAPROC'
            ],
            'AIDE_URL_EXT' => [
                'NOM' => 'URL du lien "Aide"',
                'type' => 'URL',
                'TYPEPARV' => 'OXAPROC'
            ],

            //initialisation
            'DEFSFAMMAN' => [
                'NOM' => 'Sous-famille d\'initialisation pour les lignes libre',
                'type' => 'ZOOM',
                'entity' => 'SousFamille',
                'TYPEPARV' => 'OXAPROC'
            ],
            'TYPDOCUMENT' => [
                'NOM' => 'Type de document par défaut pour les DA pour commande et Cdes directes Oxaproc',
                'type' => 'ZOOM',
                'entity' => 'typeDoc',
                'TYPEPARV' => 'OXAPROC'
            ],
            'TYPDOC_NONINIT' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],

            'DELAISIG_DEMCRECOMPTE' => [
                'NOM' => 'Délai d\'attente de validation de demande (j)',
                'type' => 'TEXT',
                'TYPEPARV' => 'OXAPROC',
                'min' => '0',
                'max' => '99',
            ],
            'ORDRE_NOM_PRENOM' => [
                'type' => 'SELECT',
                'TYPEPARV' => 'OXAPROC'
            ],

            'LOGIN_MODE_FONCTION' => [
                'type' => 'SELECT',
                'TYPEPARV' => 'OXAPROC'
            ],
            'LOGIN_DDE_COMPTE_URL' => [
                'NOM' => 'URL Spécifique',
                'type' => 'URL',
                'TYPEPARV' => 'OXAPROC'
            ],

            'FOUOCC_SEUIL_CATHCT_DIFF' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'FOUOCC_SEUIL' => [
                'NOM' => 'Seuil de commande catalogue',
                'type' => 'FLOAT',
                'TYPEPARV' => 'OXAPROC',
                'min' => '0',
                'max' => '9999999999999',
            ],
            'FOUOCC_SEUIL_HCT' => [
                'NOM' => 'Seuil de commande hors catalogue',
                'type' => 'FLOAT',
                'TYPEPARV' => 'OXAPROC',
                'min' => '0',
                'max' => '9999999999999',
            ],

            'LIGMAN_PASINITDTELIV' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'LIGCAT_PASINITDTELIV' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],

            'ADRCDEFOUR_INITDEFAUT' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],

            //Général
            'CHOIX_SUPHIER' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'CHOIX_UO' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'UTILCREAT_SANS_SIGNAT_SUP' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'IMPOSER_DROIT_MOD_IMPUT' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'INSTRUCTFOURN_EN_TITREDA' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'RECHERCHE_INCREMENTALE_SUR_POPUP' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'TYPE_DATE_DEF' => [
                'type' => 'SELECT',
                'TYPEPARV' => 'OXAPROC'
            ],
            'ACCEPT_CDE_INF_MINI_FOURN' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'ACCEPT_CDE_EPROC_MNT_NUL' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'MASQUER_CHG_SOCIETE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'ZGEO_SUR_CTR_EMETTEUR' => [
                'NOM' => '',
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'LSTFOUR_FILTREZONEGEO' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'SOURCE_SI' => [
                'type' => 'SELECT',
                'TYPEPARV' => 'OXAPROC'
            ],
            'SUIVI_EXCLURE_LIENDOC_UO_HASTUTIL' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'AUTORISE_FRS_A_BLANC' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'NEPAS_AFFICHER_MSG_SEUILSEPROC_CAT_HCA' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],

            'SUIVI_BUDGET' => [ // O|O|O|N|N|N
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ], // les 6 champs sont géré ici dans l'ordre

            'DESACTIVERFULLTEXTFOURN' => [ // Enlever le fournisseur ?
                'type' => 'SWITCH',
                'TYPEPARV' => 'INTUITION'
            ],
            'INDEXATION_EXCLURE_LIENS_AF_GENERIQUE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'NE_PAS_PUBLIER_ACD_FOUR' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],

            'RECH_HAP_VIA_INTUITION' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'INTUITION'
            ],
            'RECH_ART_HAPLUS' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'HAPLUS'
            ],
            'TIMEPUNCH' => [
                'NOM' => 'Time out Punchout',
                'type' => 'TEXT',
                'TYPEPARV' => 'OXAPROC',
                'min' => '0',
                'max' => '9999999999',
            ],
            'DELAI_ECHEANCE' => [
                'NOM' => 'Calcul Echéances Catalogues',
                'type' => 'TEXT',
                'TYPEPARV' => 'OXACAT',
                'min' => '0',
                'max' => '99999',
            ],

            //routage que du visuel ?
            //Reception
            'BR_DATE_PERIODE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'BR_DATE_PERIODE_INIT' => [
                'type' => 'SELECT',
                'TYPEPARV' => 'OXAPROC'
            ],
            'CTR_EMET_VISIBLE_BR' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'DESIGN_VISIBLE_BR' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'SI_VISIBLE_BR' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'CDC_VISIBLE_BR' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'SCA_VISIBLE_BR' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'BR_SAISIE_TTC' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
        ];
    }

    /**
     * @return array<mixed>
     */
    public function getVisualInput()
    {
        return [
            //Bandeau
            'COLOR_CLIENT_1' => [
                'NOM' => 'Couleur principale',
                'type' => 'TEXT',
                'TYPEPARV' => 'OXAPROC'
            ],
            'COLOR_CLIENT_2' => [
                'NOM' => 'Couleur secondaire',
                'type' => 'TEXT',
                'TYPEPARV' => 'OXAPROC'
            ],
            'COLOR_TABLE' => [
                'type' => 'SELECT',
                'TYPEPARV' => 'OXAPROC'
            ],
            'TYPE_HEADER_URL_RELATIVE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'COLOR_SUIVI' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'PAGECNX_URLIMAGE' => [
                'NOM' => 'URL de l\'image sur l\'écran de connexion',
                'type' => 'TEXT',
                'TYPEPARV' => 'OXAPROC',
            ],
            'HEADER_URL' => [
                'NOM' => 'URL du bandeau de haut de page',
                'type' => 'TEXT',
                'TYPEPARV' => 'OXAPROC'
            ],
            'PAGECNX_AFFICHEBANDEAU' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],

            //General
            'NBDECPXU' => [
                'type' => 'SELECT',
                'TYPEPARV' => 'OXAPROC'
            ],
            'CACHER_PROSPECTS' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'ACCES_PORTAIL' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'PARAMGEN'
            ],
            'CODGEST_ARBO_FERMEE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'AFFTVA' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'AFFTTC' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'MASQUER_BUDGET_SAISIE_LIGNE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'MASQUER_PJ_CDE_DOCRAT' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'NB_FOUR_POSI_CARTE' => [
                'NOM' => 'Nombre de fournisseurs positionnables sur une carte',
                'type' => 'TEXT',
                'TYPEPARV' => 'OXAPROC',
                'sousType' => 'int',
                'min' => '0',
                'max' => '99',
            ],
            'LISTEFOURN_NEPASAFFICHER_ICONE_CATA' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'MASQUER_EPROC_DEMANDE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'MASQUER_ABON_PROFIL' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'DETAIL_LIGNE_PANIER' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'PROFILUSER_MASQ_CPT_SMTP' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],

            //recherche article
            'RECH_INCREMENTALE_ART' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'NBLIGPAGE' => [ // format ' 0| 0| 0| 0', 2eme split |
                'NOM' => 'Nombre par défaut de lignes articles/pages',
                'type' => 'TEXT',
                'TYPEPARV' => 'OXAPROC',
                'sousType' => 'int',
                'min' => '0',
                'max' => '90',
            ],
            'BARRENAVFOUR_AFFICHAGEVILLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'NBITEMPANEL' => [
                'NOM' => 'Nombre de lignes barres de navigation',
                'type' => 'TEXT',
                'TYPEPARV' => 'OXAPROC',
                'sousType' => 'int',
                'min' => '0',
                'max' => '99',
            ],
            'AFFCARSEL_NBRESULTMAX' => [
                'NOM' => 'Nb max. résultats pour affichage des caractéristique sélectives',
                'type' => 'TEXT',
                'TYPEPARV' => 'OXAPROC',
                'sousType' => 'int',
                'min' => '0',
                'max' => '9999',
            ],

            'ONG_TOP_ART_CDE_VISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'ONG_TOP_ART_CDE_NBRE_LIGNES' => [
                'NOM' => 'Nombre d\'article les plus commandés',
                'type' => 'TEXT',
                'TYPEPARV' => 'OXAPROC',
                'sousType' => 'int',
                'min' => '0',
                'max' => '10000',
            ],
            'ONG_TOP_ART_CDE_NBRE_MOIS' => [
                'NOM' => 'Nombre de mois à analyser pour le calcul',
                'type' => 'TEXT',
                'TYPEPARV' => 'OXAPROC',
                'sousType' => 'int',
                'min' => '0',
                'max' => '99',
            ],
            'EXCL_ARTGEN_HISTOCDE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],

            'RECH_CATA_OUVERT_PAR_DEFAUT' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'RECHERCHE_PAR_REF' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'ARTGEN_LISTEFOURN_LIMITEE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'RECHERCHE_PAR_FAVORI' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'FAVORI_SUR_ART_GEN' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'AFFRAYON' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],

            //Panier
            'SIENTDA' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'INTRAVISIB'
            ],
            'CDCENTDA' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'INTRAVISIB'
            ],
            'SCAENTDA' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'INTRAVISIB'
            ],
            'SILIGDA' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'INTRAVISIB'
            ],
            'CDCLIGDA' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'INTRAVISIB'
            ],
            'SCALIGDA' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'INTRAVISIB'
            ],

            'AFFICHAGE_ONGLET_INSTRUCT_FRS' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'CDPENTDA' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'INTRAVISIB'
            ],
            'MDLENTDA' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'INTRAVISIB'
            ],
            'MDPENTDA' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'INTRAVISIB'
            ],
            'AFFICHAGE_ONGLET_CLAUSES' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'AFFICHAGE_ONGLET_PJ' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'AFFICHAGE_ONGLET_DOC_RATT' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'AFFICHAGE_ONGLET_LIVRAISON' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],

            'MASQUER_CHIFF_EXEC' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'VALEUR_DEF_CHIFF_EXEC' => [
                'type' => 'SELECT',
                'TYPEPARV' => 'OXAPROC'
            ],
            'MASQUER_BUDGET' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'SAISIE_PRIX_SI_NUL' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'INTERDIRE_PX_QTE_NEG' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],
            'MASQUER_BTN_PASS_DA' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'OXAPROC'
            ],


            'PARAMIMPCDE_NONVISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'GEST_FOURN'
            ],
            'SOUSADR_NONVISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'GEST_FOURN'
            ],
            'BDD_NONVISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'GEST_FOURN'
            ],
            'SFAM_NONVISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'GEST_FOURN'
            ],
            'TYPACH_NONVISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'GEST_FOURN'
            ],
            'MOTSCLEFS_NONVISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'GEST_FOURN'
            ],
            'ZONESGEO_NONVISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'GEST_FOURN'
            ],
            'CHIFFAFF_NONVISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'GEST_FOURN'
            ],
            'REGLEM_NONVISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'GEST_FOURN'
            ],
            'CONDT_NONVISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'GEST_FOURN'
            ],
            'DETAIL_NONVISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'GEST_FOURN'
            ],
            'CONTACTS_NONVISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'GEST_FOURN'
            ],
            'DOCS_RATT_NONVISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'GEST_FOURN'
            ],
            'INTERACTIONS_NONVISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'GEST_FOURN'
            ],
            'CS_NONVISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'GEST_FOURN'
            ],
            'OXA360_NONVISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'GEST_FOURN'
            ],
            'HISTO_NONVISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'GEST_FOURN'
            ],
            'EVAL_NONVISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'GEST_FOURN'
            ],
            'INDICATEURS_NONVISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'GEST_FOURN'
            ],
            'FACT_SANS_CMD_NONVISIBLE' => [
                'type' => 'SWITCH',
                'TYPEPARV' => 'GEST_FOURN'
            ],
        ];
    }
}
