Beispiel #1
0
 public void AracListesiniOku()
 {
     using (dbTezRotaDataContext dc = new dbTezRotaDataContext())
     {
         AracListesi = dc.tAracs.Where(a => this.AracTipleri.Contains(a.AracTipId)).Select(a => a.Arac()).ToList();
     }
 }
Beispiel #2
0
 public void DataGridePlanYukle(int pid, ref DataGridView dataGridView)
 {
     using (dbTezRotaDataContext dc = new dbTezRotaDataContext())
     {
         var result = dc.tTasimas.Where(a => a.PlanId == pid);
         dataGridView.DataSource = result;
     }
 }
Beispiel #3
0
 public void TasimaListesiniOku()
 {
     using (dbTezRotaDataContext dc = new dbTezRotaDataContext())
     {
         AracTipleri   = dc.tAracTipis.Select(a => a.Id).ToList();
         TasimaListesi = dc.tTasimas.Where(a => a.PlanId == this.PlanId).Select(a => a.Tasima()).ToList();
         //TasimaListesi = dc.tTasimas.Where(a => this.AracTipleri.Contains(a.TasimaTipi)).Select(a => a.Tasima()).ToList();
     }
 }
Beispiel #4
0
 public void ComboPlanYukle(ref ComboBox combo)
 {
     using (dbTezRotaDataContext dc = new dbTezRotaDataContext())
     {
         Dictionary <int, string> veri = new Dictionary <int, string>();
         var planListesi = dc.tPlans.ToList();
         if (planListesi.Any())
         {
             foreach (var p in planListesi)
             {
                 veri.Add(p.Id, p.PlanIsmi);
             }
             combo.DataSource    = new BindingSource(veri, null);
             combo.DisplayMember = "Value";
             combo.ValueMember   = "Key";
         }
     }
 }
Beispiel #5
0
 public void NoktaListesiniOku()
 {
     using (dbTezRotaDataContext dc = new dbTezRotaDataContext())
     {
         var result = dc.tNoktas.ToList();
         foreach (var item in result)
         {
             var    tnokta    = dc.tNoktas.Where(a => a.Id == item.Id).FirstOrDefault();
             var    kordinate = tnokta.kordinat.Split(',');
             double enlem     = double.Parse(kordinate.ElementAt(0).Trim(), System.Globalization.NumberStyles.AllowDecimalPoint);
             double boylam    = double.Parse(kordinate.ElementAt(1).Trim(), System.Globalization.NumberStyles.AllowDecimalPoint);
             Nokta  n         = new Nokta();
             n.Enlem  = enlem;
             n.Boylam = boylam;
             n.Id     = tnokta.Id;
             NoktaListesi.Add(n);
         }
     }
 }
Beispiel #6
0
        public void SonucBilginiYaz()
        {
            using (dbTezRotaDataContext dc = new dbTezRotaDataContext())
            {
                tOptimizasyonEmir tOp = new tOptimizasyonEmir();
                tOp.BaslangicSkor        = NakliyeListesi.Max(a => a.NakSkor).ToString();
                tOp.PlanId               = this.PlanId;
                tOp.Sicaklik             = this.Sicaklik;
                tOp.SicaklikAzaltmaOrani = this.SicaklikAzaltmaOrani;
                tOp.Dongu      = this.Dongu;
                tOp.SonucSkor  = this.EnIyiCozum.Max(a => a.NakSkor).ToString();
                tOp.EmirZamani = DateTime.Now;
                dc.tOptimizasyonEmirs.InsertOnSubmit(tOp);
                dc.SubmitChanges();

                tOptimizasyonSonuc tos = new tOptimizasyonSonuc();

                int i = 0;
                foreach (var item in this.EnIyiCozum)
                {
                    foreach (var n in item.RotaList)
                    {
                        tos           = new tOptimizasyonSonuc();
                        tos.EmirId    = tOp.Id;
                        tos.NakliyeNo = item.NakliyeNo;
                        var tasimaListesi = this.NakliyeListesi.Where(a => a.NakliyeNo == item.NakliyeNo && a.PlanId == PlanId)
                                            .FirstOrDefault().TasimaListesi;
                        Tasima tasima;
                        if (i == 0)
                        {
                            tasima = tasimaListesi.Where(a => a.KaynakId == 65).FirstOrDefault();
                            i      = 99;
                        }
                        tasima = tasimaListesi.Where(a => a.HedefId == n).FirstOrDefault();


                        tos.TasimaId = tasima.Id;
                        dc.tOptimizasyonSonucs.InsertOnSubmit(tos);
                        dc.SubmitChanges();
                    }
                }
            }
        }
