Exemple #1
0
        public void SaveState(DID_Lokacija lokacija)
        {
            radniNalogLokacija = db.Query <DID_RadniNalog_Lokacija>(
                "SELECT * " +
                "FROM DID_RadniNalog_Lokacija " +
                "WHERE Lokacija = ? " +
                "AND RadniNalog = ?", lokacija.SAN_Id, radniNalog).FirstOrDefault();

            List <DID_Potvrda> potvrde = db.Query <DID_Potvrda>(
                "SELECT * " +
                "FROM DID_Potvrda " +
                "WHERE RadniNalogLokacijaId = ?", radniNalogLokacija.Id);

            if (!potvrde.Any() && radniNalogLokacija.Status == 4)
            {
                string razlogNeizvrsenja = db.Query <DID_RazlogNeizvrsenjaDeratizacije>(
                    "SELECT * " +
                    "FROM DID_RazlogNeizvrsenjaDeratizacije " +
                    "WHERE Sifra = ?", radniNalogLokacija.RazlogNeizvrsenja).FirstOrDefault().Naziv;

                localNeizvrsernaLokacijaEdit.PutBoolean("visitedNeizvrsenaLokacija", true);
                localNeizvrsernaLokacijaEdit.PutBoolean("neprovedenoRadioBtn", true);
                localNeizvrsernaLokacijaEdit.PutString("opisPosla", radniNalogLokacija.OpisPosla);
                localNeizvrsernaLokacijaEdit.PutString("napomena", radniNalogLokacija.Napomena);
                localNeizvrsernaLokacijaEdit.PutString("spinnerSelectedItem", razlogNeizvrsenja);
                localNeizvrsernaLokacijaEdit.Commit();
            }

            localPotvrdaEdit.PutBoolean("fromList", true);
            localPotvrdaEdit.Commit();
            localKomitentLokacijaEdit.PutInt("radniNalogLokacijaId", radniNalogLokacija.Id);
            localKomitentLokacijaEdit.PutInt("lokacijaId", lokacija.SAN_Id);
            localKomitentLokacijaEdit.PutString("lokacijaNaziv", lokacija.SAN_Naziv);
            localKomitentLokacijaEdit.Commit();
        }
Exemple #2
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.lokacijaNeizvrsenje);
            Android.Widget.Toolbar toolbar = FindViewById <Android.Widget.Toolbar>(Resource.Id.toolbarHomePage);
            neprovedenoRadioBtn = FindViewById <CheckBox>(Resource.Id.neprovedenoRadioBtn);
            neprovedenoTextView = FindViewById <TextView>(Resource.Id.neprovedenoTextView);
            napomeneInput       = FindViewById <EditText>(Resource.Id.napomeneInput);
            opisInput           = FindViewById <EditText>(Resource.Id.opisInput);
            spinnerNeprovedeno  = FindViewById <Spinner>(Resource.Id.spinnerNeprovedeno);
            saveBtn             = FindViewById <Button>(Resource.Id.saveBtn);
            anketePoPozicijama  = FindViewById <CheckBox>(Resource.Id.anketePoPozicijama);

            SetActionBar(toolbar);
            ActionBar.Title            = "Lokacija";
            spinnerNeprovedeno.Enabled = false;
            saveBtn.Click += SaveBtn_Click;
            DID_RadniNalog_Lokacija radniNalogLok = db.Query <DID_RadniNalog_Lokacija>(
                "SELECT * " +
                "FROM DID_RadniNalog_Lokacija " +
                "WHERE RadniNalog = ? " +
                "AND Lokacija = ?", radniNalogId, lokacijaId).FirstOrDefault();

            bool anketePozicije = db.Query <DID_Lokacija>(
                "SELECT * " +
                "FROM DID_Lokacija " +
                "WHERE SAN_Id = ?", lokacijaId).FirstOrDefault().SAN_AnketePoPozicijama;

            anketePoPozicijama.Checked = anketePozicije;
            napomeneInput.Text         = radniNalogLok.Napomena;
            opisInput.Text             = radniNalogLok.OpisPosla;
            neprovedenoRadioBtn.Click += NeprovedenoRadioBtn_Click;

            //dropdown menu za razlog neizvrsene deratizacije
            List <DID_RazlogNeizvrsenjaDeratizacije> razlozi = db.Query <DID_RazlogNeizvrsenjaDeratizacije>(
                "SELECT * " +
                "FROM DID_RazlogNeizvrsenjaDeratizacije");

            List <string> razloziList = new List <string>();

            for (var i = 1; i < razlozi.Count; i++)
            {
                razloziList.Add(razlozi[i].Naziv);
            }

            ArrayAdapter <string> adapterPartnerList = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleSpinnerItem, razloziList);

            adapterPartnerList.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);
            spinnerNeprovedeno.Adapter = adapterPartnerList;

            if (radniNalogLok.Status == 4)
            {
                neprovedenoRadioBtn.PerformClick();
                spinnerNeprovedeno.SetSelection(radniNalogLok.RazlogNeizvrsenja - 1);
            }
        }
