public List <Duruslar> duruslar_data_read(string tarih, string firma, string unite, string tablotip = "DURUS")
        {
            List <Duruslar> duruslar = new List <Duruslar>();

            this.sql = "SELECT BILGITNM,K1,K2,K3,K4,K5,K6,K7,K8,K9 FROM API_DB_001_Y " +
                       "WHERE TARIH=" + tarih + " AND FIRMA='" + firma + "' AND UNITE='" + unite + "' AND TABLOTIP='" + tablotip + "' " +
                       "ORDER BY CAST(BILGISIRANO AS INT)";

            this.cmd.CommandText = this.sql;
            this.dr = this.cmd.ExecuteReader();
            if (!this.dr.HasRows)
            {
                //kayit bulunamadiysa
                Duruslar d = new Duruslar();
                d.Durus_nedeni = " Listelenecek kayıt bulunamadı.";
                d.Durus_id     = 0;
                duruslar.Add(d);
            }
            else
            {
                try
                {
                    while (this.dr.Read())
                    {
                        Duruslar d = new Duruslar();
                        d.Durus_id     = 1;
                        d.Durus_nedeni = this.dr[0].ToString();
                        d.Gun_sure     = this.dr[1].ToString();
                        d.Gun_tekrar   = this.dr[2].ToString();
                        d.Gun_yuzde    = this.dr[3].ToString();
                        d.Ay_yuzde     = this.dr[6].ToString();
                        d.Yil_yuzde    = this.dr[9].ToString();
                        //if (firma != "YAZICI")
                        //{
                        //    d.Ay_sure = Convert.ToDouble(this.dr[4].ToString().Equals("") ? 0 : this.dr[4]).ToString("###,###.###");
                        //    d.Ay_tekrar = Convert.ToDouble(this.dr[5].ToString().Equals("") ? 0 : this.dr[5]).ToString("###,###.###");

                        //    d.Yil_sure = Convert.ToDouble(this.dr[7].ToString().Equals("") ? 0 : this.dr[7]).ToString("###,###.###");
                        //    d.Yil_tekrar = Convert.ToDouble(this.dr[8].ToString().Equals("") ? 0 : this.dr[8]).ToString("###,###.###");
                        //}
                        //else
                        //{
                        d.Ay_sure    = this.dr[4].ToString();
                        d.Ay_tekrar  = this.dr[5].ToString();
                        d.Yil_sure   = this.dr[7].ToString();
                        d.Yil_tekrar = this.dr[8].ToString();

                        duruslar.Add(d);
                    }
                }
                catch
                {
                    throw;
                }
            }
            this.dr.Close();
            this.dr.Dispose();

            return(duruslar);
        }
示例#2
0
        private void VeriUret()
        {
            var tarih = new DateTime(2017, 1, 1, 8, 0, 0);
            var kod   = 1001;

            for (int i = 0; i < 20; i++) //20 tane iş emri üretimi
            {
                var yeniEmir = new Emir()
                {
                    Kod       = kod + i,
                    Baslangic = tarih,
                };
                tarih          = tarih.AddHours(8); //örnekte 8 saatlik iş emirleri bulunmaktaydı
                yeniEmir.Bitis = tarih;
                Emirler.Add(yeniEmir);
            }

            var rnd = new Random();

            tarih = new DateTime(2017, 1, 1, 8, 0, 0);

            for (DateTime i = tarih; i.Day <= Emirler.Last().Bitis.Day; i = i.AddDays(1)) // üretilen emir günlerini tek tek dönen döngü
            {
                //her gün için 5 ile 10 arası random duruş nedenleri eklenecek.
                var adet = rnd.Next(5, 10);
                for (int j = 0; j < adet; j++)
                {
                    var index = rnd.Next(_nedenTipleri.Length); //hangi neden seçildi

                    var gunIciRandomSaat   = rnd.Next(0, 24);
                    var gunIciRandomDakika = rnd.Next(0, 60);

                    var durusTarihi = new DateTime(i.Year, i.Month, i.Day, gunIciRandomSaat, gunIciRandomDakika, 0);

                    var durus = new Durus()
                    {
                        Neden     = _nedenTipleri[index],
                        Baslangic = durusTarihi,
                        Bitis     = durusTarihi.AddMinutes(_sureler[index])
                    };

                    if (durus.Baslangic < Emirler.First().Baslangic || durus.Bitis > Emirler.Last().Bitis)
                    {
                        continue; //eğer random eklenen durus bitiş tarihinden ileri veya geri ise eklenmesin
                    }
                    Duruslar.Add(durus);
                }
            }

            Duruslar = Duruslar.OrderBy(x => x.Baslangic).ToList();//baslangic tarihlerine göre sıralandı

            this.Text = $"Toplam: {Emirler.Count} iş emri, {Duruslar.Count} duruş listelenmiştir.";
        }
