Exemplo n.º 1
0
        private void ListaFakture()
        {
            string naziv_fakture = " podaci_tvrtka.naziv_fakture,";
            string sql1          = SqlPodaciTvrtke.VratiSql("", naziv_fakture, "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");
            string top = "";

            for (int i = 0; i < tabl.Rows.Count; i++)
            {
                string sifra  = tabl.Rows[i]["šifra"].ToString();
                string naziv  = tabl.Rows[i]["naziv"].ToString();
                string kol    = tabl.Rows[i]["Kolicina skladište"].ToString();
                string sklad  = tabl.Rows[i]["skladište"].ToString();
                string cijena = tabl.Rows[i]["MPC"].ToString();

                DataRow DTrow = dSRliste.Tables[0].NewRow();
                DTrow["sifra"]   = sifra.ToString();
                DTrow["naziv"]   = naziv.ToString();
                DTrow["cijena1"] = kol.ToString();
                DTrow["jmj"]     = sklad.ToString();
                DTrow["cijena3"] = cijena.ToString();
                dSRliste.Tables[0].Rows.Add(DTrow);
            }
        }
        private void frmListe_Load(object sender, EventArgs e)
        {
            this.reportViewer1.SetDisplayMode(DisplayMode.PrintLayout);
            string sql1 = SqlPodaciTvrtke.VratiSql("", "", "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");
            dSRpodaciTvrtke.Tables[0].Rows[0]["naziv_fakture"] = "";
            this.reportViewer1.RefreshReport();
        }
Exemplo n.º 3
0
        private void frmListe_Load(object sender, EventArgs e)
        {
            tdOdDatuma.Value = new DateTime(DateTime.Now.Year, 01, 01, 00, 00, 00);

            string sql1 = SqlPodaciTvrtke.VratiSql("", "", "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");
            dSRpodaciTvrtke.Tables[0].Rows[0]["naziv_fakture"] = "";
            this.reportViewer1.RefreshReport();
        }
Exemplo n.º 4
0
        private void frmListe_Load(object sender, EventArgs e)
        {
            int heigt = SystemInformation.VirtualScreen.Height;

            this.Height   = heigt - 60;
            this.Location = new Point((SystemInformation.VirtualScreen.Width / 2) - 411, 5);

            //Popunjava tablicu na reportu
            string sql1 = SqlPodaciTvrtke.VratiSql("", "", "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");
        }
Exemplo n.º 5
0
        private void PodaciTvrtke()
        {
            string naziv_fakture = " podaci_tvrtka.naziv_fakture,";
            string sql1          = SqlPodaciTvrtke.VratiSql("", naziv_fakture, "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            ReportParameter rds = artikl != null ? new ReportParameter("artikl", artikl) : new ReportParameter("artikl", "");

            this.reportViewer1.LocalReport.SetParameters(rds);
            this.reportViewer1.LocalReport.Refresh();
        }
Exemplo n.º 6
0
        private void frmRekapitulacijaRadnihNaloga_Load(object sender, EventArgs e)
        {
            dtpDatumOd.Value = new DateTime(Util.Korisno.GodinaKojaSeKoristiUbazi, 1, 1, 0, 0, 0);
            dtpDatumDo.Value = new DateTime(Util.Korisno.GodinaKojaSeKoristiUbazi, DateTime.Now.Month, DateTime.DaysInMonth(Util.Korisno.GodinaKojaSeKoristiUbazi, DateTime.Now.Month), 23, 59, 59);
            if (Util.Korisno.GodinaKojaSeKoristiUbazi != DateTime.Now.Year)
            {
                dtpDatumDo.Value = new DateTime(Util.Korisno.GodinaKojaSeKoristiUbazi, 12, 31, 23, 59, 59);
            }

            string sql1 = SqlPodaciTvrtke.VratiSql("", "", "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");
        }
Exemplo n.º 7
0
        private void frmListe_Load(object sender, EventArgs e)
        {
            if (samo_robno)
            {
                query_samo_robno = " roba.oduzmi='DA'  AND ";
            }
            else
            {
                query_samo_robno = "";
            }

            DatumOD = new DateTime(DatumOD.Year, DatumOD.Month, DatumOD.Day, 0, 0, 0);
            DatumDO = new DateTime(DatumDO.Year, DatumDO.Month, DatumDO.Day, 23, 59, 59);

            string naziv_fakture = " podaci_tvrtka.naziv_fakture,";
            string sql1          = SqlPodaciTvrtke.VratiSql("", naziv_fakture, "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            string sql_skl = "SELECT * FROM skladiste";

            if (skladiste != null)
            {
                sql_skl += " WHERE id_skladiste=" + skladiste;
            }
            DataTable skladista = classSQL.select(sql_skl, "skladista").Tables[0];

            foreach (DataRow r in skladista.Rows)
            {
                fillDataset(r["id_skladiste"].ToString(), r["skladiste"].ToString());
            }

            switch (cijena)
            {
            case "vpc":
                cijena = "po skladišnim cijenama";
                break;

            case "mpc":
                cijena = "po prodajnim cijenama";
                break;

            case "nbc":
                cijena = "po nabavnim cijenama";
                break;
            }
            ReportParameter p1 = new ReportParameter("Dokument", cijena);

            this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] { p1 });
            this.reportViewer1.RefreshReport();
        }
Exemplo n.º 8
0
        private void ListaFakture()
        {
            string naziv_fakture = " podaci_tvrtka.naziv_fakture,";
            string sql1          = SqlPodaciTvrtke.VratiSql("", naziv_fakture, "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            for (int i = 0; i < tabl.Rows.Count; i++)
            {
                string naziv = tabl.Rows[i]["Dokument"].ToString();
                string s     = "";

                if (naziv.Length > 9)
                {
                    s = naziv.Remove(9);
                }
                else
                {
                    s = naziv;
                }

                if (s != "INVENTURA")
                {
                    DateTime datum  = Convert.ToDateTime(tabl.Rows[i]["Datum"].ToString());
                    decimal  kol    = Convert.ToDecimal(tabl.Rows[i]["Količina"].ToString());
                    decimal  cijena = Convert.ToDecimal(tabl.Rows[i]["NBC"].ToString());

                    DataRow DTrow = dSRliste.Tables[0].NewRow();
                    DTrow["datum1"] = datum;
                    DTrow["naziv"]  = naziv;

                    if (tabl.Rows[i]["Ulaz"].ToString() == "1")
                    {
                        DTrow["cijena1"] = kol;
                        DTrow["cijena2"] = new decimal(0);
                    }
                    else
                    {
                        DTrow["cijena2"] = kol;
                        DTrow["cijena1"] = new decimal(0);
                    }

                    DTrow["cijena3"] = cijena;
                    DTrow["cijena5"] = frmPocetnoStanje(DTrow);
                    dSRliste.Tables[0].Rows.Add(DTrow);
                }
            }
        }
Exemplo n.º 9
0
        private void ListaFakture()
        {
            string naziv_fakture = " podaci_tvrtka.naziv_fakture,";
            string sql1          = SqlPodaciTvrtke.VratiSql("", naziv_fakture, "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            for (int i = 0; i < tabl.Rows.Count; i++)
            {
                //ulaz
                string lblKalk   = tabl.Rows[i]["Kalkulacija"].ToString() == "" ? "0" : tabl.Rows[i]["Kalkulacija"].ToString();
                string lblPrimka = tabl.Rows[i]["Primka"].ToString() == "" ? "0" : tabl.Rows[i]["Primka"].ToString();
                string lblUlazMS = tabl.Rows[i]["Meduskladisnica na skladista"].ToString() == "" ? "0" : tabl.Rows[i]["Meduskladisnica na skladista"].ToString();
                string lblPS     = tabl.Rows[i]["Pocetno stanje"].ToString() == "" ? "0" : tabl.Rows[i]["Pocetno stanje"].ToString();
                string lblRadniD = tabl.Rows[i]["Radni nalog dodaj"].ToString() == "" ? "0" : tabl.Rows[i]["Radni nalog dodaj"].ToString();

                //izlaz
                string lblKasa               = tabl.Rows[i]["Maloprodaja"].ToString() == "" ? "0" : tabl.Rows[i]["Maloprodaja"].ToString();
                string lblFaktura            = tabl.Rows[i]["Fakture"].ToString() == "" ? "0" : tabl.Rows[i]["Fakture"].ToString();
                string lblIzdatnica          = tabl.Rows[i]["Izdatnica"].ToString() == "" ? "0" : tabl.Rows[i]["Izdatnica"].ToString();
                string lblPovratnica         = tabl.Rows[i]["Povratnica"].ToString() == "" ? "0" : tabl.Rows[i]["Povratnica"].ToString();
                string lblMeduskladisteIzlaz = tabl.Rows[i]["Meduskladisnica sa skladista"].ToString() == "" ? "0" : tabl.Rows[i]["Meduskladisnica sa skladista"].ToString();
                string lblRadniN             = tabl.Rows[i]["Radni nalog oduzmi"].ToString() == "" ? "0" : tabl.Rows[i]["Radni nalog oduzmi"].ToString();
                string lblOtpremnica         = tabl.Rows[i]["Otpremnice"].ToString() == "" ? "0" : tabl.Rows[i]["Otpremnice"].ToString();
                string lblOtpis              = tabl.Rows[i]["Otpis Robe"].ToString() == "" ? "0" : tabl.Rows[i]["Otpis Robe"].ToString();

                string  sifra = tabl.Rows[i]["šifra"].ToString();
                string  naziv = tabl.Rows[i]["naziv"].ToString();
                decimal ulaz  = Convert.ToDecimal(lblKalk) + Convert.ToDecimal(lblPrimka) + Convert.ToDecimal(lblUlazMS) + Convert.ToDecimal(lblPS) + Convert.ToDecimal(lblRadniD);
                decimal izlaz = Convert.ToDecimal(lblOtpis) + Convert.ToDecimal(lblKasa) + Convert.ToDecimal(lblFaktura) + Convert.ToDecimal(lblIzdatnica) + Convert.ToDecimal(lblPovratnica) + Convert.ToDecimal(lblMeduskladisteIzlaz) + Convert.ToDecimal(lblRadniN) + Convert.ToDecimal(lblOtpremnica);
                decimal mpc   = Convert.ToDecimal(tabl.Rows[i]["MPC"].ToString());
                decimal nbc   = Convert.ToDecimal(tabl.Rows[i]["NBC"].ToString());
                if (fakturna_cijena)
                {
                    nbc = Convert.ToDecimal(tabl.Rows[i]["fak_cijena"].ToString());
                }

                DataRow DTrow = dSRliste.Tables[0].NewRow();
                DTrow["sifra"]   = sifra;
                DTrow["naziv"]   = naziv;
                DTrow["cijena1"] = ulaz;
                DTrow["cijena2"] = izlaz;
                DTrow["cijena3"] = mpc;
                DTrow["cijena4"] = nbc;
                dSRliste.Tables[0].Rows.Add(DTrow);
            }
        }
Exemplo n.º 10
0
        private void frmListe_Load(object sender, EventArgs e)
        {
            tdOdDatuma.Value = new DateTime(DateTime.Now.Year, 01, 01, 00, 00, 01);
            DataTable DTskl = classSQL.select("SELECT id_ducan,ime_ducana FROM ducan ORDER BY ime_ducana ASC", "skladiste").Tables[0];
            DataRow   r     = DTskl.NewRow();

            r[0] = "0";
            r[1] = "Svi poslovni prostori";
            DTskl.Rows.Add(r);
            cbDucan.DataSource    = DTskl;
            cbDucan.DisplayMember = "ime_ducana";
            cbDucan.ValueMember   = "id_ducan";
            cbDucan.SelectedValue = "0";

            string sql1 = SqlPodaciTvrtke.VratiSql("", "", "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");
            dSRpodaciTvrtke.Tables[0].Rows[0]["naziv_fakture"] = "";
            this.reportViewer1.RefreshReport();
        }
Exemplo n.º 11
0
        private void frmKnjigaPopisa_Load(object sender, EventArgs e)
        {
            try
            {
                DateTime dtNow = DateTime.Now;
                dtpDatumDo.Value = new DateTime(dtNow.Year, dtNow.Month, DateTime.DaysInMonth(dtNow.Year, dtNow.Month), 23, 59, 59);
                dtpDatumOd.Value = new DateTime(dtNow.Year, dtNow.Month, dtNow.Day, 0, 0, 0);

                if (Util.Korisno.GodinaKojaSeKoristiUbazi == 2017 && Class.PodaciTvrtka.oibTvrtke == "52598763302")
                {
                    dtpDatumOd.Value   = new DateTime(Util.Korisno.GodinaKojaSeKoristiUbazi, 1, 1, 0, 0, 0);
                    dtpDatumOd.Enabled = false;
                }

                DataSet dsSkladista = classSQL.select("select id_skladiste, skladiste from skladiste where aktivnost = 'DA';", "skladiste");
                if (dsSkladista != null && dsSkladista.Tables.Count > 0 && dsSkladista.Tables[0] != null && dsSkladista.Tables[0].Rows.Count > 0)
                {
                    cmbSkladiste.DisplayMember = "skladiste";
                    cmbSkladiste.ValueMember   = "id_skladiste";
                    cmbSkladiste.DataSource    = dsSkladista.Tables[0];

                    string sql1 = SqlPodaciTvrtke.VratiSql("", "", "");
                    classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");
                }
                else
                {
                    pnlTop.Enabled  = false;
                    pnlFill.Enabled = false;
                    MessageBox.Show("Za izvještaj su potrebna skladišta, kreirajte skladište!");
                }
            }
            catch (Exception)
            {
                throw;
            }
            this.reportViewer1.RefreshReport();
        }
Exemplo n.º 12
0
        private void LoadDocument()
        {
            string    grad_string = "";
            DataTable grad        = classSQL.select("SELECT grad,posta FROM grad, primka" +
                                                    " LEFT JOIN partners ON partners.id_partner=primka.id_partner" +
                                                    " WHERE primka.broj='" + broj_dokumenta + "' AND primka.id_skladiste = '" + broj_skladista + "'" +
                                                    " And partners.id_grad=grad.id_grad", "grad").Tables[0];

            if (grad.Rows.Count != 0)
            {
                grad_string = grad.Rows[0]["posta"].ToString().Trim() + " " + grad.Rows[0]["grad"].ToString();
            }

            string sql1 = "SELECT " +
                          " p.broj AS broj," +
                          " p.originalni_dokument," +
                          " p.datum," +
                          " p.napomena AS napomena," +
                          " p.godina," +
                          " partners.ime_tvrtke AS kupac_tvrtka," +
                          " partners.adresa AS kupac_adresa," +
                          " '" + grad_string + "' AS kupac_grad," +
                          " partners.id_grad AS kupac_grad_id," +
                          " partners.id_partner AS sifra_kupac," +
                          " partners.oib AS kupac_oib," +
                          " '' AS Naslov," +
                          " zaposlenici.ime + ' ' + zaposlenici.prezime AS izradio," +
                          " grad.grad AS mjesto," +
                          " skladiste.id_skladiste," +
                          " skladiste.skladiste" +
                          " FROM primka p" +
                          " LEFT JOIN partners ON partners.id_partner=p.id_partner" +
                          " LEFT JOIN zaposlenici ON zaposlenici.id_zaposlenik=p.id_izradio" +
                          " LEFT JOIN skladiste ON skladiste.id_skladiste=p.id_skladiste" +
                          " LEFT JOIN grad ON grad.id_grad=p.id_mjesto" +
                          " WHERE p.broj='" + broj_dokumenta + "' AND p.id_skladiste = '" + broj_skladista + "'";

            //primka broj + skladište ili id_primka???

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql1).Fill(dSPrimka, "DTRPrimka");
            }
            else
            {
                classSQL.NpgAdatpter(sql1.Replace("nvarchar", "varchar")).Fill(dSPrimka, "DTRPrimka");
            }

            string sql_liste = "SELECT " +
                               " p.sifra," +
                               " p.vpc," +
                               " p.mpc," +
                               " p.rabat," +
                               " p.broj," +
                               " p.kolicina," +
                               " p.nbc," +
                               " p.pdv," +
                               " p.ukupno," +
                               " r.naziv AS naziv_robe," +
                               " p.proizvodacka_cijena," +
                               " r.jm" +
                               " FROM roba r, primka_stavke p" +
                               " LEFT JOIN primka ON primka.id_primka=p.id_primka" +
                               " WHERE primka.broj='" + broj_dokumenta + "' AND primka.id_skladiste = '" + broj_skladista + "'" +
                               " AND p.sifra=r.sifra";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste).Fill(dSPrimkaStavke, "DTPrimkaStavke");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste).Fill(dSPrimkaStavke, "DTPrimkaStavke");
            }

            DataTable dt = dSPrimkaStavke.Tables[0];

            decimal iznosBezPoreza, sumIznosBezPoreza, uk, sumUk, pdv, kol = 0;
            string  rabat;

            sumIznosBezPoreza = 0;
            sumUk             = 0;
            double proizvocaka_cijena_ukupno = 0, kolicina_ukupno = 0;

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                uk  = Math.Round(Convert.ToDecimal(dt.Rows[i]["ukupno"].ToString()), 2);
                pdv = Math.Round(Convert.ToDecimal(dt.Rows[i]["pdv"].ToString().Replace(".", ",")), 2);

                iznosBezPoreza = uk / (1 + pdv / 100);

                rabat = Convert.ToDouble(dt.Rows[i]["rabat"].ToString()) == 0 ? "0" : dt.Rows[i]["rabat"].ToString();

                dt.Rows[i].SetField("iznosBezPoreza", Math.Round(iznosBezPoreza, 2));
                dt.Rows[i].SetField("rabat", rabat);

                sumIznosBezPoreza += iznosBezPoreza;
                sumUk             += uk;
            }

            for (int i = 0; i < dSPrimkaStavke.Tables[0].Rows.Count; i++)
            {
                double proizvodacka_cijena = 0, kolicina = 0, nbc = 0;
                double.TryParse(dSPrimkaStavke.Tables[0].Rows[i]["proizvodacka_cijena"].ToString(), out proizvodacka_cijena);
                double.TryParse(dSPrimkaStavke.Tables[0].Rows[i]["nbc"].ToString(), out nbc);
                double.TryParse(dSPrimkaStavke.Tables[0].Rows[i]["kolicina"].ToString(), out kolicina);

                double iznos_proizvodacke_cijene = Math.Round((proizvodacka_cijena * kolicina), 2);

                if (this.proizvodacka_cijena)
                {
                    dt.Rows[i].SetField("iznosBezPoreza", iznos_proizvodacke_cijene);
                    dt.Rows[i].SetField("ukupno", Math.Round((nbc * kolicina), 2));
                }

                kolicina_ukupno           += kolicina;
                proizvocaka_cijena_ukupno += iznos_proizvodacke_cijene;
            }

            ReportParameter p1 = new ReportParameter("proizvodacka_cijena", proizvocaka_cijena_ukupno.ToString("#,##0.00"));
            ReportParameter p2 = new ReportParameter("kolicina_ukupno", kolicina_ukupno.ToString("#,##0.00"));
            ReportParameter p3 = new ReportParameter("ispis_proizvodnja", proizvodacka_cijena.ToString());

            this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] { p1, p2, p3 });

            string id_kupac_grad = "";
            string id_kupac    = "";

            if (dSPrimka.Tables[0].Rows.Count > 0)
            {
                id_kupac_grad = dSPrimka.Tables[0].Rows[0]["kupac_grad_id"].ToString();
                id_kupac      = dSPrimka.Tables[0].Rows[0]["sifra_kupac"].ToString();
            }
            else
            {
                MessageBox.Show("Odabrani zahtjev ne postoji.", "Greška", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }

            sql1 = SqlPodaciTvrtke.VratiSql(id_kupac_grad, "", id_kupac);

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");
            }
            else
            {
                classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");
                //classSQL.NpgAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");
            }
        }
