Changes between Version 3 and Version 4 of AdvancedReports
- Timestamp:
- 02/11/25 01:06:24 (2 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
AdvancedReports
v3 v4 1 1 = **Напредни извештаи од базата (SQL и складирани процедури)** 2 2 3 === ** Преглед и одобрување на набавка**3 === ** Преглед на одобрени/неодобрени набавки за надзор** 4 4 5 5 {{{ 6 CREATE PROCEDURE `Display_Nabavki_For_Nadzor` (IN N_Ime VARCHAR(50))6 CREATE PROCEDURE `Display_Nabavki_For_Nadzor` (IN UID_n INT) 7 7 BEGIN 8 8 WITH select_objekt_nabavki AS ( … … 18 18 JOIN Nameneta_Za nz ON nz.Objekt_ID = o.Objekt_ID 19 19 JOIN Nabavka nb ON nb.Nabavka_ID = nz.Nabavka_ID 20 WHERE n. Nadzor_Ime = N_Ime20 WHERE n.UID_n = UID_n 21 21 ) 22 22 … … 31 31 WHERE o.Nabavka_ID IS NOT NULL; 32 32 END; 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 TEXT42 )43 BEGIN44 SET @query = CONCAT('SELECT ', shto, ' FROM ', od);45 46 IF filter_uslov IS NOT NULL AND filter_uslov != '' THEN47 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;54 33 }}} 55 34 … … 76 55 SELECT 77 56 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_Cost57 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 80 59 FROM Raboti_Na rn 81 60 JOIN Podizveduvac pn ON rn.Podizveduvac_Ime = pn.Podizveduvac_Ime … … 92 71 WHERE nz.Objekt_ID = input_Objekt_ID 93 72 GROUP BY d.Dobavuvac_Ime; 94 END 73 END; 95 74 }}} 96 75 … … 98 77 99 78 {{{ 100 CREATE PROCEDURE GetPodizveduvacDetails(IN input_Podizveduvac_Ime VARCHAR(50))79 CREATE PROCEDURE GetPodizveduvacDetails(IN UID_p INT) 101 80 BEGIN 102 81 SELECT … … 106 85 p.Saatnica AS Hourly_Rate 107 86 FROM Podizveduvac p 108 WHERE p. Podizveduvac_Ime = input_Podizveduvac_Ime;87 WHERE p.UID_p = UID_p; 109 88 110 89 SELECT … … 114 93 FROM Raboti_Za rz 115 94 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; 117 96 118 97 SELECT … … 120 99 o.Tip AS Objekt_Type, 121 100 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_Payments101 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 124 103 FROM Raboti_Na rn 125 104 JOIN Objekt o ON rn.Objekt_ID = o.Objekt_ID 126 JOIN Podizveduvac p ON rn. Podizveduvac_Ime = p.Podizveduvac_Ime127 WHERE rn. Podizveduvac_Ime = input_Podizveduvac_Ime;105 JOIN Podizveduvac p ON rn.UID_p = p.UID 106 WHERE rn.UID_p = UID_p; 128 107 129 108 SELECT 130 109 n.Nabavka_ID, 131 n.DatumAS Request_Date,110 DATE_FORMAT(n.Datum, '%Y-%m-%d') AS Request_Date, 132 111 n.Cena AS Cost, 133 112 n.Kolicina AS Quantity, … … 135 114 FROM Pobaruva pb 136 115 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; 117 END; 139 118 }}} 140 119 … … 143 122 {{{ 144 123 CREATE 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 124 BEGIN 125 -- Basic info 126 SELECT 127 d.Dobavuvac_Ime, 128 d.Klasa AS Class, 129 d.Tip AS Type, 130 d.Poteklo AS Origin 147 131 FROM Dobavuvac d 148 132 WHERE d.Dobavuvac_Ime = input_Dobavuvac_Ime; 149 133 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 151 142 FROM Ispolnuva i 152 143 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 154 146 WHERE i.Dobavuvac_Ime = input_Dobavuvac_Ime; 155 147 156 SELECT SUM(n.Cena * n.Kolicina) AS Total_Spent 148 -- Total spent 149 SELECT 150 SUM(n.Cena * n.Kolicina) AS Total_Spent 157 151 FROM Ispolnuva i 158 152 JOIN Nabavka n ON i.Nabavka_ID = n.Nabavka_ID 159 153 WHERE i.Dobavuvac_Ime = input_Dobavuvac_Ime; 160 END 154 END; 161 155 }}}