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); }
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."; }
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 }
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); }