Beispiel #7
0
        public void RassalPlanUret()
        {
            var seed = (int)DateTime.Now.Ticks;
            var rnd  = new Random(seed);

            maxSiraId  = 10;
            RotaSayisi = 20;
            List <int> tasimaTipleri = new List <int>()
            {
                1, 2, 3, 4, 5
            };

            using (dbTezRotaDataContext dc = new dbTezRotaDataContext())
            {
                List <int> NoktaIdListesi   = dc.tNoktas.Where(a => a.Id != ELM).Select(a => a.Id).ToList();
                List <int> tempHedefListesi = new List <int>();
                int        noktaSayisi      = NoktaIdListesi.Count;
                int        tasimaTipSayisi  = tasimaTipleri.Count;
                tPlan      plan             = new tPlan();
                plan.PlanIsmi = "Plan - " + DateTime.Now.ToString();

                dc.tPlans.InsertOnSubmit(plan);
                dc.SubmitChanges();

                MessageBox.Show("Plan başarılı şekilde oluşturulmuştur.");
                int KaynakId = ELM;
                int HedefId  = 0;
                //taşıma oluşturma

                for (int i = 0; i < RotaSayisi; i++)
                {
                    random = new Random((int)DateTime.Now.Ticks);
                    int    tid       = random.Next(0, tasimaTipSayisi);
                    string nakliyeNo = "N-" + i;
                    for (int s = 0; s < maxSiraId; s++)
                    {
                        if (s == 0)
                        {
                            KaynakId = ELM;
                        }
                        if (s == (maxSiraId - 1))
                        {
                            HedefId = ELM;
                        }
                        else
                        {
                            var randomHedefList = NoktaIdListesi.Except(tempHedefListesi);
                            int ind             = rnd.Next(0, randomHedefList.Count());
                            HedefId = randomHedefList.ElementAt(ind);
                            tempHedefListesi.Add(HedefId);
                        }

                        tTasima t = new tTasima();
                        t.PlanId     = plan.Id;
                        t.KaynakId   = KaynakId;
                        t.HedefId    = HedefId;
                        t.SiraId     = s;
                        t.NakliyeNo  = nakliyeNo;
                        t.TasimaTipi = tasimaTipleri.ElementAt(tid);
                        dc.tTasimas.InsertOnSubmit(t);
                        dc.SubmitChanges();
                        KaynakId = HedefId;
                    }
                    KaynakId = ELM;
                    tempHedefListesi.Clear();
                }
                MessageBox.Show("Plana taşıma eklenmiştir.");
            }
        }
