Exemple #1
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);
            }
        }
Exemple #2
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);
            }
        }