Exemplo n.º 13
0
        /// <summary>
        /// Fills report with "Kalkulacije" data
        /// </summary>
        private void SetKalkulacija()
        {
            string filter = "", sql = "";

            if (pregled == true)
            {
                filter = "kalkulacija.id_kalkulacija='" + broj_kalkulacije + "'";
                sql    = @"select coalesce(sum(pn.iznos * replace(ks.kolicina, ',','.')::numeric), 0) as povratna_naknada
from povratna_naknada pn
left join kalkulacija_stavke ks on pn.sifra = ks.sifra
left join kalkulacija k on ks.broj = k.broj and ks.id_skladiste = k.id_skladiste
where k.broj = '" + broj_kalkulacije + "' and pn.iznos <> 0;";
            }
            else
            {
                filter = "kalkulacija.broj='" + broj_kalkulacije + "' AND kalkulacija.id_skladiste='" + skladiste + "'";

                sql = @"select coalesce(sum(pn.iznos * replace(ks.kolicina, ',','.')::numeric), 0) as povratna_naknada
from povratna_naknada pn
left join kalkulacija_stavke ks on pn.sifra = ks.sifra
left join kalkulacija k on ks.broj = k.broj and ks.id_skladiste = k.id_skladiste
where k.broj = '" + broj_kalkulacije + "' and k.id_skladiste = '" + skladiste + "' and pn.iznos <> 0;";
            }

            DataSet dsPovratnaNaknada = classSQL.select(sql, "povratna_naknada");
            decimal povratna_naknada  = 0;

            if (dsPovratnaNaknada != null && dsPovratnaNaknada.Tables.Count > 0 && dsPovratnaNaknada.Tables[0] != null && dsPovratnaNaknada.Tables[0].Rows.Count > 0)
            {
                povratna_naknada = Convert.ToDecimal(dsPovratnaNaknada.Tables[0].Rows[0][0]);
            }

            ReportParameter p2 = new ReportParameter("povratna_naknada", povratna_naknada.ToString());

            this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] { p2 });

            string SustavPdv = @"select * from partners where id_partner = (select id_partner from kalkulacija where broj = '" + broj_kalkulacije + @"' and id_skladiste = '" + skladiste + "')";

            DataSet dsPartner = classSQL.select(SustavPdv, "partners");
            bool    partnerExist = false, uSustavuPdv = false;

            if (dsPartner != null && dsPartner.Tables.Count > 0 && dsPartner.Tables[0] != null && dsPartner.Tables[0].Rows.Count > 0)
            {
                partnerExist = true;
                uSustavuPdv  = Convert.ToBoolean(dsPartner.Tables[0].Rows[0]["uSustavPdv"].ToString());
            }

            string sqlTecaj = @"SELECT kalkulacija.broj, kalkulacija.godina, skladiste.skladiste, kalkulacija.tecaj, kalkulacija.trosak, valute.ime_valute AS valuta
FROM kalkulacija
LEFT JOIN skladiste ON kalkulacija.id_skladiste=skladiste.id_skladiste
LEFT JOIN valute ON kalkulacija.id_valuta=valute.id_valuta
LEFT JOIN partners ON kalkulacija.id_partner=partners.id_partner
WHERE " + filter + " ";

            DataTable dtTecaj = classSQL.select(sqlTecaj, "kalkulacija").Tables[0];

            double  tecaj  = 1;
            decimal trosak = Convert.ToDecimal(dtTecaj.Rows[0]["trosak"].ToString());

            if (dtTecaj.Rows.Count > 0)
            {
                tecaj = Convert.ToDouble(dtTecaj.Rows[0]["tecaj"].ToString());
            }

            string naziv_fakture = " podaci_tvrtka.naziv_fakture,";
            string sql1          = SqlPodaciTvrtke.VratiSql("", naziv_fakture, "");

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");
            }
            else
            {
                classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");
            }

            DataTable dtPdvNbc = new DataTable();

            dtPdvNbc.Columns.Add("stopa");
            dtPdvNbc.Columns.Add("iznos");
            dtPdvNbc.Columns.Add("osnovica");

            string filter1 = "";

            if (pregled == true)
            {
                filter1 = string.Format("ks.id_kalkulacija = '{0}'", broj_kalkulacije);
            }
            else
            {
                filter1 = string.Format("ks.broj = '{0}' AND ks.id_skladiste = '{1}'", broj_kalkulacije, skladiste);
            }

            string sql_stavke = string.Format(@"SELECT
                ks.sifra, ks.id_stavka AS id, r.naziv,
                r.jm AS jmj, ks.kolicina, ks.rabat,
                ks.fak_cijena, ks.prijevoz, ks.carina,
                ks.posebni_porez, ks.marza_postotak as marza, ks.vpc,
                ks.porez AS pdv,
                pn.iznos as povratna_naknada
                FROM kalkulacija_stavke ks
                LEFT JOIN roba r ON ks.sifra = r.sifra
                LEFT JOIN povratna_naknada pn on ks.sifra = pn.sifra
                WHERE {0}
                ORDER BY CAST(id_stavka AS INT) ASC;", filter1);

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_stavke).Fill(dSkalkulacija_stavke, "DTkalkDtavke");
            }
            else
            {
                classSQL.NpgAdatpter(sql_stavke).Fill(dSkalkulacija_stavke, "DTkalkDtavke");
            }

            DataTable DT                   = dSkalkulacija_stavke.Tables[0];
            double    fakIznos             = 0;
            double    fak_iznos_stavka     = 0;
            double    fakNetto             = 0;
            double    osnovica             = 0;
            double    fakPdv               = 0;
            double    fak_ukupno_stavka    = 0;
            double    fakUk                = 0;
            double    fak_cijena           = 0;
            double    kolicina             = 0;
            double    rabat                = 0;
            double    rabatStavka          = 0;
            double    rabatUk              = 0;
            double    mpc                  = 0;
            double    mpc_uk               = 0;
            double    porez                = 0;
            double    vpc                  = 0;
            double    nab_cijena           = 0;
            double    posebni_porez        = 0;
            double    prijevoz             = 0;
            double    carina               = 0;
            double    net_cijena           = 0;
            double    marza                = 0;
            double    marzaIznos           = 0;
            double    marzaUk              = 0;
            double    nabavna_zadnja       = 0;
            double    marza_uk_            = 0;
            double    fak_cijena_S_pdv     = 0;
            double    fak_cijena_S_pdv_ukp = 0;
            double    pov_nak              = 0;
            double    prijevozSaPdv        = 0;
            decimal   trosakBezPdv         = 0;
            decimal   trosakPdv            = 0;
            decimal   trosakUkupno         = 0;

            // Dohvača podatke ako je firma u sustavu PDV-a
            DataTable DTpostavke = classSQL.select_settings("SELECT sustav_pdv FROM postavke", "postavke").Tables[0];
            int       prikaziPdv = 0;

            for (int i = 0; i < DT.Rows.Count; i++)
            {
                kolicina      = Math.Round(Convert.ToDouble(DT.Rows[i]["kolicina"].ToString()), 3);
                fak_cijena    = Math.Round(Convert.ToDouble(DT.Rows[i]["fak_cijena"].ToString()), 3);
                rabat         = Math.Round(Convert.ToDouble(DT.Rows[i]["rabat"].ToString()), 2);
                porez         = Math.Round(Convert.ToDouble(DT.Rows[i]["pdv"].ToString()), 3);
                vpc           = Math.Round(Convert.ToDouble(DT.Rows[i]["vpc"].ToString()), 3);
                posebni_porez = Math.Round(Convert.ToDouble(DT.Rows[i]["posebni_porez"].ToString()), 3);
                prijevoz      = Math.Round(Convert.ToDouble(DT.Rows[i]["prijevoz"].ToString()), 4);
                carina        = Math.Round(Convert.ToDouble(DT.Rows[i]["carina"].ToString()), 3);
                marza         = Math.Round(Convert.ToDouble(DT.Rows[i]["marza"].ToString()), 2);
                pov_nak       = Math.Round(Convert.ToDouble(DT.Rows[i]["povratna_naknada"].ToString()), 3);

                if (!Class.Postavke.koristi_povratnu_naknadu)
                {
                    pov_nak = 0;
                }

                if (marza.ToString() == "NaN" || marza.ToString() == "Infinity")
                {
                    marza = 0;
                }
                double vpc_s_kol = vpc * kolicina;
                double fak_s_kol = fak_cijena * kolicina;
                nabavna_zadnja = Math.Round((fak_s_kol - (fak_s_kol * (rabat / 100)) + ((prijevoz + carina) * kolicina)), 3);
                marza_uk_      = Math.Round(nabavna_zadnja * (marza / 100), 3);
                marzaIznos     = Math.Round(marza / 100 * nabavna_zadnja, 3);
                marzaUk       += marzaIznos;

                rabatStavka = Math.Round((fak_cijena * (rabat / 100)), 2) * kolicina;
                rabatUk    += rabatStavka;

                mpc = vpc * (1 + porez / 100.0) + pov_nak;

                mpc_uk = Math.Round(mpc, 2) * kolicina;

                prijevozSaPdv = ((prijevoz + carina) * kolicina) * 1.25;
                nab_cijena    = Math.Round(fak_cijena * (1 - rabat / 100), 2, MidpointRounding.AwayFromZero) * kolicina;

                fak_cijena_S_pdv = nab_cijena * (1 + (porez / 100));
                if ((partnerExist && !uSustavuPdv) || DTpostavke.Rows[0]["sustav_pdv"].ToString() == "0")
                {
                    fak_cijena_S_pdv = nab_cijena;
                }

                fak_cijena_S_pdv_ukp += fak_cijena_S_pdv;

                net_cijena = kolicina * fak_cijena * (1 - rabat / 100);

                fak_iznos_stavka = kolicina * fak_cijena;
                fakIznos        += fak_iznos_stavka;

                fakNetto += Math.Round((fak_cijena * (1 - rabat / 100)), 2, MidpointRounding.AwayFromZero) * kolicina;

                fak_ukupno_stavka = Math.Round(vpc * (1 + porez / 100), 2) * kolicina;
                fakUk            += fak_ukupno_stavka;

                osnovica += fak_ukupno_stavka * 100 / (100 + porez);
                fakPdv   += fak_ukupno_stavka * (1 - 100 / (100 + porez));

                // Stope
                double pdvStavka_cisto = nab_cijena * (porez / 100);
                int    firmaSustavPdv  = Convert.ToInt32(DTpostavke.Rows[0]["sustav_pdv"].ToString());
                if (firmaSustavPdv == 0)
                {
                    StopePDVa(Math.Round((decimal)porez, 4), 0, Math.Round(((decimal)nab_cijena), 4), true, false);
                    StopePDVa(Math.Round((decimal)porez, 4), 0, Math.Round(((decimal)(vpc * kolicina)), 4), false, false);
                }
                else
                {
                    if (partnerExist && !uSustavuPdv)
                    {
                        StopePDVa(Math.Round((decimal)porez, 4), 0, Math.Round(((decimal)nab_cijena), 4), true, false);
                        StopePDVa(Math.Round((decimal)porez, 4), Math.Round((decimal)(vpc * (porez / 100) * kolicina), 4), Math.Round(((decimal)(vpc * kolicina)), 4), false);
                    }
                    else if (partnerExist && uSustavuPdv)
                    {
                        StopePDVa(Math.Round((decimal)porez, 4), Math.Round((decimal)pdvStavka_cisto, 4), Math.Round(((decimal)nab_cijena), 4), true);
                        StopePDVa(Math.Round((decimal)porez, 4), Math.Round((decimal)(vpc * (porez / 100) * kolicina), 4), Math.Round(((decimal)(vpc * kolicina)), 4), false);
                        prikaziPdv = 1;
                    }
                }

                DT.Rows[i].SetField("mpc_uk", Math.Round(mpc_uk, 2, MidpointRounding.ToEven));
                DT.Rows[i].SetField("mpc", Math.Round(mpc, 3));
                DT.Rows[i].SetField("rabat", Math.Round(rabat, 2));
                DT.Rows[i].SetField("rabat_uk", Math.Round(rabatStavka, 2));
                DT.Rows[i].SetField("marza", Math.Round(marza, 3));
                DT.Rows[i].SetField("marzaIznos", Math.Round(marza_uk_, 3));
                DT.Rows[i].SetField("posebni_porez", posebni_porez);
                DT.Rows[i].SetField("prijevoz", Math.Round(prijevoz, 4));
                DT.Rows[i].SetField("carina", Math.Round(carina, 3));

                DT.Rows[i].SetField("kolicina", Math.Round(kolicina, 3));
                DT.Rows[i].SetField("fak_cijena", Math.Round(fak_cijena, 2));
                DT.Rows[i].SetField("fak_cijena_val", Math.Round(fak_cijena / tecaj, 3));
                DT.Rows[i].SetField("net_cijena", Math.Round(net_cijena, 3));
                DT.Rows[i].SetField("nab_cijena", Math.Round(nab_cijena, 3));
                DT.Rows[i].SetField("fak_cijena_S_pdv", Math.Round(fak_cijena_S_pdv, 2));

                DT.Rows[i].SetField("trosakBezPdv", Math.Round(trosakBezPdv, 3));
                DT.Rows[i].SetField("trosakPdv", Math.Round(trosakPdv, 3));
                DT.Rows[i].SetField("trosakUkupno", Math.Round(trosakUkupno, 3));
            }

            fakIznos = Math.Round(fakIznos, 2, MidpointRounding.AwayFromZero);
            fakNetto = Math.Round(fakNetto, 2, MidpointRounding.AwayFromZero);
            fakPdv   = Math.Round(fakPdv, 3);
            osnovica = Math.Round(osnovica, 3);
            fakUk    = Math.Round(fakUk, 2);
            rabatUk  = Math.Round(rabatUk, 2);
            marzaUk  = Math.Round(marzaUk, 3);
            string filter2 = "";

            if (pregled == true)
            {
                filter2 = "kalkulacija.id_kalkulacija='" + broj_kalkulacije + "';";
            }
            else
            {
                filter2 = "kalkulacija.broj='" + broj_kalkulacije + "' AND kalkulacija.id_skladiste='" + skladiste + "';";
            }

            // Trošak kalkulacija
            if (DTpostavke.Rows[0]["sustav_pdv"].ToString() == "1")
            {
                if (uSustavuPdv)
                {
                    TrosakSaPdv(trosak, out trosakBezPdv, out trosakPdv, out trosakUkupno);
                }
                else
                {
                    TrosakBezPdv(trosak, out trosakBezPdv, out trosakPdv, out trosakUkupno);
                }
            }
            else
            {
                TrosakBezPdv(trosak, out trosakBezPdv, out trosakPdv, out trosakUkupno);
            }

            if (DTpostavke.Rows[0]["sustav_pdv"].ToString() == "0" || !uSustavuPdv)
            {
                fak_cijena_S_pdv_ukp = fakNetto + (double)trosakUkupno;
            }

            CheckStope((decimal)fakNetto, trosakBezPdv, trosakPdv);

            string sql_kalk = $@"SELECT kalkulacija.broj, kalkulacija.id_partner, kalkulacija.godina, 'Kalkulacija' AS naslov, skladiste.skladiste, kalkulacija.datum,
partners.ime_tvrtke + ' ' + partners.id_partner AS dobavljac, kalkulacija.tecaj AS tecaj, kalkulacija.racun, kalkulacija.otpremnica,
CAST(kalkulacija.otpremnica_datum AS date) AS otpremnica_datum, kalkulacija.tecaj, zaposlenici.ime + ' ' + zaposlenici.prezime AS kalkulirao,
{trosakBezPdv.ToString().Replace(',', '.')} AS trosakBezPdv, {trosakPdv.ToString().Replace(',', '.')} AS trosakPdv,  {trosakUkupno.ToString().Replace(',', '.')} AS trosakUkupno, {prikaziPdv} AS prikaziPdv, {nbcPdvUkupno.ToString().Replace(',', '.')} AS nbcPdvUkupno,
CAST(kalkulacija.racun_datum AS date) AS racun_datum, valute.ime_valute AS valuta, '" + fakIznos + @"' AS fak_iznos, '" + fakNetto + @"' AS netto_fak_iznos,
'" + fakPdv + @"' AS pdv, '" + rabatUk + @"' AS rabatUk, '" + marzaUk + @"' AS marzaUk, '" + osnovica + @"' AS osnovica, '" + fakUk + @"' AS ukupno,
'" + Math.Round(fak_cijena_S_pdv_ukp, 2) + @"' as fak_cijena_S_pdv, case when partners.uSustavPdv = true then 'Dobavljač u sustavu PDV-a: DA' else 'Dobavljač u sustavu PDV-a: NE' end as sustavPdv
FROM kalkulacija
LEFT JOIN skladiste ON kalkulacija.id_skladiste=skladiste.id_skladiste
LEFT JOIN zaposlenici ON kalkulacija.id_zaposlenik=zaposlenici.id_zaposlenik
LEFT JOIN valute ON kalkulacija.id_valuta=valute.id_valuta
LEFT JOIN partners ON kalkulacija.id_partner=partners.id_partner
WHERE " + filter2;

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_kalk).Fill(dSkalkulacija, "DTKalkulacijA");
            }
            else
            {
                classSQL.NpgAdatpter(sql_kalk).Fill(dSkalkulacija, "DTKalkulacijA");
            }
        }
