1import{u as G,t as d,r as m,b as n,j as s,L as x,B as l,d as w,e as A,f as O,g as Q,w as U,h as X,i as Y,k as _,m as J}from"./index-T5nyJFFV.js";import{D as T}from"./DashboardLayout-BHRLr7Kp.js";import{g as W,d as Z}from"./navigation-C3hjpKHv.js";import{I as u}from"./input-CrjApyCF.js";import{L as F}from"./label-rcduFh5D.js";import{S as ss}from"./switch-DiH2mKZw.js";import{S as N,a as C,b as L,c as k,d as M}from"./select-B85uJR_b.js";import{D as es,a as as,b as is,c as ts,d as ns,e as ls}from"./dialog-DeV6_amp.js";import{P as E}from"./plus-BJmzplf9.js";import{I as cs}from"./info-Dy2-1uAY.js";import{A as rs}from"./arrow-right-Bkjv1W6G.js";import{S as ps}from"./save-D_k51xYu.js";import{P as ds}from"./pencil-DMKCC_fs.js";import{T as os}from"./trash-2-CV08c-Tq.js";import"./download-mMdEW2BS.js";import"./badge-C5TQyfYT.js";import"./play-BhkvceeI.js";import"./chevron-right-ao0_Il05.js";import"./target-BuW5LVfX.js";import"./settings-PedzcGJT.js";import"./message-square-Bf1tv8Ok.js";import"./message-circle-VNr0KhCa.js";import"./users-Bfhr95HF.js";import"./search-CgSZHfWF.js";import"./upload-TVKBjj-1.js";import"./file-spreadsheet-C6t7NEb0.js";import"./chevron-left-cw3ou3fn.js";import"./circle-check-big-Be611mD_.js";import"./calendar-Sy4Jw0Y9.js";import"./shield-BZtALKZ6.js";import"./log-out-Byk8euDy.js";import"./party-popper-CvouvDOm.js";import"./calendar-clock-CU7ivC6_.js";import"./building-2-DHXObSyr.js";import"./check-DwNLX-GA.js";import"./dateUtils-DAIac9UL.js";import"./file-text-DRXKjAQT.js";import"./useComposition-C00Y3JuO.js";import"./index-BSY0BWl0.js";const j=[{value:"realCa",label:"CA (Chiffre d'Affaires)"},{value:"realSousTraitance",label:"Sous-traitance"},{value:"realConsultants",label:"Coûts Consultants"},{value:"realCaInterne",label:"CA Interne"},{value:"realMb",label:"Marge Brute"},{value:"realStructure",label:"Coûts de Structure"},{value:"realTaxes",label:"Impôts & Taxes"},{value:"realChargesExternes",label:"Charges Externes"},{value:"realCoutsHolding",label:"Coûts Holding"},{value:"realAutresExploit",label:"Autres Produits d'Exploitation"},{value:"realEbitda",label:"EBITDA"},{value:"realAmoEtProv",label:"Amortissements & Provisions"},{value:"realRexp",label:"Résultat d'Exploitation"},{value:"realRef",label:"Résultat Financier"},{value:"realRexc",label:"Résultat Exceptionnel"},{value:"realIs",label:"Impôt sur les Sociétés"},{value:"realResn",label:"Résultat Net"}];function Js(){const{user:I,loading:D}=G(),S=W(I?.role),{data:o,isLoading:P}=d.appSettings.getFinthesisMappings.useQuery(),b=d.useUtils(),[c,f]=m.useState(null),[t,h]=m.useState({}),[R,g]=m.useState(!1),[a,r]=m.useState({finthesisKey:"",finthesisLabel:"",clarityField:"",clarityLabel:"",lookupType:"key"}),p=d.appSettings.updateFinthesisMapping.useMutation({onSuccess:()=>{n.success("Correspondance mise à jour"),b.appSettings.getFinthesisMappings.invalidate(),f(null)},onError:e=>n.error("Erreur",{description:e.message})}),y=d.appSettings.createFinthesisMapping.useMutation({onSuccess:()=>{n.success("Correspondance ajoutée"),b.appSettings.getFinthesisMappings.invalidate(),g(!1),r({finthesisKey:"",finthesisLabel:"",clarityField:"",clarityLabel:"",lookupType:"key"})},onError:e=>n.error("Erreur",{description:e.message})}),K=d.appSettings.deleteFinthesisMapping.useMutation({onSuccess:()=>{n.success("Correspondance supprimée"),b.appSettings.getFinthesisMappings.invalidate()},onError:e=>n.error("Erreur",{description:e.message})}),q=e=>{f(e.id),h({finthesisKey:e.finthesisKey,finthesisLabel:e.finthesisLabel,clarityField:e.clarityField,clarityLabel:e.clarityLabel})},z=()=>{c&&p.mutate({id:c,...t})},B=(e,i)=>{p.mutate({id:e,isActive:!i})},H=e=>{confirm("Supprimer cette correspondance ? Cette action est irréversible.")&&K.mutate({id:e})},V=()=>{if(!a.finthesisKey||!a.finthesisLabel||!a.clarityField||!a.clarityLabel){n.error("Tous les champs sont requis");return}y.mutate({finthesisKey:a.finthesisKey,finthesisLabel:a.finthesisLabel,clarityField:a.clarityField,clarityLabel:a.clarityLabel,category:"custom"})};return D?s.jsx(T,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:135",
1navItems:S,children:s.jsx("div",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:136",className:"flex items-center justify-center h-64",children:s.jsx(x,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:137",className:"h-8 w-8 animate-spin text-muted-foreground"})})}):s.jsx(T,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:144",navItems:S,children:s.jsxs("div",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:145",className:"container max-w-6xl py-6 space-y-6",children:[s.jsxs("div",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:147",className:"flex items-center justify-between",children:[s.jsxs("div",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:148",children:[s.jsxs("h1",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:149",className:"text-2xl font-bold flex items-center gap-2",children:[s.jsx(Z,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:150",className:"h-6 w-6 text-blue-600"}),"Correspondances Finthesis"]}),s.jsx("p",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:153",className:"text-muted-foreground mt-1",children:"Gérez le mapping entre les lignes du P&L Finthesis et les champs budgétaires de Clarity. Ces correspondances sont utilisées lors de la synchronisation automatique des données réalisées."})]}),s.jsxs(l,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:158",onClick:()=>g(!0),className:"gap-2",children:[s.jsx(E,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:159",className:"h-4 w-4"}),"Ajouter"]})]}),s.jsx(w,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:165",className:"border-blue-200 bg-blue-50/50 dark:bg-blue-950/20 dark:border-blue-800",children:s.jsx(A,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:166",className:"pt-4 pb-3",children:s.jsxs("div",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:167",className:"flex gap-3",children:[s.jsx(cs,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:168",className:"h-5 w-5 text-blue-600 mt-0.5 shrink-0"}),s.jsxs("div",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:169",className:"text-sm text-blue-800 dark:text-blue-200",children:[s.jsx("p",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:170",className:"font-medium mb-1",children:"Comment fonctionne le mapping ?"}),s.jsxs("p",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:171",children:["Chaque ligne associe une ",s.jsx("strong",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:172",children:"clé ou un nom Finthesis"})," à un ",s.jsx("strong",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:172",children:"champ Clarity"}),". Lors de la synchronisation, le système recherche la ligne Finthesis correspondante par clé (",s.jsx("code",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:173",className:"bg-blue-100 dark:bg-blue-900 px-1 rounded text-xs",children:"key"}),") ou par nom (",s.jsx("code",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:174",className:"bg-blue-100 dark:bg-blue-900 px-1 rounded text-xs",children:"name"}),") et copie le montant dans le champ Clarity associé."]})]})]})})}),s.jsxs(w,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:182",children:[s.jsxs(O,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:183",children:[s.jsx(Q,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:184",className:"text-lg",children:"Table de correspondances"}),s.jsxs(U,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:185",children:[o?.length||0," correspondance(s) configurée(s) dont ",o?.filter(e=>e.isActive).length||0," active(s)"]})]}),s.jsx(A,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:189",children:P?s.jsx("div",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:191",className:"flex items-center justify-center py-12",children:s.jsx(x,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:192",className:"h-6 w-6 animate-spin text-muted-foreground"})}):o?.length?s.jsx("div",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:197",className:"overflow-x-auto",children:s.jsxs("table",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:198",className:"w-full text-sm",children:[s.jsx("thead",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:199",children:s.jsxs("tr",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:200",className:"border-b bg-muted/50",children:[s.jsx("th",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:201",className:"text-left py-3 px-3 font-medium",children:"Actif"}),s.jsx("th",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:202",className:"text-left py-3 px-3 font-medium",children:"Clé/Nom Finthesis"}),s.jsx("th",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:203",className:"text-left py-3 px-3 font-medium",children:"Libellé Finthesis"}),s.jsx("th",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:204",className:"text-center py-3 px-1 font-medium w-8"}),s.jsx("th",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:205",className:"text-left py-3 px-3 font-medium",children:"Champ Clarity"}),s.jsx("th",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:206",className:"text-left py-3 px-3 font-medium",children:"Libellé Clarity"}),s.jsx("th",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:207",className:"text-left py-3 px-3 font-medium",children:"Type"}),s.jsx("th",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:208",className:"text-right py-3 px-3 font-medium",children:"Actions"})]})}),s.jsx("tbody",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:211",children:o.map(e=>s.jsxs("tr",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:213",className:`border-b hover:bg-muted/30 ${e.isActive?"":"opacity-50"}`,children:[s.jsx("td",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:214",className:"py-2 px-3",children:s.jsx(ss,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:215",checked:e.isActive,onCheckedChange:()=>B(e.id,e.isActive),disabled:p.isPending})}),s.jsx("td",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:221",className:"py-2 px-3",children:c===e.id?s.jsx(u,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:223","aria-label":"Code Finthesis",value:t.finthesisKey||"",onChange:i=>h({...t,finthesisKey:i.target.value}),className:"h-8 text-xs font-mono"}):s.jsx("code",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:229",className:"text-xs bg-muted px-1.5 py-0.5 rounded font-mono",children:e.finthesisKey})}),s.jsx("td",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:232",className:"py-2 px-3",children:c===e.id?s.jsx(u,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:234","aria-label":"Nom de l'entité",value:t.finthesisLabel||"",onChange:i=>h({...t,finthesisLabel:i.target.value}),className:"h-8 text-xs"}):s.jsx("span",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:240",className:"text-xs",children:e.finthesisLabel})}),s.jsx("td",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:243",className:"py-2 px-1 text-center",children:s.jsx(rs,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:244",className:"h-4 w-4 text-muted-foreground mx-auto"})}),s.jsx("td",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:246",className:"py-2 px-3",children:c===e.id?s.jsxs(N,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:248",value:t.clarityField||e.clarityField,onValueChange:i=>{const v=j.find($=>$.value===i)?.label||i;h({...t,clarityField:i,clarityLabel:v})},children:[s.jsx(C,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:255",className:"h-8 text-xs",children:s.jsx(L,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:256"})}),s.jsx(k,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:258",children:j.map(i=>s.jsx(M,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:260",value:i.value,children:i.label},i.value))})]}):s.jsx("code",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:265",className:"text-xs bg-green-100 dark:bg-green-900/30 text-green-800 dark:text-green-200 px-1.5 py-0.5 rounded font-mono",children:e.clarityField})}),s.jsx("td",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:268",className:"py-2 px-3",children:s.jsx("span",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:269",className:"text-xs",children:e.clarityLabel})}),s.jsx("td",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:271",className:"py-2 px-3",children:s.jsxs(X,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:272",children:[s.jsx(Y,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:273",children:s.jsx("span",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:274",className:`text-xs px-2 py-0.5 rounded-full font-medium ${e.lookupType==="name"?"bg-amber-100 text-amber-800 dark:bg-amber-900/30 dark:text-amber-200":"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-200"}`,children:e.lookupType==="name"?"Nom":"Clé"})}),s.jsx(_,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:282",children:e.lookupType==="name"?"Recherche par nom de ligne Finthesis (insensible à la casse)":"Recherche par clé technique Finthesis"})]})}),s.jsx("td",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:289",className:"py-2 px-3 text-right",children:s.jsx("div",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:290",className:"flex items-center justify-end gap-1",children:c===e.id?s.jsxs(s.Fragment,{children:[s.jsx(l,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:293",variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:z,disabled:p.isPending,children:p.isPending?s.jsx(x,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:294",className:"h-3.5 w-3.5 animate-spin"}):s.jsx(ps,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:294",className:"h-3.5 w-3.5 text-green-600"})}),s.jsx(l,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:296",variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>f(null),children:s.jsx(J,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:297",className:"h-3.5 w-3.5 text-muted-foreground"})})]}):s.jsxs(s.Fragment,{children:[s.jsx(l,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:302",variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>q(e),children:s.jsx(ds,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:303",className:"h-3.5 w-3.5"})}),s.jsx(l,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:305",variant:"ghost",size:"sm",className:"h-7 w-7 p-0 text-destructive hover:text-destructive",onClick:()=>H(e.id),children:s.jsx(os,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:306",className:"h-3.5 w-3.5"})})]})})})]},e.id))})]})}):s.jsx("p",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:195",className:"text-muted-foreground text-center py-8",children:"Aucune correspondance configurée."})})]}),s.jsx(es,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:322",open:R,onOpenChange:g,children:s.jsxs(as,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:323",className:"sm:max-w-lg",children:[s.jsxs(is,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:324",children:[s.jsx(ts,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:325",children:"Ajouter une correspondance"}),s.jsx(ns,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:326",children:"Créez une nouvelle correspondance entre une ligne Finthesis et un champ budgétaire Clarity."})]}),s.jsxs("div",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:330",className:"space-y-4 py-2",children:[s.jsxs("div",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:331",className:"space-y-2",children:[s.jsx(F,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:332",children:"Type de recherche"}),s.jsxs(N,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:333",value:a.lookupType,onValueChange:e=>r({...a,lookupType:e}),children:[s.jsx(C,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:334",children:s.jsx(L,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:335"})}),s.jsxs(k,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:337",children:[s.jsx(M,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:338",value:"key",children:"Par clé technique (ex: revenue, grossProfit)"}),s.jsx(M,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:339",value:"name",children:"Par nom de ligne (ex: Coûts Consultants)"})]})]})]}),s.jsxs("div",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:343",className:"space-y-2",children:[s.jsx(F,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:344",children:a.lookupType==="name"?"Nom de la ligne Finthesis":"Clé technique Finthesis"}),s.jsx(u,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:345",placeholder:a.lookupType==="name"?"Ex: Coûts Consultants":"Ex: revenue",value:a.finthesisKey,onChange:e=>r({...a,finthesisKey:e.target.value}),className:"font-mono"})]}),s.jsxs("div",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:352",className:"space-y-2",children:[s.jsx(F,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:353",children:"Libellé Finthesis (pour affichage)"}),s.jsx(u,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:354",placeholder:"Ex: Chiffre d'affaires",value:a.finthesisLabel,onChange:e=>r({...a,finthesisLabel:e.target.value})})]}),s.jsxs("div",{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:360",className:"space-y-2",children:[s.jsx(F,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:361",children:"Champ Clarity cible"}),s.jsxs(N,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:362",value:a.clarityField,onValueChange:e=>{const i=j.find(v=>v.value===e)?.label||e;r({...a,clarityField:e,clarityLabel:i})},children:[s.jsx(C,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:369",children:s.jsx(L,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:370",placeholder:"Sélectionner un champ..."})}),s.jsx(k,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:372",children:j.map(e=>s.jsxs(M,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:374",value:e.value,children:[e.label," (",e.value,")"]},e.value))})]})]})]}),s.jsxs(ls,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:380",children:[s.jsx(l,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:381",variant:"outline",onClick:()=>g(!1),children:"Annuler"}),s.jsxs(l,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:382",onClick:V,disabled:y.isPending,className:"gap-2",children:[y.isPending?s.jsx(x,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:383",className:"h-4 w-4 animate-spin"}):s.jsx(E,{"data-loc":"client/src/pages/admin/FinthesisMappings.tsx:383",className:"h-4 w-4"}),"Ajouter"]})]})]})})]})})}export{Js as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.