Changes between Version 3 and Version 4 of AdvancedReports


Ignore:
Timestamp:
02/11/25 01:06:24 (2 months ago)
Author:
212054
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedReports

    v3 v4  
    11= **Напредни извештаи од базата (SQL и складирани процедури)**
    22
    3 === ** Преглед и одобрување на набавка **
     3=== ** Преглед на одобрени/неодобрени набавки за надзор**
    44
    55{{{
    6 CREATE PROCEDURE `Display_Nabavki_For_Nadzor` (IN N_Ime VARCHAR(50))
     6CREATE PROCEDURE `Display_Nabavki_For_Nadzor` (IN UID_n INT)
    77BEGIN
    88    WITH select_objekt_nabavki AS (
     
    1818        JOIN Nameneta_Za nz ON nz.Objekt_ID = o.Objekt_ID
    1919        JOIN Nabavka nb ON nb.Nabavka_ID = nz.Nabavka_ID
    20         WHERE n.Nadzor_Ime = N_Ime
     20        WHERE n.UID_n = UID_n
    2121    )
    2222
     
    3131    WHERE o.Nabavka_ID IS NOT NULL;
    3232END;
    33 }}}
    34 
    35 === ** Интерфејс за создавање на едноставно квери **
    36 
    37 {{{
    38  CREATE PROCEDURE `simple_select_with_filter` (
    39     IN od VARCHAR(50),     
    40     IN shto VARCHAR(50),   
    41     IN filter_uslov TEXT 
    42  )
    43  BEGIN
    44     SET @query = CONCAT('SELECT ', shto, ' FROM ', od);
    45    
    46     IF filter_uslov IS NOT NULL AND filter_uslov != '' THEN
    47         SET @query = CONCAT(@query, ' WHERE ', filter_uslov);
    48     END IF;
    49    
    50     PREPARE stmt FROM @query;
    51     EXECUTE stmt;
    52     DEALLOCATE PREPARE stmt;
    53  END;
    5433}}}
    5534
     
    7655    SELECT
    7756        pn.Podizveduvac_Ime,
    78         TIMESTAMPDIFF(HOUR, FROM_UNIXTIME(rn.Od_vreme), FROM_UNIXTIME(rn.Do_vreme)) AS Total_Hours_Worked,
    79         TIMESTAMPDIFF(HOUR, FROM_UNIXTIME(rn.Od_vreme), FROM_UNIXTIME(rn.Do_vreme)) * pn.Saatnica AS Total_Cost
     57        TIMESTAMPDIFF(HOUR, rn.Od_vreme, rn.Do_vreme) AS Total_Hours_Worked,
     58        TIMESTAMPDIFF(HOUR, rn.Od_vreme, rn.Do_vreme) * pn.Saatnica AS Total_Cost
    8059    FROM Raboti_Na rn
    8160    JOIN Podizveduvac pn ON rn.Podizveduvac_Ime = pn.Podizveduvac_Ime
     
    9271    WHERE nz.Objekt_ID = input_Objekt_ID
    9372    GROUP BY d.Dobavuvac_Ime;
    94 END
     73END;
    9574}}}
    9675
     
    9877
    9978{{{
    100 CREATE PROCEDURE GetPodizveduvacDetails(IN input_Podizveduvac_Ime VARCHAR(50))
     79CREATE PROCEDURE GetPodizveduvacDetails(IN UID_p INT)
    10180BEGIN
    10281    SELECT
     
    10685        p.Saatnica AS Hourly_Rate
    10786    FROM Podizveduvac p
    108     WHERE p.Podizveduvac_Ime = input_Podizveduvac_Ime;
     87    WHERE p.UID_p = UID_p;
    10988
    11089    SELECT
     
    11493    FROM Raboti_Za rz
    11594    JOIN Rabotnik r ON rz.Maticen_br = r.Maticen_br
    116     WHERE rz.Podizveduvac_Ime = input_Podizveduvac_Ime;
     95    WHERE rz.UID_p = UID_p;
    11796
    11897    SELECT
     
    12099        o.Tip AS Objekt_Type,
    121100        o.Adresa AS Objekt_Address,
    122         TIMESTAMPDIFF(HOUR, FROM_UNIXTIME(rn.Od_vreme), FROM_UNIXTIME(rn.Do_vreme)) AS Total_Hours_Worked,
    123         TIMESTAMPDIFF(HOUR, FROM_UNIXTIME(rn.Od_vreme), FROM_UNIXTIME(rn.Do_vreme)) * p.Saatnica AS Total_Payments
     101        TIMESTAMPDIFF(HOUR, DATE_FORMAT(rn.Od_vreme, '%Y-%m-%d'), DATE_FORMAT(rn.Do_vreme, '%Y-%m-%d')) AS Total_Hours_Worked,
     102        TIMESTAMPDIFF(HOUR, DATE_FORMAT(rn.Od_vreme, '%Y-%m-%d'), DATE_FORMAT(rn.Do_vreme, '%Y-%m-%d')) * p.Saatnica AS Total_Payments
    124103    FROM Raboti_Na rn
    125104    JOIN Objekt o ON rn.Objekt_ID = o.Objekt_ID
    126     JOIN Podizveduvac p ON rn.Podizveduvac_Ime = p.Podizveduvac_Ime
    127     WHERE rn.Podizveduvac_Ime = input_Podizveduvac_Ime;
     105    JOIN Podizveduvac p ON rn.UID_p = p.UID
     106    WHERE rn.UID_p = UID_p;
    128107
    129108    SELECT
    130109        n.Nabavka_ID,
    131         n.Datum AS Request_Date,
     110        DATE_FORMAT(n.Datum, '%Y-%m-%d') AS Request_Date,
    132111        n.Cena AS Cost,
    133112        n.Kolicina AS Quantity,
     
    135114    FROM Pobaruva pb
    136115    JOIN Nabavka n ON pb.Nabavka_ID = n.Nabavka_ID
    137     WHERE pb.Podizveduvac_Ime = input_Podizveduvac_Ime;
    138 END
     116    WHERE pb.UID_p = UID_p;
     117END;
    139118}}}
    140119
     
    143122{{{
    144123CREATE PROCEDURE GetDobavuvacDetails(IN input_Dobavuvac_Ime VARCHAR(50))
    145  BEGIN
    146     SELECT d.Dobavuvac_Ime, d.Klasa AS Class, d.Tip AS Type, d.Poteklo AS Origin
     124BEGIN
     125    -- Basic info
     126    SELECT
     127        d.Dobavuvac_Ime,
     128        d.Klasa AS Class,
     129        d.Tip AS Type,
     130        d.Poteklo AS Origin
    147131    FROM Dobavuvac d
    148132    WHERE d.Dobavuvac_Ime = input_Dobavuvac_Ime;
    149133
    150     SELECT o.Objekt_ID, o.Tip AS Objekt_Type, o.Adresa AS Objekt_Address, n.Predmet AS Item_Supplied, n.Cena AS Item_Cost, n.Kolicina AS Quantity_Supplied
     134    -- Object supply info
     135    SELECT
     136        o.Objekt_ID,
     137        o.Tip AS Objekt_Type,
     138        o.Adresa AS Objekt_Address,
     139        n.Predmet AS Item_Supplied,
     140        n.Cena AS Item_Cost,
     141        n.Kolicina AS Quantity_Supplied
    151142    FROM Ispolnuva i
    152143    JOIN Nabavka n ON i.Nabavka_ID = n.Nabavka_ID
    153     JOIN Objekt o ON n.Objekt_ID = o.Objekt_ID
     144    JOIN Nameneta_Za nz ON n.Nabavka_ID = nz.Nabavka_ID
     145    JOIN Objekt o ON nz.Objekt_ID = o.Objekt_ID
    154146    WHERE i.Dobavuvac_Ime = input_Dobavuvac_Ime;
    155147
    156     SELECT SUM(n.Cena * n.Kolicina) AS Total_Spent
     148    -- Total spent
     149    SELECT
     150        SUM(n.Cena * n.Kolicina) AS Total_Spent
    157151    FROM Ispolnuva i
    158152    JOIN Nabavka n ON i.Nabavka_ID = n.Nabavka_ID
    159153    WHERE i.Dobavuvac_Ime = input_Dobavuvac_Ime;
    160  END
     154END;
    161155}}}