Exemplo n.º 14
0
        private void FillRacun(string broj, string[] imeTablice)
        {
            PCPOS.classNumberToLetter broj_u_text = new PCPOS.classNumberToLetter();

            //MessageBox.Show(broj_slovima.ToLower());

            string sql2 = "SELECT " +
                          " " + imeTablice[1] + ".kolicina," +
                          " " + imeTablice[1] + ".vpc," +
                          " " + imeTablice[1] + ".porez," +
                          " " + imeTablice[1] + ".broj_racuna," +
                          " " + imeTablice[1] + ".rabat," +
                          " " + imeTablice[1] + ".sifra_robe AS sifra," +
                          " roba.naziv as naziv," +
                          " roba.jm as jm," +
                          " " + imeTablice[1] + ".id_skladiste AS skladiste" +
                          " FROM " + imeTablice[1] + "" +
                          " LEFT JOIN roba ON roba.sifra=" + imeTablice[1] + ".sifra_robe " +
                          " WHERE " + imeTablice[1] + ".broj_racuna='" + broj + "'";

            if (imeTablice[1] == "racun_stavke")
            {
                sql2 += " AND racun_stavke.id_ducan=" + poslovnica + " AND racun_stavke.id_kasa=" + naplatni;
            }

            //DSRfakturaStavke DSfs = new DSRfakturaStavke();

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql2).Fill(dSRfakturaStavke, "DTfakturaStavke");
            }
            else
            {
                classSQL.NpgAdatpter(sql2).Fill(dSRfakturaStavke, "DTfakturaStavke");
            }

            double vpc = 0;
            double kol = 0;
            double porez;
            double rabat;
            double mpc;
            double mpcStavka;
            double rabatStavka    = 0;
            double pdvStavka      = 0;
            double osnovicaStavka = 0;

            double osnovicaUkupno = 0;
            double sveUkupno      = 0;
            double pdvUkupno      = 0;
            double rabatSve       = 0;

            DataTable DT = dSRfakturaStavke.Tables[0];

            for (int i = 0; i < DT.Rows.Count; i++)
            {
                vpc   = Math.Round(Convert.ToDouble(DT.Rows[i]["vpc"].ToString()), 3);
                kol   = Math.Round(Convert.ToDouble(DT.Rows[i]["kolicina"].ToString()), 3);
                porez = Math.Round(Convert.ToDouble(DT.Rows[i]["porez"].ToString()), 2);
                rabat = Math.Round(Convert.ToDouble(DT.Rows[i]["rabat"].ToString()), 2);

                mpc = Math.Round(vpc * (1 + porez / 100.0), 2);

                rabatStavka    = Math.Round(mpc * kol * rabat / 100, 2);
                mpcStavka      = Math.Round(mpc * kol - rabatStavka, 2);
                pdvStavka      = Math.Round(mpcStavka * (1 - 100 / (100 + porez)), 2);
                osnovicaStavka = Math.Round(mpcStavka - pdvStavka, 2);

                DT.Rows[i].SetField("mpc", Math.Round(mpc, 2));
                DT.Rows[i].SetField("vpc", Math.Round(vpc, 3));
                DT.Rows[i].SetField("porez", Math.Round(porez, 2));
                DT.Rows[i].SetField("rabat", Math.Round(rabat, 2));
                DT.Rows[i].SetField("kolicina", Math.Round(kol, 3));
                DT.Rows[i].SetField("mpcStavka", Math.Round(mpcStavka, 2));
                DT.Rows[i].SetField("rabatStavka", Math.Round(rabatStavka, 2));

                rabatSve       += rabatStavka;
                osnovicaUkupno += osnovicaStavka;
                pdvUkupno      += pdvStavka;
                sveUkupno      += mpcStavka;
            }

            string broj_slovima = broj_u_text.PretvoriBrojUTekst(sveUkupno.ToString(), ',', "kn", "lp").ToString();

            string year;

            if (imeTablice[0] == "ispis_racuni")
            {
                year = DateTime.Now.Year.ToString();
            }
            else
            {
                year = classSQL.select("SELECT datum_racuna FROM racuni WHERE broj_racuna='" + broj_dokumenta + "'", "racuni").Tables[0].Rows[0][0].ToString();
                DateTime date = Convert.ToDateTime(year);
                year = date.Year.ToString();
            }

            string sql = "SELECT " +
                         " " + imeTablice[0] + ".broj_racuna," +
                         " " + imeTablice[0] + ".datum_racuna AS datum," +
                         " " + imeTablice[0] + ".jir," +
                         " " + imeTablice[0] + ".zki," +
                         " " + imeTablice[0] + ".napomena," +
                         " '" + sveUkupno + "' AS ukupno," +
                         " '" + pdvUkupno + "' AS iznos_pdv," +
                         " '" + osnovicaUkupno + "' AS osnovica," +
                         " '" + rabatSve + "' AS rabat,";

            if (imeTablice[0] == "racuni")
            {
                sql += "CAST (racuni.broj_racuna AS varchar) + '/' + ime_ducana + '/' + ime_blagajne AS Naslov,";
            }
            else
            {
                sql += " CAST (" + imeTablice[0] + ".broj_racuna AS nvarchar) + CAST ('" + Util.Korisno.VratiDucanIBlagajnuZaIspis(1) + "' AS nvarchar)  AS Naslov,";
            }
            sql += " partners.ime_tvrtke AS kupac_tvrtka," +
                   " partners.adresa AS kupac_adresa," +
                   " ' Novčanice: ' + CAST(" + imeTablice[0] + ".ukupno_gotovina AS money) + '   Kartice: ' + CAST(" + imeTablice[0] + ".ukupno_kartice AS money)  AS placanje," +
                   " partners.id_grad AS id_kupac_grad," +
                   " partners.id_partner AS sifra_kupac," +
                   " partners.napomena AS napomena_tvrtka," +
                   " ziro_racun.ziroracun AS zr," +
                   " zaposlenici.ime + ' ' + zaposlenici.prezime AS izradio," +
                   " ziro_racun.banka AS banka," +
                   " '" + broj_slovima.ToLower() + "' AS broj_slovima," +
                   " partners.oib AS kupac_oib" +
                   " FROM " + imeTablice[0] + "" +
                   " LEFT JOIN ziro_racun ON ziro_racun.id_ziroracun='1'" +
                   " LEFT JOIN zacrnjeni_partner as  partners ON partners.id_partner=" + imeTablice[0] + ".id_kupac";
            if (imeTablice[0] == "racuni")
            {
                sql += " LEFT JOIN ducan ON racuni.id_ducan = ducan.id_ducan " + " LEFT JOIN blagajna ON racuni.id_kasa = blagajna.id_blagajna ";
            }
            sql += " LEFT JOIN zaposlenici ON zaposlenici.id_zaposlenik=" + imeTablice[0] + ".id_blagajnik WHERE " + imeTablice[0] + ".broj_racuna='" + broj_dokumenta + "'";
            if (imeTablice[0] == "racuni")
            {
                sql += " AND racuni.id_ducan=" + poslovnica + " AND racuni.id_kasa=" + naplatni;
            }

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql).Fill(dSFaktura, "DTRfaktura");
            }
            else
            {
                classSQL.NpgAdatpter(sql.Replace("nvarchar", "varchar")).Fill(dSFaktura, "DTRfaktura");
            }

            string id_kupac_grad = "";
            string id_kupac      = "";

            if (dSFaktura.Tables[0].Rows.Count > 0)
            {
                id_kupac_grad = dSFaktura.Tables[0].Rows[0]["id_kupac_grad"].ToString();
                id_kupac      = dSFaktura.Tables[0].Rows[0]["sifra_kupac"].ToString();
            }
            else
            {
                MessageBox.Show("Odabrani zahtjev ne postoji.", "Greška", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            string naziv_fakture = " podaci_tvrtka.naziv_fakture,";
            string sql1          = SqlPodaciTvrtke.VratiSql(id_kupac_grad, naziv_fakture, id_kupac);

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");
            }
            else
            {
                classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");
                //classSQL.NpgAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");
            }

            string ziro = dSRpodaciTvrtke.Tables[0].Rows[0]["zr"].ToString();

            dSFaktura.Tables[0].Rows[0].SetField("zr", ziro);
            string iban = dSRpodaciTvrtke.Tables[0].Rows[0]["iban"].ToString();

            dSFaktura.Tables[0].Rows[0].SetField("iban", iban);

            string    banka = "";
            DataTable dt    = classSQL.select("SELECT banka FROM ziro_racun WHERE ziroracun = '" + ziro + "'", "ziro_racun").Tables[0];

            if (dt.Rows.Count > 0)
            {
                banka = dt.Rows[0]["banka"].ToString();
                dSFaktura.Tables[0].Rows[0].SetField("banka", banka);
            }
            else
            {
            }
        }
Exemplo n.º 15
0
        private void PrometKase()
        {
            string sql1 = SqlPodaciTvrtke.VratiSql("", "", "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            string WHERE = "WHERE ", whereAvans = "WHERE ";
            string _ducan      = "SVI";
            string _zaposlenik = "SVI";
            string _skladiste  = "SVE";
            string _kasa       = "SVE";

            if (blagajnik != null)
            {
                WHERE      += "racuni.id_blagajnik='" + blagajnik + "' AND ";
                whereAvans += "a.id_zaposlenik_izradio = '" + blagajnik + "' AND ";
                try
                {
                    _zaposlenik = classSQL.select("SELECT ime + ' ' + prezime  FROM zaposlenici WHERE id_zaposlenik='" + blagajnik + "'", "zaposlenici").Tables[0].Rows[0][0].ToString();
                }
                catch (Exception)
                {
                }
            }

            if (ducan != null)
            {
                WHERE += "racuni.id_ducan='" + ducan + "' AND ";
                try
                {
                    _ducan = classSQL.select("SELECT ime_ducana  FROM ducan WHERE id_ducan='" + ducan + "'", "ducan").Tables[0].Rows[0][0].ToString();
                }
                catch (Exception)
                {
                }
            }

            if (kasa != null)
            {
                WHERE += "racuni.id_kasa='" + kasa + "' AND ";
                try
                {
                    _kasa = classSQL.select("SELECT ime_blagajne  FROM blagajna WHERE id_blagajna='" + kasa + "'", "kasa").Tables[0].Rows[0][0].ToString();
                }
                catch (Exception)
                {
                }
            }

            WHERE      += "racuni.datum_racuna >='" + datumOD.ToString("yyyy-MM-dd HH:mm:ss") + "' AND racuni.datum_racuna <= '" + datumDO.ToString("yyyy-MM-dd HH:mm:ss") + "' ";
            whereAvans += "a.id_nacin_placanja in (1,2) and  a.dat_knj >= '" + datumOD.ToString("yyyy-MM-dd HH:mm:ss") + "' AND a.dat_knj <= '" + datumDO.ToString("yyyy-MM-dd HH:mm:ss") + "' ";

            //            string avansi = "";
            //            if (Class.Postavke.uzmi_avanse_u_promet_kase_POS)
            //            {
            //                avansi = string.Format(@"union all
            //select '-1' as sifra_robe, a.ukupno, case when length(a.artikl) > 0 then a.artikl else a.opis end as naziv,
            //a.osnovica_var as vpc, a.ukupno::money as mpc, replace(p.iznos::character varying(5), '.',',') as porez,
            //1 as kolicna, '0' as rabat, case when a.id_nacin_placanja = 1 then 'G' else case when a.id_nacin_placanja = 2 then 'K' else case when a.id_nacin_placanja = 3 then 'T' else 'O' end end end as nacin_placanja,
            //0 as povratna_naknada, ukupno::money as cijena
            //from avansi as a
            //left join porezi as p on a.id_pdv = p.id_porez
            //where a.id_nacin_placanja in (1,2) and  a.dat_knj >= '{0}' AND a.dat_knj <= '{1}'
            //{2}{3}",
            //                datumOD.ToString("yyyy-MM-dd HH:mm:ss"),
            //                datumDO.ToString("yyyy-MM-dd HH:mm:ss"),
            //                blagA,
            //                dobA);

            //            }

            string sql_liste = @"SELECT SUM(ukupno) AS [cijena1],
SUM(ukupno_gotovina-(ukupno_karticezbrojukupno_gotovinazbrojukupno_bon-ukupno)) AS [cijena2],
SUM(ukupno_kartice) AS [cijena3],
sum(ukupno_bon) as [cijena4]
FROM racuni " +
                               WHERE;

            if (Class.Postavke.uzmi_avanse_u_promet_kase_POS)
            {
                sql_liste = string.Format(@"select sum(x.cijena1) as cijena1, sum(x.cijena2) as cijena2, sum(x.cijena3) as cijena3, sum(x.cijena4) as cijena4
from (
    SELECT SUM(ukupno)::numeric  AS [cijena1],
    SUM(ukupno_gotovina-(ukupno_karticezbrojukupno_gotovinazbrojukupno_bon-ukupno))::numeric  AS [cijena2],
    SUM(ukupno_kartice)::numeric  AS [cijena3],
    sum(ukupno_bon)::numeric  as [cijena4]
    FROM racuni
    {0}
    union all
	select sum(a.ukupno) as [cijena1],
	case when a.id_nacin_placanja = 1 then sum(a.ukupno) else 0 end as [cijena2],
	case when a.id_nacin_placanja = 2 then sum(a.ukupno) else 0 end as [cijena3],
	case when a.id_nacin_placanja = 3 then 0 else 0 end as [cijena4]
    from avansi as a
    {1}
    group by a.id_nacin_placanja
) x"
                                          , WHERE, whereAvans);
            }

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste).Fill(dSRliste, "DTliste");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste).Fill(dSRliste, "DTliste");
            }

            //------------------------------------OVAJ DIO RACUNA RABAT-------------------------------------------------------------------
            DataSet DS         = new DataSet();
            string  sql_liste1 = "SELECT  " +
                                 "racun_stavke.sifra_robe," +
                                 "racun_stavke.mpc," +
                                 "racun_stavke.rabat," +
                                 "racun_stavke.kolicina" +
                                 " FROM racun_stavke " +
                                 " LEFT JOIN racuni ON racun_stavke.broj_racuna=racuni.broj_racuna AND racuni.id_ducan=racun_stavke.id_ducan AND racuni.id_kasa=racun_stavke.id_kasa " +
                                 WHERE +
                                 "";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste1).Fill(DS, "DTliste");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste1).Fill(DS, "DTliste");
            }

            decimal mpc         = 0;
            decimal rabat       = 0;
            decimal kolicina    = 0;
            decimal rabat_iznos = 0;

            for (int i = 0; i < DS.Tables[0].Rows.Count; i++)
            {
                mpc          = Convert.ToDecimal(DS.Tables[0].Rows[i]["mpc"].ToString());
                rabat        = Convert.ToDecimal(DS.Tables[0].Rows[i]["rabat"].ToString());
                kolicina     = Convert.ToDecimal(DS.Tables[0].Rows[i]["kolicina"].ToString());
                rabat_iznos += (mpc * rabat / 100) * kolicina;
                if (DS.Tables[0].Rows[i]["sifra_robe"].ToString() == "!popustABS")
                {
                    rabat_iznos -= Convert.ToDecimal(DS.Tables[0].Rows[i]["mpc"].ToString()) * kolicina;
                }
            }

            //------------------------------------OVAJ DIO RACUNA RABAT----------------kraj--------------------------------------

            string sql_liste_string = "SELECT " +
                                      " 'Način plaćanja ' AS tbl1," +
                                      " 'Popust ' AS tbl2," +
                                      " 'Iznos ' AS tbl3," +
                                      " 'NOVČANICE ' AS string1," +
                                      " 'KARTICE ' AS string2," +
                                      " 'BONOVI ' AS string9," +
                                      " 'Dućan: " + _ducan + "' AS string3," +
                                      " 'Kasa: " + _kasa + "' AS string4," +
                                      " 'Skladište: " + _skladiste + "' AS string5," +
                                      " 'Blagajnik: " + _zaposlenik + "' AS string6," +
                                      " 'PROMET KASE PO NAČINIMA PLAĆANJA ' AS naslov," +
                                      " 'Rabat ukupno: " + Math.Round(rabat_iznos, 2).ToString("#0.00") + "' AS string3," +
                                      " 'Za razdoblje: " + datumOD + "  -  " + datumDO + "' AS godina" +
                                      "";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst");
            }
        }
Exemplo n.º 16
0
        private void frmListe_Load(object sender, EventArgs e)
        {
            var dokumenti = new Dictionary <string, string> {
                { "Računi", "maloprodaja" },
                { "Kalkulacija", "kalkulacija" },
                { "Izdatnica", "izdatnica" },
                { "Primka", "primka" },
                { "Fakture", "fakture" },
                { "Međuskladišnica iz skl", "iz_skl" },
                { "Međuskladišnica u skl", "u_skl" },
                { "Otpremnica", "otpremnica" },
                { "Otpis robe", "otpis_robe" },
                { "Povrat robe", "povrat_robe" },
                { "Promjena cijene", "promjena_cijene" },
                { "Inventura", "inventura" },
                { "Pocetno", "pocetno" },
                { "Radni nalog", "radni_nalog_stavke" },
                { "Normativi RN", "radni_nalog_stavke_normativi" },
                { "Radni nalog kroz uslugu", "radni_nalog_skida_normative_prema_uslugi" }
            }.OrderBy(x => x.Key).ToList();

            dokumenti.Insert(0, new KeyValuePair <string, string>("Svi dokumenti", "svi"));

            cmbDokumenti.DisplayMember = "Key";
            cmbDokumenti.ValueMember   = "Value";
            cmbDokumenti.DataSource    = dokumenti;

            tdOdDatuma.Value = new DateTime(Util.Korisno.GodinaKojaSeKoristiUbazi, 01, 01, 00, 00, 00);
            if (Util.Korisno.GodinaKojaSeKoristiUbazi < DateTime.Now.Year)
            {
                tdDoDatuma.Value = new DateTime(Util.Korisno.GodinaKojaSeKoristiUbazi, 12, 31, 23, 59, 59);
            }
            else if (Util.Korisno.GodinaKojaSeKoristiUbazi == DateTime.Now.Year)
            {
                tdDoDatuma.Value = new DateTime(Util.Korisno.GodinaKojaSeKoristiUbazi, DateTime.Now.Month, DateTime.Now.Day, 23, 59, 59);
            }

            DataTable DTskl = classSQL.select("SELECT id_skladiste,skladiste FROM skladiste ORDER BY skladiste ASC", "skladiste").Tables[0];
            DataRow   r     = DTskl.NewRow();

            r[0] = "0";
            r[1] = "Sva skladišta";
            DTskl.Rows.Add(r);
            cbSkladiste.DataSource    = DTskl;
            cbSkladiste.DisplayMember = "skladiste";
            cbSkladiste.ValueMember   = "id_skladiste";
            cbSkladiste.SelectedValue = "0";

            string sql1 = SqlPodaciTvrtke.VratiSql("", "", "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");
            dSRpodaciTvrtke.Tables[0].Rows[0]["naziv_fakture"] = "";
            this.reportViewer1.RefreshReport();

            //PROVJERAVAM NAVEDENE TABLICE JE DO 2015god DESILO SE DA NEMA VRIJEDNOSTI U KOLONAMA, 2016god MOŽE SE MAKNUTI
            string query = @"UPDATE inventura_stavke SET porez=(SELECT porez FROM roba
                            WHERE roba.sifra=inventura_stavke.sifra_robe LIMIT 1) WHERE porez='' OR porez IS NULL;
	                        UPDATE promjena_cijene_stavke SET kolicina='1' WHERE kolicina='' OR kolicina IS NULL;"    ;

            classSQL.update(query);
        }
