Skip to content

#445 [Warehouse] feat: fleet by warehouse with indicators, map and quick transfer - #480

Open
evarisk-kilyan wants to merge 1 commit into
Evarisk:developfrom
evarisk-kilyan:feat/445-warehouse-fleet-transfer
Open

#445 [Warehouse] feat: fleet by warehouse with indicators, map and quick transfer#480
evarisk-kilyan wants to merge 1 commit into
Evarisk:developfrom
evarisk-kilyan:feat/445-warehouse-fleet-transfer

Conversation

@evarisk-kilyan

Copy link
Copy Markdown
Contributor

Changements

Nouvelle page Parc par entrepôt (view/dolicarwarehouse.php), un contrôleur et trois écrans en TPL, qui couvre les trois points de l'issue.

Listing par entrepôt avec transfert immédiat — un bloc par entrepôt (le plus chargé en premier) listant immatriculation, véhicule, VIN et statut. Chaque ligne porte un select de destination et un bouton Transférer qui déplace le véhicule sur-le-champ. Un bloc « Véhicules sans entrepôt » en fin de page fait l'affectation initiale avec le même formulaire. Le transfert est une sortie de stock puis une entrée sur le lot du véhicule, dans une transaction, comme le module le fait déjà quand l'entrepôt interne change.

Indicateurs par entrepôt — une carte par entrepôt avec son nombre de véhicules et sa part du parc, plus le total et les véhicules hors stock. Chaque carte est une ancre vers son bloc dans le listing.

Géolocalisation sur une carte — Leaflet, déjà livré dans htdocs/includes/leaflet, chargé uniquement sur cette page via les paramètres arrayofjs/arrayofcss de saturne_header(). Un cercle par entrepôt, dimensionné par son nombre de véhicules. Les coordonnées sont deux extrafields sur l'entrepôt, saisissables à la main ou remplies par le bouton « Géolocaliser les entrepôts » depuis l'adresse postale (Nominatim via getURLContent(), donc proxy et SSL de l'instance respectés, avec une seconde entre deux appels pour rester dans leur politique d'usage).

À savoir pour le déploiement

Le module doit être désactivé puis réactivé : les deux extrafields de coordonnées et l'entrée de menu « Parc par entrepôt » sont créés à l'activation.

Note hors périmètre

En construisant le jeu de test j'ai constaté que dolicar_get_or_create_vehicle_product_lot() met déjà une unité dans l'entrepôt par défaut, et que la création rapide en ajoute une seconde dans l'entrepôt choisi par l'utilisateur : un véhicule créé ailleurs que dans l'entrepôt par défaut se retrouve avec deux unités dans deux entrepôts. C'est ce que corrige l'outil FixLotStockQuantity existant. Rien n'a été touché ici, mais le regroupement du parc départage ce cas de façon déterministe (le plus gros stock gagne) au lieu de choisir un entrepôt au hasard.

Fichiers modifiés

  • view/dolicarwarehouse.php
  • lib/dolicar_warehouse.lib.php
  • core/tpl/dolicar_warehouse_indicators.tpl.php
  • core/tpl/dolicar_warehouse_map.tpl.php
  • core/tpl/dolicar_warehouse_list.tpl.php
  • js/modules/warehouse.js
  • css/scss/pages/_warehouse.scss
  • core/modules/modDoliCar.class.php
  • langs/fr_FR/dolicar.lang

Issue

Close #445

@evarisk-kilyan evarisk-kilyan added 8 Estimated resolution time - 1440 mins - 1j inov labels Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

8 Estimated resolution time - 1440 mins - 1j inov

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Affectation rapide dans les entrepots et changement d'entrepot rapide pour le VIN

1 participant