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(); }
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); } }
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); }
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"; } }
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(); } }
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); } }