Exemplo n.º 17
0
        private void dobit_po_maloprodajnim()
        {
            //datumDO = DateTime.Now;
            //datumOD = DateTime.Now.AddDays(-365);

            //BrojFakDO = "";
            //BrojFakOD = "";

            string naziv_fakture = " podaci_tvrtka.naziv_fakture,";
            string sql1          = SqlPodaciTvrtke.VratiSql("", naziv_fakture, "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            string kriterij = "";

            if (prema_rac)
            {
                kriterij = " WHERE CAST(racuni.broj_racuna as int) >= '" + BrojFakOD + "' AND CAST(racuni.broj_racuna as int) <= '" + BrojFakDO + "' ORDER BY CAST(racuni.broj_racuna as int) ASC";
            }
            else
            {
                kriterij = " WHERE racuni.datum_racuna >= '" + datumOD + "' AND racuni.datum_racuna <= '" + datumDO + "' ORDER BY racuni.datum_racuna ASC";
            }

            string sqlHeder = "SELECT " +
                              " racuni.broj_racuna, " +
                              " racuni.datum_racuna, " +
                              " partners.id_partner," +
                              " partners.ime_tvrtke" +
                              " FROM racuni" +
                              " LEFT JOIN partners ON partners.id_partner=racuni.id_kupac " + kriterij +
                              "";

            DataRow DDTrow = dSRlisteTekst.Tables[0].NewRow();

            if (BrojFakDO != "")
            {
                DDTrow["string3"] = "Od računa :" + " " + BrojFakOD.ToString();
                DDTrow["string4"] = "Do računa :" + " " + BrojFakDO.ToString();
            }
            else
            {
                DDTrow["string3"] = "Od datuma :" + " " + datumOD.ToString("dd.MM.yyyy");
                DDTrow["string4"] = "Do datuma :" + " " + datumDO.ToString("dd.MM.yyyy");
            }

            //if (documenat == "kalk")
            //{
            //    DDTrow["string5"] = "Kalkulacije";

            //}

            dSRlisteTekst.Tables[0].Rows.Add(DDTrow);

            DataTable DTheader = classSQL.select(sqlHeder, "racuni").Tables[0];

            DataTable DTstavke;

            for (int i = 0; i < DTheader.Rows.Count; i++)
            {
                string sqlStavka = "SELECT " +
                                   " racun_stavke.broj_racuna," +
                                   " racun_stavke.vpc," +
                                   " racun_stavke.sifra_robe," +
                                   " racun_stavke.mpc," +
                                   " racun_stavke.porez," +
                                   " racun_stavke.nbc," +
                                   " racun_stavke.kolicina," +
                                   " racun_stavke.rabat " +
                                   " FROM racun_stavke" +
                                   " WHERE CAST(racun_stavke.broj_racuna as int) ='" + DTheader.Rows[i]["broj_racuna"].ToString() + "'";

                DTstavke = classSQL.select(sqlStavka, "racun_stavke").Tables[0];

                decimal Bruto      = 0;
                decimal Neto       = 0;
                decimal Dobit      = 0;
                decimal Nabavna    = 0;
                decimal Porez      = 0;
                decimal Rabat_uk   = 0;
                decimal vpc_sa_rab = 0;
                decimal prer_stopa = 0;

                for (int y = 0; y < DTstavke.Rows.Count; y++)
                {
                    string  sifra   = DTstavke.Rows[y]["sifra_robe"].ToString();
                    decimal vpc     = Convert.ToDecimal(DTstavke.Rows[y]["vpc"].ToString());
                    decimal nbc     = Convert.ToDecimal(classSQL.select("Select nc From roba Where sifra = '" + sifra + "'", "nbc").Tables[0].Rows[0][0].ToString());//Convert.ToDecimal(DTstavke.Rows[y]["nbc"].ToString());
                    decimal mpc     = Convert.ToDecimal(DTstavke.Rows[y]["mpc"].ToString());
                    decimal pdv     = Convert.ToDecimal(DTstavke.Rows[y]["porez"].ToString());
                    decimal rabat   = Convert.ToDecimal(DTstavke.Rows[y]["rabat"].ToString());
                    decimal kol     = Convert.ToDecimal(DTstavke.Rows[y]["kolicina"].ToString());
                    decimal mpc_rab = (mpc - (mpc * (rabat / 100)));

                    prer_stopa = ((100 * pdv) / (100 + pdv)) / 100;
                    Bruto      = (mpc_rab * kol) + Bruto;
                    Neto       = (mpc_rab / (1 + (pdv / 100)) * kol) + Neto;
                    Nabavna    = (nbc * kol) + Nabavna;
                    Porez      = Bruto - Neto;
                    Rabat_uk   = ((mpc * (rabat / 100)) * kol) + Rabat_uk;
                    vpc_sa_rab = Rabat_uk / (1 + (pdv / 100));
                    Dobit      = Neto - Nabavna;
                }

                string sifrainaziv = "";
                if (sifrainaziv == "0" || sifrainaziv == "" || sifrainaziv == null)
                {
                    sifrainaziv = "PRIVATNI KUPAC";
                }
                else
                {
                    sifrainaziv = DTheader.Rows[i]["id_partner"].ToString() + " " + DTheader.Rows[i]["ime_tvrtke"].ToString();
                }

                DataRow DTrow = dSRliste.Tables[0].NewRow();
                DTrow["datum1"]  = Convert.ToDateTime(DTheader.Rows[i]["datum_racuna"].ToString()).ToString("dd-MM-yyyy");
                DTrow["sifra"]   = DTheader.Rows[i]["broj_racuna"].ToString();
                DTrow["naziv"]   = sifrainaziv;
                DTrow["cijena1"] = Bruto.ToString("#0.00");
                DTrow["cijena2"] = Neto.ToString("#0.00");
                DTrow["cijena3"] = Nabavna.ToString("#0.00");
                DTrow["cijena4"] = Porez.ToString("#0.00");
                DTrow["cijena5"] = Dobit.ToString("#0.00");
                DTrow["cijena6"] = Rabat_uk.ToString("#0.00");
                dSRliste.Tables[0].Rows.Add(DTrow);
            }
        }
Exemplo n.º 18
0
        private void ListaKalkulacije()
        {
            string naziv_fakture = " podaci_tvrtka.naziv_fakture,";
            string sql1          = SqlPodaciTvrtke.VratiSql("", naziv_fakture, "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            //string Broj_fakture = "";
            //DateTime Datum_dokumenta;
            //DateTime Datum_valute;
            //string Sifra_i_naziv_partnera = "";

            string kriterij = "";

            if (prema_rac)
            {
                kriterij = " WHERE kalkulacija.broj >= '" + BrojFakOD + "' AND kalkulacija.broj <= '" + BrojFakDO + "' ORDER BY kalkulacija.broj ASC";
            }
            else
            {
                kriterij = " WHERE kalkulacija.racun_datum >= '" + datumOD + "' AND kalkulacija.racun_datum <= '" + datumDO + "' ORDER BY kalkulacija.racun_datum ASC";
            }

            string sqlHeder = "SELECT " +
                              " kalkulacija.broj, " +
                              " kalkulacija.id_skladiste, " +
                              " kalkulacija.id_kalkulacija, " +
                              " kalkulacija.racun_datum, " +
                              " partners.id_partner," +
                              " partners.ime_tvrtke" +
                              " FROM kalkulacija" +
                              " LEFT JOIN partners ON partners.id_partner=kalkulacija.id_partner " + kriterij +
                              "";
            DataRow DDTrow = dSRlisteTekst.Tables[0].NewRow();

            if (BrojFakDO != "")
            {
                DDTrow["string3"] = "Od računa :" + " " + BrojFakOD.ToString();
                DDTrow["string4"] = "Do računa :" + " " + BrojFakDO.ToString();
            }
            else
            {
                DDTrow["string3"] = "Od datuma :" + " " + datumOD.ToString();
                DDTrow["string4"] = "Do datuma :" + " " + datumDO.ToString();
            }

            if (documenat == "kalk")
            {
                DDTrow["string5"] = "Kalkulacije";
            }

            dSRlisteTekst.Tables[0].Rows.Add(DDTrow);

            DataTable DTheader = classSQL.select(sqlHeder, "kalkulacija").Tables[0];

            DataTable DTstavke;

            for (int i = 0; i < DTheader.Rows.Count; i++)
            {
                string sqlStavka = "SELECT " +
                                   " kalkulacija_stavke.broj," +
                                   " kalkulacija_stavke.vpc," +
                                   " kalkulacija_stavke.porez," +
                                   " kalkulacija_stavke.kolicina," +
                                   " kalkulacija_stavke.id_skladiste," +
                                   " kalkulacija_stavke.rabat, " +
                                   " kalkulacija_stavke.marza_postotak, " +
                                   " kalkulacija_stavke.fak_cijena, " +
                                   " kalkulacija_stavke.carina, " +
                                   " kalkulacija_stavke.prijevoz, " +
                                   " kalkulacija_stavke.posebni_porez " +
                                   " FROM kalkulacija_stavke" +
                                   " WHERE kalkulacija_stavke.broj='" + DTheader.Rows[i]["broj"].ToString() + "' AND kalkulacija_stavke.id_skladiste='" + DTheader.Rows[i]["id_skladiste"].ToString() + "'";

                DTstavke = classSQL.select(sqlStavka, "kalkulacija_stavke").Tables[0];

                decimal Iznos_fakturni_uk  = 0;
                decimal Iznos_nabavni_uk   = 0;
                decimal fakt_cijena_sa_sab = 0;
                decimal iznos_bez_poreza   = 0;
                decimal iznos_sa_porezom   = 0;
                decimal zavisni            = 0;
                decimal marza = 0;

                for (int y = 0; y < DTstavke.Rows.Count; y++)
                {
                    decimal vpc         = Convert.ToDecimal(DTstavke.Rows[y]["vpc"].ToString());
                    decimal pdv         = Convert.ToDecimal(DTstavke.Rows[y]["porez"].ToString());
                    decimal rabat       = Convert.ToDecimal(DTstavke.Rows[y]["rabat"].ToString());
                    decimal kol         = Convert.ToDecimal(DTstavke.Rows[y]["kolicina"].ToString());
                    decimal marza_post  = Convert.ToDecimal(DTstavke.Rows[y]["marza_postotak"].ToString());
                    decimal car         = Convert.ToDecimal(DTstavke.Rows[y]["carina"].ToString());
                    decimal transport   = Convert.ToDecimal(DTstavke.Rows[y]["prijevoz"].ToString());
                    decimal fakt_cijena = Convert.ToDecimal(DTstavke.Rows[y]["fak_cijena"].ToString());

                    Iznos_fakturni_uk  = (fakt_cijena * kol) + Iznos_fakturni_uk;
                    fakt_cijena_sa_sab = fakt_cijena - (fakt_cijena * (rabat / 100));
                    Iznos_nabavni_uk   = ((fakt_cijena_sa_sab * kol) - transport - car) + Iznos_nabavni_uk;
                    iznos_bez_poreza   = (vpc * kol) + iznos_bez_poreza;
                    iznos_sa_porezom   = ((vpc + (vpc * (pdv / 100))) * kol) + iznos_sa_porezom;
                    zavisni            = (car + transport) + zavisni;
                    marza = Math.Round(marza / 100 * fakt_cijena, 2);
                }

                DataRow DTrow = dSRliste.Tables[0].NewRow();
                DTrow["jmj"]     = DTheader.Rows[i]["broj"].ToString();
                DTrow["datum2"]  = Convert.ToDateTime(DTheader.Rows[i]["racun_datum"].ToString()).ToString("dd-MM-yyyy");
                DTrow["sifra"]   = DTheader.Rows[i]["id_kalkulacija"].ToString();
                DTrow["naziv"]   = DTheader.Rows[i]["id_partner"].ToString() + " " + DTheader.Rows[i]["ime_tvrtke"].ToString();
                DTrow["cijena1"] = Iznos_fakturni_uk.ToString("#0.00");
                DTrow["cijena2"] = Iznos_nabavni_uk.ToString("#0.00");
                DTrow["cijena3"] = iznos_bez_poreza.ToString("#0.00");
                DTrow["cijena5"] = iznos_sa_porezom.ToString("#0.00");
                DTrow["cijena6"] = 0;
                DTrow["cijena7"] = marza.ToString("#0.00");
                DTrow["cijena8"] = zavisni.ToString("#0.00");
                dSRliste.Tables[0].Rows.Add(DTrow);
            }
        }
Exemplo n.º 19
0
        private void promjenaCijeneKomadno()
        {
            string sql1 = SqlPodaciTvrtke.VratiSql("", "", "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            string sql_liste = "SELECT " +
                               " promjena_cijene_komadno_stavke.sifra," +
                               " roba.naziv," +
                               " promjena_cijene_komadno_stavke.postotak AS jmj," +
                               " promjena_cijene_komadno_stavke.stara_cijena AS cijena1 ," +
                               " promjena_cijene_komadno_stavke.nova_cijena AS cijena3," +
                               " promjena_cijene_komadno_stavke.pdv AS cijena4," +
                               " CAST(promjena_cijene_komadno_stavke.nova_cijena AS money) - CAST(promjena_cijene_komadno_stavke.stara_cijena AS money) AS cijena6," +
                               " CAST(CAST(promjena_cijene_komadno_stavke.nova_cijena AS money) - CAST(promjena_cijene_komadno_stavke.stara_cijena AS money) AS money)" +
                               "      -      " +
                               " CAST((CAST(promjena_cijene_komadno_stavke.nova_cijena AS money) - CAST(promjena_cijene_komadno_stavke.stara_cijena AS money))" +
                               "      /      " +
                               " CAST('1.'+promjena_cijene_komadno_stavke.pdv AS numeric) AS money)  AS cijena5" +
                               " FROM promjena_cijene_komadno_stavke" +
                               " LEFT JOIN roba ON roba.sifra=promjena_cijene_komadno_stavke.sifra WHERE broj='" + broj_dokumenta + "'";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste).Fill(dSRliste, "DTliste");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste).Fill(dSRliste, "DTliste");
            }

            string    year = "";
            DataTable DT   = classSQL.select("SELECT date FROM promjena_cijene_komadno WHERE broj='" + broj_dokumenta + "'", "promjena_cijene_komadno").Tables[0];

            if (DT.Rows.Count > 0)
            {
                year = Convert.ToDateTime(DT.Rows[0]["date"].ToString()).Year.ToString();
            }

            string sql_liste_string = "SELECT " +
                                      " 'Šifra' AS tbl1," +
                                      " 'Naziv' AS tbl2," +
                                      " 'Postotak' AS tbl3," +
                                      " 'Stara cijena' AS tbl4," +
                                      " 'Nova cijena' AS tbl5," +
                                      " 'PDV' AS tbl6," +
                                      " 'PDV iznos' AS tbl7," +
                                      " 'Iznos' AS tbl8," +
                                      " promjena_cijene_komadno.date AS datum1," +
                                      " promjena_cijene_komadno.napomena AS komentar," +
                                      " skladiste.skladiste AS skladiste," +
                                      " zaposlenici.ime + ' ' + zaposlenici.prezime AS string1," +
                                      " CAST ('ZAPISNIK O PROMJENI CIJENE  ' AS nvarchar) + CAST (promjena_cijene_komadno.broj AS nvarchar) +'/'+ CAST (" + year + " AS nvarchar) AS naslov" +
                                      " FROM promjena_cijene_komadno " +
                                      " LEFT JOIN skladiste ON skladiste.id_skladiste=promjena_cijene_komadno.id_skladiste " +
                                      " LEFT JOIN zaposlenici ON zaposlenici.id_zaposlenik=promjena_cijene_komadno.id_izradio " +
                                      " WHERE broj ='" + broj_dokumenta + "'";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste_string.Replace("nvarchar", "varchar")).Fill(dSRlisteTekst, "DTlisteTekst");
            }
        }
