de Richard

Cum să faci o aplicație minunată de gestionare a inventarului în PHP și MySQL

Cum sa faci o aplicatie minunata de gestionare a inventarului

Nu aveți nevoie de software de întreprindere umflat pentru a vă urmări în mod eficient inventarul. Acest tutorial vă va ajuta să vă dezvoltați propria aplicație personalizată de urmărire a inventarului, astfel încât să puteți lua decizii inteligente de inventar pe baza datelor de inventar corecte și în timp util.

Cerințe de sistem

Sistemul nostru de inventar necesită licența comercială standard phpGrid și phpChart. Are nevoie de câteva caracteristici avansate de la ambele componente.

  • PHP 5.6+ (PHP 7.x este acum foarte recomandat!)
  • MySQL / MariaDB
  • phpGrid Lite (subgrid) -sau- phpGrid Enterprise (detaliu principal, grupare)
  • phpChart (pentru rapoarte)

Ce se află într-un sistem de gestionare a inventarului

Un sistem de gestionare a stocurilor are mai multe componente critice. În esență, controlul stocurilor funcționează urmărind cele două funcții principale ale unui depozit: primirea (primirea) și expedierea (ieșirea). Au loc și alte activități, cum ar fi mișcarea sau relocarea inventarului. Materiile prime sunt decrementate și mărfurile finite sunt mărite.

Proiectarea bazei de date a sistemului de inventar

De obicei, un sistem de inventar are patru elemente de bază: produse, achiziții, comenzi și furnizori. Fiecare element trebuie urmărit în funcție de locația sa, SKU și cantitate. Inventarul curent sau produsele aflate la îndemână sunt actualizate urmărind expedierile primite și comenzile de ieșire. Alertele de comandă pot fi setate să se declanșeze atunci când nivelurile de inventar scad sub nivelurile minime personalizate.

Cum sa faci o aplicatie minunata de gestionare a inventarului

Configurarea bazei de date Manager inventar

Descărcați fișierul InventoryManager.sql Script SQL din acest tutorial Repo GitHub, și apoi executați scriptul folosind un instrument MySQL cum ar fi MySQL Workbench. Aceasta va crea o nouă bază de date numită InventoryManager precum și tabelele necesare pentru acest tutorial.

O notă laterală pe ZenBase

The Inventory Management System is also one of the many application templates readily available at ZenBase (built on the top of phpGrid) for anyone — with or without coding skills — to use and customize for their own needs.

Configurați phpGrid

Sa trecem peste.

Vom folosi o componentă datagrid de către phpGrid pentru a gestiona toate bazele de date interne CRUD (Creați, eliminați, actualizați și ștergeți) operațiuni.

Asigurați-vă că descărcați o copie a phpGrid înainte de a continua.

Pentru a instala phpGrid, urmați acești pași:

  1. Dezarhivați fișierul de descărcare phpGrid.
  2. Încărcați fișierul phpGrid în folderul phpGrid.
  3. Finalizați instalarea configurând fișierul conf.php fişier.

Înainte de a începe codarea, trebuie să includem următoarele informații în conf.php, fișierul de configurare phpGrid.

Crearea interfeței utilizator (UI)

Sistemul nostru de inventar cuprinde patru pagini:

  • Inventarul curent
  • Achiziții primite
  • Comenzi de expediere
  • Rapoarte
1611878650 433 Cum sa faci o aplicatie minunata de gestionare a inventarului

Fișierul include pentru meniu este stocat într-un fișier inc dosar numit menu.php. Codul pentru meniu este simplu. De dragul concentrării, nu vom intra în detalii. Simțiți-vă liber să priviți codul din interiorul inc pliant.

De asemenea, am adăugat un element de meniu numit Reports.

1611878650 216 Cum sa faci o aplicatie minunata de gestionare a inventarului

Pagini

Vom folosi același șablon de pagină pe care l-am folosit pentru CRM și Management de proiect tutoriale.

Inventarul curent

1611878650 367 Cum sa faci o aplicatie minunata de gestionare a inventarului

Să începem cu pagina Inventar curent.

Achizițiile primite cresc inventarul în timp ce comenzile de ieșire îl reduc. Dintr-o perspectivă master-detail, Inventarul curent are nu una, ci două grile de date detaliate – Achiziții (achiziții primite) și Comenzi (comenzi de ieșire).

Deci pagina Inventarul curent este compusă dintr-o grilă principală (Inventarul curent în stoc) și două grile de detalii (Achiziții primite și Comenzi ieșite). Putem prezenta cu ușurință aceste relații utilizând funcția phpGrid one master și mai multe detalii de date.

phpGrid Lite vs. Professional și Enterprise

Detaliile principale și caracteristicile de grupare necesită ediția phpGrid Professional sau Enterprise. Dacă utilizați versiunea gratuită Lite, puteți utiliza în continuare subgrilă în locul detaliilor Maestrului, deși mai puțin avansate. Versiunile profesionale sau Enterprise sunt foarte recomandate.

Dacă ați citit ultimul tutorial Construirea unui manager de donații de la Scratch, nu veți avea nicio problemă în urma codului de mai jos.

