private void PrepisiIzvod(string ulaz) { int RedniBroj = 0; string OOpis = ""; string BrojDok = ""; DataTable prometprepisani = new DataTable(); DataTable rspromet = new DataTable(); DataTable rstStablo = new DataTable(); DataTable rs2 = new DataTable(); DataTable rsd = new DataTable(); DataTable rsv = new DataTable(); DataTable rspo = new DataTable(); DataTable rsp = new DataTable(); DataTable rsDokumentaStablo = new DataTable(); int pbanka = 0; string NazivBanke = ""; int BrojIzvoda = 0; int PKomitent = 0; int Rr = 0; string BRD = ""; string str = ""; string pdokument = ""; string strParams = ""; List <string[]> lista = new List <string[]>(); char[] separators = { '#' }; string DatumP = ulaz.Split(separators)[0]; string KojiRacun = ulaz.Split(separators)[1]; clsObradaOsnovnihSifarnika coos = new clsObradaOsnovnihSifarnika(); rspromet = db.ReturnDataTable("Select * from BankaView where Replace(NazivRacuna,'-','')='" + coos.FormatirajRacun(KojiRacun) + "'"); if (rspromet.Rows.Count > 0) { pbanka = Convert.ToInt32(rspromet.Rows[0]["ID_BankaView"]); NazivBanke = rspromet.Rows[0]["NazivBanke"].ToString(); PKomitent = Convert.ToInt32(rspromet.Rows[0]["id_KomitentiView"]); } else { MessageBox.Show("Pogrešan broj tekućeg računa!"); return; } str = "SELECT DISTINCT Datum, ID_Blagajna "; str += " FROM IzvodTotali WHERE ID_Blagajna =" + pbanka.ToString(); str += " AND Format(datum,'dd.MM.yy') ='" + DatumP + "' "; rspromet = db.ReturnDataTable(str); if (rspromet.Rows.Count > 0) { MessageBox.Show("Već je izvršen prepis izvoda za datum:" + DatumP + " i račun:" + KojiRacun); return; } rspromet.Dispose(); str = "Select * from PlacanjaNaplate as pn,Dokumenta as d "; str += " where d.ID_Dokumenta=pn.ID_DokumentaView AND ((Isplate>0 and PrenesenoZaPlacanje=1) or Uplate>0 or VrstaSloga='T')"; str += " and Format(d.datum,'dd.MM.yy') ='" + DatumP + "' And ID_BankaView=" + pbanka.ToString() + " order by ID_SvrhaPlacanjaView,SvrhaPlacanjaSaIzvoda"; rspromet = db.ReturnDataTable(str); str = db.ReturnString("delete IzvodPrepisi", 0); //Jovana 22.06.21 //prometprepisani = db.ReturnDataTable(" select * from IzvodPrepisi"); str = ""; foreach (DataRow row in rspromet.Rows) { string opis = ""; strParams = ""; strParams = "@param1=" + row["Datum"].ToString() + "`"; strParams += "@param2=" + row["ID_BankaView"] + "`"; strParams += "@param3=" + row["uplate"].ToString().Replace(",", ".") + "`"; strParams += "@param4=" + row["isplate"].ToString().Replace(",", ".") + "`"; strParams += "@param5=" + row["OznakaKnjizenja"] + "`"; strParams += "@param6=" + row["VrstaSloga"] + "`"; if (Convert.ToInt32(row["ID_PozivNaBroj"]) > 1) { str = "Select ID_PDVUlazniJciTotali as Iid from PDVUlazniJciTotali where ID_RacunZaPlacanje=" + row["ID_PozivNaBroj"].ToString(); rsp = db.ReturnDataTable(str); if (rsp.Rows.Count > 0) { row["ID_PozivNaBroj"] = rsp.Rows[0]["iid"]; } } strParams += "@param7=" + row["ID_PozivNaBroj"] + "`"; strParams += "@param8=" + row["id_KomitentiView"] + "`"; strParams += "@param9=" + row["ID_SvrhaplacanjaView"] + "`"; strParams += "@param10=" + row["StariSaldo"].ToString().Replace(",", ".") + "`"; strParams += "@param11=" + row["NoviSaldo"].ToString().Replace(",", ".") + "`"; strParams += "@param12=" + row["BrojIzvoda"] + "`"; strParams += "@param13=" + row["OblikPlacanja"] + "`"; //Jovana 23.06.21 //opis = row["opis"].ToString(); opis = ""; if (row["SvrhaPlacanjaSaIzvoda"].ToString().ToUpper().IndexOf("DOZ") > -1 || row["SvrhaPlacanjaSaIzvoda"].ToString().ToUpper().IndexOf("AKREDIT") > -1) { if (row["SvrhaPlacanjaSaIzvoda"].ToString().Length > 17) { opis = row["SvrhaPlacanjaSaIzvoda"].ToString().Substring(17); } else { opis = row["SvrhaPlacanjaSaIzvoda"].ToString(); } } if (row["OblikPlacanja"].ToString().Length == 16) { opis = row["PozivNaBrojSaIzvoda"].ToString(); } if (Convert.ToInt32(row["ID_Svrhaplacanjaview"]) == 752) { opis = row["SvrhaPlacanjaSaIzvoda"].ToString(); } strParams += "@param14=" + opis + "`"; strParams += "@param15=" + Program.idkadar; str = " Insert into IzvodPrepisi ( "; str += " [Datum],[ID_BankaView],[uplate],[isplate],[OznakaKnjizenja],"; //5 str += "[VrstaSloga],[ID_PozivNaBroj],"; //2 str += "[id_KomitentiView],[ID_SvrhaPlacanja],[StariSaldo],"; // 3 str += "[NoviSaldo],[BrojIzvoda],[OblikPlacanja],[opis],[uuser] ) "; //5 str += " values(@param1,@param2,@param3 ,@param4,"; str += " @param5,@param6,@param7,"; str += " @param8 ,@param9,@param10,"; str += " @param11,@param12,@param13 ,@param14,@param15 ) "; lista.Add(new string[] { str, strParams }); /////... lista.ToArray(); } string rezultat = db.ReturnSqlTransactionParams(lista); lista.Clear(); if (rezultat != "") { MessageBox.Show(rezultat); return; } str = ""; str = " Select NazivBanke,BrojIzvoda "; str += " from IzvodPrepisi as p,BankaView as b Where p.ID_BankaView=b.ID_BankaView And p.VrstaSloga='T' "; prometprepisani.Clear(); prometprepisani = db.ReturnDataTable(str); if (prometprepisani.Rows.Count > 0) { BrojIzvoda = Convert.ToInt32(prometprepisani.Rows[0]["BrojIzvoda"]); } pdokument = "Izvod"; str = " SELECT * From DokumentaStablo where Naziv = '" + pdokument + "'"; rsDokumentaStablo = db.ReturnDataTable(str); if (rsDokumentaStablo.Rows.Count > 0) { IdDokumentaStablo = Convert.ToInt32(rsDokumentaStablo.Rows[0]["ID_DokumentaStablo"]); } else { MessageBox.Show("Nije registrovan dokument " + pdokument + "!"); return; } // clsXmlPlacanja cx = new clsXmlPlacanja(); // BrojDok = cx.KreirajBrDokNovi(pdokument, RedniBroj, DatumP, Program.idOrgDeo, Program.idkadar, IdDokumentaStablo); if (NazivBanke.ToUpper().Contains("INTESA") == true) { OOpis = pdokument + " INTESA " + BrojIzvoda.ToString(); } else { OOpis = pdokument + " " + NazivBanke.Substring(0, NazivBanke.IndexOf(" ")) + " " + BrojIzvoda.ToString(); } //DateTime dt = Convert.ToDateTime(DatumP); //string mesec = Convert.ToString(dt.Month); //strParams = ""; //strParams = "@param1=" + RedniBroj + "`"; //strParams += "@param2=" + Program.idkadar + "`"; //strParams += "@param3=" + IdDokumentaStablo + "`"; //strParams += "@param4=" + BrojDok + "`"; //strParams += "@param5=" + DatumP.ToString() + "`"; //strParams += "@param6=" + OOpis + "`"; //strParams += "@param7=" + Program.idOrgDeo + "`"; //strParams += "@param8=" + "NijeProknjizeno" + "`"; //strParams += "@param9=" + mesec; //str = "insert into Dokumenta(RedniBroj, ID_KadrovskaEvidencija,"; //str += " ID_DokumentaStablo, BrojDokumenta, Datum, Opis,"; //str += " ID_OrganizacionaStrukturaView,Proknjizeno,MesecPoreza)"; //str += " values(@param1,@param2,@param3,@param4,@param5,@param6,@param7,@param8,@param9)"; //lista.Clear(); //lista.Add(new string[] { str, strParams }); //lista.ToArray(); //rezultat = db.ReturnSqlTransactionParams(lista); //if (rezultat != "") { MessageBox.Show(rezultat); return; } //lista.Clear(); //str = ""; //str = "select id_dokumenta from dokumenta where BrojDokumenta = '" + BrojDok.ToString() + "'"; //rsd.Clear(); //rsd = db.ReturnDataTable(str); //IdDokView = Convert.ToInt32(rsd.Rows[0]["Id_Dokumenta"]); // zaglavlje // rs2 = db.ReturnDataTable("SELECT * FROM Izvod Where ID_DokumentaView=1"); prometprepisani.Clear(); prometprepisani = db.ReturnDataTable(" Select * from IzvodPrepisi as p Where p.VrstaSloga='T' "); str = ""; strParams = ""; if (prometprepisani.Rows.Count > 0) { strParams += "@param1=" + prometprepisani.Rows[0]["StariSaldo"].ToString().Replace(",", ".") + "`"; strParams += "@param2=" + prometprepisani.Rows[0]["NoviSaldo"].ToString().Replace(",", ".") + "`"; strParams += "@param3=" + prometprepisani.Rows[0]["isplate"].ToString().Replace(",", ".") + "`"; strParams += "@param4=" + prometprepisani.Rows[0]["uplate"].ToString().Replace(",", ".") + "`"; strParams += "@param5=" + prometprepisani.Rows[0]["BrojIzvoda"] + "`"; } else { // Jovana 23.11.21 //MessageBox.Show("Niste preuzeli izvod!"); //return; } //Jovana 25.06.21 premestila da se dokument ne upisuje u izvod ako ne postoje slogovi clsObradaOsnovnihSifarnika cs = new clsObradaOsnovnihSifarnika(); IdDokumentaStablo = (int)rsDokumentaStablo.Rows[0]["ID_DokumentaStablo"]; BrojDok = ""; //// cs.KreirajBrDokNovi(ref RedniBroj, DatumP, (int)rsDokumentaStablo.Rows[0]["ID_DokumentaStablo"], ""); int IdDokview = cs.UpisiDokument(ref BrojDok, OOpis, IdDokumentaStablo, DatumP); //Jovana 21.06.21 strParams += "@param6=" + IdDokview + "`"; strParams += "@param7=" + pbanka + "`"; strParams += "@param8=" + DatumP + "`"; strParams += "@param9=" + Program.idkadar; char[] izbor = { '=' }; string[] izbor2 = strParams.Split(izbor); switch (izbor2.Length) { case 10: str = " INSERT INTO[dbo].[Izvod] "; str += "([KumulativnoDuguje],[KumulativnoPotrazuje],[DPDuguje],[DPPotrazuje],[BrojIzvoda],"; str += "[ID_DokumentaView],[id_Blagajna],[Datum],[uuser])"; str += " values(@param1,@param2,@param3,@param4,@param5,@param6,@param7,@param8,@param9)"; break; default: strParams = ""; // Jovana 23.11.21 //strParams += "@param1=" + prometprepisani.Rows[0]["IdDokView"] + "`"; //strParams += "@param2=" + prometprepisani.Rows[0]["pbanka"] + "`"; strParams += "@param1=" + IdDokview + "`"; strParams += "@param2=" + pbanka + "`"; strParams += "@param3=" + DatumP + "`"; strParams += "@param4=" + Program.idkadar; str = " INSERT INTO[dbo].[Izvod] "; str += "([ID_DokumentaView],[id_Blagajna],[Datum],[uuser])"; str += " values(@param1,@param2,@param3,@param4)"; break; } lista.Clear(); lista.Add(new string[] { str, strParams }); lista.ToArray(); rezultat = db.ReturnSqlTransactionParams(lista); if (rezultat != "") { MessageBox.Show(rezultat); return; } lista.Clear(); //' kraj zaglavlje /////////////////////// str = ""; str = " Select p.* from IzvodPrepisi as p,BankaView as b Where p.ID_BankaView=b.ID_BankaView "; str += " And p.VrstaSloga<>'T' and ID_SvrhaPlacanja <> 752"; prometprepisani.Clear(); prometprepisani = db.ReturnDataTable(str); //str = "SELECT * FROM IzvodStavke where ID_DokumentaView=1 "; //rs2.Clear(); //rs2 = db.ReturnDataTable(str); decimal UkupnoNaknada = 0; foreach (DataRow row in prometprepisani.Rows) { strParams = ""; strParams += "@param1=" + IdDokview + "`"; strParams += "@param2=" + row["id_KomitentiView"] + "`"; strParams += "@param3=" + row["ID_SvrhaPlacanja"] + "`"; if (Convert.ToInt32(row["OblikPlacanja"]) == 2) { strParams += "@param4=5" + "`"; } else { strParams += "@param4=" + row["OblikPlacanja"] + "`"; } strParams += "@param5=" + row["opis"] + "`"; //Jovana 21.06.21 ne znam zasto je ovo postojalo u vb6? //if (Convert.ToInt32(row["OblikPlacanja"]) == 16) //{ strParams += "@param5=" + row["opis"] + "`"; } strParams += "@param6=" + row["ID_PozivNaBroj"] + "`"; strParams += "@param7=" + row["uplate"].ToString().Replace(",", ".") + "`"; strParams += "@param8=" + Math.Round(Convert.ToDecimal(row["isplate"]), 2).ToString().Replace(",", ".") + "`"; strParams += "@param9=" + Program.idkadar; str = ""; str = "INSERT INTO[dbo].[IzvodStavke] "; str += " ([ID_DokumentaView],[ID_KomitentiView],[ID_ArtikliView],"; str += " [ID_NacinPlacanja],[Opis],[ID_PozivNaBroj],[Uplate],[Isplate],[uuser])"; str += " values(@param1,@param2,@param3,@param4,@param5,@param6,@param7,@param8,@param9)"; lista.Add(new string[] { str, strParams }); lista.ToArray(); } rezultat = db.ReturnSqlTransactionParams(lista); if (rezultat != "") { MessageBox.Show(rezultat); return; } lista.Clear(); /////// str = ""; prometprepisani.Clear(); str = " Select p.* from IzvodPrepisi as p,BankaView as b Where p.ID_BankaView=b.ID_BankaView "; str += " And p.VrstaSloga<>'T' and ID_SvrhaPlacanja = 752 order by Opis "; prometprepisani = db.ReturnDataTable(str); string mopis = ""; UkupnoNaknada = 0; foreach (DataRow row in prometprepisani.Rows) { if (mopis == "") { mopis = row["opis"].ToString(); } if (row["opis"].ToString() != mopis) { if (UkupnoNaknada > 0) { strParams = ""; strParams += "@param1=" + IdDokview + "`"; strParams += "@param2=" + row["PKomitent"] + "`"; strParams += "@param3=752" + "`"; strParams += "@param4=5" + "`"; strParams += "@param5=1" + "`"; strParams += "@param6=0" + "`"; strParams += "@param7=" + UkupnoNaknada.ToString().Replace(",", ".") + "`"; strParams += "@param8=" + Program.idkadar + "`"; strParams += "@param9=" + mopis.ToLower() + "`"; str = "INSERT INTO[dbo].[IzvodStavke] "; str += " ([ID_DokumentaView],[id_KomitentiView],[ID_ArtikliView],"; str += " [ID_NacinPlacanja],[ID_PozivNaBroj],[Uplate],[Isplate][uuser],[opis])"; str += " values(@param1,@param2,@param3,@param4,@param5,@param6,@param7,@param8,@param9)"; lista.Clear(); lista.Add(new string[] { str, strParams }); lista.ToArray(); rezultat = db.ReturnSqlTransactionParams(lista); if (rezultat != "") { MessageBox.Show(rezultat); return; } lista.Clear(); } mopis = row["opis"].ToString(); UkupnoNaknada = 0; } UkupnoNaknada = UkupnoNaknada + Convert.ToInt32(row["isplate"]); } if (UkupnoNaknada > 0) { strParams = ""; strParams += "@param1=" + IdDokview + "`"; strParams += "@param2=" + PKomitent + "`"; strParams += "@param3=752" + "`"; strParams += "@param4=5" + "`"; strParams += "@param5=1" + "`"; strParams += "@param6=0" + "`"; strParams += "@param7=" + UkupnoNaknada.ToString().Replace(",", ".") + "`"; strParams += "@param8=" + Program.idkadar + "`"; strParams += "@param9=" + mopis.ToLower() + "`"; str = "[IzvodStavke] "; str += " ([ID_DokumentaView],[id_KomitentiView],[ID_ArtikliView],"; str += " [ID_NacinPlacanja],[ID_PozivNaBroj],[Uplate],[Isplate][uuser],[opis])"; str += " values(@param1,@param2,@param3,@param4,@param5,@param6,@param7,@param8,@param9)"; lista.Clear(); lista.Add(new string[] { str, strParams }); lista.ToArray(); rezultat = db.ReturnSqlTransactionParams(lista); if (rezultat != "") { MessageBox.Show(rezultat); return; } lista.Clear(); } Dictionary <string, string> rezult = db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:Dokumenta", "IdDokument:" + (int)IdDokview); Dictionary <string, string> rezult2 = db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:" + pdokument, "IdDokument:" + (int)IdDokview); }
public void PovlacenjeAvansa(Form forma1, string KojiDok, int ParIdDok) { int IdDokAvans = 1; string KojiRacun = ""; List <string[]> lista = new List <string[]>(); string strParams = ""; SqlCommand cmd = new SqlCommand(); if (KojiDok == "PDVIzlazniRacunZaUsluge" || KojiDok == "PDVUlazniRacunZaUsluge") { KojiRacun = "RacunZaUsluge"; } else { KojiRacun = "Racun"; } //Jovana 25.05.21 foreach (var pb in forma1.Controls.OfType <Field>()) { if (pb.IME == "Avansi") { IdDokAvans = Convert.ToInt32(pb.ID); } } //IdDokAvans = Convert.ToInt32(forma1.Controls.OfType<Field>().FirstOrDefault(n => n.IME == "Avansi").ID); if (IdDokAvans == 1) { strParams = ""; strParams += "@param1=" + ParIdDok; cmd.CommandType = CommandType.Text; str = "Update " + KojiRacun + "Stavke set IznosAvansa = 0 WHERE ID_dokumentaView = @param1"; lista.Add(new string[] { str, strParams }); /////... lista.ToArray(); string rezultat = db.ReturnSqlTransactionParams(lista); // cmd.CommandText = str; // db.Comanda(cmd); // cmd.Dispose(); return; } str = "delete from " + KojiRacun + "Stavke Where id_ArtikliView= 1 AND "; str += "ID_dokumentaView =" + ParIdDok.ToString(); cmd = new SqlCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = str; db.Comanda(cmd); cmd.Dispose(); str = "Select Sum(IznosAvansa) as UpisaniAvansi from "; str += KojiRacun + "Stavke where ID_dokumentaView =" + ParIdDok.ToString(); cmd = new SqlCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = str; db.Comanda(cmd); cmd.Dispose(); str = "Select Sum(IznosAvansa) as UpisaniAvansi from "; str += KojiRacun + "Stavke where ID_dokumentaView = " + ParIdDok.ToString(); DataTable dt = db.ReturnDataTable(str); switch (dt.Rows.Count) { case 0: break; default: UpisiAvans(forma1, KojiDok, KojiRacun, ParIdDok, IdDokAvans, "Update", 0); break; } }