Exemplo n.º 20
0
        private void obracunporeza()
        {
            //if (DTpdv.Columns["porez"] == null)
            //{
            //    DTpdv.Columns.Add("porez");
            //    DTpdv.Columns.Add("iznos");
            //    DTpdv.Columns.Add("nacin");
            //    DTpdv.Columns.Add("osnovica");
            //}
            //else
            //{
            //    DTpdv.Clear();
            //}

            string naziv_fakture = " podaci_tvrtka.naziv_fakture,";
            string sql1          = SqlPodaciTvrtke.VratiSql("", naziv_fakture, "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            frmObracunporeza obrporez = new frmObracunporeza();

            string duc = "";

            if (ducbool == true)
            {
                duc = " CAST(racuni.id_ducan AS INTEGER) ='" + ducan + "'  AND ";
            }
            else
            {
                duc = "";
            }

            string datOD    = "";
            string datODrez = "";

            //if (datbool == true)
            //{
            datOD    = " racuni.datum_racuna >='" + datumOD.AddDays(0).ToString("yyyy-MM-dd 00:00:00") + "'  AND ";
            datODrez = "'" + datumOD.AddDays(0).ToString("yyyy-MM-dd") + "'  As datum2 ,";
            //}

            //else
            //{
            //    datOD = "";
            //}

            string datDO    = "";
            string datDOrez = "";

            //if (datbool == true)
            //{
            datDO    = "racuni.datum_racuna <='" + datumDO.AddDays(0).ToString("yyyy-MM-dd 23:59:59") + "'  AND ";
            datDOrez = "'" + datumDO.AddDays(0).ToString("yyyy-MM-dd") + "'  As datum3 ,";
            //}
            //else
            //{
            //    datDO = "";
            //}

            string kas = "";

            if (kasbool == true)
            {
                kas = "CAST(racuni.id_kasa AS INTEGER) ='" + kasa + "'  AND ";
            }
            else
            {
                kas = "";
            }

            string racOD  = "";
            string racodd = "";

            if (racbool == true)
            {
                racOD  = " CAST(racuni.broj_racuna AS INTEGER) >='" + racunOD + "'  AND ";
                racodd = " '" + racunodd + "' As string3 ,";
            }
            else
            {
                racOD = "";
            }

            string racDO  = "";
            string racdoo = "";

            if (racbool == true)
            {
                racDO  = " CAST(racuni.broj_racuna AS INTEGER) <='" + racunDO + "'  AND ";
                racdoo = " '" + racundoo + "' As string4 ,";
            }
            else
            {
                racDO = "";
            }

            string bla  = "";
            string blag = "";

            if (blabool == true)
            {
                bla  = "racuni.id_blagajnik ='" + blagajnik + "'  AND ";
                blag = " '" + blagajnik + "' As string5 ,";
            }
            else
            {
                bla = "";
            }

            string filter = datOD + datDO + racOD + racDO + kas + bla + duc;

            if (filter.Length != 0)
            {
                filter = " WHERE " + filter;
                filter = filter.Remove(filter.Length - 4, 4);
            }



            string sql_liste = "SELECT " +
                               " racun_stavke.porez ," +
                               " CAST(racuni.broj_racuna AS int) As string3 ," +
                               " racun_stavke.rabat As rabat ," +
                               " racun_stavke.kolicina ," +
                               " racun_stavke.vpc ," +
                               " racun_stavke.mpc ," + blag + racodd + racdoo +
                               " racuni.datum_racuna As datum1," + datODrez + datDOrez +
                               " racuni.id_ducan As string1," +
                               " racuni.id_kasa As string2," +
                               " roba.oduzmi," +
                               " racuni.ukupno," +
                               " racun_stavke.porez_potrosnja," +
                               " racun_stavke.povratna_naknada" +
                               " FROM racun_stavke" +
                               " LEFT JOIN roba ON roba.sifra=racun_stavke.sifra_robe " +
                               " LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna AND racuni.id_ducan=racun_stavke.id_ducan AND racuni.id_kasa=racun_stavke.id_kasa " + filter;

            classSQL.NpgAdatpter(sql_liste).Fill(dSRlisteTekst, "DTlisteTekst");
            if (dSRlisteTekst.Tables[0].Rows.Count < 1)
            {
                this.Hide();
                MessageBox.Show("Za taj upit ne postoji ni jedan zapis !");
                this.Close();
            }



            DataTable DTstavke;

            DTstavke = classSQL.select(sql_liste, "racun_stavke").Tables[0];
            //DataTable DTstavke1;
            //DTstavke1 = classSQL.select(sql_liste, "racun_stavke").Tables[0];
            //DataTable DTstavke2;
            //DTstavke2 = classSQL.select(sql_liste, "racun_stavke").Tables[0];

            decimal Stopa               = 0;
            decimal iznos_bez_poreza    = 0;
            decimal osnovica_ukupno     = 0;
            decimal rabat_iznos         = 0;
            decimal pdv_rabat           = 0;
            decimal pdv_osnovica        = 0;
            decimal pdv_iznos           = 0;
            decimal Stopa1              = 0;
            decimal iznos_bez_poreza1   = 0;
            decimal osnovica_ukupno1    = 0;
            decimal pdv_rabat1          = 0;
            decimal pdv_osnovica1       = 0;
            decimal pdv_iznos1          = 0;
            decimal povratna_naknada    = 0;
            decimal povratna_naknadauk  = 0;
            decimal povratna_naknada1   = 0;
            decimal porez_na_potrosnju  = 0;
            decimal sveukupno1          = 0;
            decimal sveukupno2          = 0;
            decimal porez_na_potrosnju1 = 0;
            decimal rabat_iznos1        = 0;
            decimal ukupnoPdv1          = 0;

            decimal kolicina    = 0;
            decimal mpc         = 0;
            decimal mpcc        = 0;
            decimal pdv         = 0;
            decimal rabat       = 0;
            decimal ukupnoRabat = 0;
            decimal ukupnoPdv   = 0;
            bool    zadnji      = false;

            int brojRedova = DTstavke.Rows.Count;
            int brojac     = 0;

            foreach (DataRow row in DTstavke.Rows)
            {
                brojac++;
                if (brojRedova == brojac)
                {
                    zadnji = true;
                }

                kolicina = Convert.ToDecimal(row["kolicina"].ToString());
                mpcc     = Convert.ToDecimal(row["mpc"].ToString());
                pdv      = Convert.ToDecimal(row["porez"].ToString());
                rabat    = Convert.ToDecimal(row["rabat"].ToString());

                if (row["povratna_naknada"].ToString() != "")
                {
                    povratna_naknada = Convert.ToDecimal(row["povratna_naknada"].ToString());
                }
                else
                {
                    povratna_naknada = 0;
                }

                mpc = Convert.ToDecimal(row["mpc"].ToString()) - (povratna_naknada == 0 ? povratna_naknada : (kolicina == 0 ? 0 : povratna_naknada / kolicina));

                /*
                 * RowPdv["porezroba"] = pdv.ToString();
                 * RowPdv["stopa"] = stopa.ToString("#0.00");
                 * RowPdv["sveukup"] = sveukupno.ToString("#0.00");
                 * RowPdv["povrnakn"] = povratna_naknada.ToString("#0.00");
                 * RowPdv["rabat"] = rabat.ToString("#0.00");
                 * RowPdv["pdvrabat"] = pdv_rabat.ToString("#0.00");
                 * RowPdv["osnovica"] = mpc.ToString("#0.00");
                 * RowPdv["pdv"] = pdv_iznos.ToString("#0.00");
                 * RowPdv["iznbezpor"] = iznosBezPoreza.ToString("#0.00");*/

                if (row["oduzmi"].ToString() == "DA")
                {
                    decimal rabatIznos    = Math.Round((mpc * (rabat / 100)), 6, MidpointRounding.AwayFromZero);
                    decimal mpc_s_rab     = Math.Round(mpc - rabatIznos, 6, MidpointRounding.AwayFromZero);
                    decimal mpcSRabUkupno = Math.Round((mpc_s_rab * kolicina), 6, MidpointRounding.AwayFromZero);
                    decimal rabatt        = mpcc * (rabat / 100) * kolicina;

                    ukupnoRabat += rabatt;

                    decimal PreracunataStopaPDV = Convert.ToDecimal((100 * pdv) / (100 + pdv));
                    decimal pdvIznos            = Math.Round(((mpc_s_rab * (Math.Round(PreracunataStopaPDV, 6, MidpointRounding.AwayFromZero) / 100)) * kolicina), 6, MidpointRounding.AwayFromZero);
                    ukupnoPdv = pdvIznos + ukupnoPdv;
                    decimal osnovicauk = (mpcSRabUkupno - ((pdvIznos)));

                    osnovica_ukupno     = osnovicauk + osnovica_ukupno;
                    povratna_naknadauk += povratna_naknada;

                    pdv_rabat = rabatt * (PreracunataStopaPDV / 100);

                    StopePDVa(pdv, PreracunataStopaPDV, (osnovicauk + pdvIznos + povratna_naknada), povratna_naknada, rabatt, pdv_rabat, pdv_rabat + osnovicauk, pdvIznos, porez_na_potrosnju, osnovicauk, zadnji);
                }
                else
                {
                    decimal rabatIznos1    = Math.Round((mpc * (rabat / 100)), 6, MidpointRounding.AwayFromZero);
                    decimal mpc_s_rab1     = Math.Round(mpc - rabatIznos1, 6, MidpointRounding.AwayFromZero);
                    decimal mpcSRabUkupno1 = Math.Round((mpc_s_rab1 * kolicina), 6, MidpointRounding.AwayFromZero);
                    decimal rabatt1        = mpcc * (rabat / 100) * kolicina;

                    ukupnoRabat += rabatt1;

                    decimal PreracunataStopaPDV = Convert.ToDecimal((100 * pdv) / (100 + pdv));
                    decimal pdvIznos1           = Math.Round(((mpc_s_rab1 * (Math.Round(PreracunataStopaPDV, 6, MidpointRounding.AwayFromZero) / 100)) * kolicina), 6, MidpointRounding.AwayFromZero);
                    ukupnoPdv1 = pdvIznos1 + ukupnoPdv;
                    decimal osnovicauk1 = (mpcSRabUkupno1 - ((pdvIznos1)));

                    osnovica_ukupno = osnovicauk1 + osnovica_ukupno;

                    pdv_rabat = rabatt1 * (PreracunataStopaPDV / 100);

                    StopePDVa1(pdv, PreracunataStopaPDV, (osnovicauk1 + pdvIznos1 + povratna_naknada), povratna_naknada, rabatt1, pdv_rabat, pdv_rabat + osnovicauk1, pdv_iznos1, porez_na_potrosnju1, osnovicauk1, zadnji);
                }
            }

            StopePDVa(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
            StopePDVa(5, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
            StopePDVa(13, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
            StopePDVa(25, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
            StopePDVa(10, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);

            StopePDVa1(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
            StopePDVa1(5, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
            StopePDVa1(13, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
            StopePDVa1(25, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
            StopePDVa1(10, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
        }
Exemplo n.º 21
0
        private void PrometKase_fak()
        {
            string sql1 = SqlPodaciTvrtke.VratiSql("", "", "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            string WHERE       = "WHERE ";
            string _ducan      = "SVI";
            string _zaposlenik = "SVI";
            string _skladiste  = "SVE";

            if (blagajnik != null)
            {
                WHERE += "fakture.id_zaposlenik_izradio='" + blagajnik + "' AND ";
                try
                {
                    _zaposlenik = classSQL.select("SELECT ime + ' ' + prezime  FROM zaposlenici WHERE id_zaposlenik='" + blagajnik + "'", "zaposlenici").Tables[0].Rows[0][0].ToString();
                }
                catch (Exception)
                {
                }
            }

            if (skladiste != null)
            {
                WHERE += "faktura_stavke.id_skladiste='" + skladiste + "' AND ";
                try
                {
                    _skladiste = classSQL.select("SELECT skladiste FROM skladiste WHERE id_skladiste='" + skladiste + "'", "skladiste").Tables[0].Rows[0][0].ToString();
                }
                catch (Exception)
                {
                }
            }
            string dodatak = "";

            //WHERE += "racuni.datum_racuna >'" + datumOD + "' AND racuni.datum_racuna <'" + datumDO + "' AND racuni.storno = 'NE'";
            dodatak += " AND fakture.date >'" + datumOD + "' AND fakture.date <'" + datumDO + "' ";

            string    gotovina  = "Select sum(ukupno) as ukupno From fakture where id_nacin_placanja = '1' " + dodatak;
            DataTable DTgoto    = classSQL.select(gotovina, "gotovina").Tables[0];
            string    kartice   = "Select sum(ukupno) as ukupno From fakture where id_nacin_placanja = '2' " + dodatak;
            DataTable DTkart    = classSQL.select(kartice, "gotovina").Tables[0];
            decimal   kartice_  = 0;
            decimal   gotovina_ = 0;

            if (DTkart.Rows[0]["ukupno"].ToString() != "")
            {
                kartice_ = Convert.ToDecimal(DTkart.Rows[0]["ukupno"].ToString());
            }
            if (DTgoto.Rows[0]["ukupno"].ToString() != "")
            {
                gotovina_ = Convert.ToDecimal(DTgoto.Rows[0]["ukupno"].ToString());
            }

            decimal ukupno = kartice_ + gotovina_;

            string sql_liste = "SELECT '" + ukupno + "' AS [cijena1], '" + gotovina_ + "' AS [cijena2],'" + kartice_ + "' AS [cijena3] ";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste).Fill(dSRliste, "DTliste");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste).Fill(dSRliste, "DTliste");
            }

            //------------------------------------OVAJ DIO RACUNA RABAT-------------------------------------------------------------------
            WHERE += " fakture.date >'" + datumOD + "' AND fakture.date <'" + datumDO + "' ";
            DataSet DS         = new DataSet();
            string  sql_liste1 = "SELECT  " +
                                 "faktura_stavke.vpc," +
                                 "faktura_stavke.rabat," +
                                 "faktura_stavke.porez," +
                                 "faktura_stavke.kolicina" +
                                 " FROM faktura_stavke " +
                                 " LEFT JOIN fakture ON faktura_stavke.broj_fakture=fakture.broj_fakture " +
                                 " AND fakture.id_ducan=faktura_stavke.id_ducan AND fakture.id_kasa=faktura_stavke.id_kasa " +
                                 WHERE + " AND fakture.id_nacin_placanja <> '3' AND fakture.id_nacin_placanja <> '4'" +
                                 "";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste1).Fill(DS, "DTliste");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste1).Fill(DS, "DTliste");
            }

            decimal mpc         = 0;
            decimal vpc         = 0;
            decimal pdv         = 0;
            decimal rabat       = 0;
            decimal kolicina    = 0;
            decimal rabat_iznos = 0;

            for (int i = 0; i < DS.Tables[0].Rows.Count; i++)
            {
                vpc          = Convert.ToDecimal(DS.Tables[0].Rows[i]["vpc"].ToString());
                pdv          = Convert.ToDecimal(DS.Tables[0].Rows[i]["porez"].ToString());
                rabat        = Convert.ToDecimal(DS.Tables[0].Rows[i]["rabat"].ToString());
                kolicina     = Convert.ToDecimal(DS.Tables[0].Rows[i]["kolicina"].ToString());
                mpc          = vpc * (1 + (pdv / 100));
                rabat_iznos += (mpc * rabat / 100) * kolicina;
            }

            //------------------------------------OVAJ DIO RACUNA RABAT----------------kraj--------------------------------------

            string sql_liste_string = "SELECT " +
                                      " 'Način plaćanja ' AS tbl1," +
                                      " 'Popust ' AS tbl2," +
                                      " 'Iznos ' AS tbl3," +
                                      " 'NOVČANICE ' AS string1," +
                                      " 'KARTICE ' AS string2," +
                                      " 'Dućan: " + _ducan + "' AS string3," +
                                      " '' AS string4," +
                                      " 'Skladište: " + _skladiste + "' AS string5," +
                                      " 'Blagajnik: " + _zaposlenik + "' AS string6," +
                                      " 'PROMET KASE PO NAČINIMA PLAĆANJA ' AS naslov," +
                                      " 'Rabat ukupno: " + Math.Round(rabat_iznos, 2).ToString("#0.00") + "' AS string3," +
                                      " 'Za razdoblje: " + datumOD + "  -  " + datumDO + "' AS godina" +
                                      "";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst");
            }
        }
Exemplo n.º 22
0
        private void KnjigaIO()
        {
            string sql1 = SqlPodaciTvrtke.VratiSql("", "", "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            string sql_liste;

            if (sa_rabatom)
            {
                sql_liste = "SELECT (CURRENT_DATE zbroj i) AS datum1, " +
                            "'Račun' AS naziv, " +
                            "(SELECT SUM(racun_stavke.vpc*CAST(REPLACE(racun_stavke.kolicina,',','.') AS numeric)*(1-CAST(REPLACE(racun_stavke.rabat,',','.') AS numeric)/100)*(1 zbroj CAST(REPLACE(racun_stavke.porez,',','.') AS numeric)/100)) FROM racun_stavke LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna WHERE CAST(racuni.datum_racuna as date) = (CURRENT_DATE zbroj i)) AS cijena1, " +
                            "(SELECT SUM(racun_stavke.vpc*CAST(REPLACE(racun_stavke.kolicina,',','.') AS numeric)*(1-CAST(REPLACE(racun_stavke.rabat,',','.') AS numeric)/100)) FROM racun_stavke LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna WHERE CAST(racuni.datum_racuna as date) = (CURRENT_DATE zbroj i)) AS cijena2, " +
                            "(SELECT SUM(racun_stavke.vpc*CAST(REPLACE(racun_stavke.kolicina,',','.') AS numeric)*(CAST(REPLACE(racun_stavke.rabat,',','.') AS numeric)/100)*(1 zbroj CAST(REPLACE(racun_stavke.porez,',','.') AS numeric)/100)) FROM racun_stavke LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna WHERE CAST(racuni.datum_racuna as date) = (CURRENT_DATE zbroj i)) AS rabat1, " +
                            "(SELECT SUM(racun_stavke.vpc*CAST(REPLACE(racun_stavke.kolicina,',','.') AS numeric)*(CAST(REPLACE(racun_stavke.rabat,',','.') AS numeric)/100)) FROM racun_stavke LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna WHERE CAST(racuni.datum_racuna as date) = (CURRENT_DATE zbroj i)) AS rabat2, " +
                            "0.0 AS cijena3, " +
                            "'Faktura' AS naziv2, " +
                            "(SELECT SUM(faktura_stavke.vpc*CAST(REPLACE(faktura_stavke.kolicina,',','.') AS numeric)*(1-CAST(REPLACE(faktura_stavke.rabat,',','.') AS numeric)/100)*(1 zbroj CAST(REPLACE(faktura_stavke.porez,',','.') AS numeric)/100)) FROM faktura_stavke LEFT JOIN fakture ON fakture.broj_fakture=faktura_stavke.broj_fakture  AND fakture.id_ducan=faktura_stavke.id_ducan AND fakture.id_kasa=faktura_stavke.id_kasa  WHERE CAST(fakture.date as date) = (CURRENT_DATE zbroj i)) AS cijena5, " +
                            "(SELECT SUM(faktura_stavke.vpc*CAST(REPLACE(faktura_stavke.kolicina,',','.') AS numeric)*(1-CAST(REPLACE(faktura_stavke.rabat,',','.') AS numeric)/100)) FROM faktura_stavke LEFT JOIN fakture ON fakture.broj_fakture=faktura_stavke.broj_fakture  AND fakture.id_ducan=faktura_stavke.id_ducan AND fakture.id_kasa=faktura_stavke.id_kasa WHERE CAST(fakture.date as date) = (CURRENT_DATE zbroj i)) AS cijena6, " +
                            "(SELECT SUM(faktura_stavke.vpc*CAST(REPLACE(faktura_stavke.kolicina,',','.') AS numeric)*(CAST(REPLACE(faktura_stavke.rabat,',','.') AS numeric)/100)*(1 zbroj CAST(REPLACE(faktura_stavke.porez,',','.') AS numeric)/100)) FROM faktura_stavke LEFT JOIN fakture ON fakture.broj_fakture=faktura_stavke.broj_fakture  AND fakture.id_ducan=faktura_stavke.id_ducan AND fakture.id_kasa=faktura_stavke.id_kasa WHERE CAST(fakture.date as date) = (CURRENT_DATE zbroj i)) AS rabat3, " +
                            "(SELECT SUM(faktura_stavke.vpc*CAST(REPLACE(faktura_stavke.kolicina,',','.') AS numeric)*(CAST(REPLACE(faktura_stavke.rabat,',','.') AS numeric)/100)) FROM faktura_stavke LEFT JOIN fakture ON fakture.broj_fakture=faktura_stavke.broj_fakture  AND fakture.id_ducan=faktura_stavke.id_ducan AND fakture.id_kasa=faktura_stavke.id_kasa WHERE CAST(fakture.date as date) = (CURRENT_DATE zbroj i)) AS rabat4, " +
                            "0.0 AS cijena7, " +
                            " 'Kalkulacija' AS cijena4, " +
                            "CAST((SELECT SUM(kalkulacija.ukupno_mpc) FROM kalkulacija WHERE CAST(kalkulacija.datum as date) = (CURRENT_DATE zbroj i)) AS NUMERIC)AS cijena8, " +
                            "CAST((SELECT SUM(kalkulacija.ukupno_vpc) FROM kalkulacija WHERE CAST(kalkulacija.datum as date) = (CURRENT_DATE zbroj i)) AS NUMERIC)AS cijena9, " +
                            "0.0 AS cijena10, " +
                            "'Faktura IFB' AS naziv3,  " +
                            "(SELECT SUM(ifb_stavke.vpc*ifb_stavke.kolicina*(1-ifb_stavke.rabat/100)*(1 zbroj ifb_stavke.porez/100)) FROM ifb_stavke LEFT JOIN ifb ON ifb.broj=ifb_stavke.broj WHERE CAST(ifb.datum as date) = (CURRENT_DATE zbroj i)) AS cijena11,  " +
                            "(SELECT SUM(ifb_stavke.vpc*ifb_stavke.kolicina*(1-ifb_stavke.rabat/100)) FROM ifb_stavke LEFT JOIN ifb ON ifb.broj=ifb_stavke.broj WHERE CAST(ifb.datum as date) = (CURRENT_DATE zbroj i)) AS cijena12,  " +
                            "(SELECT SUM((ifb_stavke.vpc*ifb_stavke.kolicina*ifb_stavke.rabat/100)*(1 zbroj ifb_stavke.porez/100)) FROM ifb_stavke LEFT JOIN ifb ON ifb.broj=ifb_stavke.broj WHERE CAST(ifb.datum as date) = (CURRENT_DATE zbroj i)) AS cijena13,  " +
                            "(SELECT SUM((ifb_stavke.vpc*ifb_stavke.kolicina*ifb_stavke.rabat/100)) FROM ifb_stavke LEFT JOIN ifb ON ifb.broj=ifb_stavke.broj WHERE CAST(ifb.datum as date) = (CURRENT_DATE zbroj i)) AS cijena14, 0.0 AS cijena14, 0.0 AS cijena15 " +
                            "FROM generate_series(date '" + datumOD.ToString("yyyy-MM-dd") + "'- CURRENT_DATE, " +
                            "date '" + datumDO.ToString("yyyy-MM-dd") + "' - CURRENT_DATE ) i ";
            }
            else
            {
                sql_liste = "SELECT (CURRENT_DATE zbroj i) AS datum1, " +
                            "'Račun' AS naziv, " +
                            "(SELECT SUM(racun_stavke.vpc*CAST(REPLACE(racun_stavke.kolicina,',','.') AS numeric)*(1 zbroj CAST(REPLACE(racun_stavke.porez,',','.') AS numeric)/100)) FROM racun_stavke LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna WHERE CAST(racuni.datum_racuna as date) = (CURRENT_DATE zbroj i)) AS cijena1, " +
                            "(SELECT SUM(racun_stavke.vpc*CAST(REPLACE(racun_stavke.kolicina,',','.') AS numeric)) FROM racun_stavke LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna WHERE CAST(racuni.datum_racuna as date) = (CURRENT_DATE zbroj i)) AS cijena2, " +
                            "(SELECT SUM(racun_stavke.vpc*CAST(REPLACE(racun_stavke.kolicina,',','.') AS numeric)*(1 zbroj CAST(REPLACE(racun_stavke.porez,',','.') AS numeric)/100)) FROM racun_stavke LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna WHERE CAST(racuni.datum_racuna as date) = (CURRENT_DATE zbroj i)) AS rabat1, " +
                            "(SELECT SUM(racun_stavke.vpc*CAST(REPLACE(racun_stavke.kolicina,',','.') AS numeric)) FROM racun_stavke LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna WHERE CAST(racuni.datum_racuna as date) = (CURRENT_DATE zbroj i)) AS rabat2, " +
                            "0.0 AS cijena3, " +
                            "'Faktura' AS naziv2, " +
                            "(SELECT SUM(faktura_stavke.vpc*CAST(REPLACE(faktura_stavke.kolicina,',','.') AS numeric)*(1 zbroj CAST(REPLACE(faktura_stavke.porez,',','.') AS numeric)/100)) FROM faktura_stavke LEFT JOIN fakture ON fakture.broj_fakture=faktura_stavke.broj_fakture AND fakture.id_ducan=faktura_stavke.id_ducan AND fakture.id_kasa=faktura_stavke.id_kasa WHERE CAST(fakture.date as date) = (CURRENT_DATE zbroj i)) AS cijena5, " +
                            "(SELECT SUM(faktura_stavke.vpc*CAST(REPLACE(faktura_stavke.kolicina,',','.') AS numeric)) FROM faktura_stavke LEFT JOIN fakture ON fakture.broj_fakture=faktura_stavke.broj_fakture AND fakture.id_ducan=faktura_stavke.id_ducan AND fakture.id_kasa=faktura_stavke.id_kasa WHERE CAST(fakture.date as date) = (CURRENT_DATE zbroj i)) AS cijena6, " +
                            "(SELECT SUM(faktura_stavke.vpc*CAST(REPLACE(faktura_stavke.kolicina,',','.') AS numeric)*(1 zbroj CAST(REPLACE(faktura_stavke.porez,',','.') AS numeric)/100)) FROM faktura_stavke LEFT JOIN fakture ON fakture.broj_fakture=faktura_stavke.broj_fakture AND fakture.id_ducan=faktura_stavke.id_ducan AND fakture.id_kasa=faktura_stavke.id_kasa WHERE CAST(fakture.date as date) = (CURRENT_DATE zbroj i)) AS rabat3, " +
                            "(SELECT SUM(faktura_stavke.vpc*CAST(REPLACE(faktura_stavke.kolicina,',','.') AS numeric)) FROM faktura_stavke LEFT JOIN fakture ON fakture.broj_fakture=faktura_stavke.broj_fakture AND fakture.id_ducan=faktura_stavke.id_ducan AND fakture.id_kasa=faktura_stavke.id_kasa WHERE CAST(fakture.date as date) = (CURRENT_DATE zbroj i)) AS rabat4, " +
                            "0.0 AS cijena7, " +
                            " 'Kalkulacija' AS cijena4, " +
                            "CAST((SELECT SUM(kalkulacija.ukupno_mpc) FROM kalkulacija WHERE CAST(kalkulacija.datum as date) = (CURRENT_DATE zbroj i)) AS NUMERIC)AS cijena8, " +
                            "CAST((SELECT SUM(kalkulacija.ukupno_vpc) FROM kalkulacija WHERE CAST(kalkulacija.datum as date) = (CURRENT_DATE zbroj i)) AS NUMERIC)AS cijena9, " +
                            "0.0 AS cijena10, " +
                            "'Faktura IFB' AS naziv3,  " +
                            "(SELECT SUM(ifb_stavke.vpc*ifb_stavke.kolicina*(1 zbroj ifb_stavke.porez/100)) FROM ifb_stavke LEFT JOIN ifb ON ifb.broj=ifb_stavke.broj WHERE CAST(ifb.datum as date) = (CURRENT_DATE zbroj i)) AS cijena11,  " +
                            "(SELECT SUM(ifb_stavke.vpc*ifb_stavke.kolicina) FROM ifb_stavke LEFT JOIN ifb ON ifb.broj=ifb_stavke.broj WHERE CAST(ifb.datum as date) = (CURRENT_DATE zbroj i)) AS cijena12,  " +
                            "(SELECT SUM((ifb_stavke.vpc*ifb_stavke.kolicina)*(1 zbroj ifb_stavke.porez/100)) FROM ifb_stavke LEFT JOIN ifb ON ifb.broj=ifb_stavke.broj WHERE CAST(ifb.datum as date) = (CURRENT_DATE zbroj i)) AS cijena13,  " +
                            "(SELECT SUM(ifb_stavke.vpc*ifb_stavke.kolicina) FROM ifb_stavke LEFT JOIN ifb ON ifb.broj=ifb_stavke.broj WHERE CAST(ifb.datum as date) = (CURRENT_DATE zbroj i)) AS cijena14, 0.0 AS cijena14, 0.0 AS cijena15 " +
                            "FROM generate_series(date '" + datumOD.ToString("yyyy-MM-dd") + "'- CURRENT_DATE, " +
                            "date '" + datumDO.ToString("yyyy-MM-dd") + "' - CURRENT_DATE ) i ";
            }

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste).Fill(dSRliste, "DTliste");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste).Fill(dSRliste, "DTliste");
            }

            string sql_liste_string = "SELECT " +
                                      " 'Datum' AS tbl1," +
                                      " 'Opis' AS tbl2," +
                                      " 'MPC razduženje' AS tbl3," +
                                      " 'VPC razduženje' AS tbl4," +
                                      " 'PDV razduženje' AS tbl5," +
                                      " 'MPC zaduženje' AS tbl6," +
                                      " 'VPC zaduženje' AS tbl7," +
                                      " 'PDV zaduženje' AS tbl8," +
                                      " 'Knjiga Ulaza i Izlaza' AS naslov";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste_string.Replace("nvarchar", "varchar")).Fill(dSRlisteTekst, "DTlisteTekst");
            }

            for (int i = 0; i < dSRliste.Tables[0].Rows.Count; i++)
            {
                decimal c1, c2, c5, c6, c8, c9, c11, c12, c13, c14;
                decimal.TryParse(dSRliste.Tables[0].Rows[i]["cijena1"].ToString(), out c1);
                decimal.TryParse(dSRliste.Tables[0].Rows[i]["cijena2"].ToString(), out c2);
                decimal.TryParse(dSRliste.Tables[0].Rows[i]["cijena5"].ToString(), out c5);
                decimal.TryParse(dSRliste.Tables[0].Rows[i]["cijena6"].ToString(), out c6);
                decimal.TryParse(dSRliste.Tables[0].Rows[i]["cijena8"].ToString(), out c8);
                decimal.TryParse(dSRliste.Tables[0].Rows[i]["cijena9"].ToString(), out c9);

                decimal.TryParse(dSRliste.Tables[0].Rows[i]["cijena11"].ToString(), out c11);
                decimal.TryParse(dSRliste.Tables[0].Rows[i]["cijena12"].ToString(), out c12);
                decimal.TryParse(dSRliste.Tables[0].Rows[i]["cijena13"].ToString(), out c13);

                dSRliste.Tables[0].Rows[i]["cijena1"]  = c1;
                dSRliste.Tables[0].Rows[i]["cijena2"]  = c2;
                dSRliste.Tables[0].Rows[i]["cijena3"]  = c1 - c2;
                dSRliste.Tables[0].Rows[i]["cijena5"]  = c5;
                dSRliste.Tables[0].Rows[i]["cijena6"]  = c6;
                dSRliste.Tables[0].Rows[i]["cijena7"]  = c5 - c6;
                dSRliste.Tables[0].Rows[i]["cijena8"]  = c8;
                dSRliste.Tables[0].Rows[i]["cijena9"]  = c9;
                dSRliste.Tables[0].Rows[i]["cijena10"] = c8 - c9;

                dSRliste.Tables[0].Rows[i]["cijena11"] = c11;
                dSRliste.Tables[0].Rows[i]["cijena12"] = c12;
                dSRliste.Tables[0].Rows[i]["cijena13"] = c13;
                dSRliste.Tables[0].Rows[i]["cijena14"] = c11 - c12;
            }
        }