Beispiel #8
0
        public void DataTableToPlan()
        {
            var seed = (int)DateTime.Now.Ticks;
            var rnd  = new Random(seed);

            List <Tasima>       Tasimalar      = new List <Tasima>();
            List <tNokta>       noktalar       = new List <tNokta>();
            List <tNoktaKaynak> kaynakNoktalar = new List <tNoktaKaynak>();
            var araclar = new List <tArac>();;

            using (dbTezRotaDataContext dc = new dbTezRotaDataContext())
            {
                noktalar       = dc.tNoktas.ToList();
                kaynakNoktalar = dc.tNoktaKaynaks.ToList();
                araclar        = dc.tAracs.ToList();
            }
            Nokta  KaynakNokta  = new Nokta();
            Tasima t            = new Tasima();
            var    tempLokasyon = string.Empty;

            for (int i = 0; i < dtExcelPlan.Rows.Count; i++)
            {
                string Lokasyon   = dtExcelPlan.Rows[i]["Lokasyon"].ToString();
                int    SiraId     = Convert.ToInt32(dtExcelPlan.Rows[i]["Olay Sırası"]);
                string NakliyeNo  = dtExcelPlan.Rows[i]["Nakliye"].ToString();
                string dorsePlaka = dtExcelPlan.Rows[i]["Plaka"].ToString();


                if (SiraId == 1)
                {
                    t           = new Tasima();
                    KaynakNokta = new Nokta();
                    var EldekiNokta = kaynakNoktalar.Where(a => a.Kodu2.Contains(Lokasyon)).FirstOrDefault();
                    if (EldekiNokta == null)
                    {
                        continue;
                    }
                    var MevcutNokta = noktalar.Where(a => a.nokta_isim == EldekiNokta.NoktaAdi).FirstOrDefault();
                    var arac        = araclar.Where(a => a.DorsePlaka == dorsePlaka).FirstOrDefault();
                    if (arac == null)
                    {
                        arac = araclar.FirstOrDefault();
                    }
                    t.NakliyeNo = NakliyeNo;
                    t.KaynakId  = MevcutNokta.Id;

                    t.TasimaninAraci.AracId  = arac.Id;
                    t.TasimaninAraci.AracTip = arac.AracTipId;
                    tempLokasyon             = Lokasyon;
                }
                if (tempLokasyon != string.Empty && tempLokasyon != Lokasyon && SiraId != 1)
                {
                    var HedefNokta = new Nokta();
                    tempLokasyon = Lokasyon;
                    if (Lokasyon.StartsWith("000"))
                    {
                        Lokasyon = Lokasyon.Remove(0, 3);
                    }
                    else if (Lokasyon.StartsWith("00"))
                    {
                        Lokasyon = Lokasyon.Remove(0, 2);
                    }
                    var EldekiNokta = kaynakNoktalar.Where(a => (a.Kodu2 ?? string.Empty).Contains(Lokasyon)).FirstOrDefault();
                    if (EldekiNokta == null)
                    {
                        continue;
                    }
                    var MevcutNokta = noktalar.Where(a => a.nokta_isim.ToLower().Contains(EldekiNokta.NoktaAdi.ToLower())).FirstOrDefault();
                    if (MevcutNokta == null)
                    {
                        continue;
                    }

                    var arac = araclar.Where(a => a.DorsePlaka == dorsePlaka).FirstOrDefault();
                    if (arac == null)
                    {
                        arac = araclar.FirstOrDefault();
                    }
                    t.NakliyeNo              = NakliyeNo;
                    t.TasimaninAraci.AracId  = arac.Id;
                    t.TasimaninAraci.AracTip = arac.AracTipId;
                    if (t.KaynakId == 0)
                    {
                        t.KaynakId     = KaynakNokta.Id;
                        t.HedefId      = MevcutNokta.Id;
                        KaynakNokta.Id = MevcutNokta.Id;
                        Tasimalar.Add(t);
                        t = new Tasima();
                    }
                    else
                    {
                        t.HedefId      = MevcutNokta.Id;
                        KaynakNokta.Id = MevcutNokta.Id;
                        Tasimalar.Add(t);
                        t = new Tasima();
                    }

                    using (dbTezRotaDataContext dc = new dbTezRotaDataContext())
                    {
                        var nokta = dc.tNoktas.Where(a => a.Id == MevcutNokta.Id).FirstOrDefault();
                        nokta.musteriKodu = Lokasyon;
                        dc.SubmitChanges();
                    }
                }
            }

            var dur = 0;

            using (dbTezRotaDataContext dc = new dbTezRotaDataContext())
            {
                tPlan tp = new tPlan();
                tp.PlanIsmi = FilePath;
                dc.tPlans.InsertOnSubmit(tp);
                dc.SubmitChanges();
                int s            = 0;
                var t2           = string.Empty;
                var naklileyeler = Tasimalar.GroupBy(a => a.NakliyeNo).ToList();

                foreach (var n in naklileyeler)
                {
                    s = 0;
                    if (n.Where(a => a.HedefId == 65).Count() < 3)
                    {
                        if (n.Count() > 3)
                        {
                            foreach (var te in n)
                            {
                                tTasima ta = new tTasima();
                                ta.PlanId    = tp.Id;
                                ta.KaynakId  = te.KaynakId;
                                ta.HedefId   = te.HedefId;
                                ta.NakliyeNo = te.NakliyeNo;
                                ta.SiraId    = s;
                                s++;
                                dc.tTasimas.InsertOnSubmit(ta);
                                dc.SubmitChanges();
                            }
                        }
                    }
                }
            }
        }