From e9551aeb638b23f064442aa4bfbf30df94fac8a4 Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Tue, 12 Aug 2025 10:33:09 +0000 Subject: [PATCH] Enhance reconciliation module with edit, validate, and delete functionalities Implement edit, validate, and delete permissions for reconciliation, update validation logic, and address UI color inconsistencies for director and admin roles. Replit-Commit-Author: Agent Replit-Commit-Session-Id: b163d4c0-de5e-4f4e-a9c0-aed4c7049718 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/b163d4c0-de5e-4f4e-a9c0-aed4c7049718/7EbZYsH --- ...-465C-8E2E-2085A6374715}_1754994443183.png | Bin 0 -> 159148 bytes client/src/pages/BLReconciliation.tsx | 312 ++++- client/src/pages/BLReconciliation_backup.tsx | 1219 ++++------------- shared/permissions.ts | 6 +- 4 files changed, 539 insertions(+), 998 deletions(-) create mode 100644 attached_assets/{196C82CB-1B5E-465C-8E2E-2085A6374715}_1754994443183.png diff --git a/attached_assets/{196C82CB-1B5E-465C-8E2E-2085A6374715}_1754994443183.png b/attached_assets/{196C82CB-1B5E-465C-8E2E-2085A6374715}_1754994443183.png new file mode 100644 index 0000000000000000000000000000000000000000..51e8462cb7177b8a470b4e3098ea06cb1c3f4c35 GIT binary patch literal 159148 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®ynHy}V{asbhwxpn$5V6C% z)>CU?R{eF1ZB-c$$xV+k$2Qv%-zE+tSqGK$Wv7b4>b9ETUB>o}1_c0qwOjnP^BTiB^Y=##ANeH-i0X!2jwQglK%y~G}o|qvE z+jQz|P~DK+qzfTfUHtSoV+i|!2l7e@E{6!Hm*hr>gW51Bjx4u;BUNuJbW*$L&1d_q zVT6>G5GzMNdmEvJCEb`Vui&g>xEeVb53kszr0zOmN=6NQJ3LaTVb5j6@+Q#9tILn! zhP`pYSyJZX^Sj{Skkmmc^aKhjv>Dj|>s1>bZAHxkpWl5i42o! zd*%@h%02z>j>qA))HDuMs5ihv!7Ulba68p?O~jx* zpbe$e&Ni&zwkLi{!Wi^jcun<63`JGL6NO6j8Sd)A{Wi;!U;~x$2x-uOtvDrhL%kr0 z8CTDpY@Blw_3RyOD~I!?D{>DbG{8OMJtPJMGoPpJxU_d5)>$j+snP1S;MQPim4FMI zTQX3XrC!&kLYfXILxriTdL(6G>dw#tc(^Y#VlQaZsV!$aK!&Sf$-%{MmbeA9p-t!& z&*8>}sxMZmbSlBa(P5Z=_ ze80Kwdss(N-3&=zhNx~X<@UD2-cb&=h*SN+Hy7|=QP2Lap?SpY9MFc1D>Y;@3;P}YQ{!GQqkmNCn;}YOok#bf_tw`Ps}l0 z)&ak6^+yB@(%P#F9D;v?mp|O8Fm?;+I>Wd zLrYZ`V|bj@v|^PtvE7srBuou8A18Go{bd%G5{tqztED(q66g_eKpRetYC41=gd%~# zFp2cB7hn$qTMm=D6x0Uy{+JE7pfycsYHhj;eIW!qZaFn!-W%L(GUqD*bM6e39PGEw zb_j9Y-k>iyd3veN+Q&&Tt>ny;fsppU6WaeyX#d|#Xoan2yD#I~eHA>*j~x2$5A9)t zzK*B+K-$Wy>>BKVE*s~C!LHNdW-YPb#qx4`-ZnKZ(9fhddWG`Mx;VNa+PCCG1YjcL zq}qnvCK(5T28;)_2|ic#Jvh5TA$@a6$`c0FACIa-@Lb
@@ -29,7 +32,7 @@ export default function BLReconciliation() {

Accès restreint
- Seuls les managers et administrateurs peuvent accéder au module de rapprochement BL/Factures. + Seuls les directeurs et administrateurs peuvent accéder au module de rapprochement BL/Factures.

@@ -42,7 +45,7 @@ export default function BLReconciliation() { const [searchTerm, setSearchTerm] = useState(""); // Récupérer les fournisseurs pour la logique automatique - const { data: suppliers = [] } = useQuery({ + const { data: suppliers = [], isLoading: suppliersLoading } = useQuery({ queryKey: ['/api/suppliers'], }); @@ -81,36 +84,114 @@ export default function BLReconciliation() { return supplier?.automaticReconciliation; }); - // Fonction pour dévalider un rapprochement automatique (directeurs et admins uniquement) - const handleDevalidateAutoReconciliation = async (deliveryId: number) => { - if (user?.role !== 'directeur' && user?.role !== 'admin') { + // Mutation pour valider un rapprochement manuel + const validateManualMutation = useMutation({ + mutationFn: async (deliveryId: number) => { + return await apiRequest(`/api/deliveries/${deliveryId}`, "PUT", { + reconciled: true, + validatedAt: new Date().toISOString() + }); + }, + onSuccess: () => { toast({ - title: "Accès refusé", - description: "Seuls les directeurs et administrateurs peuvent dévalider les rapprochements automatiques", + title: "Succès", + description: "Rapprochement validé avec succès", + }); + queryClient.invalidateQueries({ queryKey: ['/api/deliveries/bl'] }); + }, + onError: () => { + toast({ + title: "Erreur", + description: "Impossible de valider le rapprochement", variant: "destructive", }); - return; } + }); - try { - await apiRequest(`/api/deliveries/${deliveryId}`, "PUT", { + // Mutation pour dévalider un rapprochement (admins uniquement) + const devalidateMutation = useMutation({ + mutationFn: async (deliveryId: number) => { + return await apiRequest(`/api/deliveries/${deliveryId}`, "PUT", { reconciled: false, validatedAt: null }); - + }, + onSuccess: () => { toast({ title: "Succès", - description: "Rapprochement automatique dévalidé avec succès", + description: "Rapprochement dévalidé avec succès", }); - queryClient.invalidateQueries({ queryKey: ['/api/deliveries/bl'] }); - } catch (error) { + }, + onError: () => { toast({ title: "Erreur", description: "Impossible de dévalider le rapprochement", variant: "destructive", }); } + }); + + // Mutation pour supprimer une ligne (admins uniquement) + const deleteMutation = useMutation({ + mutationFn: async (deliveryId: number) => { + return await apiRequest(`/api/deliveries/${deliveryId}`, "DELETE"); + }, + onSuccess: () => { + toast({ + title: "Succès", + description: "Ligne supprimée avec succès", + }); + queryClient.invalidateQueries({ queryKey: ['/api/deliveries/bl'] }); + }, + onError: () => { + toast({ + title: "Erreur", + description: "Impossible de supprimer la ligne", + variant: "destructive", + }); + } + }); + + // Fonctions de gestion des actions + const handleValidateManual = (deliveryId: number) => { + if (!permissions.canValidate('reconciliation')) { + toast({ + title: "Accès refusé", + description: "Vous n'avez pas les permissions pour valider les rapprochements", + variant: "destructive", + }); + return; + } + validateManualMutation.mutate(deliveryId); + }; + + const handleDevalidate = (deliveryId: number) => { + if (!permissions.canEdit('reconciliation')) { + toast({ + title: "Accès refusé", + description: "Seuls les administrateurs peuvent dévalider les rapprochements", + variant: "destructive", + }); + return; + } + if (confirm("Êtes-vous sûr de vouloir dévalider ce rapprochement ?")) { + devalidateMutation.mutate(deliveryId); + } + }; + + const handleDelete = (deliveryId: number) => { + if (!permissions.canDelete('reconciliation')) { + toast({ + title: "Accès refusé", + description: "Seuls les administrateurs peuvent supprimer les lignes", + variant: "destructive", + }); + return; + } + if (confirm("Êtes-vous sûr de vouloir supprimer cette ligne ? Cette action est irréversible.")) { + deleteMutation.mutate(deliveryId); + } }; // Filtrage des livraisons par recherche @@ -128,7 +209,21 @@ export default function BLReconciliation() { const filteredManualDeliveries = filterDeliveries(manualReconciliationDeliveries); const filteredAutomaticDeliveries = filterDeliveries(automaticReconciliationDeliveries); - const canModify = user?.role === 'directeur' || user?.role === 'admin'; + // Vérifier si une ligne est dévalidée (pour la coloration) + const isDevalidated = (delivery: any) => { + return delivery.reconciled === false && delivery.validatedAt === null; + }; + + if (isLoading || suppliersLoading) { + return ( +
+
+
+
+
+
+ ); + } return (
@@ -226,7 +321,7 @@ export default function BLReconciliation() { Montant Fact. - Magasin + Statut Actions @@ -235,7 +330,13 @@ export default function BLReconciliation() { {filteredManualDeliveries.map((delivery: any) => ( - +
{delivery.supplier?.name} @@ -277,18 +378,71 @@ export default function BLReconciliation() {
-
- {delivery.group?.name} -
+ {delivery.reconciled ? ( + + Validé + + ) : isDevalidated(delivery) ? ( + + Dévalidé + + ) : ( + + En attente + + )}
- + {permissions.canEdit('reconciliation') && ( + + )} + + {!delivery.reconciled && permissions.canValidate('reconciliation') && ( + + )} + + {delivery.reconciled && permissions.canEdit('reconciliation') && user?.role === 'admin' && ( + + )} + + {permissions.canDelete('reconciliation') && ( + + )}
@@ -309,7 +463,7 @@ export default function BLReconciliation() {

Mode rapprochement automatique

Les livraisons de fournisseurs en mode automatique sont validées automatiquement lorsqu'elles ont le statut "delivered" et un numéro de BL. - {canModify ? ( + {permissions.canEdit('reconciliation') ? ( " Vous pouvez dévalider ces rapprochements si nécessaire." ) : ( " Seuls les directeurs et administrateurs peuvent modifier ces rapprochements." @@ -355,10 +509,7 @@ export default function BLReconciliation() { Ref. Facture - Montant Fact. - - - Magasin + Statut Actions @@ -367,13 +518,18 @@ export default function BLReconciliation() { {filteredAutomaticDeliveries.map((delivery: any) => ( - +

{delivery.supplier?.name}
- +
@@ -388,8 +544,8 @@ export default function BLReconciliation() {
- {delivery.reconciled && delivery.updatedAt ? - safeFormat(delivery.updatedAt, 'dd/MM/yy') : + {delivery.reconciled && delivery.validatedAt ? + safeFormat(delivery.validatedAt, 'dd/MM/yy') : '-' }
@@ -408,43 +564,65 @@ export default function BLReconciliation() {
-
- {delivery.invoiceAmount ? - `${parseFloat(delivery.invoiceAmount).toFixed(2)}€` : - '-' - } -
- - -
- {delivery.group?.name} -
+ {isDevalidated(delivery) ? ( + + Dévalidé + + ) : ( + + Auto-validé + + )}
- {canModify ? ( + {isDevalidated(delivery) && permissions.canEdit('reconciliation') && ( <> - - + + + - ) : ( - + + + )} + + {permissions.canDelete('reconciliation') && ( + )}
diff --git a/client/src/pages/BLReconciliation_backup.tsx b/client/src/pages/BLReconciliation_backup.tsx index f4f9b92..cad52f9 100644 --- a/client/src/pages/BLReconciliation_backup.tsx +++ b/client/src/pages/BLReconciliation_backup.tsx @@ -1,635 +1,15 @@ -import React, { useState, useEffect } from "react"; +import React, { useState } from "react"; import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query"; -import { format } from "date-fns"; -import { fr } from "date-fns/locale"; import { safeFormat } from "@/lib/dateUtils"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Badge } from "@/components/ui/badge"; -import { Pagination, usePagination } from "@/components/ui/pagination"; -import { Dialog, DialogContent, DialogHeader, DialogTitle } from "@/components/ui/dialog"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; -import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form"; -import { useForm } from "react-hook-form"; -import { zodResolver } from "@hookform/resolvers/zod"; -import { z } from "zod"; import { useToast } from "@/hooks/use-toast"; import { apiRequest } from "@/lib/queryClient"; import { useStore } from "@/components/Layout"; import { useAuthUnified } from "@/hooks/useAuthUnified"; -import { Search, Plus, Edit, FileText, Euro, Calendar, Building2, CheckCircle, X, Trash2, RefreshCw, Loader2, Settings, Eye, AlertTriangle } from "lucide-react"; -import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover"; -import { cn } from "@/lib/utils"; -import { format as formatDate } from "date-fns"; -import { DayPicker } from "react-day-picker"; -import ConfirmDeleteModal from "@/components/modals/ConfirmDeleteModal"; - -const reconciliationSchema = z.object({ - blNumber: z.string().optional(), - blAmount: z.string().optional().refine((val) => !val || val === '' || (!isNaN(Number(val)) && Number(val) >= 0), { - message: "Le montant BL doit être un nombre positif ou vide", - }), - invoiceReference: z.string().optional(), - invoiceAmount: z.string().optional().refine((val) => !val || val === '' || (!isNaN(Number(val)) && Number(val) >= 0), { - message: "Le montant facture doit être un nombre positif ou vide", - }), -}); - -type ReconciliationForm = z.infer; - -// Composant pour les filtres réutilisables -const ReconciliationFilters = ({ - searchTerm, - setSearchTerm, - selectedDate, - setSelectedDate, - isDatePickerOpen, - setIsDatePickerOpen, - isVerifyingInvoices, - verifyAllInvoices -}: { - searchTerm: string; - setSearchTerm: (term: string) => void; - selectedDate: Date | null; - setSelectedDate: (date: Date | null) => void; - isDatePickerOpen: boolean; - setIsDatePickerOpen: (open: boolean) => void; - isVerifyingInvoices?: boolean; - verifyAllInvoices?: () => void; -}) => ( -
-
-
- - setSearchTerm(e.target.value)} - className="pl-10 border border-gray-300 shadow-sm" - /> -
- -
- - - - - - { - setSelectedDate(date); - setIsDatePickerOpen(false); - }} - locale={fr} - className="rounded-md border" - /> - - - - {selectedDate && ( - - )} - - {verifyAllInvoices && ( - - )} -
-
-
-); - -// Composant pour la table des rapprochements manuels -const ManualReconciliationTab = ({ - deliveries, - searchTerm, - setSearchTerm, - selectedDate, - setSelectedDate, - isDatePickerOpen, - setIsDatePickerOpen, - invoiceVerifications, - isVerifyingInvoices, - verifyAllInvoices, - handleEditReconciliation, - handleDeleteDelivery, - updateReconciliationMutation, - deleteDeliveryMutation, - calculateDifference -}: any) => { - // Filtrage des livraisons - const filteredDeliveries = deliveries.filter((delivery: any) => { - const searchLower = searchTerm.toLowerCase(); - return ( - delivery.supplier?.name?.toLowerCase().includes(searchLower) || - delivery.blNumber?.toLowerCase().includes(searchLower) || - delivery.invoiceReference?.toLowerCase().includes(searchLower) - ); - }); - - // Pagination - const { currentPage, setCurrentPage, itemsPerPage, setItemsPerPage, paginatedItems: paginatedDeliveries, totalPages, totalItems } = usePagination(filteredDeliveries, 20); - - return ( -
- - - {totalItems === 0 ? ( -
- -

- Aucun rapprochement manuel trouvé -

-

- Les livraisons de fournisseurs en mode manuel apparaîtront ici. -

-
- ) : ( -
- {totalItems > 0 && ( - - )} -
- - - - - - - - - - - - - - - - {paginatedDeliveries.map((delivery: any) => { - const difference = calculateDifference( - parseFloat(delivery.blAmount || '0'), - delivery.invoiceAmount ? parseFloat(delivery.invoiceAmount) : undefined - ); - - return ( - - - - - - - - - - - - ); - })} - -
- Fournisseur - - N° BL - - Date Livr. - - Montant BL - - Ref. Facture - - Montant Fact. - - Écart - - Magasin - - Actions -
-
- {delivery.supplier?.name} -
-
-
- {delivery.blNumber || ( -
- Non renseigné - -
- )} -
-
-
- {safeFormat(delivery.scheduledDate, 'dd/MM/yy')} -
-
-
- {delivery.blAmount ? - `${parseFloat(delivery.blAmount).toFixed(2)}€` : - ( -
- Non renseigné - -
- ) - } -
-
-
- {delivery.invoiceReference ? ( -
- {delivery.invoiceReference} - {invoiceVerifications[delivery.id] && ( -
- {invoiceVerifications[delivery.id].exists ? ( - - ) : ( - - )} -
- )} -
- ) : ( - - )} -
-
-
- {delivery.invoiceAmount ? - `${parseFloat(delivery.invoiceAmount).toFixed(2)}€` : - - } -
-
-
- {difference?.display || '-'} -
-
-
- {delivery.group?.name} -
-
-
- - -
-
-
- {totalItems > 0 && ( - - )} -
- )} -
- ); -}; - -// Composant pour la table des rapprochements automatiques -const AutomaticReconciliationTab = ({ - deliveries, - searchTerm, - setSearchTerm, - selectedDate, - setSelectedDate, - isDatePickerOpen, - setIsDatePickerOpen, - invoiceVerifications, - user, - calculateDifference, - handleDevalidateAutoReconciliation -}: any) => { - // Filtrage des livraisons - const filteredDeliveries = deliveries.filter((delivery: any) => { - const searchLower = searchTerm.toLowerCase(); - return ( - delivery.supplier?.name?.toLowerCase().includes(searchLower) || - delivery.blNumber?.toLowerCase().includes(searchLower) || - delivery.invoiceReference?.toLowerCase().includes(searchLower) - ); - }); - - // Pagination - const { currentPage, setCurrentPage, itemsPerPage, setItemsPerPage, paginatedItems: paginatedDeliveries, totalPages, totalItems } = usePagination(filteredDeliveries, 20); - - const canModify = user?.role === 'directeur' || user?.role === 'admin'; - - return ( -
- {/* Message d'information */} -
-
- -
-

Mode rapprochement automatique

-

- Les livraisons de fournisseurs en mode automatique sont validées automatiquement lorsqu'elles ont le statut "delivered" et un numéro de BL. - {canModify ? ( - " Vous pouvez dévalider ou supprimer ces rapprochements si nécessaire." - ) : ( - " Seuls les directeurs et administrateurs peuvent modifier ces rapprochements." - )} -

-
-
-
- - - - {totalItems === 0 ? ( -
- -

- Aucun rapprochement automatique trouvé -

-

- Les livraisons de fournisseurs en mode automatique apparaîtront ici. -

-
- ) : ( -
- {totalItems > 0 && ( - - )} -
- - - - - - - - - - - - - - - - - {paginatedDeliveries.map((delivery: any) => { - const difference = calculateDifference( - parseFloat(delivery.blAmount || '0'), - delivery.invoiceAmount ? parseFloat(delivery.invoiceAmount) : undefined - ); - - return ( - - - - - - - - - - - - - ); - })} - -
- Fournisseur - AUTO - - N° BL - - Date Livr. - - Date Valid. - - Montant BL - - Ref. Facture - - Montant Fact. - - Écart - - Magasin - - Actions -
-
-
- {delivery.supplier?.name} -
- -
-
-
- {delivery.blNumber || '-'} -
-
-
- {safeFormat(delivery.scheduledDate, 'dd/MM/yy')} -
-
-
- {delivery.reconciled && delivery.updatedAt ? - safeFormat(delivery.updatedAt, 'dd/MM/yy') : - '-' - } -
-
-
- {delivery.blAmount ? - `${parseFloat(delivery.blAmount).toFixed(2)}€` : - '-' - } -
-
-
- {delivery.invoiceReference ? ( -
- {delivery.invoiceReference} - {invoiceVerifications[delivery.id] && ( -
- {invoiceVerifications[delivery.id].exists ? ( - - ) : ( - - )} -
- )} -
- ) : '-'} -
-
-
- {delivery.invoiceAmount ? - `${parseFloat(delivery.invoiceAmount).toFixed(2)}€` : - '-' - } -
-
-
- {difference?.display || '-'} -
-
-
- {delivery.group?.name} -
-
-
- {canModify ? ( - <> - - - - ) : ( - - )} -
-
-
- {totalItems > 0 && ( - - )} -
- )} -
- ); -}; +import { Search, Edit, FileText, Settings, Eye, AlertTriangle, X } from "lucide-react"; export default function BLReconciliation() { const { user } = useAuthUnified(); @@ -660,15 +40,6 @@ export default function BLReconciliation() { const [activeTab, setActiveTab] = useState("manual"); const [searchTerm, setSearchTerm] = useState(""); - const [showReconciliationModal, setShowReconciliationModal] = useState(false); - const [selectedDelivery, setSelectedDelivery] = useState(null); - const [selectedDate, setSelectedDate] = useState(null); - const [isDatePickerOpen, setIsDatePickerOpen] = useState(false); - const [showDeleteModal, setShowDeleteModal] = useState(false); - const [deliveryToDelete, setDeliveryToDelete] = useState(null); - const [invoiceVerifications, setInvoiceVerifications] = useState>({}); - const [isVerifyingInvoices, setIsVerifyingInvoices] = useState(false); - const [isVerifyingCurrentInvoice, setIsVerifyingCurrentInvoice] = useState(false); // Récupérer les fournisseurs pour la logique automatique const { data: suppliers = [] } = useQuery({ @@ -677,19 +48,13 @@ export default function BLReconciliation() { // Récupérer les livraisons validées avec BL const { data: deliveriesWithBL = [], isLoading } = useQuery({ - queryKey: ['/api/deliveries/bl', selectedStoreId, selectedDate], + queryKey: ['/api/deliveries/bl', selectedStoreId], queryFn: async () => { const params = new URLSearchParams({}); if (selectedStoreId && user?.role === 'admin') { params.append('storeId', selectedStoreId.toString()); } - if (selectedDate) { - const dateStr = formatDate(selectedDate, 'yyyy-MM-dd'); - params.append('startDate', dateStr); - params.append('endDate', dateStr); - } - const response = await fetch(`/api/deliveries?${params.toString()}`, { credentials: 'include' }); @@ -701,7 +66,7 @@ export default function BLReconciliation() { const deliveries = await response.json(); const filtered = Array.isArray(deliveries) ? deliveries.filter((d: any) => d.status === 'delivered') : []; - return filtered.sort((a: any, b: any) => new Date(b.deliveredDate).getTime() - new Date(a.deliveredDate).getTime()); + return filtered.sort((a: any, b: any) => new Date(b.deliveredDate || b.updatedAt).getTime() - new Date(a.deliveredDate || a.updatedAt).getTime()); }, }); @@ -748,120 +113,22 @@ export default function BLReconciliation() { } }; - // Fonctions réutilisées de l'ancien composant - const calculateDifference = (blAmount: number, invoiceAmount?: number) => { - if (!invoiceAmount || invoiceAmount === 0) return null; - - const diff = blAmount - invoiceAmount; - const tolerance = 0.01; - - if (Math.abs(diff) < tolerance) { - return { display: '0.00€', color: 'text-green-600' }; - } else if (diff > 0) { - return { display: `+${diff.toFixed(2)}€`, color: 'text-red-600' }; - } else { - return { display: `${diff.toFixed(2)}€`, color: 'text-red-600' }; - } - }; - - const form = useForm({ - resolver: zodResolver(reconciliationSchema), - defaultValues: { - blNumber: "", - blAmount: "", - invoiceReference: "", - invoiceAmount: "", - }, - }); - - const updateReconciliationMutation = useMutation({ - mutationFn: async (data: { id: number; blNumber: string; blAmount: string; invoiceReference: string; invoiceAmount: string }) => { - const response = await apiRequest(`/api/deliveries/${data.id}`, "PUT", { - blNumber: data.blNumber, - blAmount: data.blAmount, - invoiceReference: data.invoiceReference, - invoiceAmount: data.invoiceAmount, - }); - return response; - }, - onSuccess: () => { - toast({ - title: "Succès", - description: "Données de rapprochement mises à jour avec succès", - }); - setShowReconciliationModal(false); - queryClient.invalidateQueries({ queryKey: ['/api/deliveries/bl'] }); - }, - onError: () => { - toast({ - title: "Erreur", - description: "Impossible de mettre à jour les données de rapprochement", - variant: "destructive", - }); - }, - }); - - const deleteDeliveryMutation = useMutation({ - mutationFn: async (id: number) => { - await apiRequest(`/api/deliveries/${id}`, "DELETE"); - return id; - }, - onSuccess: () => { - toast({ - title: "Succès", - description: "Livraison supprimée avec succès", - }); - setShowDeleteModal(false); - setDeliveryToDelete(null); - queryClient.invalidateQueries({ queryKey: ['/api/deliveries/bl'] }); - }, - onError: () => { - toast({ - title: "Erreur", - description: "Impossible de supprimer la livraison", - variant: "destructive", - }); - }, - }); - - const handleEditReconciliation = (delivery: any) => { - setSelectedDelivery(delivery); - form.reset({ - blNumber: delivery.blNumber || "", - blAmount: delivery.blAmount || "", - invoiceReference: delivery.invoiceReference || "", - invoiceAmount: delivery.invoiceAmount || "", - }); - setShowReconciliationModal(true); - }; - - const handleDeleteDelivery = (delivery: any) => { - setDeliveryToDelete(delivery); - setShowDeleteModal(true); - }; - - const confirmDeleteDelivery = () => { - if (deliveryToDelete) { - deleteDeliveryMutation.mutate(deliveryToDelete.id); - } - }; - - const onSubmit = (data: ReconciliationForm) => { - if (!selectedDelivery) return; - - updateReconciliationMutation.mutate({ - id: selectedDelivery.id, - blNumber: data.blNumber || "", - blAmount: data.blAmount || "", - invoiceReference: data.invoiceReference || "", - invoiceAmount: data.invoiceAmount || "", + // Filtrage des livraisons par recherche + const filterDeliveries = (deliveries: any[]) => { + return deliveries.filter((delivery: any) => { + const searchLower = searchTerm.toLowerCase(); + return ( + delivery.supplier?.name?.toLowerCase().includes(searchLower) || + delivery.blNumber?.toLowerCase().includes(searchLower) || + delivery.invoiceReference?.toLowerCase().includes(searchLower) + ); }); }; - const verifyAllInvoices = async () => { - // Implémentation similaire à l'ancien composant - console.log("Verification des factures..."); - }; + const filteredManualDeliveries = filterDeliveries(manualReconciliationDeliveries); + const filteredAutomaticDeliveries = filterDeliveries(automaticReconciliationDeliveries); + + const canModify = user?.role === 'directeur' || user?.role === 'admin'; return (
@@ -908,192 +175,288 @@ export default function BLReconciliation() {
+ {/* Filtre de recherche */} +
+
+ + setSearchTerm(e.target.value)} + className="pl-10 border border-gray-300 shadow-sm" + /> +
+
+ {/* Contenu des onglets */} - + {filteredManualDeliveries.length === 0 ? ( +
+ +

+ Aucun rapprochement manuel trouvé +

+

+ Les livraisons de fournisseurs en mode manuel apparaîtront ici. +

+
+ ) : ( +
+
+ + + + + + + + + + + + + + + {filteredManualDeliveries.map((delivery: any) => ( + + + + + + + + + + + ))} + +
+ Fournisseur + + N° BL + + Date Livr. + + Montant BL + + Ref. Facture + + Montant Fact. + + Magasin + + Actions +
+
+ {delivery.supplier?.name} +
+
+
+ {delivery.blNumber || ( + Non renseigné + )} +
+
+
+ {safeFormat(delivery.scheduledDate, 'dd/MM/yy')} +
+
+
+ {delivery.blAmount ? + `${parseFloat(delivery.blAmount).toFixed(2)}€` : + Non renseigné + } +
+
+
+ {delivery.invoiceReference || ( + Non renseigné + )} +
+
+
+ {delivery.invoiceAmount ? + `${parseFloat(delivery.invoiceAmount).toFixed(2)}€` : + Non renseigné + } +
+
+
+ {delivery.group?.name} +
+
+
+ +
+
+
+
+ )}
- + {/* Message d'information */} +
+
+ +
+

Mode rapprochement automatique

+

+ Les livraisons de fournisseurs en mode automatique sont validées automatiquement lorsqu'elles ont le statut "delivered" et un numéro de BL. + {canModify ? ( + " Vous pouvez dévalider ces rapprochements si nécessaire." + ) : ( + " Seuls les directeurs et administrateurs peuvent modifier ces rapprochements." + )} +

+
+
+
+ + {filteredAutomaticDeliveries.length === 0 ? ( +
+ +

+ Aucun rapprochement automatique trouvé +

+

+ Les livraisons de fournisseurs en mode automatique apparaîtront ici. +

+
+ ) : ( +
+
+ + + + + + + + + + + + + + + + {filteredAutomaticDeliveries.map((delivery: any) => ( + + + + + + + + + + + + ))} + +
+ Fournisseur + AUTO + + N° BL + + Date Livr. + + Date Valid. + + Montant BL + + Ref. Facture + + Montant Fact. + + Magasin + + Actions +
+
+
+ {delivery.supplier?.name} +
+ +
+
+
+ {delivery.blNumber || '-'} +
+
+
+ {safeFormat(delivery.scheduledDate, 'dd/MM/yy')} +
+
+
+ {delivery.reconciled && delivery.updatedAt ? + safeFormat(delivery.updatedAt, 'dd/MM/yy') : + '-' + } +
+
+
+ {delivery.blAmount ? + `${parseFloat(delivery.blAmount).toFixed(2)}€` : + '-' + } +
+
+
+ {delivery.invoiceReference || '-'} +
+
+
+ {delivery.invoiceAmount ? + `${parseFloat(delivery.invoiceAmount).toFixed(2)}€` : + '-' + } +
+
+
+ {delivery.group?.name} +
+
+
+ {canModify ? ( + <> + + + + ) : ( + + )} +
+
+
+
+ )}
- - {/* Modal de modification des données de rapprochement */} - - - - - Données de rapprochement - {selectedDelivery?.supplier?.name} - - -
- - {/* Données BL */} -
-

Bon de Livraison

- -
- ( - - Numéro BL - - - - - - )} - /> - - ( - - Montant BL (€) - - - - - - )} - /> -
-
- - {/* Données facture */} -
-

Facture

- - ( - - Référence Facture - - - - - - )} - /> - - ( - - Montant Facture (€) - - - - - - )} - /> -
- - {/* Aperçu de l'écart */} - {form.watch("blAmount") && form.watch("invoiceAmount") && ( -
-

Aperçu de l'écart

-
-

Montant BL: {parseFloat(form.watch("blAmount") || "0").toFixed(2)} €

-

Montant Facture: {parseFloat(form.watch("invoiceAmount") || "0").toFixed(2)} €

-

- Écart: {(parseFloat(form.watch("blAmount") || "0") - parseFloat(form.watch("invoiceAmount") || "0")).toFixed(2)} € -

-
-
- )} - - {/* Actions */} -
- - -
-
- -
-
- - {/* Modal de confirmation de suppression */} - { - setShowDeleteModal(false); - setDeliveryToDelete(null); - }} - onConfirm={confirmDeleteDelivery} - title="Supprimer la livraison" - description="Êtes-vous sûr de vouloir supprimer cette livraison du module rapprochement ?" - itemName={deliveryToDelete ? `${deliveryToDelete.supplier?.name} - BL ${deliveryToDelete.blNumber}` : undefined} - isLoading={deleteDeliveryMutation.isPending} - />
); } \ No newline at end of file diff --git a/shared/permissions.ts b/shared/permissions.ts index c2192f7..2a4ef65 100644 --- a/shared/permissions.ts +++ b/shared/permissions.ts @@ -48,10 +48,10 @@ const PERMISSIONS: Record> = { employee: [] }, - // Rapprochement - Admin tout, Directeur tout sauf delete, Manager/Employé rien + // Rapprochement - Admin tout y compris validate, Directeur tout sauf delete, Manager/Employé rien reconciliation: { - admin: ['view', 'create', 'edit', 'delete'], - directeur: ['view', 'create', 'edit'], + admin: ['view', 'create', 'edit', 'delete', 'validate'], + directeur: ['view', 'create', 'edit', 'validate'], manager: [], employee: [] },