Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Gestione Magazzino con Logica FIFO

    BuonGiorno a tutti

    ho realizzato un magazzino in PHP con la possibilità di scaricare e ordinare i prodotti.

    l'attuale gestione però somma e sottrae dal magazzino le quantita ordinate e consumate.
    non funziona quindi se il prezzo del prodotto cambia e voglio sapere il costo di un determinato consumo.

    ho letto in rete che questo problema si risolve applicando la logica FIFO, qualcuno saprebbe indicarmi come realizzarla in PHP?

    Grazie per la collaborazione

    Andrea

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Partendo dal concetto base del FIFO (First In First Out) devi avere a disposizione le date di acquisto (o di ingresso in magazzino) in modo da ordinare le rimanenze in base alla data di ingresso.
    Quando scarichi il magazzino recuperi il prezzo delle risorse prendendo quello più vecchio. Nel caso di scarico che vada a cavallo tra uno o più date (e prezzi) di acquisto avrai più prezzi da applicare alle risorse scaricate (esempio, scarico 10, 3 da prezzo A, 5 da prezzo B e 2 da prezzo C).

  3. #3
    Grazie per la cortese risposta.

    ok su come funziona la logica FIFO , ma come la realizzo in PHP?

    pensavo per ogni consumo effettuato pensavo di utilizzare un ciclo che finchè non finisce la quantita consumata, va a scalare dall'ordine piu vecchio.

    ma mi sembra abbastanza laboriosa come soluzione, per cui volevo sapere se esiste un metodo alternativo.

    Grazie ancora.

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Io farei una cosa di questo tipo, usando un db:
    - query per recuperare la fornitura più vecchia non esaurita;
    - verifica in php se le quantità sono sufficienti;
    - se sì, esci dalla routine;
    - se no, azzeri la quantità della fornitura più vecchia ed esegui un nuovo ciclo query/verifica quantità sulla base del residuo che non eri riuscito a scaricare fino a quando non hai raggiunto la quantità di materie prime desiderata.

    Devi comunque stare attento alle richieste contemporanee, come si fa negli e-commerce, per evitare di assegnare prezzi sbagliati (o peggio, rimanere senza materie prime).

  5. #5
    ----- doppio ----
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    basta che quando fai lo scarico "non cancelli il record" nel magazzino ma lo setti come venduto o lo sposti in altra tabella. Fatto questo hai tutti i dati aggregati che ti pare senza bisogno di una logica FIFO. Se poi l'idea è "smaltire prima i record piu vecchi", basta che ti porti dietro la data di carico e quando vai a caricare e scaricare giochi con l'ordinamento delle date.

    Cmq, diciamo che tu voglia scaricare 10 pezzi del prodotto A:

    codice:
    update magazzino set venduto = true where prodotto = 'A' and venduto = false order by data_caricamento asc limit 10
    tanto per buttar giù un esempio
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.