Changes between Version 3 and Version 4 of UseCasePromenaDatum


Ignore:
Timestamp:
09/04/24 22:18:57 (4 weeks ago)
Author:
201156
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCasePromenaDatum

    v3 v4  
    77   Менаџерот прима нарачка од познат купувач при што веднаш по примањето се насочува кон формата за формирање нарачка во системот при што избира фирма од комбо бокс избира артикли, внесува количина  останатите полиња кои што се потребни за нарачката. Во ова сценарио Менаџерот ја формира нарачката при што датум на почеток го става да биде утрешниот ден видејчи во системот веќе последната нарачка датумот за крај е истиот тој датум. За оваа постапката се прават следните повици до базата:
    88
    9 ----
    10 ''loadFirmaNaziv''
    119
    12 {{{
    13 
    14 DECLARE @FrimaID INT
    15 
    16 SELECT Naziv FROM Firma WHERE ID = @FirmaID
    17 
    18 ----
    19 ''loadArtiklNaziv''
    20 
    21 DECLARE @ArtiklID INT
    22 
    23 SELECT Naziv FROM Artikl WHERE ID = @ArtiklID
    24 }}}
    25  
    26 
    27 ----
    2810''Креирање Нарачка''
    2911
     
    3113{{{
    3214
    33 DECLARE @Kolicina INT;
     15CREATE OR REPLACE FUNCTION create_full_naracka(
     16    p_kolicina INT,
     17    p_datum DATE,
     18    p_opis TEXT,
     19    p_firma_naziv VARCHAR(100),
     20    p_artikl_naziv VARCHAR(100),
     21    p_datum_start DATE,
     22    p_datum_end DATE
     23) RETURNS VOID AS $$
     24DECLARE
     25    v_naracka_id INT;
     26    v_firma_id INT;
     27    v_artikl_id INT;
     28    v_cena DECIMAL(10,2);
     29    v_izrabotka_plan_id INT;
     30BEGIN
     31    -- Get FirmaID
     32    SELECT FirmaID INTO v_firma_id
     33    FROM Firma
     34    WHERE Naziv = p_firma_naziv;
     35   
     36    -- Get ArtiklID and Cena
     37    SELECT ArtiklID, Cena INTO v_artikl_id, v_cena
     38    FROM Artikl
     39    WHERE Naziv = p_artikl_naziv;
     40   
     41    -- Insert into Naracka
     42    INSERT INTO Naracka (FirmaID, Datum, Opis)
     43    VALUES (v_firma_id, p_datum, p_opis)
     44    RETURNING NarackaID INTO v_naracka_id;
     45   
     46    -- Insert into Naracka_Artikl
     47    INSERT INTO Naracka_Artikl (NarackaID, ArtiklID, Kolicina, Cena)
     48    VALUES (v_naracka_id, v_artikl_id, p_kolicina, v_cena);
     49   
     50    -- Get IzrabotkaPlanID
     51    SELECT IzrabotkaPlanID INTO v_izrabotka_plan_id
     52    FROM IzrabotkaPlan
     53    WHERE DatumStart = p_datum_start AND DatumEnd = p_datum_end;
     54   
     55    -- Insert into Naracka_IzrabotkaPlan
     56    INSERT INTO Naracka_IzrabotkaPlan (NarackaID, IzrabotkaPlanID)
     57    VALUES (v_naracka_id, v_izrabotka_plan_id);
     58END;
     59$$ LANGUAGE plpgsql;
    3460
    35 DECLARE @DatumStart DATE;
    36 
    37 DECLARE @DatumEnd DATE;
    38 
    39 
    40 INSERT INTO Naracka (Kolicina, Datum, Opis)
    41 
    42 VALUES (@Kolicina, GETDATE(), 'YourOpis');
    43 
    44 
    45 DECLARE @NarackaID INT;
    46 
    47 SET @NarackaID = SCOPE_IDENTITY();
    48 
    49 
    50 DECLARE @FirmaID INT;
    51 
    52 SET @FirmaID = (SELECT FirmaID FROM Firma WHERE Naziv = @FirmaNaziv);
    53 
    54 
    55 DECLARE @ArtiklID INT;
    56 
    57 SET @ArtiklID = (SELECT ArtiklID FROM Artikl WHERE Naziv = @ArtiklNaziv);
    58 
    59 
    60 INSERT INTO Naracka_Artikl (NarackaID, ArtiklID)
    61 
    62 VALUES (@NarackaID, @ArtiklID);
    63 
    64 
    65 INSERT INTO Naracka_Firma (NarackaID, FirmaID)
    66 
    67 VALUES (@NarackaID, @FirmaID);
    68 
    69 
    70 INSERT INTO Naracka_IzrabotkaPlan (NarackaID, DatumStart, DatumEnd)
    71 
    72 VALUES (@NarackaID, @DatumStart, @DatumEnd);
    7361}}}
    7462
     
    8270{{{
    8371
    84 DECLARE @NarackaID INT;
     72CREATE OR REPLACE FUNCTION update_naracka_izrabotka_plan(
     73    p_naracka_id INT,
     74    p_new_start_date DATE,
     75    p_new_end_date DATE
     76) RETURNS VOID AS $$
     77BEGIN
     78    -- Update DatumStart
     79    UPDATE Naracka_IzrabotkaPlan
     80    SET DatumStart = p_new_start_date
     81    WHERE NarackaID = p_naracka_id;
    8582
    86 DECLARE @NewStartDate DATE;
    87 
    88 DECLARE @NewEndDate DATE;
    89 
    90 
    91 UPDATE Naracka_IzrabotkaPlan
    92 
    93 SET DatumStart = @NewStartDate
    94 
    95 WHERE NarackaID = @NarackaID;
    96 
    97 
    98 UPDATE Naracka_IzrabotkaPlan
    99 
    100 SET DatumEnd = @NewEndDate
    101 
    102 WHERE NarackaID = @NarackaID;
     83    -- Update DatumEnd
     84    UPDATE Naracka_IzrabotkaPlan
     85    SET DatumEnd = p_new_end_date
     86    WHERE NarackaID = p_naracka_id;
     87END;
     88$$ LANGUAGE plpgsql;
    10389
    10490