Exemplo n.º 23
0
        private void Normativ()
        {
            string sql1 = SqlPodaciTvrtke.VratiSql("", "", "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            string sql_liste = "SELECT " +
                               " normativi_stavke.sifra_robe as sifra," +
                               " roba.naziv," +
                               " normativi_stavke.kolicina AS cijena1," +
                               " roba.jm AS jmj," +
                               " roba_prodaja.vpc AS cijena3 ," +
                               " (COALESCE(CAST(roba_prodaja.vpc AS NUMERIC),0)*(COALESCE(CAST(replace(roba_prodaja.porez, ',','.') AS NUMERIC),0) zbroj COALESCE(CAST(roba_prodaja.porez_potrosnja AS NUMERIC),0))/100)zbrojCOALESCE(CAST(roba_prodaja.vpc AS NUMERIC),0) AS cijena5," +
                               " skladiste.skladiste AS cijena4, " +
                               " (COALESCE(CAST(roba_prodaja.vpc AS NUMERIC),0)*(COALESCE(CAST(replace(roba_prodaja.porez, ',','.') AS NUMERIC),0)zbrojCOALESCE(CAST(roba_prodaja.porez_potrosnja AS NUMERIC),0))/100)zbrojCOALESCE(CAST(roba_prodaja.vpc AS NUMERIC),0)*COALESCE(CAST(REPLACE(normativi_stavke.kolicina,',','.') AS NUMERIC),0) AS cijena6 " +
                               " FROM normativi_stavke" +
                               " LEFT JOIN roba ON roba.sifra=normativi_stavke.sifra_robe" +
                               " LEFT JOIN skladiste ON skladiste.id_skladiste=normativi_stavke.id_skladiste" +
                               " LEFT JOIN roba_prodaja ON roba_prodaja.sifra=normativi_stavke.sifra_robe AND roba_prodaja.id_skladiste=normativi_stavke.id_skladiste " +
                               " WHERE broj_normativa='" + broj_dokumenta + "'";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste).Fill(dSRliste, "DTliste");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste).Fill(dSRliste, "DTliste");
            }

            string    year = "";
            DataTable DT   = classSQL.select("SELECT godina_normativa FROM normativi WHERE broj_normativa='" + broj_dokumenta + "'", "normativi").Tables[0];

            if (DT.Rows.Count > 0)
            {
                year = DT.Rows[0]["godina_normativa"].ToString();
            }

            //DataTable DTnor = classSQL.select("SELECT * FROM normativi WHERE broj_normativa='" + broj_dokumenta + "'", "normativi").Tables[0];

            string sql_liste_string = "SELECT " +
                                      " 'Šifra' AS tbl1," +
                                      " 'Naziv' AS tbl2," +
                                      " 'Količina' AS tbl4," +
                                      " 'JMJ' AS tbl3," +
                                      " 'VPC' AS tbl5," +
                                      " 'MPC' AS tbl7," +
                                      " 'Skladište' AS tbl6," +
                                      " 'Iznos' AS tbl8," +
                                      //"  normativi.godina_normativa AS datum1," +
                                      "  normativi.komentar+'\r\n\r\nŠIFRA OVOG NORMATIVA JE: '+normativi.sifra_artikla+'\r\nNAZIV ARTIKLA: '+ roba.naziv AS komentar," +
                                      " zaposlenici.ime + ' ' + zaposlenici.prezime AS string1," +
                                      " CAST ('Normativ  ' AS nvarchar) + CAST (normativi.broj_normativa AS nvarchar) +'/'+ CAST (" + year + " AS nvarchar) AS naslov" +
                                      " FROM normativi " +
                                      " LEFT JOIN zaposlenici ON zaposlenici.id_zaposlenik=normativi.id_zaposlenik " +
                                      " LEFT JOIN roba ON roba.sifra=normativi.sifra_artikla " +
                                      " WHERE normativi.broj_normativa ='" + broj_dokumenta + "'";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste_string.Replace("nvarchar", "varchar")).Fill(dSRlisteTekst, "DTlisteTekst");
            }
        }
Exemplo n.º 24
0
        private void meduskladisnica()
        {
            string sql1 = SqlPodaciTvrtke.VratiSql("", "", "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            string sql_liste = "SELECT " +
                               " meduskladisnica_stavke.sifra," +
                               " roba.naziv," +
                               " meduskladisnica_stavke.kolicina AS cijena1," +
                               " roba.jm AS jmj," +
                               " meduskladisnica_stavke.vpc AS cijena3 ," +
                               " meduskladisnica_stavke.mpc AS cijena5," +
                               " meduskladisnica_stavke.pdv+'%  / '+ROUND((CAST(meduskladisnica_stavke.vpc AS NUMERIC)*CAST(REPLACE(meduskladisnica_stavke.kolicina,',','.') AS NUMERIC))*(CAST(REPLACE(meduskladisnica_stavke.pdv,',','.') AS NUMERIC))/100,2) AS cijena4," +
                               " ROUND((CAST(meduskladisnica_stavke.vpc AS NUMERIC)*CAST(REPLACE(meduskladisnica_stavke.kolicina,',','.') AS NUMERIC))*(CAST(REPLACE(meduskladisnica_stavke.pdv,',','.') AS NUMERIC))/100,2) AS cijena9," +
                               " CAST(meduskladisnica_stavke.mpc AS numeric) * CAST(REPLACE(meduskladisnica_stavke.kolicina,',','.') AS numeric) AS cijena6 " +
                               " FROM meduskladisnica_stavke" +
                               " LEFT JOIN roba ON roba.sifra=meduskladisnica_stavke.sifra WHERE broj='" + broj_dokumenta + "' AND iz_skladista='" + skladiste + "'";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste).Fill(dSRliste, "DTliste");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste).Fill(dSRliste, "DTliste");
            }

            string    year = "";
            DataTable DT   = classSQL.select("SELECT datum FROM meduskladisnica WHERE broj='" + broj_dokumenta + "'", "meduskladisnica").Tables[0];

            if (DT.Rows.Count > 0)
            {
                year = Convert.ToDateTime(DT.Rows[0]["datum"].ToString()).Year.ToString();
            }

            string sql_liste_string = "SELECT " +
                                      " 'Šifra' AS tbl1," +
                                      " 'Naziv' AS tbl2," +
                                      " 'Količina' AS tbl4," +
                                      " 'JMJ' AS tbl3," +
                                      " 'VPC' AS tbl5," +
                                      " 'MPC' AS tbl7," +
                                      " 'PDV / Iznos PDV-a' AS tbl6," +
                                      " 'Iznos' AS tbl8," +
                                      " '0' AS string6," +
                                      " meduskladisnica.datum AS datum1," +
                                      " meduskladisnica.napomena AS komentar," +
                                      " 'Iz skladišta: '+skladiste.skladiste + ' u skladište: ' + T2.skladiste AS skladiste," +
                                      " zaposlenici.ime + ' ' + zaposlenici.prezime AS string1," +
                                      " CAST ('MEĐUSKLADIŠNICA  ' AS nvarchar) + CAST (meduskladisnica.broj AS nvarchar) +'/'+ CAST (" + year + " AS nvarchar) AS naslov" +
                                      " FROM meduskladisnica " +
                                      " LEFT JOIN skladiste ON skladiste.id_skladiste=meduskladisnica.id_skladiste_od " +
                                      " LEFT JOIN skladiste T2 ON T2.id_skladiste = meduskladisnica.id_skladiste_do " +
                                      " LEFT JOIN zaposlenici ON zaposlenici.id_zaposlenik=meduskladisnica.id_izradio " +
                                      " WHERE meduskladisnica.broj ='" + broj_dokumenta + "' AND meduskladisnica.id_skladiste_od='" + skladiste + "'";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste_string.Replace("nvarchar", "varchar")).Fill(dSRlisteTekst, "DTlisteTekst");
            }
        }
