public ActionResult Create([Bind(Include = "Id,RevizeId,SCProvozuId,StavKoroze,StavZnecisteni,JineZavady,UmisteniId,Baterie,Pyro,TlakovaZkouska,RevizeTlakoveNadoby,VnitrniRevizeTlakoveNadoby")] RevizeSC revizeSC) { if (ModelState.IsValid) { int RevizeId = 0; try { SCProvozu scprovozu = new SCProvozu(); scprovozu = db.SCProvozu.Find(revizeSC.SCProvozuId); revizeSC.UmisteniId = scprovozu.Umisteni; db.RevizeSC.Add(revizeSC); RevizeId = revizeSC.RevizeId; db.SaveChanges(); } catch (Exception ex) { log.Error("Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); } Revize revize = new Revize(); revize = db.Revize.Find(RevizeId); Revize.UpdateRevizeHeader(RevizeId); return(RedirectToAction("Details", "Revize", new { Id = RevizeId })); //return RedirectToAction("Index"); } ViewBag.RevizeId = new SelectList(db.Revize, "Id", "ZjistenyStav", revizeSC.RevizeId); ViewBag.SCProvozuId = new SelectList(db.SCProvozu, "Id", "Lokace", revizeSC.SCProvozuId); ViewBag.UmisteniId = new SelectList(db.Umisteni, "Id", "NazevUmisteni", revizeSC.UmisteniId); return(View(revizeSC)); }
// GET: GenerovaniRevizeTlakoveZkousky public ActionResult Index(int RevizeId) { var revize = Revize.GetById(RevizeId); GenerovaniRevizeTlakoveZkousky.GenerujReviziTlakoveZkousky(revize.Provoz.ZakaznikId, revize.ProvozId, revize.UmisteniId, revize.Rok.Value); Revize.UpdateRevizeHeader(RevizeId); return(RedirectToAction("Nahled", "Revize", null)); }
public ActionResult DeleteConfirmed(int id) { RevizeSC revizeSC = db.RevizeSC.Find(id); int RevizeId = 0; try { RevizeId = revizeSC.RevizeId; db.RevizeSC.Remove(revizeSC); db.SaveChanges(); } catch (Exception ex) { log.Error("Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); } Revize revize = new Revize(); revize = db.Revize.Find(RevizeId); Revize.UpdateRevizeHeader(RevizeId); return(RedirectToAction("Details", "Revize", new { Id = RevizeId })); }
public ActionResult Edit([Bind(Include = "Id,RevizeId,SCProvozuId,StavKoroze,StavZnecisteni,JineZavady,UmisteniId,Baterie,Pyro,TlakovaZkouska,Stav,DobaProvozu,HodinyProvozu,DobaProvozuString,RevizeTlakoveNadoby,VnitrniRevizeTlakoveNadoby")] RevizeSC revizeSC) { int RevizeId = 0; //revizeSC = RevizeSC.CalculateDobuProvozu(revizeSC); if (ModelState.IsValid) { try { RevizeId = revizeSC.RevizeId; db.Entry(revizeSC).State = EntityState.Modified; db.SaveChanges(); } catch (Exception ex) { log.Error("Error number: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); } Revize revize = new Revize(); revize = db.Revize.Find(RevizeId); Revize.UpdateRevizeHeader(RevizeId); return(RedirectToAction("Details", "Revize", new { Id = RevizeId })); } ViewBag.RevizeId = new SelectList(db.Revize, "Id", "ZjistenyStav", revizeSC.RevizeId); ViewBag.SCProvozuId = new SelectList(db.SCProvozu, "Id", "Lokace", revizeSC.SCProvozuId); ViewBag.UmisteniId = new SelectList(db.Umisteni, "Id", "NazevUmisteni", revizeSC.UmisteniId); return(View(revizeSC)); }
/// <summary> /// Prohledani seznamu a dohledani zda již neexistuji revize v danem obdobi /// </summary> /// <param name="conn"></param> /// <param name="listplanrev"></param> /// <returns></returns> private static List <VypocetPlanuRevizi> LoopAndCreate(string conn, List <VypocetPlanuRevizi> listplanrev) { foreach (var item in listplanrev) { if (item.UmisteniId == 0) { var r1exist = Revize.ExistRevision(item.ZakaznikId, item.ProvozId, item.Rok_R1, item.R1POL, null); if (r1exist == false) { item.Revize1 = Revize.GenerateRevision(item.ProvozId, item.Rok_R1, item.R1POL, item.R1.Value, StatusRevize.Planned(), null, "", ""); List <SCList> sclist = new List <SCList>(); sclist = SCList.FindScForRevision(conn, item.ProvozId, null, item.Rok_R1, item.R1POL); var t = SCList.AddItemsFromList(sclist, item.Revize1.Id); RevizeSC revizesc = new RevizeSC(); Revize.UpdateRevizeHeader(item.Revize1.Id); //bool done = RevizeSC.CreateUpdateSC(SCProvozu.GetList(item.ProvozId, null, 1, null), item.Revize1.Id); } else { item.Revize1 = Revize.ReturnRevision(item.ZakaznikId, item.ProvozId, item.Rok_R1, item.R1POL, null, null); } var r2exist = Revize.ExistRevision(item.ZakaznikId, item.ProvozId, item.Rok_R2, item.R2POL, null); if (r2exist == false) { item.Revize2 = Revize.GenerateRevision(item.ProvozId, item.Rok_R2, item.R2POL, item.R2.Value, StatusRevize.Planned(), null, "", ""); List <SCList> sclist = new List <SCList>(); sclist = SCList.FindScForRevision(conn, item.ProvozId, null, item.Rok_R2, item.R2POL); var t = SCList.AddItemsFromList(sclist, item.Revize2.Id); RevizeSC revizesc = new RevizeSC(); Revize.UpdateRevizeHeader(item.Revize2.Id); } else { item.Revize2 = Revize.ReturnRevision(item.ZakaznikId, item.ProvozId, item.Rok_R2, item.R2POL, null, null); } // update hlavicky - počet baterií, palníků atd } else { var r1exist = Revize.ExistRevision(item.ZakaznikId, item.ProvozId, item.Rok_R1, item.R1POL, item.UmisteniId); if (r1exist == false) { item.Revize1 = Revize.GenerateRevision(item.ProvozId, item.Rok_R1, item.R1POL, item.R1.Value, StatusRevize.Planned(), item.UmisteniId, "", ""); List <SCList> sclist = new List <SCList>(); sclist = SCList.FindScForRevision(conn, item.ProvozId, item.UmisteniId, item.Rok_R1, item.R1POL); var t = SCList.AddItemsFromList(sclist, item.Revize1.Id); RevizeSC revizesc = new RevizeSC(); Revize.UpdateRevizeHeader(item.Revize1.Id); } else { item.Revize1 = Revize.ReturnRevision(item.ZakaznikId, item.ProvozId, item.Rok_R1, item.R1POL, item.UmisteniId, null); } var r2exist = Revize.ExistRevision(item.ZakaznikId, item.ProvozId, item.Rok_R2, item.R2POL, item.UmisteniId); if (r2exist == false) { item.Revize2 = Revize.GenerateRevision(item.ProvozId, item.Rok_R2, item.R2POL, item.R2.Value, StatusRevize.Planned(), item.UmisteniId, "", ""); List <SCList> sclist = new List <SCList>(); sclist = SCList.FindScForRevision(conn, item.ProvozId, item.UmisteniId, item.Rok_R2, item.R2POL); var t = SCList.AddItemsFromList(sclist, item.Revize2.Id); RevizeSC revizesc = new RevizeSC(); Revize.UpdateRevizeHeader(item.Revize2.Id); } else { item.Revize2 = Revize.ReturnRevision(item.ZakaznikId, item.ProvozId, item.Rok_R2, item.R2POL, item.UmisteniId, null); } // update hlavicky - počet baterií, palníků atd } } return(listplanrev); }
internal protected static void GenerujRevizi(int ZakaznikId, int ProvozId, int Rok, int?UmisteniId, string Nabidka, string Projekt) { bool existrevize1; bool existrevize2; GenRevizeCust gen = new GenRevizeCust(); DnyRevize dnyRevize = MinimalniDatum(ZakaznikId, ProvozId, Rok, UmisteniId); gen.Dnyrevize = dnyRevize; // REVIZE1 if ((UmisteniId != null) && (UmisteniId != 0)) { existrevize1 = Revize.ExistRevision(ZakaznikId, ProvozId, Rok, 1, UmisteniId); if (existrevize1 == true) { //prirazeni revize do modelu gen.Revize1 = Revize.ReturnRevision(ZakaznikId, ProvozId, Rok, 1, UmisteniId, null); } else { gen.Dnyrevize.PrvnidenobdobiR1 = Prvnidenobdobi(Rok, 1); gen.Dnyrevize.PoslednidenobdobiR1 = Poslednidenobdobi(Rok, 1); gen.Dnyrevize.PrvnidenobdobiR2 = Prvnidenobdobi(Rok, 2); gen.Dnyrevize.PoslednidenobdobiR2 = Poslednidenobdobi(Rok, 2); // Prvni revize v obdobi if ( (dnyRevize.DenRevize1 >= gen.Dnyrevize.PrvnidenobdobiR1) && (dnyRevize.DenRevize1 <= gen.Dnyrevize.PoslednidenobdobiR1) ) { gen.Revize1 = Revize.GenerateRevision(ProvozId, Rok, 1, dnyRevize.DenRevize1, 1, UmisteniId, Nabidka, Projekt); } // prvni revize pred obdobim if ( (dnyRevize.DenRevize1 < gen.Dnyrevize.PrvnidenobdobiR1) ) { gen.Revize1 = Revize.GenerateRevision(ProvozId, Rok, 1, gen.Dnyrevize.PrvnidenobdobiR1, 1, UmisteniId, Nabidka, Projekt); } // prvni revize v druhem pololeti vygeneruje se jako revize 2 if ( (dnyRevize.DenRevize1 >= gen.Dnyrevize.PrvnidenobdobiR2) && (dnyRevize.DenRevize1 <= gen.Dnyrevize.PoslednidenobdobiR2) ) { gen.Revize2 = Revize.GenerateRevision(ProvozId, Rok, 2, dnyRevize.DenRevize1, 1, UmisteniId, Nabidka, Projekt); } } } else { existrevize1 = Revize.ExistRevision(ZakaznikId, ProvozId, Rok, 1, null); if (existrevize1 == true) { //prirazeni revize do modelu gen.Revize1 = Revize.ReturnRevision(ZakaznikId, ProvozId, Rok, 1, null, null); } else { gen.Dnyrevize.PrvnidenobdobiR1 = Prvnidenobdobi(Rok, 1); gen.Dnyrevize.PoslednidenobdobiR1 = Poslednidenobdobi(Rok, 1); gen.Dnyrevize.PrvnidenobdobiR2 = Prvnidenobdobi(Rok, 2); gen.Dnyrevize.PoslednidenobdobiR2 = Poslednidenobdobi(Rok, 2); // Prvni revize v obdobi if ( (dnyRevize.DenRevize1 >= gen.Dnyrevize.PrvnidenobdobiR1) && (dnyRevize.DenRevize1 <= gen.Dnyrevize.PoslednidenobdobiR1) ) { gen.Revize1 = Revize.GenerateRevision(ProvozId, Rok, 1, dnyRevize.DenRevize1, 1, null, Nabidka, Projekt); } // prvni revize pred obdobim if ( (dnyRevize.DenRevize1 < gen.Dnyrevize.PrvnidenobdobiR1) ) { gen.Revize1 = Revize.GenerateRevision(ProvozId, Rok, 1, gen.Dnyrevize.PrvnidenobdobiR1, 1, null, Nabidka, Projekt); } // prvni revize v druhem pololeti vygeneruje se jako revize 2 if ( (dnyRevize.DenRevize1 >= gen.Dnyrevize.PrvnidenobdobiR2) && (dnyRevize.DenRevize1 <= gen.Dnyrevize.PoslednidenobdobiR2) ) { gen.Revize2 = Revize.GenerateRevision(ProvozId, Rok, 2, dnyRevize.DenRevize1, 1, null, Nabidka, Projekt); } } } // REVIZE2 if ((UmisteniId != null) && (UmisteniId != 0)) { existrevize2 = Revize.ExistRevision(ZakaznikId, ProvozId, Rok, 2, UmisteniId); if (existrevize2 == true) { //prirazeni revize do modelu gen.Revize2 = Revize.ReturnRevision(ZakaznikId, ProvozId, Rok, 2, UmisteniId, null); } else { gen.Dnyrevize.PrvnidenobdobiR2 = Prvnidenobdobi(Rok, 2); gen.Dnyrevize.PoslednidenobdobiR2 = Poslednidenobdobi(Rok, 2); // druha revize v obdobi if ( (dnyRevize.DenRevize2 >= gen.Dnyrevize.PrvnidenobdobiR2) && (dnyRevize.DenRevize2 <= gen.Dnyrevize.PoslednidenobdobiR2) ) { gen.Revize2 = Revize.GenerateRevision(ProvozId, Rok, 2, dnyRevize.DenRevize2, 1, UmisteniId, Nabidka, Projekt); } // druha revize pred obdobim if ( (dnyRevize.DenRevize2 < gen.Dnyrevize.PrvnidenobdobiR2) ) { gen.Revize2 = Revize.GenerateRevision(ProvozId, Rok, 2, gen.Dnyrevize.PrvnidenobdobiR2, 1, UmisteniId, Nabidka, Projekt); } } } else { existrevize2 = Revize.ExistRevision(ZakaznikId, ProvozId, Rok, 2, null); if (existrevize2 == true) { //prirazeni revize do modelu gen.Revize2 = Revize.ReturnRevision(ZakaznikId, ProvozId, Rok, 2, null, null); } else { gen.Dnyrevize.PrvnidenobdobiR2 = Prvnidenobdobi(Rok, 2); gen.Dnyrevize.PoslednidenobdobiR2 = Poslednidenobdobi(Rok, 2); // druha revize v obdobi if ( (dnyRevize.DenRevize2 >= gen.Dnyrevize.PrvnidenobdobiR2) && (dnyRevize.DenRevize2 <= gen.Dnyrevize.PoslednidenobdobiR2) ) { gen.Revize2 = Revize.GenerateRevision(ProvozId, Rok, 2, dnyRevize.DenRevize2, 1, null, Nabidka, Projekt); } // druha revize pred obdobim if ( (dnyRevize.DenRevize2 < gen.Dnyrevize.PrvnidenobdobiR2) ) { gen.Revize2 = Revize.GenerateRevision(ProvozId, Rok, 2, gen.Dnyrevize.PrvnidenobdobiR2, 1, null, Nabidka, Projekt); } } } List <CalculatedSCForRevision> list = Calculatescfrorevision(ZakaznikId, ProvozId, UmisteniId); InsertSCtoRevision(gen, list); try { Revize.UpdateRevizeHeader(gen.Revize1.Id); } catch (Exception ex) { log.Error("Revize1 - update revize header: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); } try { Revize.UpdateRevizeHeader(gen.Revize2.Id); } catch (Exception ex) { log.Error("Revize2 - update revize header: " + ex.HResult + " - " + ex.Message + " - " + ex.Data + " - " + ex.InnerException); } // na zaklade prvku provozu spocitat kdy by mela byt dalsi revize // - pokud v obdobi - spoctene datum () // - pokud starsi vygenerovat k 1.1.daneho roku // - pokud do tohoto obdobi nespada tak negenerovat (jenom klapka nema artikly atd.) }
public static void GenerujReviziTlakoveZkousky(int ZakaznikId, int ProvozId, int?UmisteniId, int Rok) { GenerovaniRevizeTlakoveZkousky GRTZ = new GenerovaniRevizeTlakoveZkousky { Rok = Rok, ZakaznikId = ZakaznikId, Zakaznik = Zakaznik.GetById(ZakaznikId), ProvozId = ProvozId, Provoz = Provoz.GetById(ProvozId), UmisteniId = UmisteniId, // dohledání exisujících revizí pro vybraný rok Revize1 = Revize.ReturnRevision(ZakaznikId, ProvozId, Rok, 1, UmisteniId, false), Revize2 = Revize.ReturnRevision(ZakaznikId, ProvozId, Rok, 2, UmisteniId, false) }; if (UmisteniId != null) { GRTZ.Umisteni = Umisteni.GetById(UmisteniId.Value); } int pocetTlkZkR1 = 0; int pocetTlkZkR2 = 0; int revize1 = 0; int revize2 = 0; try { revize1 = GRTZ.Revize1.Id; } catch (Exception ex) { log.Debug($"Nenalazena Revize1 {ex.Data} {ex.HResult} {ex.InnerException} {ex.Message}"); } try { revize2 = GRTZ.Revize2.Id; } catch (Exception ex) { log.Debug($"Nenalazena Revize2 {ex.Data} {ex.HResult} {ex.InnerException} {ex.Message}"); } using (var db = new Model1Container()) { //Výpočet počtu artiklů, které mají příznak tlakové zkoušky pro jednotlivé revize pocetTlkZkR1 = db.RevizeSC.Where(t => t.RevizeId == revize1 && t.TlakovaZkouska == true).Count(); pocetTlkZkR2 = db.RevizeSC.Where(t => t.RevizeId == revize2 && t.TlakovaZkouska == true).Count(); } int pocetTlkZ = pocetTlkZkR1 + pocetTlkZkR2; // Pokud existují artikly v revizích, které mají příznak tlakové zkoušky dojde ke generování třetí revize a přesun do speciální tlakové zkoušky if (pocetTlkZ > 0) { // načení záznamů, ketré jsou s evidovanou tlakovou zkouškou if (pocetTlkZkR1 > 0) { try { GRTZ.TlakoveZkouskyRev1 = RevizeSC.SeznamTlakovychZkousekRevize(GRTZ.Revize1.Id); } catch (Exception ex) { log.Debug($" GRTZ.TlakoveZkouskyRev1 - {ex.Data} {ex.HResult} {ex.InnerException} {ex.Message}"); } } if (pocetTlkZkR2 > 0) { try { GRTZ.TlakoveZkouskyRev2 = RevizeSC.SeznamTlakovychZkousekRevize(GRTZ.Revize2.Id); } catch (Exception ex) { log.Debug($" GRTZ.TlakoveZkouskyRev2 - {ex.Data} {ex.HResult} {ex.InnerException} {ex.Message}"); } } // pokud neexisuje revize na tlakovou zkoušku vygenerování revize var exist = Revize.ExistRevision(GRTZ.ZakaznikId, GRTZ.ProvozId, GRTZ.Rok, 3, GRTZ.UmisteniId); if (exist == true) { //pokud exisuje nacte se GRTZ.Revize3 = Revize.ReturnRevision(GRTZ.ZakaznikId, GRTZ.ProvozId, Rok, 3, GRTZ.UmisteniId, null); } else { //pokud neexistuje vygeneruje se try { GRTZ.Revize3 = Revize.GenerateRevision(GRTZ.ProvozId, GRTZ.Rok, 3, System.DateTime.Now, 1, GRTZ.UmisteniId, GRTZ.Revize1.Nabidka, GRTZ.Revize1.Projekt); } catch (Exception ex) { log.Debug($" GRTZ.Revize3 - {ex.Data} {ex.HResult} {ex.InnerException} {ex.Message}"); } } //přesun tlakových zkoušek do speciální revize if (pocetTlkZkR1 > 0) { try { RevizeSC.LoopRevizeSCTlakoveZkousky(GRTZ.Revize3, GRTZ.TlakoveZkouskyRev1); } catch (Exception ex) { } } if (pocetTlkZkR1 > 0) { try { RevizeSC.LoopRevizeSCTlakoveZkousky(GRTZ.Revize3, GRTZ.TlakoveZkouskyRev2); } catch (Exception ex) { } } //aktualizace hlavičkových údajů na jednotlivých revizích try { Revize.UpdateRevizeHeader(GRTZ.Revize1.Id); } catch (Exception ex) { } try { Revize.UpdateRevizeHeader(GRTZ.Revize2.Id); } catch (Exception ex) { } try { Revize.UpdateRevizeHeader(GRTZ.Revize3.Id); } catch (Exception ex) { } } }