public static bool DodajPodatkeOfiskalizaciji(string brojRacuna, string[] oznake) { string sql = "UPDATE rfakture SET jir='" + oznake[0] + "',zik='" + oznake[1] + "' WHERE broj='" + brojRacuna + "'"; provjera_sql(RemoteDB.update(sql)); return(true); }
private void stornirajAvans(string stariBroj) { //ubaci u racuni i vrati IznosGotovina, IznosKartica, ukupno i novi racun DataTable DTracun = RemoteDB.select("SELECT * FROM avansi where broj_avansa='" + stariBroj + "'", "avansi").Tables[0]; string noviAvans = brojAvansa(); if (noviAvans != "") { noviAvans = (Convert.ToInt64(noviAvans) + 1).ToString(); } else { MessageBox.Show("U bazi ne postoji niti jedan avans!"); return; } //priprema za fiskalizaciju DataTable DTnaknade = new DataTable(); DataTable DTOstaliPor = new DataTable(); bool pdv = ini.Read("Postavke", "u_sustavu_pdva") == "1" ? true : false; string oib = DToib.Rows.Count > 0 ? DToib.Rows[0][0].ToString() : ""; string iznososlobpdv = ""; string iznos_marza = ""; double Porez_potrosnja_sve = 0; string[] porezNaPotrosnju = setPorezNaPotrosnju(); dodajKoloneDTpdv(); DTpdv.Clear(); //priprema za fiskalizaciju double osnovica_sve = 0; double osnovicaVar = Convert.ToDouble(DTracun.Rows[0]["osnovica_var"].ToString()); double porezVar = Convert.ToDouble(DTracun.Rows[0]["porez_var"].ToString()); double osnovica10 = Convert.ToDouble(DTracun.Rows[0]["osnovica10"].ToString()); double porez10 = osnovica10 * .1; //dodajPDV(porez10, osnovica10); //dodajPDV(porezVar, osnovicaVar); if (osnovica10 != 0) { dodajPDV(10.00, Math.Round(osnovica10 * -1, 2)); } if (osnovicaVar != 0) { dodajPDV(Math.Round(porezVar / osnovicaVar, 4) * 100, Math.Round(osnovicaVar * -1, 2)); } osnovica_sve += osnovica10 + osnovicaVar; porezNaPotrosnju[0] = "0"; porezNaPotrosnju[1] = Convert.ToString(osnovica_sve); porezNaPotrosnju[2] = Convert.ToString(Porez_potrosnja_sve); DataTable DTnp = RemoteDB.select("SELECT naziv_placanja FROM nacin_placanja where id_placanje='" + DTracun.Rows[0]["id_nacin_placanja"].ToString() + "'", "avansi").Tables[0]; string npId = DTnp.Rows.Count > 0 ? DTnp.Rows[0][0].ToString() : ""; string np; switch (npId.ToLower()) { case "gotovina": np = "G"; break; case "kartica": np = "K"; break; case "virman": np = "T"; break; default: np = "O"; break; } DateTime datum = DateTime.Now; //string[] fiskalizacija = new string[3]; string[] fiskalizacija = Fiskalizacija.classFiskalizacija.Fiskalizacija( DTtvrtka.Rows[0]["oib"].ToString(), oib, datum, Convert.ToInt32(noviAvans), DTpdv, porezNaPotrosnju, DTOstaliPor, iznososlobpdv, iznos_marza, DTnaknade, Convert.ToDecimal(DTracun.Rows[0]["ukupno"].ToString()) * -1,//.ToString().Replace(",", ".") np, false, "A" ); string sql = "INSERT INTO avansi (broj_avansa,dat_dok,dat_knj,id_zaposlenik,id_zaposlenik_izradio,model" + ",id_nacin_placanja,id_valuta,opis,id_vd,godina_avansa,ukupno,ziro,nult_stp,neoporezivo," + "osnovica10,osnovica_var,porez_var,id_pdv,id_partner,jir,zki,storno) VALUES " + " (" + " '" + noviAvans + "'," + " '" + datum.ToString("yyyy-MM-dd H:mm:ss") + "'," + " '" + DTracun.Rows[0]["dat_knj"].ToString() + "'," + " '" + "0" + "'," + " '" + Properties.Settings.Default.id_zaposlenik + "'," + " '" + DTracun.Rows[0]["model"].ToString() + "'," + " '" + DTracun.Rows[0]["id_nacin_placanja"].ToString() + "'," + " '" + DTracun.Rows[0]["id_valuta"].ToString() + "'," + " '" + DTracun.Rows[0]["opis"].ToString() + "'," + " '" + DTracun.Rows[0]["id_vd"].ToString() + "'," + " '" + DTracun.Rows[0]["godina_avansa"].ToString() + "'," + " '" + (Convert.ToDecimal(DTracun.Rows[0]["ukupno"].ToString()) * -1).ToString().Replace(",", ".") + "'," + " '" + DTracun.Rows[0]["ziro"].ToString() + "'," + " '" + (Convert.ToDecimal(DTracun.Rows[0]["nult_stp"].ToString()) * -1).ToString().Replace(",", ".") + "'," + " '" + (Convert.ToDecimal(DTracun.Rows[0]["neoporezivo"].ToString()) * -1).ToString().Replace(",", ".") + "'," + " '" + (Convert.ToDecimal(DTracun.Rows[0]["osnovica10"].ToString()) * -1).ToString().Replace(",", ".") + "'," + " '" + (Convert.ToDecimal(DTracun.Rows[0]["osnovica_var"].ToString()) * -1).ToString().Replace(",", ".") + "'," + " '" + (Convert.ToDecimal(DTracun.Rows[0]["porez_var"].ToString()) * -1).ToString().Replace(",", ".") + "'," + " '" + DTracun.Rows[0]["id_pdv"].ToString() + "', " + " '" + DTracun.Rows[0]["id_partner"].ToString() + "', " + " '" + fiskalizacija[0] + "', " + " '" + fiskalizacija[1] + "', " + " 'NE' " + ")"; provjera_sql(RemoteDB.insert(sql)); string sqlStorno = "UPDATE avansi SET storno='DA' WHERE broj_avansa='" + stariBroj + "'"; RemoteDB.update(sqlStorno); sql = "INSERT INTO aktivnost_zaposlenici (id_zaposlenik,datum,radnja)" + " VALUES ('" + Properties.Settings.Default.id_zaposlenik + "','" + DateTime.Now.ToString("yyyy-MM-dd H:mm:ss") + "'," + "'Storno avansa br." + stariBroj + "')"; provjera_sql(RemoteDB.insert(sql)); }
private void btnSpremi_Click(object sender, EventArgs e) { //PROVJERA! if (textUkupno.Text.Trim() == "" || c.ukupno == 0) { if (MessageBox.Show("Da li ste sigurni da želite spremiti avans s ovim iznosom?", "Upozorenje", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { textUkupno.Focus(); return; } } //ako se editira avans try { int avans = Convert.ToInt16(txtBrojAvans.Text); } catch { MessageBox.Show("Unesi numeričku vrijednost za broj avansa!"); txtBrojAvans.Focus(); return; } try { int avans = Convert.ToInt32(txtAvansirati.Text); } catch { MessageBox.Show("Unesi numeričku vrijednost za partnera!", "Greška"); txtAvansirati.Focus(); return; } DataTable DSpar = RemoteDB.select(string.Format(@"SELECT ime_tvrtke FROM partners WHERE id_partner = '{0}';", txtAvansirati.Text), "partners").Tables[0]; if (DSpar.Rows.Count < 1) { MessageBox.Show("Partner pod tim brojem ne postoji!", "Greška"); txtAvansirati.Focus(); return; } string sql = string.Format(@"SELECT * from avansi where broj_avansa = '{0}' AND godina_avansa = '{1}';", txtBrojAvans.Text, numGodina.Value.ToString()); DSAvansi = RemoteDB.select(sql, "avansi").Tables[0]; if (DSAvansi.Rows.Count > 0) { sql = string.Format(@"UPDATE avansi SET broj_avansa = '{0}', dat_dok = '{1}', dat_knj = '{2}', id_zaposlenik = '0', id_zaposlenik_izradio = '{3}', model = '{4}', id_nacin_placanja = '{5}', id_valuta = '{6}', opis = '{7}', godina_avansa = '{8}', ukupno = '{9}', ziro = '{10}', nult_stp = '{11}', neoporezivo = '{12}', osnovica10 = '{13}', osnovica_var = '{14}', porez_var = '{15}', id_pdv = '{16}', storno = '{17}', id_partner = '{18}' WHERE broj_avansa = '{0}' AND godina_avansa = '{8}';", txtBrojAvans.Text, dateTimePicker1.Value.ToString("yyyy-MM-dd H:mm:ss"), dateTimePicker2.Value.ToString("yyyy-MM-dd H:mm:ss"), Properties.Settings.Default.id_zaposlenik, txtModel.Text, cbNacinPlacanja.SelectedValue.ToString(), cbValuta.SelectedValue.ToString(), rtbOpis.Text, numGodina.Value.ToString(), Math.Round(c.ukupno, 2).ToString("#0.00").Replace(",", "."), cbZiroRacun.SelectedValue.ToString(), Math.Round(c.nultaStp, 2).ToString("#0.00").Replace(",", "."), Math.Round(c.neoporezivo, 2).ToString("#0.00").Replace(",", "."), Math.Round(c.osnovica10, 2).ToString("#0.00").Replace(",", "."), Math.Round(c.osnovicaVar, 2).ToString("#0.00").Replace(",", "."), Math.Round(c.porezVar, 2).ToString("#0.00").Replace(",", "."), cbPDV.SelectedValue.ToString(), storno, txtAvansirati.Text.Trim()); provjera_sql(RemoteDB.update(sql)); provjera_sql(RemoteDB.insert(string.Format(@"INSERT INTO aktivnost_zaposlenici (id_zaposlenik,datum,radnja) VALUES ('{0}', '{1}', 'Edit avans br. {2}');", Properties.Settings.Default.id_zaposlenik, DateTime.Now.ToString("yyyy-MM-dd H:mm:ss"), txtBrojAvans.Text))); MessageBox.Show("Spremljeno."); EnableDisable(false); ControlDisableEnable(true, false, false, true, true, true); return; } //ako se editira avans //priprema za fiskalizaciju DataTable DTnaknade = new DataTable(); DataTable DTOstaliPor = new DataTable(); bool pdv = ini.Read("Postavke", "u_sustavu_pdva") == "1" ? true : false; string oib = DToib.Rows.Count > 0 ? DToib.Rows[0][0].ToString() : ""; string iznososlobpdv = ""; string iznos_marza = ""; double osnovica_sve = 0; double Porez_potrosnja_sve = 0; string[] porezNaPotrosnju = setPorezNaPotrosnju(); dodajKoloneDTpdv(); DTpdv.Clear(); if (c.osnovica10 != 0) { dodajPDV(10.00, Math.Round(c.osnovica10, 2)); } if (c.osnovicaVar != 0) { dodajPDV(Math.Round(c.porezVar / c.osnovicaVar, 4) * 100, Math.Round(c.osnovicaVar, 2)); } osnovica_sve += c.osnovica10 + c.osnovicaVar; porezNaPotrosnju[0] = "0"; porezNaPotrosnju[1] = Convert.ToString(osnovica_sve); porezNaPotrosnju[2] = Convert.ToString(Porez_potrosnja_sve); //priprema za fiskalizaciju string np; switch (cbNacinPlacanja.Text.ToLower()) { case "gotovina": np = "G"; break; case "kartica": np = "K"; break; case "virman": np = "T"; break; default: np = "O"; break; } DateTime datum = dateTimePicker1.Value; //string[] fiskalizacija = new string[3]; string[] fiskalizacija = Fiskalizacija.classFiskalizacija.Fiskalizacija( DTtvrtka.Rows[0]["oib"].ToString(), oib, datum, Convert.ToInt32(txtBrojAvans.Text), DTpdv, porezNaPotrosnju, DTOstaliPor, iznososlobpdv, iznos_marza, DTnaknade, Convert.ToDecimal(c.ukupno), np, false, "A" ); //za novi avans sql = string.Format(@"INSERT INTO avansi ( broj_avansa, dat_dok, dat_knj, id_zaposlenik, id_zaposlenik_izradio, model, id_nacin_placanja, id_valuta, opis, godina_avansa, ukupno, ziro, nult_stp, neoporezivo, osnovica10, osnovica_var, porez_var, id_pdv, id_partner, jir, zki, storno ) VALUES ( '{0}', '{1}', '{2}', '0', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}', '{11}', '{12}', '{13}', '{14}', '{15}', '{16}', '{17}', '{18}', '{19}', 'NE' );", txtBrojAvans.Text, datum.ToString("yyyy-MM-dd H:mm:ss"), dateTimePicker2.Value.ToString("yyyy-MM-dd H:mm:ss"), Properties.Settings.Default.id_zaposlenik, txtModel.Text, cbNacinPlacanja.SelectedValue.ToString(), cbValuta.SelectedValue.ToString(), rtbOpis.Text, numGodina.Value.ToString(), Math.Round(c.ukupno, 2).ToString("#0.00").Replace(",", "."), cbZiroRacun.SelectedValue.ToString(), Math.Round(c.nultaStp, 2).ToString("#0.00").Replace(",", "."), Math.Round(c.neoporezivo, 2).ToString("#0.00").Replace(",", "."), Math.Round(c.osnovica10, 2).ToString("#0.00").Replace(",", "."), Math.Round(c.osnovicaVar, 2).ToString("#0.00").Replace(",", "."), Math.Round(c.porezVar, 2).ToString("#0.00").Replace(",", "."), cbPDV.SelectedValue.ToString(), txtAvansirati.Text.Trim(), fiskalizacija[0], fiskalizacija[1]); provjera_sql(RemoteDB.insert(sql)); provjera_sql(RemoteDB.insert(string.Format(@"INSERT INTO aktivnost_zaposlenici (id_zaposlenik, datum, radnja) VALUES ( '{0}', '{1}', 'Novi avans br. {2}');", Properties.Settings.Default.id_zaposlenik, DateTime.Now.ToString("yyyy-MM-dd H:mm:ss"), txtBrojAvans.Text))); if (MessageBox.Show("Spremljeno.\r\nŽelite li ispisati dokumenat?", "Spremljeno", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { printaj(txtBrojAvans.Text, numGodina.Value.ToString()); } EnableDisable(false); ControlDisableEnable(true, false, false, false, true, false); deleteFields(); }