PageSourceSearch

https://docto24.de/assets/AdminPharmacyAccess-BhLNWjA7.js

js docto24.de collected 2026-10-04 18:59:29 UTC 6,945 bytes, 6 lines download raw bytes

1import{a as y,j as e}from"./query-DC4SozEQ.js";import{aF as _,aS as c,aU as o,b9 as f,ah as v,aT as x,aV as p,n as w,l as V,af as A}from"./index-CQCFO_Ja.js";import{A as T}from"./AdminLayout-B5Y8KN9N.js";import{S as m}from"./stat-tile-DTNuC_QE.js";import{T as B,a as D,b,c as l,d as E,e as d}from"./table-C-L5b1vS.js";import{K as P}from"./key-round-B4idDfKg.js";import{U as j}from"./user-x-Dz6xqp0Z.js";import"./react-QZzH67i4.js";import"./i18n-DYzyxLbr.js";import"./ui-B2lVShOO.js";import"./supabase-xEDCcE6x.js";import"./dollar-sign-DaeE4-3T.js";import"./trending-up-B7BV2tdv.js";import"./database-BxeuT9q7.js";import"./inbox-kEIueDKR.js";import"./receipt-Ds1GXA37.js";import"./handshake-DaMxc-Ni.js";import"./history-CU9bBcHt.js";import"./shield-alert-dwPCPDD6.js";import"./order-status-D50BudvO.js";import"./chevron-left-BXjQhHqh.js";import"./pgrst-filter-DGRsim3R.js";import"./sheet-9hIUcW7C.js";import"./trending-down-4L2c6BsW.js";import"./minus-D1TXrtmY.js";(function(){try{var a=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};a.SENTRY_RELEASE={id:"06d80ffa4c67e89fc83d29f7ce6c589a45ea4a1b"};var s=new a.Error().stack;s&&(a._sentryDebugIds=a._sentryDebugIds||{},a._sentryDebugIds[s]="6f85ad10-5986-490a-bea3-1b0da5714e0d",a._sentryDebugIdIdentifier="sentry-dbid-6f85ad10-5986-490a-bea3-1b0da5714e0d")}catch{}})();/**
2 * @license lucide-react v0.462.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const k=_("PackageCheck",[["path",{d:"m16 16 2 2 4-4",key:"gfu2re"}],["path",{d:"M21 10V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l2-1.14",key:"e7tb2h"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["line",{x1:"12",x2:"12",y1:"22",y2:"12",key:"a4e8g8"}]]),S=[{id:"unterschrieben",titel:"Mit Vertrag",icon:f,was:"Bleiben. Es gibt einen unterschriebenen, nicht widerrufenen Vertrag."},{id:"mit_bestellungen",titel:"Ohne Vertrag, aber mit Bestellungen",icon:k,was:"Bekommen eine Frist zum Unterschreiben (11.10.2026, `platform_settings.apotheken_zugang_ohne_vertrag_endet`). Das ist die einzige Gruppe, bei der ein Zugangsentzug Patientinnen trifft — offene Bestellungen müssen vorher abgewickelt sein."},{id:"ohne_bestellungen",titel:"Ohne Vertrag und ohne jede Bestellung",icon:j,was:"Zugang entfernen. Diese Apotheken haben nie eine Bestellung bekommen und nie um das Konto gebeten — unser System hat es beim ersten Rezept angelegt. Das Entfernen korrigiert den Vorgang vom August, es ist kein Verlust."}];function re(){const{data:a,isLoading:s,error:h}=y({queryKey:["apotheken-zugaenge"],queryFn:async()=>{const{data:n,error:t}=await A.rpc("apotheken_zugang_ohne_vertrag");if(t)throw t;return n??[]}}),u=a??[],i=n=>u.filter(t=>t.gruppe===n),g=i("mit_bestellungen").reduce((n,t)=>n+t.offene_bestellungen,0);return e.jsx(T,{title:"Portalzugänge ohne Vertrag",description:"Wer hat Zugang zum Apothekenportal, ohne je einen Vertrag unterschrieben zu haben — und was folgt daraus. Hier wird nichts entfernt.",children:e.jsxs("div",{className:"space-y-6",children:[h&&e.jsx(c,{className:"border-destructive",children:e.jsxs(o,{className:"p-4 text-sm text-destructive",children:["Liste nicht abrufbar: ",h.message]})}),e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[e.jsx(m,{icon:P,label:"Zugänge gesamt",value:s?"—":u.length,accent:"info",index:0}),e.jsx(m,{icon:f,label:"Mit Vertrag",value:s?"—":i("unterschrieben").length,accent:"success",index:1}),e.jsx(m,{icon:k,label:"Mit Bestellungen, ohne Vertrag",value:s?"—":i("mit_bestellungen").length,accent:"warning",index:2}),e.jsx(m,{icon:j,label:"Ohne alles",value:s?"—":i("ohne_bestellungen").length,accent:"purple",index:3})]}),g>0&&e.jsx(c,{className:"border-destructive/40 bg-destructive/5",children:e.jsxs(o,{className:"p-4 text-sm flex gap-3",children:[e.jsx(v,{className:"h-4 w-4 mt-0.5 shrink-0 text-destructive"}),e.jsxs("p",{children:[e.jsx("strong",{children:g})," ",g===1?"Bestellung ist":"Bestellungen sind"," bei Apotheken ohne Vertrag noch offen. Wird deren Zugang entzogen, bevor diese abgewickelt sind, wartet eine Patientin auf eine Lieferung, die niemand mehr bearbeiten kann. Das muss vor dem Stichtag auf null stehen."]})]})}),S.map(n=>{const t=i(n.id),N=n.icon;return e.jsxs(c,{children:[e.jsxs(x,{children:[e.jsxs(p,{className:"text-base flex items-center gap-2",children:[e.jsx(N,{className:"h-4 w-4"}
6)," ",n.titel,e.jsx(w,{variant:"outline",className:"ml-1",children:s?"—":t.length})]}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:n.was})]}),e.jsx(o,{className:"p-0",children:s?e.jsx("div",{className:"p-6",children:e.jsx(V,{className:"h-10"})}):t.length===0?e.jsx("p",{className:"px-6 pb-6 text-sm text-muted-foreground",children:"Keine."}):e.jsx("div",{className:"overflow-x-auto",children:e.jsxs(B,{children:[e.jsx(D,{children:e.jsxs(b,{children:[e.jsx(l,{children:"Apotheke"}),e.jsx(l,{children:"E-Mail"}),e.jsx(l,{className:"text-right tabular-nums",children:"Konten"}),e.jsx(l,{className:"text-right tabular-nums",children:"Übergeben"}),e.jsx(l,{className:"text-right tabular-nums",children:"Davon offen"})]})}),e.jsx(E,{children:t.map(r=>e.jsxs(b,{children:[e.jsx(d,{className:"font-medium",children:r.name??r.pharmacy_id.slice(0,8)}),e.jsx(d,{className:"text-sm text-muted-foreground",children:r.email??"—"}),e.jsx(d,{className:"text-right tabular-nums text-sm",children:r.nutzer}),e.jsx(d,{className:"text-right tabular-nums text-sm",children:r.uebergebene_bestellungen}),e.jsx(d,{className:"text-right tabular-nums text-sm font-medium",children:r.offene_bestellungen>0?e.jsx("span",{className:"text-destructive",children:r.offene_bestellungen}):"0"})]},r.pharmacy_id))})]})})})]},n.id)}),e.jsxs(c,{children:[e.jsx(x,{children:e.jsx(p,{className:"text-base",children:"Zwei Stichtage, die nicht dasselbe sind"})}),e.jsxs(o,{className:"text-sm text-muted-foreground space-y-2",children:[e.jsxs("p",{children:[e.jsx("strong",{className:"text-foreground",children:"11.10.2026"})," — Frist für Apotheken",e.jsx("em",{children:" ohne"})," Vertrag mit Bestellungen. Danach endet der Zugang. (",e.jsx("code",{className:"text-xs",children:"apotheken_zugang_ohne_vertrag_endet"}),")"]}),e.jsxs("p",{children:[e.jsx("strong",{className:"text-foreground",children:"11.12.2026"})," — Schonfrist für Apotheken",e.jsx("em",{children:" mit"})," Vertrag: ab dann wird die Betriebssoftware zur Partner-Leistung. (",e.jsx("code",{className:"text-xs",children:"apotheken_gating_ab"}),")"]}),e.jsx("p",{children:'Zwei getrennte Vorgänge mit getrennten Terminen. Ein gemeinsames Datum wäre im Anschreiben nicht erklärbar — der eine Brief sagt „unterschreiben Sie", der andere „Ihr Paket ändert sich".'})]})]})]})})}export{re 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.