示例#1
0
 private void PostaviUvjete()
 {
     lblUvijeti.Text  = "OD datuma: " + OD_datuma.ToString("dd-MM-yyyy H:mm:ss") + "  ";
     lblUvijeti.Text += "DO datuma: " + DO_datuma.ToString("dd-MM-yyyy H:mm:ss") + "  ";
     if (cbDucan != null)
     {
         lblUvijeti.Text += " Poslovnica: " + PoslovnicaNaziv + "  ";
     }
     if (ZaposlenikNaziv != null)
     {
         lblUvijeti.Text += "Zaposlenik: " + ZaposlenikNaziv + "  ";
     }
 }
示例#2
0
        private void PostaviDgv()
        {
            string racuni = "", fakture = "";

            if (cbZaposlenik != null)
            {
                racuni  += " AND racuni.id_blagajnik='" + cbZaposlenik + "'";
                fakture += " AND fakture.id_zaposlenik='" + cbZaposlenik + "'";
            }
            if (cbDucan != null)
            {
                racuni  += " AND racuni.id_ducan='" + cbDucan + "'";
                fakture += " AND fakture.id_ducan='" + cbDucan + "'";
            }

            string sql = "SELECT  " +
                         " SUM((faktura_stavke.vpc- " +
                         " (faktura_stavke.vpc*(CAST(REPLACE(rabat,',','.') as NUMERIC)/100)))* " +
                         " CAST(REPLACE(faktura_stavke.kolicina,',','.') as NUMERIC)) AS Prodajna, " +

                         " SUM((CAST(faktura_stavke.nbc as NUMERIC)*CAST(REPLACE(faktura_stavke.kolicina,',','.') as NUMERIC))) AS Nabavna, " +

                         " fakture.oduzmi_iz_skladista,roba.oduzmi " +
                         " FROM faktura_stavke " +
                         " LEFT JOIN fakture ON fakture.broj_fakture = faktura_stavke.broj_fakture AND faktura_stavke.id_ducan=fakture.id_ducan AND faktura_stavke.id_kasa=fakture.id_kasa " +
                         " LEFT JOIN roba ON roba.sifra = faktura_stavke.sifra  " +
                         " WHERE  " +
                         " fakture.date >= '" + OD_datuma.ToString("yyyy-MM-dd H:mm:ss") + "' " +
                         " AND fakture.date <= '" + DO_datuma.ToString("yyyy-MM-dd H:mm:ss") + "' " + fakture +
                         " GROUP BY roba.oduzmi,fakture.oduzmi_iz_skladista;";

            DataTable DTfak = classSQL.select(sql, "fak").Tables[0];

            sql = "SELECT " +
                  " COALESCE( " +
                  "     SUM( " +
                  "         ((CAST(racun_stavke.mpc as NUMERIC)-(CAST(racun_stavke.mpc as NUMERIC)*CAST(REPLACE(rabat,',','.') as NUMERIC)/100))/ " +
                  "         (1zbroj(CAST(REPLACE(racun_stavke.porez,',','.') as NUMERIC)/100)))*CAST(REPLACE(racun_stavke.kolicina,',','.') as NUMERIC) " +
                  "     ) " +
                  " ,0) AS Prodajna, " +

                  " COALESCE(SUM(CAST(racun_stavke.nbc as NUMERIC)*CAST(REPLACE(racun_stavke.kolicina,',','.') as NUMERIC)),0) AS Nabavna, " +
                  " roba.oduzmi " +
                  " FROM racun_stavke  " +
                  " LEFT JOIN racuni ON racuni.broj_racuna = racun_stavke.broj_racuna AND racun_stavke.id_ducan=racuni.id_ducan AND racun_stavke.id_kasa=racuni.id_kasa" +
                  " LEFT JOIN roba ON roba.sifra = racun_stavke.sifra_robe  " +
                  " WHERE  " +
                  " racuni.datum_racuna >= '" + OD_datuma.ToString("yyyy-MM-dd H:mm:ss") + "' " +
                  " AND racuni.datum_racuna <= '" + DO_datuma.ToString("yyyy-MM-dd H:mm:ss") + "' " + racuni +
                  " GROUP BY roba.oduzmi;";

            DataTable DTrac = classSQL.select(sql, "rac").Tables[0];

            decimal prodajna, nabavna, Uprodajna = 0, Unabavna = 0;

            foreach (DataRow r in DTfak.Rows)
            {
                decimal.TryParse(r["Nabavna"].ToString(), out nabavna);
                decimal.TryParse(r["Prodajna"].ToString(), out prodajna);

                if (r["oduzmi"].ToString() == "DA")
                {
                    if (r["oduzmi_iz_skladista"].ToString() == "1")
                    {
                        dgv.Rows.Add("Fakture robno", nabavna.ToString("N2"), prodajna.ToString("N2"), (prodajna - nabavna).ToString("N2")); Unabavna += nabavna; Uprodajna += prodajna;
                    }
                    else
                    {
                        dgv.Rows.Add("Fakture robno (označena je da se ne skida sa skladišta)", nabavna.ToString("N2"), prodajna.ToString("N2"), (prodajna - nabavna).ToString("N2")); Unabavna += nabavna; Uprodajna += prodajna;
                    }
                }
                else
                {
                    if (r["oduzmi_iz_skladista"].ToString() == "1")
                    {
                        dgv.Rows.Add("Fakture usluge", nabavna.ToString("N2"), prodajna.ToString("N2"), (prodajna - nabavna).ToString("N2")); Unabavna += nabavna; Uprodajna += prodajna;
                    }
                    else
                    {
                        dgv.Rows.Add("Fakture usluge (označena je da se ne skida sa skladišta)", nabavna.ToString("N2"), prodajna.ToString("N2"), (prodajna - nabavna).ToString("N2")); Unabavna += nabavna; Uprodajna += prodajna;
                    }
                }
            }

            foreach (DataRow r in DTrac.Rows)
            {
                decimal.TryParse(r["Nabavna"].ToString(), out nabavna);
                decimal.TryParse(r["Prodajna"].ToString(), out prodajna);

                if (r["oduzmi"].ToString() == "DA")
                {
                    { dgv.Rows.Add("Maloprodaja robno", nabavna.ToString("N2"), prodajna.ToString("N2"), (prodajna - nabavna).ToString("N2")); Unabavna += nabavna; Uprodajna += prodajna; }
                }
                else
                {
                    { dgv.Rows.Add("Maloprodaja usluge", nabavna.ToString("N2"), prodajna.ToString("N2"), (prodajna - nabavna).ToString("N2")); Unabavna += nabavna; Uprodajna += prodajna; }
                }
            }

            dgv.Rows.Add("UKUPNO:", Unabavna.ToString("N2"), Uprodajna.ToString("N2"), (Uprodajna - Unabavna).ToString("N2"));
        }