Exemple #3
0
        public void MAdapter_ItemZakljucaj(object sender, int e)
        {
            DID_RadniNalog_Lokacija radniNalogLokacijaId = db.Query <DID_RadniNalog_Lokacija>(
                "SELECT * " +
                "FROM DID_RadniNalog_Lokacija " +
                "WHERE Lokacija = ? " +
                "AND RadniNalog = ?", lokacijeListFiltered[e].SAN_Id, radniNalog).FirstOrDefault();

            localKomitentLokacijaEdit.PutInt("radniNalogLokacijaId", radniNalogLokacijaId.Id);
            localKomitentLokacijaEdit.PutInt("lokacijaId", lokacijeListFiltered[e].SAN_Id);
            localKomitentLokacijaEdit.PutString("lokacijaNaziv", lokacijeListFiltered[e].SAN_Naziv);
            localKomitentLokacijaEdit.Commit();

            intent = new Intent(this, typeof(Activity_LokacijaZavrsena));
            StartActivity(intent);
        }
Exemple #4
0
        public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
        {
            LokacijaViewHolder vh       = holder as LokacijaViewHolder;
            DID_Lokacija       lokacija = db.Query <DID_Lokacija>(
                "SELECT * " +
                "FROM DID_Lokacija " +
                "WHERE SAN_Id = ?", mDID_Lokacije[position].SAN_Id).FirstOrDefault();

            int radniNalog = localRadniNalozi.GetInt("id", 0);
            DID_RadniNalog_Lokacija radniNalogLokacija = db.Query <DID_RadniNalog_Lokacija>(
                "SELECT * " +
                "FROM DID_RadniNalog_Lokacija " +
                "WHERE Lokacija = ? " +
                "AND RadniNalog = ?", mDID_Lokacije[position].SAN_Id, radniNalog).FirstOrDefault();
            int tipAkcije = radniNalogLokacija.TipAkcije;

            List <DID_Potvrda> potvrda = db.Query <DID_Potvrda>(
                "SELECT * " +
                "FROM DID_Potvrda " +
                "WHERE Lokacija = ? " +
                "AND RadniNalog = ?", mDID_Lokacije[position].SAN_Id, radniNalog);

            if (radniNalogLokacija.Status == 4)
            {
                vh.ItemView.SetBackgroundResource(Resource.Color.redLight);
                vh.Potvrda.Visibility   = Android.Views.ViewStates.Gone;
                vh.Zakljucaj.Visibility = Android.Views.ViewStates.Gone;
                vh.Otkljucaj.Visibility = Android.Views.ViewStates.Gone;
            }
            else if (radniNalogLokacija.Status == 3)
            {
                vh.Potvrda.Visibility   = Android.Views.ViewStates.Visible;
                vh.Potvrda.Text         = "prikaži potvrdu";
                vh.Zakljucaj.Visibility = Android.Views.ViewStates.Gone;
                vh.Otkljucaj.Visibility = Android.Views.ViewStates.Visible;

                if (radniNalogLokacija.SinhronizacijaStatus == 2)
                {
                    vh.ItemView.SetBackgroundResource(Resource.Color.greenDark);
                    vh.Potvrda.SetTextColor(Android.Graphics.Color.White);
                }
                else
                {
                    vh.ItemView.SetBackgroundResource(Resource.Color.colorPrimary);
                    vh.Potvrda.SetTextColor(Android.Graphics.Color.ParseColor("#ff669900"));
                }
            }
            else if (potvrda.Any())
            {
                vh.Potvrda.Visibility   = Android.Views.ViewStates.Visible;
                vh.Potvrda.Text         = "prikaži potvrdu";
                vh.Zakljucaj.Visibility = Android.Views.ViewStates.Visible;
                vh.Otkljucaj.Visibility = Android.Views.ViewStates.Gone;
                vh.ItemView.SetBackgroundColor(Android.Graphics.Color.Transparent);
            }
            else
            {
                List <DID_LokacijaPozicija> pozicijeOdradene = db.Query <DID_LokacijaPozicija>(
                    "SELECT * " +
                    "FROM DID_LokacijaPozicija " +
                    "INNER JOIN DID_Anketa ON DID_LokacijaPozicija.POZ_Id = DID_Anketa.ANK_POZ_Id " +
                    "WHERE DID_Anketa.ANK_RadniNalog = ? " +
                    "AND DID_LokacijaPozicija.SAN_Id = ?", radniNalog, mDID_Lokacije[position].SAN_Id);

                List <DID_LokacijaPozicija> pozicijeUkupno = db.Query <DID_LokacijaPozicija>(
                    "SELECT * " +
                    "FROM DID_LokacijaPozicija " +
                    "INNER JOIN DID_RadniNalog_Lokacija ON DID_LokacijaPozicija.SAN_Id = DID_RadniNalog_Lokacija.Lokacija " +
                    "WHERE DID_RadniNalog_Lokacija.RadniNalog = ? " +
                    "AND DID_LokacijaPozicija.SAN_Id = ?", radniNalog, mDID_Lokacije[position].SAN_Id);

                vh.Zakljucaj.Visibility = Android.Views.ViewStates.Gone;
                vh.Otkljucaj.Visibility = Android.Views.ViewStates.Gone;

                if (!mDID_Lokacije[position].SAN_AnketePoPozicijama)
                {
                    vh.ItemView.SetBackgroundColor(Android.Graphics.Color.Transparent);
                    vh.Potvrda.Text = "izdaj potvrdu";
                }
                else if (pozicijeOdradene.Count == pozicijeUkupno.Count && pozicijeOdradene.Count > 0)
                {
                    vh.ItemView.SetBackgroundColor(Android.Graphics.Color.Transparent);
                    vh.Potvrda.Text = "izdaj potvrdu";
                }
                else
                {
                    vh.ItemView.SetBackgroundColor(Android.Graphics.Color.Transparent);
                    vh.Potvrda.Visibility = Android.Views.ViewStates.Invisible;
                }
            }

            vh.Naziv.Text     = lokacija.SAN_Naziv;
            vh.Mjesto.Text    = lokacija.SAN_Mjesto;
            vh.Adresa.Text    = lokacija.SAN_UlicaBroj;
            vh.TipAkcije.Text = lokacija.SAN_Tip.ToString();
            if (tipAkcije == 1)
            {
                vh.TipAkcije.Text = "Prvi dolazak";
            }
            else
            {
                vh.TipAkcije.Text = "Kontrola";
            }
        }
