Example #1
0
    /// <summary>
    /// Dohvaæa kolièinu izmještene robe.
    /// </summary>
    /// <param name="skladisteOznaka">Oznaka skladišta.</param>
    /// <param name="godina">Godina PLL-a.</param>
    /// <param name="broj">Broj PLL-a.</param>
    /// <param name="robaSifra">Šifra robe. Opcionalan parametar, isporuèiti null ili prazan string ako je nepotreban.</param>
    /// <param name="robaBarkod">Barkod robe. Opcionalan parametar, isporuèiti null ili prazan string ako je nepotreban.</param>
    /// <param name="matBroj">Matièni broj (kljuè) mobilnog korisnika. Opcionalan parametar, isporuèiti null ili prazan string ako je nepotreban.</param>
    /// <returns>Polje tri decimalna broja zapisanih kao stringovi: nulti je indikator (0 - neuspjeh, 1 - uspjeh), prvi je sumirani ulaz, drugi sumirani izlaz.</returns>
    private string[] PllIzmjestenaRobaDajStanje(string skladisteOznaka, int godina, string broj, string robaSifra, string robaBarkod, string matBroj)
    {
        // < Štoperica>
        //int id = Pocetak("PllIzmjestenaRobaDajStanje");
        //bool dogodilaSeGreska = false;
        //DateTime pocetakWS = DateTime.Now;
        // </štoperica>

        float? ulaz = null;
        float? izlaz = null;
        string indikator = "0";
        MobTransLokStaTA mobTransLokStaTA = new MobTransLokStaTA();

        string rBarkod = null;
        if (robaBarkod != null && robaBarkod != String.Empty)
        {
            rBarkod = robaBarkod;
        }

        string rSifra = null;
        if (robaSifra != null && robaSifra != String.Empty)
        {
            rSifra = robaSifra;
        }

        string mbr = null;
        if (matBroj != null && matBroj != String.Empty)
        {
             mbr = matBroj;
        }

        try
        {
            mobTransLokStaTA.IzmjestenaRobaDajStanje(skladisteOznaka, broj, godina.ToString(), rBarkod, rSifra, mbr, out izlaz, out ulaz);
            indikator = "1";
        }
        catch (Exception)
        {
            indikator = "0";
            // <Štoperica>
            //dogodilaSeGreska = true;
            // </štoperica>
        }
        finally
        {
            mobTransLokStaTA.Dispose();
        }

        string[] stanje = new string[3];
        stanje[0] = indikator;
        stanje[1] = ulaz.ToString();
        stanje[2] = izlaz.ToString();

        // < Štoperica>
        //TimeSpan intervalWS = DateTime.Now.Subtract(pocetakWS);
        //Kraj(id, intervalWS.TotalMilliseconds, dogodilaSeGreska);
        // </štoperica>

        return stanje;
    }