示例#3
0
        private void Hesapla()
        {
            var raporAggs = new List <RaporAggregator>();

            foreach (var emir in Emirler)
            {
                var vm = new RaporAggregator
                {
                    Kod      = emir.Kod,
                    Duruslar = Duruslar
                               .Where(x => x.Baslangic >= emir.Baslangic)
                               .ToList()
                };
                raporAggs.Add(vm);
            }

            //buraya kadar her duruş hangi iş emrinde onları ayarladık

            foreach (var item in raporAggs)
            {
                var arge   = item.Duruslar.FirstOrDefault(x => x.Neden == "Arge")?.Sure;
                var mola   = item.Duruslar.FirstOrDefault(x => x.Neden == "Mola")?.Sure;
                var arıza  = item.Duruslar.FirstOrDefault(x => x.Neden == "Arıza")?.Sure;
                var setup  = item.Duruslar.FirstOrDefault(x => x.Neden == "Setup")?.Sure;
                var xDurum = item.Duruslar.FirstOrDefault(x => x.Neden == "X durum")?.Sure;
                var lpm    = new PivotModel()
                {
                    Kod    = item.Kod,
                    Arge   = arge.GetValueOrDefault(),
                    Arıza  = arıza.GetValueOrDefault(),
                    Mola   = mola.GetValueOrDefault(),
                    Setup  = setup.GetValueOrDefault(),
                    XDurum = xDurum.GetValueOrDefault(),
                    Toplam = item.ToplamSure
                };
                ListPivotModel.Add(lpm);
            }
            //genel toplam hesaplama
        }
