示例#1
0
        private void Button2_Click(object sender, EventArgs e)
        {
            int n = 1;

            foreach (var poz in _lista_zl)
            {
                label1.Text = $"Rozbijam {n++}/{_lista_zl.Count()}";
                label1.Refresh();
                this.Invalidate();

                try
                {
                    var lista = Analiza_zlec.Lista_pozycji(int.Parse(poz));

                    foreach (var poz1 in lista)
                    {
                        if (Math.Abs(poz1.Różnica_wartość) > _min_wartosc)
                        {
                            lista_do_gv.Add(poz1);
                        }
                    }
                }
                catch { }
            }

            dataGridView1.DataSource = lista_do_gv;
            dataGridView1.Refresh();
        }
示例#2
0
        public void Update_grid()
        {
            var db1    = new db_raportyDataContext();
            var nlinie = from c in db1.IPO_ZDAWKA_PWs
                         where c.Nr_zlecenia_IPO == nr_zlec
                         select c;


            var    n_linie     = Analiza_zlec.Lista_pozycji(nr_zlec);
            double nilosc_zlec = (double)(from c in nlinie where c.RW_PW == "PW" select c.Ilosc).Sum();

            label1.Text = kod_wyr + " : " + nilosc_zlec.ToString() + " SZT" + " ; Korekty na magazyn: " + mag_zlec;
            dataGridView1.DataSource = n_linie;
            dataGridView1.Update();

            return;

            var srv = new WebReference.Service1();

            var db     = new db_raportyDataContext();
            var db2008 = new DB2008DataContext();

            //skasuj stare rozpisy
            var do_skas = from c in db.IPO_ZDAWKA_PW_NORMAs where c.Nr_zlecenia_IPO == nr_zlec select c;

            db.IPO_ZDAWKA_PW_NORMAs.DeleteAllOnSubmit(do_skas);
            db.SubmitChanges();


            //znajdz magazyn domyślny dla zlecenia



            var linie = from c in db.IPO_ZDAWKA_PWs
                        where c.Nr_zlecenia_IPO == nr_zlec
                        select c;

            //wyceń materiały - nie przejmujemy się jednostkami.
            foreach (var l in linie)
            {
                var tkw = (from c in db.słownik_TKWs where c.Indeks.Trim() == l.Nr_indeksu.Trim() select c.Koszt).FirstOrDefault();

                if (l.RW_PW == "PW")
                {
                    l.Koszt_IPO = Math.Round((double)tkw * (double)l.Ilosc, 3);
                }
                if (l.RW_PW == "RW")
                {
                    l.Koszt_IPO = Math.Round((double)tkw * (double)-l.Ilosc, 3);
                }
                if (l.RW_PW == "PU")
                {
                    l.Koszt_IPO = Math.Round((double)tkw * (double)-l.Ilosc, 3);
                }

                db.SubmitChanges();
            }

            double ilosc_zlec = (double)(from c in linie where c.RW_PW == "PW" select c.Ilosc).Sum();

            // utwórz zlecenie w tabeli przejściowej.
            label1.Text = kod_wyr + " : " + ilosc_zlec.ToString() + " SZT" + " ; Korekty na magazyn: " + mag_zlec;
            srv.Dodaj_rozpis_do_Tabeli(nr_zlec, 0, ilosc_zlec);

            // wyceń rozpis
            var linie_norma = from c in db.IPO_ZDAWKA_PW_NORMAs
                              where c.Nr_zlecenia_IPO == nr_zlec && c.RW_PW == "RW"
                              select c;

            //wyceń materiały - nie przejmujemy się jednostkami.
            foreach (var l in linie_norma)
            {
                var tkw = (from c in db.słownik_TKWs where c.Indeks.Trim() == l.Nr_indeksu.Trim() select c.Koszt).FirstOrDefault();

                if (l.RW_PW == "PW")
                {
                    l.Koszt_IPO = Math.Round((double)tkw * (double)l.Ilosc, 3);
                }
                if (l.RW_PW == "RW")
                {
                    l.Koszt_IPO = Math.Round((double)tkw * (double)-l.Ilosc, 3);
                }
                if (l.RW_PW == "PU")
                {
                    l.Koszt_IPO = Math.Round((double)tkw * (double)-l.Ilosc, 3);
                }

                db.SubmitChanges();
            }

            var total = (from c in linie where c.RW_PW == "RW" select new { TYP = "JDE", c.Nr_zlecenia_IPO, Indeks = c.Nr_indeksu.Trim(), c.Nazwa_pozycji, c.Ilosc, c.Koszt_IPO })
                        .Concat(from g in linie_norma select new { TYP = "NORMA", g.Nr_zlecenia_IPO, Indeks = g.Nr_indeksu.Trim(), g.Nazwa_pozycji, g.Ilosc, g.Koszt_IPO }).ToArray();

            // zgrupuj
            List <Item> lst = new List <Item>();
            //utwórz listę indeksów
            var lista_indeksow = (from c in total select c.Indeks).Distinct();

            foreach (var i in lista_indeksow)
            {
                Item itm = new Item();

                var tmp = from c in total where c.Indeks == i select c;
                itm.Nr_indeksu      = i;
                itm.Nazwa           = tmp.First().Nazwa_pozycji;
                itm.Ilość_JDE       = (double)(from c in tmp where c.TYP == "JDE" select c.Ilosc).Sum();
                itm.Wartość_JDE     = (double)(from c in tmp where c.TYP == "JDE" select c.Koszt_IPO).Sum();
                itm.Ilość_NORMA     = (double)(from c in tmp where c.TYP == "NORMA" select c.Ilosc).Sum();
                itm.Wartość_NORMA   = (double)(from c in tmp where c.TYP == "NORMA" select c.Koszt_IPO).Sum();
                itm.Różnica_ilość   = Math.Round(itm.Ilość_JDE + itm.Ilość_NORMA);
                itm.Różnica_wartość = Math.Round(itm.Wartość_JDE + itm.Wartość_NORMA, 3);

                lst.Add(itm);
            }



            dataGridView1.DataSource = lst;
            dataGridView1.Update();
        }