Exemple #5
0
        public void SaveBtn_Click(object sender, EventArgs args)
        {
            if (napomeneInput.Text.Length > 512)
            {
                return;
            }

            string lokacijaNaziv = db.Query <DID_Lokacija>(
                "SELECT * " +
                "FROM DID_Lokacija " +
                "WHERE SAN_Id = ?", lokacijaId).FirstOrDefault().SAN_Naziv;

            DID_RadniNalog_Lokacija radniNalogLokacija = db.Query <DID_RadniNalog_Lokacija>(
                "SELECT * " +
                "FROM DID_RadniNalog_Lokacija " +
                "WHERE Id = ?", radniNalogLokacijaId).FirstOrDefault();

            if (radniNalogLokacija.Status == 3)
            {
                AlertDialog.Builder alert = new AlertDialog.Builder(this);
                alert.SetTitle("Upozorenje!");
                alert.SetMessage("Dodavanjem ankete lokacija " + lokacijaNaziv + " gubi status izvršene lokacije. Jeste li sigurni da želite nastaviti?");
                alert.SetPositiveButton("NASTAVI", (senderAlert, arg) =>
                {
                    SpremiAnketu();

                    db.Execute(
                        "UPDATE DID_RadniNalog_Lokacija " +
                        "SET Status = 2, " +
                        "SinhronizacijaStatus = 0 " +
                        "WHERE Id = ?", radniNalogLokacijaId);

                    db.Execute(
                        "UPDATE DID_Lokacija " +
                        "SET SinhronizacijaStatus = 0 " +
                        "WHERE SAN_Id = ?", lokacijaId);

                    DID_RadniNalog radniNalog = db.Query <DID_RadniNalog>(
                        "SELECT * " +
                        "FROM DID_RadniNalog " +
                        "WHERE Id = ?", radniNalogId).FirstOrDefault();

                    if (radniNalog.SinhronizacijaStatus == 2)
                    {
                        db.Query <DID_RadniNalog>(
                            "UPDATE DID_RadniNalog " +
                            "SET SinhronizacijaStatus = 1 " +
                            "WHERE Id = ?", radniNalogId);
                    }

                    List <DID_RadniNalog_Lokacija> zavrseneLokacije = db.Query <DID_RadniNalog_Lokacija>(
                        "SELECT * " +
                        "FROM DID_RadniNalog_Lokacija " +
                        "WHERE RadniNalog = ? " +
                        "AND Status = 3", radniNalogId);

                    if (zavrseneLokacije.Any())
                    {
                        db.Query <DID_RadniNalog>(
                            "UPDATE DID_RadniNalog " +
                            "SET Status = 4 " +
                            "WHERE Id = ?", radniNalogId);
                    }
                    else
                    {
                        db.Query <DID_RadniNalog>(
                            "UPDATE DID_RadniNalog " +
                            "SET Status = 3 " +
                            "WHERE Id = ?", radniNalogId);
                    }
                });

                alert.SetNegativeButton("ODUSTANI", (senderAlert, arg) =>
                {
                    localPozicija.Edit().Clear().Commit();
                    localAnketa.Edit().Clear().Commit();
                    intent = new Intent(this, typeof(Activity_Lokacije));
                    StartActivity(intent);
                });
                Dialog dialog = alert.Create();
                dialog.Show();
            }
            else
            {
                SpremiAnketu();
            }
        }
