#445 [Warehouse] feat: fleet by warehouse with indicators, map and quick transfer - #480
Open
evarisk-kilyan wants to merge 1 commit into
Open
Conversation
… and quick transfer
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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ètresarrayofjs/arrayofcssdesaturne_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 viagetURLContent(), 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
Issue
Close #445