Exemplo n.º 25
0
        private void SetPovratDobavljacu()
        {
            string filter = "";

            if (pregled == true)
            {
                filter = "kalkulacija.id_kalkulacija='" + broj_kalkulacije + "';";
            }
            else
            {
                filter = "povrat_robe.broj='" + broj_kalkulacije + "' AND povrat_robe.id_skladiste='" + skladiste + "';";
            }

            string SustavPdv = @"select * from partners where id_partner = (select id_partner from povrat_robe where broj = '" + broj_kalkulacije + @"' and id_skladiste = '" + skladiste + "')";

            DataSet dsPartner = classSQL.select(SustavPdv, "partners");
            bool    partnerExist = false, uSustavuPdv = false;

            if (dsPartner != null && dsPartner.Tables.Count > 0 && dsPartner.Tables[0] != null && dsPartner.Tables[0].Rows.Count > 0)
            {
                partnerExist = true;
                uSustavuPdv  = Convert.ToBoolean(dsPartner.Tables[0].Rows[0]["uSustavPdv"].ToString());
            }

            string sqlTecaj = @"SELECT povrat_robe.broj, povrat_robe.godina, skladiste.skladiste, povrat_robe.tecaj, valute.ime_valute AS valuta
FROM povrat_robe
LEFT JOIN skladiste ON povrat_robe.id_skladiste=skladiste.id_skladiste
LEFT JOIN valute ON povrat_robe.id_valuta=valute.id_valuta
LEFT JOIN partners ON povrat_robe.id_partner=partners.id_partner
WHERE " + filter + " ";

            DataTable dtTecaj = classSQL.select(sqlTecaj, "kalkulacija").Tables[0];

            double tecaj = 1;

            if (dtTecaj.Rows.Count > 0)
            {
                tecaj = Convert.ToDouble(dtTecaj.Rows[0]["tecaj"].ToString());
            }

            string naziv_fakture = " podaci_tvrtka.naziv_fakture,";
            string sql1          = SqlPodaciTvrtke.VratiSql("", naziv_fakture, "");

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");
            }
            else
            {
                //classSQL.NpgAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");
                classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");
            }

            DataTable dtPdv = new DataTable();

            dtPdv.Columns.Add("stopa");
            dtPdv.Columns.Add("iznos");
            dtPdv.Columns.Add("osnovica");

            string filter1 = "";

            if (pregled == true)
            {
                filter1 = "povrat_robe_stavke.id_kalkulacija='" + broj_kalkulacije + "'";
            }
            else
            {
                filter1 = "povrat_robe_stavke.broj='" + broj_kalkulacije + "' AND povrat_robe_stavke.id_skladiste='" + skladiste + "'";
            }

            string sql_stavke = "SELECT " +
                                " povrat_robe_stavke.sifra," +
                                " povrat_robe_stavke.id_stavka AS id," +
                                " roba.naziv," +
                                " roba.jm AS jmj," +
                                " povrat_robe_stavke.kolicina," +
                                " povrat_robe_stavke.rabat," +
                                " povrat_robe_stavke.nbc," +
                                " 0 as prijevoz," +
                                " 0 as carina," +
                                " 0 as posebni_porez," +
                                " round(((povrat_robe_stavke.vpc / povrat_robe_stavke.nbc::numeric) - 1) * 100, 6) as marza," +
                                " povrat_robe_stavke.vpc," +
                                " povrat_robe_stavke.pdv AS pdv" +
                                " FROM povrat_robe_stavke" +
                                " LEFT JOIN roba ON povrat_robe_stavke.sifra=roba.sifra" +
                                " WHERE " + filter1 + " ORDER BY CAST(id_stavka AS INT) ASC";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_stavke).Fill(dSkalkulacija_stavke, "DTkalkDtavke");
            }
            else
            {
                classSQL.NpgAdatpter(sql_stavke).Fill(dSkalkulacija_stavke, "DTkalkDtavke");
            }

            DataTable DT                   = dSkalkulacija_stavke.Tables[0];
            double    fakIznos             = 0;
            double    fak_iznos_stavka     = 0;
            double    fakNetto             = 0;
            double    osnovica             = 0;
            double    fakPdv               = 0;
            double    fak_ukupno_stavka    = 0;
            double    fakUk                = 0;
            double    fak_cijena           = 0;
            double    kolicina             = 0;
            double    rabat                = 0;
            double    rabatStavka          = 0;
            double    rabatUk              = 0;
            double    mpc                  = 0;
            double    mpc_uk               = 0;
            double    porez                = 0;
            double    vpc                  = 0;
            double    nab_cijena           = 0;
            double    posebni_porez        = 0;
            double    prijevoz             = 0;
            double    carina               = 0;
            double    net_cijena           = 0;
            double    marza                = 0;
            double    marzaIznos           = 0;
            double    marzaUk              = 0;
            double    nabavna_zadnja       = 0;
            double    marza_uk_            = 0;
            double    fak_cijena_S_pdv     = 0;
            double    fak_cijena_S_pdv_ukp = 0;

            for (int i = 0; i < DT.Rows.Count; i++)
            {
                kolicina      = Math.Round(Convert.ToDouble(DT.Rows[i]["kolicina"].ToString()), 3);
                fak_cijena    = Math.Round(Convert.ToDouble(DT.Rows[i]["fak_cijena"].ToString()), 3);
                rabat         = Math.Round(Convert.ToDouble(DT.Rows[i]["rabat"].ToString()), 3);
                porez         = Math.Round(Convert.ToDouble(DT.Rows[i]["pdv"].ToString()), 3);
                vpc           = Math.Round(Convert.ToDouble(DT.Rows[i]["vpc"].ToString()), 3);
                posebni_porez = Math.Round(Convert.ToDouble(DT.Rows[i]["posebni_porez"].ToString()), 3);
                prijevoz      = Math.Round(Convert.ToDouble(DT.Rows[i]["prijevoz"].ToString()), 4);
                carina        = Math.Round(Convert.ToDouble(DT.Rows[i]["carina"].ToString()), 3);
                marza         = Math.Round(Convert.ToDouble(DT.Rows[i]["marza"].ToString()), 8);

                if (marza.ToString() == "NaN" || marza.ToString() == "Infinity")
                {
                    marza = 0;
                }
                double vpc_s_kol = vpc * kolicina;
                double fak_s_kol = fak_cijena * kolicina;
                nabavna_zadnja = Math.Round((fak_s_kol - (fak_s_kol * (rabat / 100)) + ((prijevoz + carina) * kolicina)), 3);
                marza_uk_      = Math.Round(nabavna_zadnja * (marza / 100), 3);
                marzaIznos     = Math.Round(marza / 100 * nabavna_zadnja, 3);
                marzaUk       += marzaIznos;

                rabatStavka = fak_cijena * kolicina * rabat / 100;
                rabatUk    += rabatStavka;

                mpc = vpc * (1 + porez / 100.0);

                mpc_uk = mpc * kolicina;

                nab_cijena = kolicina * fak_cijena * (1 - rabat / 100) - posebni_porez + ((prijevoz + carina) * kolicina);
                //if (Util.Korisno.oibTvrtke == "41109922301") {
                //    nab_cijena = fak_cijena * (1 - rabat / 100) - posebni_porez + ((prijevoz + carina));
                //}

                fak_cijena_S_pdv = nab_cijena * (1 + (porez / 100));
                if (partnerExist && !uSustavuPdv)
                {
                    fak_cijena_S_pdv = nab_cijena;
                }

                fak_cijena_S_pdv_ukp += fak_cijena_S_pdv;

                net_cijena = kolicina * fak_cijena * (1 - rabat / 100);

                fak_iznos_stavka = kolicina * fak_cijena;
                fakIznos        += fak_iznos_stavka;

                fakNetto += fak_iznos_stavka * (1 - rabat / 100);

                fak_ukupno_stavka = vpc * (1 + porez / 100) * kolicina;
                fakUk            += fak_ukupno_stavka;

                osnovica += fak_ukupno_stavka * 100 / (100 + porez);
                fakPdv   += fak_ukupno_stavka * (1 - 100 / (100 + porez));
                //fak_pdv += fak_ukupno_stavka / (1 - porez);

                //double stopa = ((mpc - vpc) / vpc);
                double pdvStavka_cisto = (nab_cijena) * (porez / 100);
                if (partnerExist && !uSustavuPdv)
                {
                    pdvStavka_cisto = 0;
                }
                StopePDVa(Math.Round((decimal)porez, 4), Math.Round((decimal)pdvStavka_cisto, 4), Math.Round(((decimal)nab_cijena), 4));

                DT.Rows[i].SetField("mpc_uk", Math.Round(mpc_uk, 3));
                DT.Rows[i].SetField("mpc", Math.Round(mpc, 3));
                DT.Rows[i].SetField("rabat", Math.Round(rabat, 3));
                DT.Rows[i].SetField("rabat_uk", Math.Round(rabatStavka, 3));
                DT.Rows[i].SetField("marza", Math.Round(marza, 3));
                DT.Rows[i].SetField("marzaIznos", Math.Round(marza_uk_, 3));
                DT.Rows[i].SetField("posebni_porez", posebni_porez);
                DT.Rows[i].SetField("prijevoz", Math.Round(prijevoz, 4));
                DT.Rows[i].SetField("carina", Math.Round(carina, 3));

                DT.Rows[i].SetField("kolicina", Math.Round(kolicina, 3));
                DT.Rows[i].SetField("fak_cijena", Math.Round(fak_cijena, 3));
                DT.Rows[i].SetField("fak_cijena_val", Math.Round(fak_cijena / tecaj, 3));
                DT.Rows[i].SetField("net_cijena", Math.Round(net_cijena, 3));
                DT.Rows[i].SetField("nab_cijena", Math.Round(nab_cijena, 3));
                DT.Rows[i].SetField("fak_cijena_S_pdv", Math.Round(fak_cijena_S_pdv, 3));

                //DT.Rows[i].SetField("nab_porez", Math.Round(nab_cijena, 3));
            }

            fakIznos = Math.Round(fakIznos, 3);
            fakNetto = Math.Round(fakNetto, 3);
            fakPdv   = Math.Round(fakPdv, 3);
            osnovica = Math.Round(osnovica, 3);
            fakUk    = Math.Round(fakUk, 3);
            rabatUk  = Math.Round(rabatUk, 3);
            marzaUk  = Math.Round(marzaUk, 3);
            string filter2 = "";

            if (pregled == true)
            {
                filter2 = "kalkulacija.id_kalkulacija='" + broj_kalkulacije + "';";
            }
            else
            {
                filter2 = "kalkulacija.broj='" + broj_kalkulacije + "' AND kalkulacija.id_skladiste='" + skladiste + "';";
            }
            string sql_kalk = @"SELECT kalkulacija.broj, kalkulacija.id_partner, kalkulacija.godina, 'Kalkulacija' AS naslov, skladiste.skladiste, kalkulacija.datum,
partners.ime_tvrtke + ' ' + partners.id_partner AS dobavljac, kalkulacija.tecaj AS tecaj, kalkulacija.racun, kalkulacija.otpremnica,
CAST(kalkulacija.otpremnica_datum AS date) AS otpremnica_datum, kalkulacija.tecaj, zaposlenici.ime + ' ' + zaposlenici.prezime AS kalkulirao,
CAST(kalkulacija.racun_datum AS date) AS racun_datum, valute.ime_valute AS valuta, '" + fakIznos + @"' AS fak_iznos, '" + fakNetto + @"' AS netto_fak_iznos,
'" + fakPdv + @"' AS pdv, '" + rabatUk + @"' AS rabatUk, '" + marzaUk + @"' AS marzaUk, '" + osnovica + @"' AS osnovica, '" + fakUk + @"' AS ukupno,
'" + Math.Round(fak_cijena_S_pdv_ukp, 2) + @"' as fak_cijena_S_pdv, case when partners.uSustavPdv = true then 'Dobavljač u sustavu PDV-a: DA' else 'Dobavljač u sustavu PDV-a: NE' end as sustavPdv
FROM kalkulacija
LEFT JOIN skladiste ON kalkulacija.id_skladiste=skladiste.id_skladiste
LEFT JOIN zaposlenici ON kalkulacija.id_zaposlenik=zaposlenici.id_zaposlenik
LEFT JOIN valute ON kalkulacija.id_valuta=valute.id_valuta
LEFT JOIN partners ON kalkulacija.id_partner=partners.id_partner
WHERE " + filter2;

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_kalk).Fill(dSkalkulacija, "DTKalkulacijA");
            }
            else
            {
                classSQL.NpgAdatpter(sql_kalk).Fill(dSkalkulacija, "DTKalkulacijA");
            }
        }
Exemplo n.º 26
0
        private void otpis()
        {
            string naziv_fakture = " podaci_tvrtka.naziv_fakture,";
            string sql1          = SqlPodaciTvrtke.VratiSql("", naziv_fakture, "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            string sql_liste = "SELECT " +
                               " CONCAT(otpis_robe_stavke.sifra, ' ',roba.naziv) AS naziv," +
                               " roba.jm AS naziv2," +
                               " otpis_robe_stavke.kolicina AS kolicina," +
                               " (otpis_robe_stavke.vpc*replace(otpis_robe_stavke.kolicina, ',','.')::numeric) AS cijena7," +
                               " otpis_robe_stavke.pdv AS cijena9," +
                               " otpis_robe_stavke.rabat AS cijena1 ," +
                               " otpis_robe_stavke.nbc AS cijena3," +
                               " (((CAST(otpis_robe_stavke.vpc AS numeric) * CAST(otpis_robe_stavke.pdv AS numeric))/100) zbroj CAST(otpis_robe_stavke.vpc AS numeric))* CAST(otpis_robe_stavke.kolicina AS numeric) AS cijena6," +
                               " CAST(otpis_robe_stavke.nbc AS numeric) * replace(otpis_robe_stavke.kolicina, ',','.')::numeric AS cijena2" +
                               " FROM otpis_robe_stavke" +
                               " LEFT JOIN roba ON roba.sifra=otpis_robe_stavke.sifra WHERE broj='" + broj_dokumenta + "'";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste).Fill(dSRliste, "DTliste");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste).Fill(dSRliste, "DTliste");
            }

            string    year = "";
            DataTable DT   = classSQL.select("SELECT datum FROM otpis_robe WHERE broj='" + broj_dokumenta + "'", "otpis_robe").Tables[0];

            if (DT.Rows.Count > 0)
            {
                year = Convert.ToDateTime(DT.Rows[0]["datum"].ToString()).Year.ToString();
            }

            string sql_liste_string = "SELECT " +
                                      " 'Količina' AS tbl1," +
                                      " 'Jmj' AS tbl2," +
                                      " 'Nab. cijena' AS tbl3," +
                                      " 'Rabat izn.' AS tbl4," +
                                      " 'Nab. iznos' AS tbl5," +
                                      " 'tb' AS tbl6," +
                                      " 'Mpc uk.' AS tbl7," +
                                      " 'rbr.' AS tbl8," +
                                      " 'Šifra i naziv' AS tbl9, " +
                                      " otpis_robe.napomena AS komentar," +
                                      " CAST (otpis_robe.broj AS nvarchar) +'/'+ CAST (" + year + " AS nvarchar) AS naslov" +
                                      " FROM otpis_robe " +
                                      " WHERE broj ='" + broj_dokumenta + "'";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste_string.Replace("nvarchar", "varchar")).Fill(dSRlisteTekst, "DTlisteTekst");
            }
        }
