public override object ExecuteReport(MethodReturn refMr = null) { List <ReportData> reportDataSource = new List <ReportData>(); PuantajGunlugu pg = new PuantajGunlugu(); List <ServisGunMola> gunMolalar = ServisGunMola.SelectServisGunMolalar(ServisId, refMr); HareketNedenContainer nedenContainer = new HareketNedenContainer(R.Query <HareketNeden>(refMr).ToList()); List <HareketNeden> nedenler = nedenContainer.ToList(); ServisTeknisyenContainer servisTeknisyenContainer = null; if (ServisTeknisyenIds.isEmpty()) { servisTeknisyenContainer = new ServisTeknisyenContainer(R.Query <ServisTeknisyen>(refMr).Where(t => t.SERVISID == ServisId).ToList()); } else { servisTeknisyenContainer = new ServisTeknisyenContainer(R.Query <ServisTeknisyen>(refMr).Where(t => t.ID.In(ServisTeknisyenIds)).ToList()); } List <RptIsEmir> isEmirler = R.Query <RptIsEmir>(refMr).Where(t => t.SERVISID == ServisId && t.KAYITTARIH.Between(StartDate, FinishDate)).ToList(); List <HareketUstBilgi> hareketUstBilgiler = HareketUstBilgi.Select_UstBilgiler_FromBig_IsEmirIds(isEmirler.select(i => i.ID)); TeknisyenHareketContainer <RptTeknisyenHareket> teknisyenHareketContainer = new TeknisyenHareketContainer <RptTeknisyenHareket>(RptTeknisyenHareket.Select_From_UstBilgi_Ids <RptTeknisyenHareket>(hareketUstBilgiler.select(u => u.ID)).ToList()); isEmirler.forEach(isEmir => { isEmir.Islemler.forEach(islem => { islem.Iscilikler.forEach(iscilik => { HareketUstBilgi ustBilgi = hareketUstBilgiler.first(t => t.ISEMIRISLEMISCILIKID == iscilik.ID); if (ustBilgi.isNotNull()) { teknisyenHareketContainer.GetUstBilgiHareketler(ustBilgi.ID).forEach(hr => { ServisTeknisyen servisTeknisyen = servisTeknisyenContainer[hr.SERVISTEKNISYENID]; if (servisTeknisyen.isNotNull()) { ReportData reportData = new ReportData() { Teknisyen = servisTeknisyen, Hareket = hr, IsEmir = isEmir, IsEmirIslem = islem, IsEmirIslemIscilik = iscilik }; hr.GirisNeden = nedenContainer[hr.GIRISNEDENID]; hr.CikisNeden = nedenContainer[hr.CIKISNEDENID]; hr.PSonuc = Puantaj.GetPuantajSonuclari(hr.MakeList(), pg, gunMolalar, nedenler); hr.Calisma = hr.PSonuc.GetSonucSure(NedenFormati.NormalCalisma); reportDataSource.add(reportData); } }); } }); }); }); CloseCustomAppPool(); return(reportDataSource); }
public override object ExecuteReport(MethodReturn refMr = null) { List <ReportData> reportDataSource = new List <ReportData>(); HareketNedenContainer nedenContainer = new HareketNedenContainer(R.Query <HareketNeden>(refMr).ToList()); List <HareketNeden> nedenler = nedenContainer.ToList(); ServisTeknisyenContainer servisTeknisyenContainer = null; if (ServisTeknisyenIds.isEmpty()) { servisTeknisyenContainer = new ServisTeknisyenContainer(R.Query <ServisTeknisyen>(refMr).Where(t => t.SERVISID == ServisId).ToList()); } else { servisTeknisyenContainer = new ServisTeknisyenContainer(R.Query <ServisTeknisyen>(refMr).Where(t => t.ID.In(ServisTeknisyenIds)).ToList()); } TeknisyenHareketContainer <RptTeknisyenHareket> teknisyenHareketContainer = new TeknisyenHareketContainer <RptTeknisyenHareket>(R.Query <RptTeknisyenHareket>(refMr).Where(h => h.SERVISTEKNISYENID.In(servisTeknisyenContainer.select(t => t.ID))).ToList()); IEnumerable <decimal> ustBilgiIds = teknisyenHareketContainer.select(t => t.THRKUSTBILGIID); List <HareketUstBilgi> hareketUstBilgiler = null; if (ustBilgiIds.isNotEmpty()) { hareketUstBilgiler = R.Query <HareketUstBilgi>(refMr).Where(t => t.ID.In(ustBilgiIds)).ToList(); } List <ServisGunMola> gunMolalar = ServisGunMola.SelectServisGunMolalar(ServisId, refMr); List <RptIsEmir> isEmirler = R.Query <RptIsEmir>(refMr).Where(t => t.SERVISID == ServisId && t.KAYITTARIH.Between(StartDate, FinishDate)).ToList(); PuantajGunlugu pg = new PuantajGunlugu(); servisTeknisyenContainer.forEach(st => { teknisyenHareketContainer.GetTeknisyenHareketler(st.ID).forEach(hr => { HareketUstBilgi ustBilgi = hareketUstBilgiler.first(t => t.ID == hr.THRKUSTBILGIID); ReportData reportData = new ReportData() { Teknisyen = st, Hareket = hr, IsEmir = isEmirler.first(t => t.ID == ustBilgi?.ISEMIRID), }; reportData.IsEmirIslem = reportData.IsEmir?.Islemler.first(t => t.ID == ustBilgi?.ISEMIRISLEMID); reportData.IsEmirIslemIscilik = reportData.IsEmirIslem?.Iscilikler.first(t => t.ID == ustBilgi?.ISEMIRISLEMISCILIKID); hr.GirisNeden = nedenContainer[hr.GIRISNEDENID]; hr.CikisNeden = nedenContainer[hr.CIKISNEDENID]; hr.PSonuc = Puantaj.GetPuantajSonuclari(hr.MakeList(), pg, gunMolalar, nedenler); hr.Calisma = hr.PSonuc.GetSonucSure(NedenFormati.NormalCalisma); reportDataSource.add(reportData); }); }); CloseCustomAppPool(); return(reportDataSource); }
public override object ExecuteReport(MethodReturn refMr = null) { List <ReportData> reportDataSource = new List <ReportData>(); HareketNedenContainer nedenContainer = new HareketNedenContainer(R.Query <HareketNeden>(refMr).ToList()); List <HareketNeden> nedenler = nedenContainer.ToList(); ServisTeknisyenContainer servisTeknisyenContainer = new ServisTeknisyenContainer(R.Query <ServisTeknisyen>(refMr).Where(t => t.SERVISID == ServisId).ToList()); List <ServisGunMola> gunMolalar = ServisGunMola.SelectServisGunMolalar(ServisId, refMr); List <RptIsEmir> isEmirler = null; List <HareketUstBilgi> hareketUstBilgiler = null; TeknisyenHareketContainer <RptTeknisyenHareket> teknisyenHareketContainer = null; List <TModel01> sonHareketler = AppPool.EbaTestConnector.CreateQuery(@" select stek.id servisteknisyenid,thrk.sonhareketid, UB.ID USTBILGIID, UB.ISEMIRID, UB.ISEMIRISLEMID, UB.ISEMIRISLEMISCILIKID from (select id, teknisyenid from servisteknisyenler where servisid = {servisId}) stek left join ( select servisteknisyenid, max(id) sonHareketId from tteknisyenhrk group by servisteknisyenid ) thrk on THRK.SERVISTEKNISYENID = stek.id left join tteknisyenhrk hrk2 on hrk2.id = thrk.sonhareketid left join thrkustbilgi ub on ub.id = HRK2.THRKUSTBILGIID ") .Parameter("servisId", ServisId) .GetDataTable(refMr).ToModels <TModel01>(); //.Select(t => new { // TEKNISYENID = t.ColumnValue<decimal>("SERVISTEKNISYENID"), // SONHAREKETID = t.ColumnValue<decimal>("SONHAREKETID"), // USTBILGIID = t.ColumnValue<decimal>("USTBILGIID"), // ISEMIRID = t.ColumnValue<decimal>("ISEMIRID"), // ISEMIRISLEMID = t.ColumnValue<decimal>("ISEMIRISLEMID"), // ISEMIRISLEMISCILIKID = t.ColumnValue<decimal>("ISEMIRISLEMISCILIKID") //}); if (sonHareketler.isNotEmpty()) { teknisyenHareketContainer = new TeknisyenHareketContainer <RptTeknisyenHareket>(R.Query <RptTeknisyenHareket>(refMr).Where(h => h.ID.In(sonHareketler.select(sh => sh.SONHAREKETID))).ToList()); isEmirler = R.Query <RptIsEmir>(refMr).Where(t => t.ID.In(sonHareketler.select(sh => sh.ISEMIRID))).ToList(); hareketUstBilgiler = R.Query <HareketUstBilgi>(refMr).Where(t => t.ID.In(sonHareketler.select(sh => sh.USTBILGIID))).ToList(); } PuantajGunlugu pg = new PuantajGunlugu(); servisTeknisyenContainer.forEach(st => { teknisyenHareketContainer.GetTeknisyenHareketler(st.ID).forEach(hr => { HareketUstBilgi ustBilgi = hareketUstBilgiler.first(t => t.ID == hr.THRKUSTBILGIID); ReportData reportData = new ReportData() { Teknisyen = st, Hareket = hr, IsEmir = isEmirler.first(t => t.ID == ustBilgi?.ISEMIRID), }; reportData.IsEmirIslem = reportData.IsEmir?.Islemler.first(t => t.ID == ustBilgi?.ISEMIRISLEMID); reportData.IsEmirIslemIscilik = reportData.IsEmirIslem?.Iscilikler.first(t => t.ID == ustBilgi?.ISEMIRISLEMISCILIKID); hr.GirisNeden = nedenContainer[hr.GIRISNEDENID]; hr.CikisNeden = nedenContainer[hr.CIKISNEDENID]; hr.PSonuc = Puantaj.GetPuantajSonuclari(hr.MakeList(), pg, gunMolalar, nedenler); hr.Calisma = hr.PSonuc.GetSonucSure(NedenFormati.NormalCalisma); reportDataSource.add(reportData); }); }); CloseCustomAppPool(); return(reportDataSource); }