Example #2
0
    public DataSet DajPllHistorijat(string skladisteOznaka, int godina, string broj, string robaSifra, string robaBarkod, string matBroj, string sort, string ascDesc, int redakPoc, int redakKol)
    {
        // < Štoperica>
        //int id = Pocetak("DajPllHistorijat");
        //bool dogodilaSeGreska = false;
        //DateTime pocetakWS = DateTime.Now;
        // </štoperica>

        MobTransLokStaTA mobTransLokStaTA = new MobTransLokStaTA();
        DataSet ds = new DataSet("PllDS");

        DataTable pomDT = null;
        int brRedaka = 0;
        //double zbroj = 0;

        string rSif = null;
        if (robaSifra != String.Empty && robaSifra != null)
        {
            rSif = robaSifra;
        }

        string rBk = null;
        if (robaBarkod != String.Empty && robaBarkod != null)
        {
            rBk = robaBarkod;
        }

        string mbr = null;
        if (matBroj != String.Empty && matBroj != null)
        {
            mbr = matBroj;
        }

        string srt = null;
        // Odkomentirati kada riješim bug sortiranja.
        //if (sort != String.Empty && sort != null)
        //{
        //    srt = sort;
        //}

        string ad = null;
        // Odkomentirati kada riješim bug sortiranja.
        //if (ascDesc != String.Empty && ascDesc != null)
        //{
        //    ad = ascDesc;
        //}

        try
        {
            // < stavke>
            pomDT = mobTransLokStaTA.DajHistorijat(skladisteOznaka, godina.ToString(), broj, rSif, rBk, mbr, srt, ad);
            brRedaka = pomDT.Rows.Count;

            ds.Tables.Add(Stranicxi(redakPoc, redakKol, pomDT));
            ds.Tables[0].TableName = "PllHistorijat";
            pomDT = null;
            // </stavke>

            // < broj redaka>
            pomDT = new DataTable("BrojRedaka");
            pomDT.Columns.Add("BrojRedaka");
            DataRow brojRedakaDR = pomDT.NewRow();
            brojRedakaDR["BrojRedaka"] = brRedaka;
            pomDT.Rows.Add(brojRedakaDR);

            ds.Tables.Add(pomDT.Copy());
            pomDT = null;
            // </broj redaka>

            // < kolièina>
            //if (rBk != null || rSif != null)
            //{
            //    pomDT = new DataTable("Kolicina");
            //    pomDT.Columns.Add("Kolicina");
            //    DataRow kolicinaDR = pomDT.NewRow();
            //    mobInventuraTA.DajZbrojPoRobi(matBroj, skladisteOznaka, godina.ToString(), broj, kontrola, lokOzn, rSif, rBk, out zbroj);
            //    kolicinaDR["Kolicina"] = zbroj;
            //    pomDT.Rows.Add(kolicinaDR);

            //    ds.Tables.Add(pomDT.Copy());
            //    pomDT = null;
            //}
            // </kolièina>
        }
        catch (Exception)
        {
            ds = null;
            // <Štoperica>
            //dogodilaSeGreska = true;
            // </štoperica>
        }
        finally
        {
            mobTransLokStaTA.Dispose();
        }

        // < Štoperica>
        //TimeSpan intervalWS = DateTime.Now.Subtract(pocetakWS);
        //Kraj(id, intervalWS.TotalMilliseconds, dogodilaSeGreska);
        // </štoperica>

        return ds;
    }
