/// <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; }
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; }
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; }