예제 #1
0
        private void btnPostavi_Click(object sender, EventArgs e)
        {
            PostaviInventuru(true);
            if (inventuraIzProsleGodine)
            {
                classSQL.remoteConnection = new NpgsqlConnection(classSQL.remoteConnectionString.Replace(tmp.UzmiGodinuKojaSeKoristi().ToString(), (tmp.UzmiGodinuKojaSeKoristi() - 1).ToString()));
                classSQL.update("UPDATE inventura SET is_pocetno_stanje='1' WHERE broj_inventure='" + inventura + "' AND id_skladiste='" + skladiste + "'");
                classSQL.remoteConnection = new NpgsqlConnection(classSQL.remoteConnectionString);
            }
            else
            {
                classSQL.update("UPDATE inventura SET is_pocetno_stanje='1' WHERE broj_inventure='" + inventura + "' AND id_skladiste='" + skladiste + "'");
            }

            Until.FunkcijeRobno robno = new Until.FunkcijeRobno();
            robno.PostaviStanjeSkladista();
            try
            {
                if (!Util.Korisno.RadimSinkronizaciju)
                {
                    Util.Korisno.RadimSinkronizaciju = true;
                    bgSinkronizacija.RunWorkerAsync();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
 private void frmPovratRobe_FormClosing(object sender, FormClosingEventArgs e)
 {
     Until.FunkcijeRobno robno = new Until.FunkcijeRobno();
     robno.PostaviStanjeSkladista();
     try
     {
         if (!Util.Korisno.RadimSinkronizaciju)
         {
             Util.Korisno.RadimSinkronizaciju = true;
             bgSinkronizacija.RunWorkerAsync();
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
예제 #3
0
        public void UzmiPodatkeSaWeba()
        {
            DataTable DTpodaci_tvrtka = SqlPostgres.select_settings("SELECT * FROM podaci_tvrtka", "postavke").Tables[0];
            DataTable DTposlovnica    = SqlPostgres.select("SELECT * FROM ducan WHERE aktivnost='DA' LIMIT 1", "postavke").Tables[0];
            string    sql_za_web      = "sql=";

            poslovnica    = "1";
            id_poslovnica = "1";
            if (DTposlovnica.Rows.Count > 0)
            {
                poslovnica    = DTposlovnica.Rows[0]["ime_ducana"].ToString();
                id_poslovnica = DTposlovnica.Rows[0]["id_ducan"].ToString();
            }

            #region IZ POSLOVNICE

            string sql = "SELECT * FROM medu_poslovnice" +
                         " WHERE  (novo_izskl='1') AND oib='" + DTpodaci_tvrtka.Rows[0]["oib"].ToString() + "' AND (iz_poslovnice='" + poslovnica + "');";
            DataTable DT = Pomagala.MyWebRequestXML("sql=" + sql + "&godina=" + Util.Korisno.GodinaKojaSeKoristiUbazi, Util.Korisno.domena_za_sinkronizaciju + "uzmi_podatke_xml/web_request.php");

            if (DT.Rows.Count > 0)
            {
                sql = "BEGIN;";
                string tempDel = "";
                foreach (DataRow r in DT.Rows)
                {
                    tempDel = "DELETE FROM medu_poslovnice WHERE iz_poslovnice = '" + r["iz_poslovnice"] + "' and u_poslovnicu = '" + r["u_poslovnicu"] + "' AND godina='" + r["godina"].ToString() + "' AND broj='" + r["broj"].ToString() + "';";

                    if (!sql.Contains(tempDel))
                    {
                        sql += tempDel;
                    }
                }

                foreach (DataRow r in DT.Rows)
                {
                    if (r["sifra"].ToString() != "")
                    {
                        decimal nbc, mpc, pdv, kol, pnp, povratna_naknada;
                        decimal.TryParse(r["nbc"].ToString().Replace(".", ","), out nbc);
                        decimal.TryParse(r["mpc"].ToString().Replace(".", ","), out mpc);
                        decimal.TryParse(r["pdv"].ToString().Replace(".", ","), out pdv);
                        decimal.TryParse(r["kolicina"].ToString().Replace(".", ","), out kol);
                        decimal.TryParse(r["pnp"].ToString().Replace(".", ","), out pnp);
                        decimal.TryParse(r["povratna_naknada"].ToString().Replace(".", ","), out povratna_naknada);

                        DateTime DateT;
                        DateTime.TryParse(r["datum"].ToString(), out DateT);

                        sql += "INSERT INTO medu_poslovnice (sifra,nbc,mpc,pdv,kolicina,pnp,pp,id_skladiste,broj,godina," +
                               "datum,iz_poslovnice,u_poslovnicu,id_izradio,napomena,novo_izskl,novo_uskl, zakljucano) VALUES (" +
                               " '" + r["sifra"].ToString().Replace(";", "").Replace("~", "") + "'," +
                               " '" + Math.Round(nbc, 3).ToString().Replace(",", ".") + "'," +
                               " '" + Math.Round(mpc, 3).ToString().Replace(",", ".") + "'," +
                               " '" + Math.Round(pdv, 2).ToString().Replace(",", ".") + "'," +
                               " '" + Math.Round(kol, 4).ToString().Replace(",", ".") + "'," +
                               " '" + Math.Round(pnp, 2).ToString().Replace(",", ".") + "'," +
                               " '" + Math.Round(povratna_naknada, 2).ToString().Replace(",", ".") + "'," +
                               " '" + r["id_skladiste"].ToString().Replace(";", "").Replace("~", "") + "'," +
                               " '" + r["broj"].ToString() + "'," +
                               " '" + r["godina"].ToString() + "'," +
                               " '" + DateT.ToString("yyyy-MM-dd H:mm:ss") + "'," +
                               " '" + r["iz_poslovnice"].ToString().Replace(";", "").Replace("~", "") + "'," +
                               " '" + r["u_poslovnicu"].ToString().Replace(";", "").Replace("~", "") + "'," +
                               " '" + r["id_izradio"].ToString().Replace(";", "").Replace("~", "") + "'," +
                               " '" + r["napomena"].ToString().Replace(";", "").Replace("~", "") + "'," +
                               " '0'," +
                               " '0'," +
                               " '" + r["zakljucano"].ToString().Replace(";", "").Replace("~", "") + "'" +
                               ");";
                    }

                    //**********************SQL WEB REQUEST***************************************************************************
                    sql_za_web += "UPDATE medu_poslovnice SET novo_izskl='0'" +
                                  " WHERE id='" + r["id"].ToString() + "'" +
                                  " AND oib='" + DTpodaci_tvrtka.Rows[0]["oib"].ToString() + "';~";
                    //**********************SQL WEB REQUEST***************************************************************************
                }

                sql += " COMMIT;";
                classSQL.insert(sql);
                Until.FunkcijeRobno robno = new Until.FunkcijeRobno();
                robno.PostaviStanjeSkladista();
            }

            #endregion IZ POSLOVNICE

            #region U POSLOVNICU

            sql = "SELECT * FROM medu_poslovnice" +
                  " WHERE  (novo_uskl='1') AND oib='" + DTpodaci_tvrtka.Rows[0]["oib"].ToString() + "' AND (u_poslovnicu='" + poslovnica + "');";
            DT = Pomagala.MyWebRequestXML("sql=" + sql + "&godina=" + Util.Korisno.GodinaKojaSeKoristiUbazi, Util.Korisno.domena_za_sinkronizaciju + "uzmi_podatke_xml/web_request.php");

            if (DT.Rows.Count > 0)
            {
                string tempDel = "";
                sql = "BEGIN;";

                foreach (DataRow r in DT.Rows)
                {
                    tempDel = "DELETE FROM medu_poslovnice WHERE u_poslovnicu='" + poslovnica + "' AND godina='" + r["godina"].ToString() + "' AND broj='" + r["broj"].ToString() + "';";

                    if (!sql.Contains(tempDel))
                    {
                        sql += tempDel;
                    }
                }

                foreach (DataRow r in DT.Rows)
                {
                    if (r["sifra"].ToString() != "")
                    {
                        decimal nbc, pdv, kol, pnp, povratna_naknada;
                        decimal.TryParse(r["nbc"].ToString().Replace(".", ","), out nbc);
                        decimal.TryParse(r["pdv"].ToString().Replace(".", ","), out pdv);
                        decimal.TryParse(r["kolicina"].ToString().Replace(".", ","), out kol);
                        decimal.TryParse(r["pnp"].ToString().Replace(".", ","), out pnp);
                        decimal.TryParse(r["povratna_naknada"].ToString().Replace(".", ","), out povratna_naknada);

                        DateTime DateT;
                        DateTime.TryParse(r["datum"].ToString(), out DateT);

                        sql += "INSERT INTO medu_poslovnice (sifra,mpc,pdv,kolicina,pnp,pp,id_skladiste,broj,godina," +
                               "datum,iz_poslovnice,u_poslovnicu,id_izradio,napomena,novo_izskl,novo_uskl, zakljucano) VALUES (" +
                               " '" + r["sifra"].ToString().Replace(";", "").Replace("~", "") + "'," +
                               " '" + Math.Round(nbc, 3).ToString().Replace(",", ".") + "'," +
                               " '" + Math.Round(pdv, 2).ToString().Replace(",", ".") + "'," +
                               " '" + Math.Round(kol, 4).ToString().Replace(",", ".") + "'," +
                               " '" + Math.Round(pnp, 2).ToString().Replace(",", ".") + "'," +
                               " '" + Math.Round(povratna_naknada, 2).ToString().Replace(",", ".") + "'," +
                               " '" + r["id_skladiste"].ToString().Replace(";", "").Replace("~", "") + "'," +
                               " '" + r["broj"].ToString() + "'," +
                               " '" + r["godina"].ToString() + "'," +
                               " '" + DateT.ToString("yyyy-MM-dd H:mm:ss") + "'," +
                               " '" + r["iz_poslovnice"].ToString().Replace(";", "").Replace("~", "") + "'," +
                               " '" + r["u_poslovnicu"].ToString().Replace(";", "").Replace("~", "") + "'," +
                               " '" + r["id_izradio"].ToString().Replace(";", "").Replace("~", "") + "'," +
                               " '" + r["napomena"].ToString().Replace(";", "").Replace("~", "") + "'," +
                               " '0'," +
                               " '0'," +
                               " '" + r["zakljucano"].ToString().Replace(";", "").Replace("~", "") + "'" +
                               ");";
                    }

                    //**********************SQL WEB REQUEST***************************************************************************
                    sql_za_web += "UPDATE medu_poslovnice SET novo_uskl='0'" +
                                  " WHERE id='" + r["id"].ToString() + "'" +
                                  " AND oib='" + DTpodaci_tvrtka.Rows[0]["oib"].ToString() + "';~";
                    //**********************SQL WEB REQUEST***************************************************************************
                }

                sql += " COMMIT;";
                classSQL.insert(sql);

                Until.FunkcijeRobno robno = new Until.FunkcijeRobno();
                robno.PostaviStanjeSkladista();
            }

            #endregion U POSLOVNICU

            if (sql_za_web.Length > 4)
            {
                sql_za_web = sql_za_web.Remove(sql_za_web.Length - 1);
                string[] odg = Pomagala.MyWebRequest(sql_za_web + "&lozinka=sinkronizacija_za_caffeq1w2e3r4&godina=" + Util.Korisno.GodinaKojaSeKoristiUbazi, Util.Korisno.domena_za_sinkronizaciju + "include/primam_post_sql_query.php").Split(';');
            }
        }
예제 #4
0
        public void UzmiPodatkeSaWeba()
        {
            DataTable DTpodaci_tvrtka = SqlPostgres.select_settings("SELECT * FROM podaci_tvrtka", "postavke").Tables[0];
            DataTable DTposlovnica    = SqlPostgres.select("SELECT * FROM ducan WHERE aktivnost='DA' LIMIT 1", "postavke").Tables[0];
            string    sql_za_web      = "sql=";

            poslovnica = "1";
            string id_poslovnica = "1";

            if (DTposlovnica.Rows.Count > 0)
            {
                poslovnica    = DTposlovnica.Rows[0]["ime_ducana"].ToString();
                id_poslovnica = DTposlovnica.Rows[0]["id_ducan"].ToString();
            }

            string sql = "SELECT * FROM pocetno " +
                         " WHERE  (novo='1' OR editirano='1') AND oib='" + DTpodaci_tvrtka.Rows[0]["oib"].ToString() + "' AND poslovnica='" + poslovnica + "';";
            DataTable DT = Pomagala.MyWebRequestXML("sql=" + sql + "&godina=" + Util.Korisno.GodinaKojaSeKoristiUbazi, Util.Korisno.domena_za_sinkronizaciju + "uzmi_podatke_xml/web_request.php");

            if (DT.Rows.Count > 0)
            {
                sql = "BEGIN;";
                foreach (DataRow r in DT.Rows)
                {
                    if (r["sifra"].ToString() != "")
                    {
                        decimal nbc, kol, mpc, povratna_naknada;
                        decimal.TryParse(r["nc"].ToString().Replace(".", ","), out nbc);
                        decimal.TryParse(r["kolicina"].ToString().Replace(".", ","), out kol);
                        decimal.TryParse(r["prodajna_cijena"].ToString().Replace(".", ","), out mpc);
                        decimal.TryParse(r["povratna_naknada"].ToString().Replace(".", ","), out povratna_naknada);

                        DateTime DateT;
                        DateTime.TryParse(r["datum"].ToString(), out DateT);

                        sql += "DELETE FROM pocetno WHERE sifra='" + r["sifra"].ToString() + "' AND id_skladiste='" + r["id_skladiste"].ToString() + "';" +
                               " INSERT INTO pocetno (sifra,id_skladiste,novo,editirano,kolicina,nc,datum,prodajna_cijena,povratna_naknada) VALUES (" +
                               " '" + r["sifra"].ToString().Replace(";", "").Replace("~", "") + "'," +
                               " '" + r["id_skladiste"].ToString().Replace(";", "").Replace("~", "") + "'," +
                               " '0'," +
                               " '0'," +
                               " '" + Math.Round(kol, 4).ToString().Replace(",", ".") + "'," +
                               " '" + Math.Round(nbc, 4).ToString().Replace(",", ".") + "'," +
                               " '" + DateT.ToString("yyyy-MM-dd H:mm:ss") + "'," +
                               " '" + Math.Round(mpc, 2).ToString().Replace(",", ".") + "'," +
                               " '" + Math.Round(povratna_naknada, 2).ToString().Replace(",", ".") + "'" +
                               ");";
                    }

                    //**********************SQL WEB REQUEST***************************************************************************
                    sql_za_web += "UPDATE pocetno SET novo='0',editirano='0'" +
                                  " WHERE id='" + r["id"].ToString() + "'" +
                                  " AND oib='" + DTpodaci_tvrtka.Rows[0]["oib"].ToString() + "';~";
                    //**********************SQL WEB REQUEST***************************************************************************
                }

                sql += " COMMIT;";
                classSQL.insert(sql);

                if (sql_za_web.Length > 4)
                {
                    sql_za_web = sql_za_web.Remove(sql_za_web.Length - 1);
                    string[] odg = Pomagala.MyWebRequest(sql_za_web + "&lozinka=sinkronizacija_za_caffeq1w2e3r4&godina=" + Util.Korisno.GodinaKojaSeKoristiUbazi, Util.Korisno.domena_za_sinkronizaciju + "include/primam_post_sql_query.php").Split(';');
                }

                Until.FunkcijeRobno robno = new Until.FunkcijeRobno();
                robno.PostaviStanjeSkladista();
            }
        }
예제 #5
0
        public void UzmiPodatkeSaWeba()
        {
            DataTable DTpodaci_tvrtka = SqlPostgres.select_settings("SELECT * FROM podaci_tvrtka", "postavke").Tables[0];
            DataTable DTposlovnica    = SqlPostgres.select("SELECT * FROM ducan WHERE aktivnost='DA' LIMIT 1", "postavke").Tables[0];
            string    sql_za_web      = "sql=";

            poslovnica    = "1";
            id_poslovnica = "1";
            if (DTposlovnica.Rows.Count > 0)
            {
                poslovnica    = DTposlovnica.Rows[0]["ime_ducana"].ToString();
                id_poslovnica = DTposlovnica.Rows[0]["id_ducan"].ToString();
            }

            //domena = "http://pos.pc1.hr/";
            string sql = "SELECT * FROM primke" +
                         " WHERE (editirano='1') AND OIB = '" + DTpodaci_tvrtka.Rows[0]["oib"].ToString() + "' AND poslovnica = '" + poslovnica + "' order by broj asc;";
            DataTable DT = Pomagala.MyWebRequestXML("sql=" + sql + "&godina=" + Util.Korisno.GodinaKojaSeKoristiUbazi, Util.Korisno.domena_za_sinkronizaciju + "uzmi_podatke_xml/web_request.php");

            if (DT.Rows.Count > 0)
            {
                string   zadnji_broj = "", zadnja_godina = "", zadnja_poslovnica = "", is_kalkulacija = "", id_skladiste = "";
                DateTime d;

                foreach (DataRow r in DT.Rows)
                {
                    DateTime.TryParse(r["datum"].ToString(), out d);

                    if (zadnji_broj == r["broj"].ToString() && zadnja_godina == d.Year.ToString() && zadnja_poslovnica == r["poslovnica"].ToString() && is_kalkulacija == r["is_kalkulacija"].ToString() && id_skladiste == r["id_skladiste"].ToString())
                    {
                        zadnji_broj       = r["broj"].ToString();
                        zadnja_godina     = d.Year.ToString();
                        zadnja_poslovnica = r["poslovnica"].ToString();
                        is_kalkulacija    = r["is_kalkulacija"].ToString();
                        id_skladiste      = r["id_skladiste"].ToString();
                        SpremiStavke(r);
                    }
                    else
                    {
                        zadnji_broj       = r["broj"].ToString();
                        zadnja_godina     = d.Year.ToString();
                        zadnja_poslovnica = r["poslovnica"].ToString();
                        is_kalkulacija    = r["is_kalkulacija"].ToString();
                        id_skladiste      = r["id_skladiste"].ToString();

                        SpremiHeader(r, DT);
                        SpremiStavke(r);
                    }

                    //**********************SQL WEB REQUEST***************************************************************************
                    sql_za_web += "UPDATE primke SET editirano='0' " +
                                  " WHERE id='" + r["id"].ToString() + "' AND poslovnica='" + poslovnica + "'" +
                                  " AND oib='" + DTpodaci_tvrtka.Rows[0]["oib"].ToString() + "';~";
                    //**********************SQL WEB REQUEST***************************************************************************
                }

                if (sql_za_web.Length > 4)
                {
                    sql_za_web = sql_za_web.Remove(sql_za_web.Length - 1);
                    string[] odg = Pomagala.MyWebRequest(sql_za_web + "&lozinka=sinkronizacija_za_caffeq1w2e3r4&godina=" + Util.Korisno.GodinaKojaSeKoristiUbazi, Util.Korisno.domena_za_sinkronizaciju + "include/primam_post_sql_query.php").Split(';');
                }

                Until.FunkcijeRobno robno = new Until.FunkcijeRobno();
                robno.PostaviNabavneCijeneZaTablicuRobaProdaja();
                robno.PostaviNabavneCijeneRoba();
            }
        }
예제 #6
0
        private void PostaviInventuru(bool pocetno)
        {
            ControlEnableDisable(false);

            if (dgw.Rows.Count > 0)
            {
                List <DataTable> Ldt = UzmiKolicineIzOveIprosleGodine();
                DataTable        DTsadasnja_godina = Ldt[0];
                DataTable        DTprosla_godina   = Ldt[1];
                DateTime         datumspremanja;

                int g = DateTime.Now.Year;
                if (Util.Korisno.GodinaKojaSeKoristiUbazi != 0)
                {
                    g = Util.Korisno.GodinaKojaSeKoristiUbazi;
                }

                DateTime.TryParse(g + "-01-01 00:00:59", out datumspremanja);

                if (pocetno)
                {
                    classSQL.update("DELETE FROM pocetno WHERE id_skladiste='" + skladiste + "'");
                }

                DataTable DTartikli        = classSQL.select("SELECT * FROM roba", "roba").Tables[0];
                DataTable DTRepromaterijal = classSQL.select("SELECT * FROM roba_prodaja", "roba_prodaja").Tables[0];

                foreach (DataGridViewRow r in dgw.Rows)
                {
                    decimal _kolicinaSadasnjaGodina = 0, _kolicinaPrijasnjaGodina = 0, ukupna_kolicina_za_spremiti = 0, inventurna_kolicina = 0, kolicina_pocetnog = 0;

                    ///
                    ///OVAJ DIO UZIMA IZ ROW-a I STAVLJA U struct "SadasnjaGodina_struct"
                    ///
                    if (DTsadasnja_godina.Rows.Count > 0)
                    {
                        DataRow[] rowSG = DTsadasnja_godina.Select("sifra='" + r.Cells["Sifra"].FormattedValue.ToString() + "'");
                        if (rowSG.Length > 0)
                        {
                            decimal.TryParse(rowSG[0]["kol"].ToString(), out _kolicinaSadasnjaGodina);
                        }
                    }

                    /*string sifra = r.Cells["sifra"].FormattedValue.ToString();
                     * if (sifra == "46")
                     * {
                     *  sifra = "46";
                     * }*/

                    ///
                    ///OVAJ DIO UZIMA IZ ROW-a I STAVLJA U struct "StaraGod_struct"
                    ///

                    if (DTprosla_godina.Rows.Count > 0)
                    {
                        DataRow[] rowPG = DTprosla_godina.Select("sifra='" + r.Cells["Sifra"].FormattedValue.ToString() + "'");
                        if (rowPG.Length > 0)
                        {
                            decimal.TryParse(rowPG[0]["kol"].ToString(), out _kolicinaPrijasnjaGodina);
                        }
                    }

                    ///
                    ///OVAJ DIO je da uzme kolicinu sa popisane inventure
                    ///
                    decimal.TryParse(r.Cells["kolicina"].FormattedValue.ToString(), out inventurna_kolicina);
                    kolicina_pocetnog           = inventurna_kolicina + _kolicinaPrijasnjaGodina;
                    ukupna_kolicina_za_spremiti = inventurna_kolicina + _kolicinaPrijasnjaGodina - _kolicinaSadasnjaGodina;

                    string sql = "";

                    if (pocetno)
                    {
                        string sifra = r.Cells["sifra"].FormattedValue.ToString();

                        DataRow[] row         = DTartikli.Select("sifra='" + sifra + "'");
                        DataRow[] rowReproMat = DTRepromaterijal.Select("sifra='" + sifra + "'");

                        decimal mpc_cijena = 0, povratna_naknada = 0, nbc = 0;

                        if (row.Length > 0)
                        {
                            decimal.TryParse(row[0]["mpc"].ToString(), out mpc_cijena);
                        }

                        if (rowReproMat.Length > 0)
                        {
                            decimal.TryParse(rowReproMat[0]["povratna_naknada"].ToString(), out povratna_naknada);
                        }

                        decimal.TryParse(r.Cells["cijena"].FormattedValue.ToString(), out nbc);

                        sql = "INSERT INTO pocetno (sifra,id_skladiste,kolicina,nc,datum,novo,povratna_naknada,prodajna_cijena) VALUES (" +
                              "'" + sifra + "'," +
                              "'" + skladiste + "'," +
                              "'" + ukupna_kolicina_za_spremiti.ToString().Replace(",", ".") + "'," +
                              "'" + nbc.ToString().Replace(",", ".") + "'," +
                              "'" + datumspremanja.ToString("yyyy-MM-dd H:mm:ss") + "'," +
                              "'1'," +
                              "'" + povratna_naknada.ToString().Replace(",", ".") + "'," +
                              "'" + mpc_cijena.ToString().Replace(",", ".") + "');";
                        classSQL.update(sql);
                    }
                }

                //Postavljam stanje skladišta prema dokumentima
                Until.FunkcijeRobno fr = new Until.FunkcijeRobno();
                fr.PostaviStanjeSkladista();

                MessageBox.Show("Stanje je uspješno postavljeno!", "Stanje", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("Nije odabrana inventura.");
            }

            ControlEnableDisable(true);
        }