Example #3
0
    public string[] PllUpisiStavku(string skladisteOznaka, int godina, string broj, string robaBarkod, string lokacijaOznakaIzlaz, float kolicinaIzlaz, string lokacijaOznakaUlaz, float kolicinaUlaz, string mac, string matBroj, string lozinka)
    {
        int id = 0;
        string strGreska = "OK";
        float fltGreska = 0;

        // Kontrola jel PLL zaprti. Okay, zakrpa je JADNA zbog GOTO naredbe, ali mi se nije dalo zafrkavat s ifovima.
        //DataSet kontrolaPLLDS = PllDajPoSkladistu(skladisteOznaka);
        //if (kontrolaPLLDS != null)
        //{
        //    if (kontrolaPLLDS.Tables[0].Rows.Count != 1)
        //    {
        //        strGreska = "GreskaPriUpisu";
        //        kontrolaPLLDS.Dispose();
        //        goto Kraj;
        //    }
        //}
        //else
        //{
        //    strGreska = "GreskaPriUpisu";
        //    kontrolaPLLDS.Dispose();
        //    goto Kraj;
        //}
        // Kraj kontrole

        // - - Nova kontrola jel PLL zaprti, 8.1.2009 - -
        strGreska = PllProvjeri(skladisteOznaka, broj);
        if (strGreska != "OK")
        {
            goto Kraj;
        }
        // - - - - - - - - - - - - -

        if (JeAutenticiran(matBroj, lozinka, mac))
        {
            MobTransLokStaTA mobTransLokStaTA = new MobTransLokStaTA();
            decimal? decID = null;
            decimal? decKapacitet = null;

            #region Priprema parametara
            string lokIzlaz = null;
            if (lokacijaOznakaIzlaz != null && lokacijaOznakaIzlaz != String.Empty)
            {
                lokIzlaz = lokacijaOznakaIzlaz;
            }
            float? kolIzlaz = null;
            if (lokIzlaz != null)
            {
                kolIzlaz = kolicinaIzlaz;
            }

            string lokUlaz = null;
            if (lokacijaOznakaUlaz != null && lokacijaOznakaUlaz != String.Empty)
            {
                lokUlaz = lokacijaOznakaUlaz;
            }
            float? kolUlaz = null;
            if (lokUlaz != null)
            {
                kolUlaz = kolicinaUlaz;
            }
            #endregion

            #region Izlaz
            // Ako se radi o izlazu, treba provjeriti postoji li uopæe roba na toj lokaciji.
            if (lokIzlaz != null && lokUlaz == null)
            {
                DataSet ds = RobaDajLokacije(skladisteOznaka, robaBarkod, null);
                if (ds != null)
                {
                    DataView dv = new DataView(ds.Tables[0], "LokacijaOznaka='" + lokIzlaz + "'", "LokacijaOznaka", DataViewRowState.CurrentRows);
                    if (dv.Count == 1)
                    {
                        float fltRobaStanje = 0;
                        if (dv[0]["RobaStanje"].ToString() != String.Empty && dv[0]["RobaStanje"].ToString() != null)
                        {
                            fltRobaStanje = Convert.ToSingle(dv[0]["RobaStanje"]);
                        }
                        // Ako robe ima na lokaciji, treba provjeriti kolièinu za skidanje...
                        if (kolicinaIzlaz > fltRobaStanje)
                        {
                            strGreska = "PrevelikoIzuzimanje";
                            fltGreska = kolicinaIzlaz - fltRobaStanje;
                        }
                    }
                    else if (dv.Count == 0)
                    {
                        strGreska = "NemaNaLokaciji";
                    }
                    else
                    {
                        strGreska = "PogresanBrojLokacija";
                    }
                    dv.Dispose();
                }
                else
                {
                    strGreska = "GreskaPriDohvatuLokacija";
                }
                ds.Dispose();
            }
            #endregion

            #region Ulaz
            // Ako se radi o ulazu, treba provjeriti da li je roba prethodno izuzeta.
            else if (lokIzlaz == null && lokUlaz != null)
            {
                //string[] stanje = PllIzmjestenaRobaDajStanje(skladisteOznaka, godina, broj, null, robaBarkod, matBroj);
                string[] stanje = PllIzmjestenaRobaDajStanje(skladisteOznaka, godina, broj, null, robaBarkod, null);
                if (stanje[0] == "1")
                {
                    if (stanje[2] != String.Empty)
                    {
                        float fltStanje1 = 0;
                        if (stanje[1] != String.Empty)
                        {
                            fltStanje1 = Convert.ToSingle(stanje[1]);
                        }
                        if (kolicinaUlaz > Convert.ToSingle(stanje[2]) - fltStanje1)
                        {
                            strGreska = "PrevelikUlaz";
                            fltGreska = kolicinaUlaz - (Convert.ToSingle(stanje[2]) - fltStanje1);
                        }
                    }
                    else
                    {
                        strGreska = "NepostojeciIzlaz";
                    }
                }
                else
                {
                    strGreska = "GreskaPriDohvatuStanja";
                }
            }
            #endregion

            if (strGreska == "OK")
            {
                try
                {
                    mobTransLokStaTA.Insert(skladisteOznaka, godina.ToString(), broj, lokIzlaz, kolIzlaz, lokUlaz, kolUlaz, robaBarkod, mac, matBroj, out decID, out decKapacitet);
                    if (Convert.ToInt32(decID) == -2)
                    {
                        strGreska = "KapacitarnaGreska";
                    }
                }
                catch (Exception)
                {
                    strGreska = "GreskaPriUpisu";
                    decID = null;
                }
                finally
                {
                    mobTransLokStaTA.Dispose(); // Za otpuštanje table adaptera se brine garbage collector, ali ne šteti ako ga ruèno anuliramo.
                }
                if (decID != null)
                {
                    id = Convert.ToInt32(decID);
                }
                if (decKapacitet != null)
                {
                    fltGreska = Convert.ToSingle(decKapacitet);
                }
            }
        }

        Kraj:
        string[] upis = new string[3];
        upis[0] = strGreska;
        upis[1] = fltGreska.ToString();
        upis[2] = id.ToString();

        // < Štoperica>
        //TimeSpan intervalWS = DateTime.Now.Subtract(pocetakWS);
        //Kraj(id2, intervalWS.TotalMilliseconds, dogodilaSeGreska);
        // </štoperica>

        return upis;
    }