Rețineți utilizarea fișierului set_col_format () funcție utilizată pentru formatarea numerelor întregi.

Asta este pentru grila de date Current Inventory. Iată cum arată până acum:

1611878650 6 Cum sa faci o aplicatie minunata de gestionare a inventarului

Acum, să facem câteva modificări pentru a ne îmbunătăți Produs Grila de date.

În primul rând, vom adăuga câteva formate condiționate: ori de câte ori InventoryOnHand este setat la zero sau o valoare negativă, este afișat folosind o culoare de fundal diferită. Vom folosi set_conditional_format () funcție în acest scop.

Codul de mai sus adaugă o condiție de afișare, astfel încât ori de câte ori InventoryOnHand câmpul are o valoare mai mică de (lt) una, culoarea textului se schimbă în red iar culoarea de fundal până la gri închis (#DCDCDC).

În al doilea rând, ori de câte ori InventoryOnHand este mai mică decât valoarea afișată în MinimumRequired, am dori să-l alertăm pe utilizator afișându-l într-o culoare de fundal proeminentă, precum auriu. Pentru a compara valorile între două câmpuri, trebuie să trecem la Javascript deoarece set_conditional_format () funcția funcționează numai cu un singur câmp.

Codul de mai jos folosește un for bucla pentru a itera prin fiecare rând din Produse Grila de date. Se compară inventoryOnHand cuminimumRequired și, atunci când condiția este îndeplinită, va utiliza fișierulsetCell funcție pentru a schimba culoarea de fundal.

Puteți afla mai multe despre comparând mai multe valori ale celulei pe site-ul de asistență phpGrid.

Apoi, pe aceeași pagină, trebuie să vedem achizițiile care vin (Primite) și comenzile de ieșire (De ieșire) pentru un anumit produs.

Grila detaliilor achizițiilor (primite)

Grila de detalii a comenzilor (de ieșire)

Ambele grile de detalii folosesc aceeași cheie externă ProductId pentru a face legătura cu baza de date master (Produse).

În cele din urmă, codul nostru complet pentru a gestiona Inventarul curent pagina este:

Iată un instantaneu al paginii de inventar:

1611878650 798 Cum sa faci o aplicatie minunata de gestionare a inventarului

Achiziții primite

1611878650 452 Cum sa faci o aplicatie minunata de gestionare a inventarului

Următoarea pagină este Achiziție primită pagină. Este similar cu Grila de detalii de cumpărare am văzut la configurarea Inventarul curent pagină. Grupăm achizițiile după ProductId și afișați suma înNumberReceived. Orice achiziție primită va crește inventarul.

Notă: Funcția de grupare este disponibilă numai în ediția phpGrid Professional și Enterprise. Pentru a filtra fără grupare, utilizați căutare integrare.

Codul complet:

Iată o captură de ecran a noastră Achiziții primite pagina cu gruparea activată:

1611878650 381 Cum sa faci o aplicatie minunata de gestionare a inventarului

Comenzi de ieșire

1611878650 130 Cum sa faci o aplicatie minunata de gestionare a inventarului

Următoarea pagină este Comenzi de ieșire pagină. Este similar cu Grila de detalii a comenzilor de la Inventarul curent pagină. Aici, vom introduce o funcție avansată numită set_grid_method ().

rezumat

Acest tutorial construiește un sistem de inventar simplu și extensibil în mai puțin de 50 de linii de cod. Stilul progresiv al acestor tutoriale ajută cititorul să devină în cele din urmă mai familiar și mai confortabil cu phpGrid prin introducerea unui număr limitat de noi caracteristici phpGrid în fiecare.

Ce urmează

Aceasta marchează sfârșitul codului necesar pentru crearea grilelor de date necesare pentru acest tutorial. Cu toate acestea, încă nu am terminat. Mai este încă o pagină pe care trebuie să o creăm – Rapoarte. Vom acoperi asta după salt.

La ce folosește un sistem de inventar fără un anumit tip de raport? În această secțiune, veți învăța cum să utilizați phpChart – care se integrează perfect cu phpGrid – pentru a crea rapoarte utile și plăcute vizual pentru aplicația dvs. Inventory Manager.

Iată cum va arăta pagina noastră când va fi terminată:

1611878650 624 Cum sa faci o aplicatie minunata de gestionare a inventarului

Înainte de a începe, trebuie să instalăm phpChart. Este recomandat să obțineți fișierul versiunea completă a phpChart deoarece versiunea gratuită (phpChart Lite) acceptă doar graficul liniar.

Configurați phpChart

Este important să păstrăm phpGrid și phpChart în dosare separate. Mai jos este recomandat ierarhizarea folderelor.

www    +-- Donation_Manager    |   |-- phpGrid    |   |   +-- conf.php    |   |-- phpChart    |   |   +-- conf.php    |   +-- ...

Proiectare raport

Vom plasa o diagramă circulară lângă o grilă rezumativă a inventarului. Grila de date furnizează datele seriei pentru a trasa graficul circular.

1611878650 174 Cum sa faci o aplicatie minunata de gestionare a inventarului

Integrarea phpGrid și phpChart

În primul rând, includeți apeluri către ambele conf.php fișiere la începutul codului.

require_once("phpGrid/conf.php"); require_once("phpChart/conf.php");

Graficul proporțiilor

Mai jos este codul complet pentru a crea graficul nostru circular:

Să trecem prin cod.

Prima linie este constructorul. Trecem array(null) ca date seriale, deoarece nu dorim să avem afișate date inițial în diagrama circulară. Datele de inventar utilizate pentru reprezentarea graficului nu sunt încă disponibile la prima inițializare. Datele sunt alimentate din grila de date mai târziu în JSON.

De asemenea, oferim graficului nostru un nume unic, PieChart.

Apoi, îi dăm un titlu. Nimic de lux aici.

Odată ce avem titlul, îl numim implicit serie funcție pentru a seta renderer la PieRenderer. Spre deosebire de o diagramă cu bare, o diagramă circulară nu are o axă Y.

De asemenea, putem seta rendererOptions proprietate. Nu vom intra în fiecare opțiune în detaliu aici, dar puteți găsi mai multe informații în documentare online.

De asemenea, vrem să arătăm o legendă. Comanda set_legend de mai jos arată legenda spre vest (notată dew) sau în stânga graficului circular.

De asemenea, vom elimina marginea și fundalul.

În cele din urmă, ne desenăm graficul dându-i o înălțime și o lățime în pixeli.

Cu toate acestea, dacă executați codul acum, nu veți vedea graficul, deoarece datele utilizate pentru redarea acestuia nu sunt încă disponibile.

Rezumatul inventarului Datagrid

Aici vom folosi aceleași date de inventar ca și în Produse pagină. Trebuie doar să adăugăm încă un lucru – un gestionar de evenimente.

În phpGrid, putem adăuga un gestionar de evenimente cu add_event () funcţie. add_event () leagă un gestionar de evenimente, care este în esență o funcție JavaScript, la un eveniment phpGrid specific. Puteți găsi o listă cu eventuale evenimente aici.

Deoarece trebuie să așteptăm ca grila de date să se termine de încărcare inainte de poate trimite datele pentru a grafica graficul, folosim evenimentul jqGridLoadComplete.

phpGrid 101 – Eveniment jqGridLoadComplete

jqGridLoadComplete este ultimul eveniment care apare odată ce întregul corp de date a terminat încărcarea. Rețineți că corpul grilei va fi reîncărcat dacă utilizatorul modifică ordinea de sortare a unei coloane sau setează un filtru.

Trimiterea datelor cu Javascript

Următorul este gestionarul de evenimente Javascript pentru jqGridLoadComplete.

Codul complet:

Acum iată-l. Tocmai ați construit primul dvs. sistem de gestionare a stocurilor de la zero folosind PHP și MySQL!

Mulțumesc că ai citit! Dacă ți-a plăcut această postare, te rog să-mi dai niște aplauze pentru ca mai mulți oameni să o vadă

Sunteți nou în programare? Nu te teme!

Dacă sunteți nou în programare și nu sunteți încă confortabil cu codificarea, vă recomandăm să verificați ZenBase care este construit pe partea de sus a phpGrid. Sistemul de gestionare a inventarului nu este decât unul dintre multe șabloane de aplicații disponibil la ZenBase pentru oricine – cu sau fără abilități de codare – de utilizat și personalizat pentru propriile nevoi.

Demo online

Apoi: Adăugați scanerul de coduri de bare

Adăugați scanerul de coduri de bare la sistemul nostru de gestionare a stocurilor

1611878650 597 Cum sa faci o aplicatie minunata de gestionare a inventarului

Descărcați codul sursă pe Github

phpcontrols / inventar-manager
Codul sursă al managerului de inventar, minunata aplicație de gestionare a stocurilor în PHP și MySQL de la început până la finalgithub.com

Problemă comună:

Eroare fatala: Eroare neaprinsă: Clasa „phpGrid C_DataGrid” nu a fost găsită

Cum se remediază:
Dacă utilizați versiunea gratuită Lite, puteți să comentați prima linie

// use phpGridC_DataGrid;

– SAU –

Adăugați un simbol global al spațiului de nume – backslash unic – ÎNAINTE de constructor

$dg = new C_DataGrid(“SELECT * FROM orders”, “orderNumber”, “orders”);

S-ar putea să fiți interesați și de aceste tutoriale:

Construiți o aplicație de gestionare a proiectelor de la zero
Ce este o aplicație de management de proiect?Construiți un CRM simplu de la început până la final
Managementul relației cu clienții (CRM) este un sistem care gestionează interacțiunile și datele clienților de-a lungul întregului client …Construirea unui Manager de donații de la Scratch în PHP

Mulțumesc pentru lectură. Dacă ți-a plăcut acest articol, te rugăm să apeși butonul de batere? pentru a-i ajuta pe alții să-l găsească și furmează-mă pe Twitter.

1611878650 634 Cum sa faci o aplicatie minunata de gestionare a inventarului

Doriți să vedeți mai multe tutoriale de genul acesta? Trimiteți o cerere către Stare de nervozitate sau lasa un comentariu mai jos!