示例#4
0
        public List <Duruslar> duruslar_data_read_hh(string tarih)
        {
            List <Duruslar> duruslar      = new List <Duruslar>();
            string          yil           = tarih.Substring(0, 4);
            string          yil_baslangic = yil + "0101";
            string          yil_ay        = tarih.Substring(0, 6);
            string          ay_baslangic  = yil_ay + "01";

            this.sql = "SELECT " +
                       "(SELECT SUM(NETSURE) FROM DURUS_RAPOR_OZT H WHERE TARIH = " + tarih + "  ) AS GUNLUKSURE," +
                       "(SELECT SUM(NETSURE) FROM DURUS_RAPOR_OZT H WHERE TARIH BETWEEN '" + ay_baslangic + "' AND '" + tarih + "' ) AS AYLIKSURE," +
                       "(SELECT SUM(NETSURE) FROM DURUS_RAPOR_OZT H WHERE TARIH BETWEEN '" + yil_baslangic + "' AND '" + tarih + "') AS YILLIKSURE," +
                       "(SELECT COUNT(DURUS) FROM DURUS_RAPOR_OZT H WHERE TARIH = " + tarih + ") AS GUNLUKSURE," +
                       "(SELECT  COUNT(DURUS) FROM DURUS_RAPOR_OZT H WHERE TARIH BETWEEN '" + ay_baslangic + "' AND '" + tarih + "' ) AS AYLIKSURE," +
                       "(SELECT COUNT(DURUS) FROM DURUS_RAPOR_OZT H WHERE TARIH BETWEEN '" + yil_baslangic + "' AND '" + tarih + "' ) AS YILLIKSURE " +
                       "FROM DURUS_RAPOR_OZT WHERE ROWNUM=1";
            this.cmd.CommandText = this.sql;
            this.dr = this.cmd.ExecuteReader();
            while (this.dr.Read())
            {
                Duruslar d = new Duruslar();
                d.Durus_id           = 1;
                d.Durus_nedeni       = "TOPLAM";
                d.Gun_sure           = Convert.ToDouble(this.dr[0].ToString().Equals("") ? 0 : this.dr[0]).ToString("###,###.###");
                d.Gun_tekrar         = Convert.ToDouble(this.dr[3].ToString().Equals("") ? 0 : this.dr[3]).ToString("###,###.###");
                gun_toplam_tekrar_hh = d.Gun_tekrar;
                d.Gun_yuzde          = "100";
                d.Ay_sure            = Convert.ToDouble(this.dr[1].ToString().Equals("") ? 0 : this.dr[1]).ToString("###,###.###");
                d.Ay_yuzde           = "100";
                d.Ay_tekrar          = Convert.ToDouble(this.dr[4].ToString().Equals("") ? 0 : this.dr[4]).ToString("###,###.###");
                ay_toplam_tekrar_hh  = d.Ay_tekrar;
                d.Yil_sure           = Convert.ToDouble(this.dr[2].ToString().Equals("") ? 0 : this.dr[2]).ToString("###,###.###");
                d.Yil_yuzde          = "100";
                d.Yil_tekrar         = Convert.ToDouble(this.dr[5].ToString().Equals("") ? 0 : this.dr[5]).ToString("###,###.###");
                yil_toplam_tekrar_hh = d.Yil_tekrar;
                duruslar.Add(d);
            }

            this.sql = "SELECT TNM.DURUS," +
                       "(SELECT SUM(NETSURE) FROM DURUS_RAPOR_OZT H WHERE TARIH = " + tarih + " AND H.DURUS = TNM.DURUS ) AS GUNLUKSURE," +
                       "(SELECT SUM(NETSURE) FROM DURUS_RAPOR_OZT H WHERE TARIH BETWEEN '" + ay_baslangic + "' AND '" + tarih + "' AND H.DURUS = TNM.DURUS) AS AYLIKSURE," +
                       "(SELECT SUM(NETSURE) FROM DURUS_RAPOR_OZT H WHERE TARIH BETWEEN '" + yil_baslangic + "' AND '" + tarih + "' AND H.DURUS = TNM.DURUS) AS YILLIKSURE, " +
                       "(SELECT COUNT(DURUS) FROM DURUS_RAPOR_OZT H WHERE TARIH = " + tarih + "  AND TNM.DURUS = H.DURUS ) AS GUNLUKSURE," +
                       "(SELECT  COUNT(DURUS) FROM DURUS_RAPOR_OZT H WHERE TARIH BETWEEN '" + ay_baslangic + "' AND '" + tarih + "' AND TNM.DURUS = H.DURUS ) AS AYLIKSURE," +
                       "(SELECT COUNT(DURUS) FROM DURUS_RAPOR_OZT H WHERE TARIH BETWEEN '" + yil_baslangic + "' AND '" + tarih + "' AND  TNM.DURUS = H.DURUS) AS YILLIKSURE " +
                       "FROM DURUS_RAPOR_OZT TNM GROUP BY TNM.DURUS";
            //D2 duruş nedeni
            this.cmd.CommandText = this.sql;
            this.dr = this.cmd.ExecuteReader();
            while (this.dr.Read())
            {
                Duruslar d = new Duruslar();
                d.Durus_id     = 1;
                d.Durus_nedeni = this.dr[0].ToString();
                d.Gun_sure     = this.dr[1].ToString();
                d.Gun_tekrar   = this.dr[4].ToString();
                if (d.Gun_tekrar != "" && d.Gun_tekrar != "0")
                {
                    d.Gun_yuzde = ((Convert.ToInt32(d.Gun_tekrar) / Convert.ToDouble(gun_toplam_tekrar_hh)) * 100).ToString("0.#");
                }
                d.Ay_sure   = Convert.ToDouble(this.dr[2].ToString().Equals("") ? 0 : this.dr[2]).ToString("###,###.###");
                d.Ay_tekrar = this.dr[5].ToString();
                if (d.Ay_tekrar != "" && d.Ay_tekrar != "0")
                {
                    d.Ay_yuzde = ((Convert.ToInt32(d.Ay_tekrar) / Convert.ToDouble(ay_toplam_tekrar_hh)) * 100).ToString("0.#");
                }
                d.Yil_sure   = Convert.ToDouble(this.dr[3].ToString().Equals("") ? 0 : this.dr[3]).ToString("###,###.###");
                d.Yil_tekrar = this.dr[6].ToString();
                if (d.Yil_tekrar != "" && d.Yil_tekrar != "0")
                {
                    d.Yil_yuzde = ((Convert.ToInt32(d.Yil_tekrar) / Convert.ToDouble(yil_toplam_tekrar_hh)) * 100).ToString("0.#");
                }
                duruslar.Add(d);
            }


            this.dr.Close();
            this.dr.Dispose();

            return(duruslar);
        }