Exemple #6
0
        public void MAdapter_ItemClick(object sender, int e)
        {
            // ako lokacija ima 1 poziciju i ta pozicija nema barcode, znaci da ta lokacija nema pozicija (ta jedna je fiktivna)
            // -> bacaj na stranicu za dodavanje potrosenih materijala

            SaveState(lokacijeListFiltered[e]);

            DID_RadniNalog_Lokacija rnLokacija = db.Query <DID_RadniNalog_Lokacija>(
                "SELECT * " +
                "FROM DID_RadniNalog_Lokacija " +
                "WHERE Lokacija = ? " +
                "AND RadniNalog = ?", lokacijeListFiltered[e].SAN_Id, radniNalog).FirstOrDefault();

            if (rnLokacija.Status == 4)
            {
                intent = new Intent(this, typeof(Activity_LokacijaPostavke));
                StartActivity(intent);
            }
            else if (!lokacijeListFiltered[e].SAN_AnketePoPozicijama)
            {
                // 1. Odabirem prvu poziciju
                // 2. Ako nema ni jedne pozicije generiram poziciju s brojem 1
                List <DID_LokacijaPozicija> pozicije = db.Query <DID_LokacijaPozicija>(
                    "SELECT * " +
                    "FROM DID_LokacijaPozicija " +
                    "INNER JOIN DID_RadniNalog_Lokacija ON DID_LokacijaPozicija.SAN_Id = DID_RadniNalog_Lokacija.Lokacija " +
                    "WHERE DID_LokacijaPozicija.SAN_Id = ? " +
                    "AND DID_RadniNalog_Lokacija.RadniNalog = ?" +
                    "ORDER BY POZ_Broj, POZ_BrojOznaka, POZ_Id, SAN_Id, POZ_Barcode, POZ_Tip, POZ_Status, POZ_Opis", lokacijeListFiltered[e].SAN_Id, radniNalog);

                if (!pozicije.Any())
                {
                    pozicijaId = -1;
                    List <DID_LokacijaPozicija> pozicijeNove = db.Query <DID_LokacijaPozicija>(
                        "SELECT * " +
                        "FROM DID_LokacijaPozicija " +
                        "WHERE POZ_Id < 0 " +
                        "ORDER BY POZ_Id");

                    if (pozicijeNove.Any())
                    {
                        pozicijaId = pozicijeNove.FirstOrDefault().POZ_Id - 1;
                    }

                    db.Query <DID_LokacijaPozicija>(
                        "INSERT INTO DID_LokacijaPozicija (" +
                        "POZ_Id, " +
                        "SAN_Id, " +
                        "POZ_Broj, " +
                        "POZ_BrojOznaka, " +
                        "POZ_Barcode, " +
                        "POZ_Tip, " +
                        "POZ_Status, " +
                        "POZ_Opis, " +
                        "SinhronizacijaPrivremeniKljuc, " +
                        "SinhronizacijaStatus)" +
                        "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
                        pozicijaId,
                        lokacijeListFiltered[e].SAN_Id,
                        1,
                        null,
                        null,
                        1,
                        1,
                        null,
                        pozicijaId,
                        1
                        );

                    Guid id       = Guid.NewGuid();
                    var  username = localUsername.GetString("nazivDjelatnika", null);
                    db.Query <DID_Anketa>(
                        "INSERT INTO DID_Anketa (" +
                        "Id, " +
                        "ANK_TipDeratizacije, " +
                        "ANK_RadniNalog, " +
                        "ANK_KorisnickoIme, " +
                        "ANK_POZ_Id, " +
                        "ANK_DatumVrijeme, " +
                        "LastEditDate, " +
                        "ANK_TipDeratizacijskeKutijeSifra, " +
                        "SinhronizacijaPrivremeniKljuc, " +
                        "SinhronizacijaStatus)" +
                        "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
                        id,
                        2,
                        radniNalog,
                        username,
                        pozicijaId,
                        DateTime.Now,
                        DateTime.Now,
                        1,
                        id,
                        2
                        );
                }
                else
                {
                    pozicijaId = pozicije.FirstOrDefault().POZ_Id;

                    List <DID_Anketa> anketa = db.Query <DID_Anketa>(
                        "SELECT * " +
                        "FROM DID_Anketa " +
                        "WHERE ANK_POZ_Id = ? " +
                        "AND ANK_RadniNalog = ?", pozicijaId, radniNalog);

                    if (!anketa.Any())
                    {
                        Guid id       = Guid.NewGuid();
                        var  username = localUsername.GetString("nazivDjelatnika", null);
                        db.Query <DID_Anketa>(
                            "INSERT INTO DID_Anketa (" +
                            "Id, " +
                            "ANK_TipDeratizacije, " +
                            "ANK_RadniNalog, " +
                            "ANK_KorisnickoIme, " +
                            "ANK_POZ_Id, " +
                            "ANK_DatumVrijeme, " +
                            "LastEditDate, " +
                            "ANK_TipDeratizacijskeKutijeSifra, " +
                            "SinhronizacijaPrivremeniKljuc, " +
                            "SinhronizacijaStatus)" +
                            "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
                            id,
                            2,
                            radniNalog,
                            username,
                            pozicijaId,
                            DateTime.Now,
                            DateTime.Now,
                            1,
                            id,
                            2);
                    }
                    else
                    {
                        db.Query <DID_Anketa>(
                            "UPDATE DID_Anketa " +
                            "SET ANK_TipDeratizacije = ?, " +
                            "ANK_DatumVrijeme = ?, " +
                            "LastEditDate = ? " +
                            "WHERE Id = ?",
                            2,
                            DateTime.Now,
                            DateTime.Now,
                            anketa.FirstOrDefault().Id);
                    }
                }

                localPozicijaEdit.PutInt("pozicijaId", pozicijaId);
                localPozicijaEdit.Commit();
                intent = new Intent(this, typeof(Activity_PotroseniMaterijali_List));
                StartActivity(intent);
            }
            else
            {
                intent = new Intent(this, typeof(Activity_Pozicije));
                StartActivity(intent);
            }
        }