Exemplo n.º 27
0
        private void FillIFB(string broj)
        {
            PCPOS.classNumberToLetter broj_u_text = new PCPOS.classNumberToLetter();

            string sql2 = "SELECT " +
                          " ifb_stavke.kolicina," +
                          " ifb_stavke.vpc," +
                          " ifb_stavke.porez," +
                          " ifb_stavke.broj," +
                          " ifb_stavke.rabat," +
                          " ifb_stavke.jmj AS jm," +
                          " ifb_stavke.naziv as naziv" +
                          " FROM ifb_stavke" +
                          " WHERE ifb_stavke.broj='" + broj + "'";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql2).Fill(dSRfakturaStavke, "DTfakturaStavke");
            }
            else
            {
                classSQL.NpgAdatpter(sql2).Fill(dSRfakturaStavke, "DTfakturaStavke");
            }

            double vpc = 0;
            //double kol_stavka = 0;
            double pdv                    = 0;
            double kol                    = 0;
            double mpc                    = 0;
            double rabat                  = 0;
            double mpc_stavka             = 0;
            double rabat_stavka           = 0;
            double pdv_stavka             = 0;
            double osnovica_stavka        = 0;
            double RabatSve               = 0;
            double ukupno_stav            = 0;
            double pdvStavka              = 0;
            double stopa                  = 0;
            double mpcStavka              = 0;
            double rabatStavka            = 0;
            double osnovicaStavka         = 0;
            double cista_cijena_sveukupno = 0;

            DataTable DT = dSRfakturaStavke.Tables[0];

            for (int i = 0; i < DT.Rows.Count; i++)
            {
                vpc = Convert.ToDouble(DT.Rows[i]["vpc"].ToString());
                //kol_stavka = Convert.ToDouble(DT.Rows[i]["kolicina"].ToString());
                pdv             = Convert.ToDouble(DT.Rows[i]["porez"].ToString());
                rabat           = Convert.ToDouble(DT.Rows[i]["rabat"].ToString());
                kol             = Convert.ToDouble(DT.Rows[i]["kolicina"].ToString());
                mpc             = vpc * (1 + (pdv / 100));
                ukupno_stav     = vpc * kol - vpc * kol * rabat / 100;
                rabat_stavka    = vpc * kol * rabat / 100;
                rabatStavka     = mpc * kol * rabat / 100;
                mpc_stavka      = vpc * kol - rabat_stavka;
                pdv_stavka      = mpc_stavka - mpc_stavka / (1 + pdv / 100);
                osnovica_stavka = mpc_stavka;

                mpcStavka      = Math.Round(mpc * kol - rabatStavka, 2);
                osnovicaStavka = mpcStavka;
                double preracunataSto = (100 * pdv) / (100 + pdv);
                pdvStavka = Math.Round(mpcStavka * (preracunataSto / 100), 3);
                stopa     = ((mpc - vpc) / vpc);

                dSRfakturaStavke.Tables[0].Rows[i].SetField("mpcStavka", mpc_stavka);
                dSRfakturaStavke.Tables[0].Rows[i].SetField("rabatStavka", rabat_stavka);
                dSRfakturaStavke.Tables[0].Rows[i].SetField("mpc", mpc);
                dSRfakturaStavke.Tables[0].Rows[i].SetField("kolicina", kol.ToString("#0.00"));

                RabatSve        = rabat_stavka + RabatSve;
                osnovica_ukupno = Math.Round(osnovica_stavka, 2) + osnovica_ukupno;
                pdv_ukupno      = Math.Round(pdvStavka, 2) + pdv_ukupno;
                SveUkupno       = mpcStavka + SveUkupno;

                StopePDVa(Math.Round((stopa * 100), 0), Math.Round(pdvStavka, 2), Math.Round(osnovica_stavka, 2));
            }

            string broj_slovima = broj_u_text.PretvoriBrojUTekst(SveUkupno.ToString(), ',', "kn", "lp").ToString();

            string sql = "SELECT " +
                         " ifb.broj," +
                         " ifb.datum AS datum," +
                         " ifb.datum_dvo AS datum_dvo," +
                         " ifb.datum_valute," +
                         " ifb.jir," +
                         " ifb.zki," +
                         " ifb.mj_troska AS mjesto_troska," +
                         " nacin_placanja.naziv_placanja AS placanje," +
                         " ifb.otprema AS otprema," +
                         " CAST (ifb.model AS nvarchar) + '  '+ CAST (ifb.broj AS nvarchar)+CAST (ifb.godina AS nvarchar)+'-'+CAST (ifb.odrediste AS nvarchar) AS model," +
                         " ifb.napomena," +
                         " '" + mpc + "' AS string4," +
                         " '" + RabatSve + "' AS rabat," +
                         " '" + SveUkupno + "' AS ukupno," +
                         " '" + pdv_ukupno + "' AS iznos_pdv," +
                         " '" + osnovica_ukupno + "' AS osnovica," +
                         " '" + ukupno_stav + "' AS string5," +
                         " ifb.godina," +
                         //" CAST (ifb.broj AS nvarchar) +'/'+ CAST (ifb.godina AS nvarchar) AS Naslov," +
                         " CAST (ifb.broj AS nvarchar) + CAST ('" + Util.Korisno.VratiDucanIBlagajnuZaIspis(4) + "' AS nvarchar)  AS Naslov," +
                         " partners.ime_tvrtke AS kupac_tvrtka," +
                         " 'Datum isporuke:' AS naziv_date1," +
                         " 'Datum dospijeća:' AS naziv_date2," +
                         " '' AS string3," +
                         " partners.adresa AS kupac_adresa," +
                         " partners.id_grad AS id_kupac_grad," +
                         " partners.id_partner AS sifra_kupac," +
                         " zaposlenici.ime + ' ' + zaposlenici.prezime AS izradio," +
                         " '" + broj_slovima.ToLower() + "' AS broj_slovima," +
                         " partners.oib AS kupac_oib" +
                         " FROM ifb" +
                         " LEFT JOIN zacrnjeni_partner as  partners ON partners.id_partner=ifb.odrediste" +
                         " LEFT JOIN nacin_placanja ON nacin_placanja.id_placanje=ifb.id_nacin_placanja" +
                         //" LEFT JOIN ziro_racun ON ziro_racun.id_ziroracun=fakture.zr" +
                         " LEFT JOIN zaposlenici ON zaposlenici.id_zaposlenik=ifb.id_zaposlenik WHERE ifb.broj='" + broj + "'" +
                         "";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql).Fill(dSFaktura, "DTRfaktura");
            }
            else
            {
                classSQL.NpgAdatpter(sql.Replace("nvarchar", "varchar")).Fill(dSFaktura, "DTRfaktura");
            }

            string dodatak = "";

            if (DTpostavke.Rows[0]["oslobodenje_pdva"].ToString() == "1" && pdv_ukupno == 0)
            {
                dodatak = "\r\n\r\nPrijenos porezne obveze prema čl. 75., st. 3b. i čl. 79. Zakona o PDV-u.\r\nKupac će sam obračunati PDV od 25% i iskazati ga u poreznoj prijavi.\r\nObračun prema naplaćenoj naknadi.";
            }
            else if (DTpostavke.Rows[0]["oslobodenje_pdva"].ToString() == "1")
            {
                dodatak = "\r\n\r\nObračun prema naplaćenoj naknadi";
            }

            dSFaktura.Tables[0].Rows[0]["napomena"] = dSFaktura.Tables[0].Rows[0]["napomena"] + dodatak;

            string id_kupac_grad = "";
            string id_kupac      = "";

            if (dSFaktura.Tables[0].Rows.Count > 0)
            {
                id_kupac_grad = dSFaktura.Tables[0].Rows[0]["id_kupac_grad"].ToString();
                id_kupac      = dSFaktura.Tables[0].Rows[0]["sifra_kupac"].ToString();
            }
            else
            {
                MessageBox.Show("Odabrani zahtjev ne postoji.", "Greška", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }

            string naziv_fakture = " podaci_tvrtka.naziv_fakture,";
            string sql1          = SqlPodaciTvrtke.VratiSql(id_kupac_grad, naziv_fakture, id_kupac);

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");
            }
            else
            {
                classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

                if (dSRpodaciTvrtke.Tables[0].Rows.Count > 0)
                {
                    string   iban  = dSRpodaciTvrtke.Tables[0].Rows[0]["iban"].ToString();
                    string[] ibans = iban.Split(';');
                    string   ibanR = "";
                    foreach (string s in ibans)
                    {
                        ibanR += s + "\r\n";
                    }
                    if (ibanR.Length > 4)
                    {
                        ibanR = ibanR.Remove(ibanR.Length - 2);
                    }
                    dSRpodaciTvrtke.Tables[0].Rows[0]["iban"] = ibanR;
                }
            }

            DateTime datum_ = Convert.ToDateTime(dSFaktura.Tables[0].Rows[0]["datum"].ToString());

            reportViewer1.LocalReport.DisplayName = "IFB-" + dSFaktura.Tables[0].Rows[0]["broj"].ToString() + "-" + datum_.ToString("dd-MM-yyyy") + "";

            decimal u_kune_iz_valute = 0;
            string  u_kunama         = "";

            if (racunajTecaj)
            {
                u_kune_iz_valute = Math.Round(Convert.ToDecimal(cista_cijena_sveukupno), 2);
                u_kunama         = u_kune_iz_valute.ToString() + " kn";
            }
            else
            {
                u_kunama = "0 kn";
            }

            ReportParameter p7 = new ReportParameter("iznos_valuta_kn", u_kunama);

            this.reportViewer1.RefreshReport();
        }
Exemplo n.º 28
0
        private void SkladisteFinancije()
        {
            string sql1 = SqlPodaciTvrtke.VratiSql("", "", "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            if (skladiste != "")
            {
                skladiste = " AND roba_prodaja.id_skladiste='" + skladiste + "'";
            }

            string sql_liste = "SELECT roba_prodaja.kolicina,roba_prodaja.vpc,roba_prodaja.porez,roba_prodaja.nc,roba_prodaja.id_skladiste,skladiste.skladiste " +
                               " FROM roba_prodaja" +
                               " LEFT JOIN skladiste ON roba_prodaja.id_skladiste = skladiste.id_skladiste" +
                               " LEFT JOIN roba ON roba_prodaja.sifra=roba.sifra WHERE roba.oduzmi='DA' " + skladiste;
            DataTable DT = classSQL.select(sql_liste, "roba_prodaja").Tables[0];

            DataRow RowSkl;

            foreach (DataRow row in DT.Rows)
            {
                DataRow[] dataROW = dSRliste.Tables["DTliste"].Select("kolicina = '" + row["id_skladiste"].ToString() + "'");
                decimal   vpc     = Convert.ToDecimal(row["vpc"].ToString());
                decimal   pdv     = Convert.ToDecimal(row["porez"].ToString());
                decimal   kol     = Convert.ToDecimal(row["kolicina"].ToString().Replace(".", ","));
                decimal   nbc;
                decimal.TryParse(row["nc"].ToString().Replace(".", ","), out nbc);
                //if (kol > 90)
                //{
                //    MessageBox.Show("");
                //}

                if (dataROW.Count() == 0)
                {
                    RowSkl             = dSRliste.Tables["DTliste"].NewRow();
                    RowSkl["kolicina"] = row["id_skladiste"].ToString();
                    RowSkl["naziv"]    = row["skladiste"].ToString();
                    RowSkl["cijena1"]  = (vpc * kol).ToString();
                    RowSkl["cijena3"]  = ((vpc * pdv / 100) * kol).ToString();
                    RowSkl["cijena6"]  = ((vpc * pdv / 100) + vpc) * kol;
                    RowSkl["jmj"]      = nbc * kol;
                    dSRliste.Tables["DTliste"].Rows.Add(RowSkl);
                }
                else
                {
                    dataROW[0]["cijena1"] = Math.Round(Convert.ToDecimal(dataROW[0]["cijena1"].ToString()) + (vpc * kol), 3);
                    dataROW[0]["cijena6"] = Convert.ToDecimal(dataROW[0]["cijena6"].ToString()) + (((vpc * pdv / 100) + vpc) * kol);
                    dataROW[0]["cijena3"] = Convert.ToDecimal(dataROW[0]["cijena3"].ToString()) + ((vpc * pdv / 100) * kol);
                    dataROW[0]["jmj"]     = Convert.ToDecimal(dataROW[0]["jmj"].ToString()) + (nbc * kol);
                }
            }

            //if (classSQL.remoteConnectionString == "")
            //{
            //    classSQL.CeAdatpter(sql_liste).Fill(dSRliste, "DTliste");
            //}
            //else
            //{
            //    classSQL.NpgAdatpter(sql_liste).Fill(dSRliste, "DTliste");
            //}

            string sql_liste_string = "SELECT " +
                                      " '' AS tbl1," +
                                      " 'Naziv skladišta' AS tbl2," +
                                      " 'NBC' AS tbl3," +
                                      " 'VPC' AS tbl4," +
                                      " 'PDV' AS tbl5," +
                                      " '' AS tbl6," +
                                      " 'MPC' AS tbl8," +
                                      " '' AS tbl7," +
                                      " 'Stanje na skladištu financijski' AS naslov";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste_string.Replace("nvarchar", "varchar")).Fill(dSRlisteTekst, "DTlisteTekst");
            }
        }
Exemplo n.º 29
0
        private void PrometPoRobiBezSkladista()
        {
            string sql1 = SqlPodaciTvrtke.VratiSql("", "", "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            string skl = "";

            if (skladiste != null)
            {
                skl = " AND racun_stavke.id_skladiste='" + skladiste + "'";
            }

            string duc = "";

            if (ducan != null)
            {
                duc = " AND racuni.id_ducan='" + ducan + "'";
            }

            string blag = "";

            if (blagajnik != null)
            {
                blag = " AND racuni.id_blagajnik='" + blagajnik + "'";
            }

            string art = "";

            if (artikl != null)
            {
                art = " AND racun_stavke.sifra_robe='" + artikl + "'";
            }

            string Fskl = "";

            if (skladiste != null)
            {
                Fskl = " AND faktura_stavke.id_skladiste='" + skladiste + "'";
            }

            string Fblag = "";

            if (blagajnik != null)
            {
                Fblag = " AND fakture.id_zaposlenik='" + blagajnik + "'";
            }

            string Fart = "";

            if (artikl != null)
            {
                Fart = " AND faktura_stavke.sifra='" + artikl + "'";
            }

            string sql_liste = "SELECT " +
                               " racun_stavke.sifra_robe AS sifra," +
                               " roba.naziv AS naziv ," +
                               " CAST(REPLACE(racun_stavke.kolicina,',','.') AS NUMERIC) AS cijena1," +
                               " 'Račun' AS jmj," +
                               " roba_prodaja.kolicina AS cijena3 ," +
                               " racun_stavke.broj_racuna AS cijena5 ," +
                               " racun_stavke.vpc AS cijena6 ," +
                               //" (CAST(racun_stavke.vpc AS NUMERIC)*(CAST(REPLACE(racun_stavke.porez,',','.') AS NUMERIC)zbrojCAST(REPLACE(racun_stavke.porez_potrosnja,',','.') AS NUMERIC))/100)zbrojCAST(racun_stavke.vpc AS NUMERIC) AS cijena5," +
                               " skladiste.skladiste AS cijena4 " +
                               //" (CAST(racun_stavke.vpc AS NUMERIC)*(CAST(REPLACE(racun_stavke.porez,',','.') AS NUMERIC)zbrojCAST(REPLACE(racun_stavke.porez_potrosnja,',','.') AS NUMERIC))/100)zbrojCAST(racun_stavke.vpc AS NUMERIC)*CAST(REPLACE(racun_stavke.kolicina,',','.') AS NUMERIC) AS cijena6 " +
                               " FROM racun_stavke" +
                               " LEFT JOIN roba ON roba.sifra=racun_stavke.sifra_robe" +
                               " LEFT JOIN skladiste ON skladiste.id_skladiste=racun_stavke.id_skladiste" +
                               " LEFT JOIN racuni ON racuni.broj_racuna=racun_stavke.broj_racuna AND racuni.id_ducan=racun_stavke.id_ducan AND racuni.id_kasa=racun_stavke.id_kasa" +
                               " LEFT JOIN roba_prodaja ON roba_prodaja.sifra=racun_stavke.sifra_robe AND roba_prodaja.id_skladiste=racun_stavke.id_skladiste " +
                               " WHERE  racuni.datum_racuna>'" + datumOD + "' AND racuni.datum_racuna<'" + datumDO + "'" +
                               " " + skl + blag + duc + art +
                               "";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste).Fill(dSRliste, "DTliste");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste).Fill(dSRliste, "DTliste");
            }

            string sql_fak = "SELECT " +
                             " faktura_stavke.sifra AS sifra," +
                             " roba.naziv AS naziv ," +
                             " CAST(REPLACE(faktura_stavke.kolicina,',','.') AS NUMERIC) AS cijena1," +
                             " 'Faktura' AS jmj," +
                             " roba_prodaja.kolicina AS cijena3 ," +
                             " faktura_stavke.broj_fakture AS cijena5 ," +
                             " faktura_stavke.vpc AS cijena6 ," +
                             //" (CAST(faktura_stavke.vpc AS NUMERIC)*(CAST(REPLACE(faktura_stavke.porez,',','.') AS NUMERIC)zbrojCAST(REPLACE(faktura_stavke.porez_potrosnja,',','.') AS NUMERIC))/100)zbrojCAST(faktura_stavke.vpc AS NUMERIC) AS cijena5," +
                             " skladiste.skladiste AS cijena4 " +
                             //" (CAST(faktura_stavke.vpc AS NUMERIC)*(CAST(REPLACE(faktura_stavke.porez,',','.') AS NUMERIC)zbrojCAST(REPLACE(faktura_stavke.porez_potrosnja,',','.') AS NUMERIC))/100)zbrojCAST(faktura_stavke.vpc AS NUMERIC)*CAST(REPLACE(faktura_stavke.kolicina,',','.') AS NUMERIC) AS cijena6 " +
                             " FROM faktura_stavke" +
                             " LEFT JOIN roba ON roba.sifra=faktura_stavke.sifra" +
                             " LEFT JOIN skladiste ON skladiste.id_skladiste=faktura_stavke.id_skladiste" +
                             " LEFT JOIN fakture ON fakture.broj_fakture=faktura_stavke.broj_fakture" +
                             " LEFT JOIN roba_prodaja ON roba_prodaja.sifra=faktura_stavke.sifra AND roba_prodaja.id_skladiste=faktura_stavke.id_skladiste " +
                             " WHERE  fakture.date>'" + datumOD + "' AND fakture.date<'" + datumDO + "'" +
                             " " + Fskl + Fblag + Fart;

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_fak).Fill(dSRliste, "DTliste");
            }
            else
            {
                classSQL.NpgAdatpter(sql_fak).Fill(dSRliste, "DTliste");
            }

            string year = "";
            //DataTable DT = classSQL.select("SELECT godina_normativa FROM normativi WHERE broj_normativa='" + broj_dokumenta + "'", "normativi").Tables[0];

            //if (DT.Rows.Count > 0)
            // {
            //year = DT.Rows[0]["godina_normativa"].ToString();
            // }

            string s = "";

            if (skladiste != null)
            {
                s = "\r\nSkladište: " + skladiste;
            }

            string b = "";

            if (blagajnik != null)
            {
                b = "\r\nBlagajnik: " + blagajnik;
            }

            string a = "";

            if (artikl != null)
            {
                a = "\r\nArtikl: " + artikl;
            }

            string sql_liste_string = "SELECT " +
                                      " 'Šifra' AS tbl1," +
                                      " 'Naziv' AS tbl2," +
                                      " 'Dokument' AS tbl3," +
                                      " 'Količina' AS tbl4," +
                                      " 'Stanje SK' AS tbl5," +
                                      " 'Skladište' AS tbl6," +
                                      " 'BR.Dok.' AS tbl7," +
                                      " 'VPC' AS tbl8," +
                                      " 'ne' AS string6," +
                                      " '" + s + "' AS skladiste," +
                                      " '" + DateTime.Now.ToString("yyyy-MM-dd H:mm:ss") + "' AS datum1," +
                                      " CAST ('Promet po robi  ' AS nvarchar) AS naslov," +
                                      " '\r\nOd datuma:" + datumOD + " - " + datumDO + s + b + a + "' AS komentar" +
                                      "";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste_string.Replace("nvarchar", "varchar")).Fill(dSRlisteTekst, "DTlisteTekst");
            }
        }
Exemplo n.º 30
0
        private void RobuPreuzeo()
        {
            string sql1 = SqlPodaciTvrtke.VratiSql("", "", "");

            classSQL.CeAdatpter(sql1).Fill(dSRpodaciTvrtke, "DTRpodaciTvrtke");

            string filter = "";

            if (sifra_partnera != "")
            {
                filter += " AND id_fakturirati='" + sifra_partnera.ToString() + "' ";
            }

            if (sifra_preuzeo != "")
            {
                filter += " AND id_odrediste='" + sifra_preuzeo.ToString() + "' ";
            }

            filter += " AND fakture.date>='" + datumOD.ToString("yyyy-MM-dd H:mm:ss") +
                      "' AND fakture.date<='" + datumDO.ToString("yyyy-MM-dd H:mm:ss") + "' ";

            if (sort == "F")
            {
                sort = "ORDER BY CAST(fakture.broj_fakture AS INT) ASC";
            }
            else
            {
                sort = "ORDER BY p.ime_tvrtke ASC ,p.ime ASC";
            }

            string sql = "SELECT p.ime_tvrtke AS naziv2,p.ime,p.prezime,fakture.ukupno_osnovica AS cijena1," +
                         " fakture.ukupno_porez AS cijena2,fakture.ukupno AS cijena3, 'Faktura br: '+fakture.broj_fakture AS jmj, pf.ime_tvrtke AS naziv FROM fakture " +
                         " LEFT JOIN partners p ON p.id_partner=fakture.id_odrediste " +
                         " LEFT JOIN partners pf ON pf.id_partner=fakture.id_fakturirati " +
                         " WHERE fakture.broj_fakture is not null " + filter + sort;

            classSQL.NpgAdatpter(sql).Fill(dSRliste, "DTliste");

            foreach (DataRow row in dSRliste.Tables[0].Rows)
            {
                if (row["naziv2"].ToString() == "")
                {
                    row["naziv2"] = row["ime"] + " " + row["prezime"];
                }
            }

            //------------------------------------OVAJ DIO RACUNA RABAT-------------------------------------------------------------------
            DataSet DS = new DataSet();

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter("").Fill(DS, "DTliste");
            }
            else
            {
                classSQL.NpgAdatpter("").Fill(DS, "DTliste");
            }

            string sql_liste_string = "SELECT 'Preuzeta roba za partnera: " + ime_partnera + "' AS naslov" +
                                      ",'Od datuma: " + datumOD.ToString("yyyy-MM-dd H:mm:ss") + " do datuma: " + datumDO.ToString("yyyy-MM-dd H:mm:ss") + " ' AS string1";

            if (classSQL.remoteConnectionString == "")
            {
                classSQL.CeAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst");
            }
            else
            {
                classSQL.NpgAdatpter(sql_liste_string).Fill(dSRlisteTekst, "DTlisteTekst");
            }
        }