{"version":3,"sources":["D:/projects/passengerControlFront/passengerControlApp/src/$_lazy_route_resource lazy","D:/projects/passengerControlFront/passengerControlApp/src/app/app.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/app.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/app.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/app.module.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/app.routing.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/classes/credential.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/alarm-ubication/alarm-ubication.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/alarm-ubication/alarm-ubication.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/alarm-ubication/alarm-ubication.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/alert-report/alert-report.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/alert-report/alert-report.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/alert-report/alert-report.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/alert/alert.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/alert/alert.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/alert/alert.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/companies/companies.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/companies/companies.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/companies/companies.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/company/company.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/company/company.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/company/company.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/consolidated-by-plate/consolidated-by-plate.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/consolidated-by-plate/consolidated-by-plate.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/consolidated-by-plate/consolidated-by-plate.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/controlpoint/controlpoint.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/controlpoint/controlpoint.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/controlpoint/controlpoint.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/controlpoints/controlpoints.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/controlpoints/controlpoints.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/controlpoints/controlpoints.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/dashboard/dashboard.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/dashboard/dashboard.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/dashboard/dashboard.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/dispatcherreport/dispatcherreport.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/dispatcherreport/dispatcherreport.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/dispatcherreport/dispatcherreport.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/driver-report/driver-report.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/driver-report/driver-report.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/driver-report/driver-report.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/driver/driver.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/driver/driver.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/driver/driver.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/drivers/drivers.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/drivers/drivers.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/drivers/drivers.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/header/header.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/header/header.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/header/header.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/holiday-calendar/holiday-calendar.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/holiday-calendar/holiday-calendar.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/holiday-calendar/holiday-calendar.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/login/login.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/login/login.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/login/login.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/master/master.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/master/master.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/master/master.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/passengers-report/passengers-report.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/passengers-report/passengers-report.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/passengers-report/passengers-report.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/pico-times/pico-times.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/pico-times/pico-times.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/pico-times/pico-times.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/points/points.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/points/points.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/points/points.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/rate/rate.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/rate/rate.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/rate/rate.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/route-display/route-display.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/route-display/route-display.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/route-display/route-display.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/route/route.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/route/route.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/route/route.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/routes/routes.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/routes/routes.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/routes/routes.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/routetrace/routetrace.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/routetrace/routetrace.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/routetrace/routetrace.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/settlement/settlement.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/settlement/settlement.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/settlement/settlement.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/time-report/time-report.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/time-report/time-report.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/time-report/time-report.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/timereportconsolidate/timereportconsolidate.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/timereportconsolidate/timereportconsolidate.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/timereportconsolidate/timereportconsolidate.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/transmission-vehicles/transmission-vehicles.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/transmission-vehicles/transmission-vehicles.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/transmission-vehicles/transmission-vehicles.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/user/user.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/user/user.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/user/user.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/components/users/users.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/components/users/users.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/components/users/users.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/enum/alert-type.enum.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/guards/guards.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/helpers.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/menu/menu.component.css","D:/projects/passengerControlFront/passengerControlApp/src/app/menu/menu.component.html","D:/projects/passengerControlFront/passengerControlApp/src/app/menu/menu.component.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/alert.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/alertreport.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/common.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/companies.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/consolidated-by-plate.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/dashboard.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/driver.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/drivers.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/excel.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/holiday-calendar.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/login.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/passengers-report.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/points.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/rate.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/route.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/routes.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/script-loader.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/settlement.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/signal-r.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/user.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/users.services.ts","D:/projects/passengerControlFront/passengerControlApp/src/app/services/vehicles-service.service.ts","D:/projects/passengerControlFront/passengerControlApp/src/environments/environment.ts","D:/projects/passengerControlFront/passengerControlApp/src/main.ts","D:/projects/passengerControlFront/passengerControlApp/node_modules/moment/locale ^\\.\\/.*$","fs (ignored)?2d03","fs (ignored)","crypto (ignored)","stream (ignored)"],"names":[],"mappings":"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AAC;aACpC,SAAS,EAAE;aACX,IAAI,CAAC,kBAAQ;YACZ,MAAM,CAAC,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAjDU,sBAAsB;QADlC,iEAAU,EAAE;yCAGe,wEAAU;YACD,sEAAa;YACd,oEAAY;OAJnC,sBAAsB,CAkDlC;IAAD,6BAAC;CAAA;AAlDkC;;;;;;;;;ACPnC;AAAA,mFAAmF;AACnF,8FAA8F;AAC9F,yEAAyE;AACzE,gFAAgF;AAEzE,IAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;CAClB,CAAC;;;;;;;;;;;;;;ACP6C;AAC4B;AAE9B;AACY;AAEzD,EAAE,CAAC,CAAC,8EAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3B,qEAAc,EAAE,CAAC;AACnB,CAAC;AAED,yGAAsB,EAAE,CAAC,eAAe,CAAC,kEAAS,CAAC;KAChD,KAAK,CAAC,aAAG,IAAI,cAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAhB,CAAgB,CAAC,CAAC;;;;;;;;ACXlC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qE;;;;;;;AC9QA,e;;;;;;;ACAA,e;;;;;;;;;;;;;;;ACAA,e;;;;;;;ACAA,e","file":"main.bundle.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"../../../../../src/$$_lazy_route_resource lazy recursive\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/$$_lazy_route_resource lazy\n// module id = ../../../../../src/$$_lazy_route_resource lazy recursive\n// module chunks = main","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".preloader-backdrop {\\r\\n background-color: transparent;\\r\\n}\\r\\n.page-preloader {\\r\\n background-color: #fff;\\r\\n box-shadow: 0 5px 20px #d6dee4;\\r\\n}\\r\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/app.component.css\n// module id = ../../../../../src/app/app.component.css\n// module chunks = main","module.exports = \"\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/app.component.html\n// module id = ../../../../../src/app/app.component.html\n// module chunks = main","import { Component, OnInit, AfterViewInit, ViewEncapsulation } from '@angular/core';\r\nimport { Router, NavigationStart, NavigationEnd } from '@angular/router';\r\nimport { Helpers } from './helpers';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AppComponent {\r\n title = 'app';\r\n constructor(private _router: Router) {}\r\n ngOnInit() {\r\n\r\n this._router.events.subscribe((route) => {\r\n if (route instanceof NavigationStart) {\r\n Helpers.setLoading(true);\r\n Helpers.bodyClass('fixed-navbar');\r\n }\r\n if (route instanceof NavigationEnd) {\r\n window.scrollTo(0, 0);\r\n Helpers.setLoading(false);\r\n\r\n // Initialize page: handlers ...\r\n Helpers.initPage();\r\n }\r\n\r\n });\r\n }\r\n\r\n ngAfterViewInit() {}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/app.component.ts","import { BrowserModule } from '@angular/platform-browser';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { NgbActiveModal, NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AppComponent } from './app.component';\r\nimport { HttpModule } from '@angular/http';\r\nimport { routing, appRoutingProviders } from './app.routing';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { RouterModule } from '@angular/router';\r\nimport { LoginService } from './services/login.service';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { CommonService } from './services/common.service';\r\nimport { HeaderComponent } from './components/header/header.component';\r\nimport { PassengersReportComponent } from './components/passengers-report/passengers-report.component';\r\nimport { PassengersReportService } from './services/passengers-report.service';\r\nimport { AlertService } from './services/alert.service' ;\r\nimport { MasterComponent } from './components/master/master.component';\r\nimport { AuthGuard } from './guards/guards.component';\r\nimport { MenuComponent } from './menu/menu.component';\r\nimport { RouteComponent } from './components/route/route.component';\r\nimport { RoutesComponent } from './components/routes/routes.component';\r\nimport { RoutesService } from './services/routes.service';\r\nimport { RouteService } from './services/route.service';\r\nimport { RateService } from './services/rate.service';\r\nimport { PointsService } from './services/points.service';\r\nimport { AlertComponent } from './components/alert/alert.component';\r\nimport { DriversComponent } from './components/drivers/drivers.component';\r\nimport { DriverComponent } from './components/driver/driver.component';\r\nimport { DriversService } from './services/drivers.service';\r\nimport { DriverService } from './services/driver.service';\r\nimport { ExcelService } from './services/excel.service';\r\nimport { PointsComponent } from './components/points/points.component';\r\nimport { RateComponent } from './components/rate/rate.component';\r\nimport { CompanyComponent } from './components/company/company.component';\r\nimport { CompaniesComponent } from './components/companies/companies.component';\r\nimport { CompaniesService } from './services/companies.service';\r\nimport { RoutetraceComponent } from './components/routetrace/routetrace.component';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ConsolidatedByPlateComponent } from './components/consolidated-by-plate/consolidated-by-plate.component';\r\nimport { ConsolidatedByPlateService} from './services/consolidated-by-plate.service';\r\nimport { SettlementComponent } from './components/settlement/settlement.component';\r\nimport { SettlementService } from './services/settlement.service';\r\nimport { ScriptLoaderService } from './services/script-loader.service';\r\nimport { DashboardComponent } from './components/dashboard/dashboard.component';\r\nimport { DashboardService } from './services/dashboard.service';\r\nimport { NgSelectModule, NG_SELECT_DEFAULT_CONFIG } from '@ng-select/ng-select';\r\nimport { TimeReportComponent } from './components/time-report/time-report.component';\r\nimport { ControlpointsComponent } from './components/controlpoints/controlpoints.component';\r\nimport { ControlpointComponent } from './components/controlpoint/controlpoint.component';\r\nimport { TransmissionVehiclesComponent } from './components/transmission-vehicles/transmission-vehicles.component';\r\nimport { VehiclesServiceService } from './services/vehicles-service.service';\r\nimport { HolidayCalendarComponent } from './components/holiday-calendar/holiday-calendar.component';\r\nimport { HolidayCalendarService } from './services/holiday-calendar.service';\r\nimport { UserComponent } from './components/user/user.component';\r\nimport { UsersComponent } from './components/users/users.component';\r\nimport { UsersService } from './services/users.services';\r\nimport { UserService } from './services/user.service';\r\nimport { AlertReportComponent } from './components/alert-report/alert-report.component';\r\nimport { Alertreportservice} from './services/alertreport.service';\r\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\r\nimport { AlarmUbicationComponent } from './components/alarm-ubication/alarm-ubication.component';\r\n//import { DataTablesModule } from 'angular-datatables'\r\nimport * as $ from 'jquery';\r\n// import 'datatables.net';\r\n// import 'datatables.net-bs4';\r\nimport { MatInputModule, MatPaginatorModule, MatProgressSpinnerModule, \r\n MatSortModule, MatTableModule } from '@angular/material';\r\nimport { RouteDisplayComponent } from './components/route-display/route-display.component';\r\nimport { PicoTimesComponent } from './components/pico-times/pico-times.component';\r\nimport {NgxMaterialTimepickerModule} from 'ngx-material-timepicker';\r\nimport { DispatcherreportComponent } from './components/dispatcherreport/dispatcherreport.component';\r\nimport { DriverReportComponent } from './components/driver-report/driver-report.component';\r\nimport { TimereportconsolidateComponent } from './components/timereportconsolidate/timereportconsolidate.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n HeaderComponent,\r\n PassengersReportComponent,\r\n MasterComponent,\r\n MenuComponent,\r\n RouteComponent,\r\n RoutesComponent,\r\n AlertComponent,\r\n DriversComponent,\r\n DriverComponent,\r\n PointsComponent,\r\n CompanyComponent,\r\n CompaniesComponent,\r\n RoutetraceComponent,\r\n RateComponent,\r\n ConsolidatedByPlateComponent,\r\n SettlementComponent,\r\n DashboardComponent,\r\n TimeReportComponent,\r\n ControlpointsComponent,\r\n ControlpointComponent,\r\n TransmissionVehiclesComponent,\r\n HolidayCalendarComponent,\r\n UserComponent,\r\n UsersComponent,\r\n AlertReportComponent,\r\n AlarmUbicationComponent,\r\n RouteDisplayComponent,\r\n PicoTimesComponent,\r\n DispatcherreportComponent,\r\n DriverReportComponent,\r\n TimereportconsolidateComponent,\r\n\r\n ],\r\n imports: [\r\n BrowserModule,\r\n FormsModule,\r\n routing,\r\n HttpClientModule,\r\n NgxSpinnerModule,\r\n FormsModule,\r\n BrowserAnimationsModule,\r\n HttpModule,\r\n NgSelectModule,\r\n NgbModule.forRoot(),\r\n NgMultiSelectDropDownModule.forRoot(),\r\n MatInputModule,\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatSortModule,\r\n MatProgressSpinnerModule,\r\n NgxMaterialTimepickerModule.forRoot()\r\n ],\r\n providers: [\r\n appRoutingProviders,\r\n LoginService,\r\n CommonService,\r\n AuthGuard,\r\n PassengersReportService,\r\n Alertreportservice,\r\n AlertService,\r\n RoutesService,\r\n RouteService,\r\n RateService,\r\n NgbActiveModal,\r\n DriversService,\r\n PointsService,\r\n DriverService,\r\n ExcelService,\r\n CompaniesService,\r\n NgxSpinnerService,\r\n ConsolidatedByPlateService,\r\n SettlementService,\r\n ScriptLoaderService,\r\n DashboardService,\r\n VehiclesServiceService,\r\n HolidayCalendarService,\r\n UsersService,\r\n UserService,\r\n { provide: NG_SELECT_DEFAULT_CONFIG,\r\n useValue: {\r\n notFoundText: 'No se encontraron resultados.'\r\n }\r\n }\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/app.module.ts","import { NgModule } from '@angular/core';\r\nimport { ModuleWithProviders } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { PassengersReportComponent } from './components/passengers-report/passengers-report.component';\r\nimport { TimeReportComponent } from './components/time-report/time-report.component';\r\nimport { TimereportconsolidateComponent } from './components/timereportconsolidate/timereportconsolidate.component';\r\nimport { SettlementComponent } from './components/settlement/settlement.component';\r\nimport { MasterComponent } from './components/master/master.component';\r\nimport { AuthGuard } from './guards/guards.component';\r\nimport { RouteComponent } from './components/route/route.component';\r\nimport { RoutesComponent } from './components/routes/routes.component';\r\nimport { DriversComponent } from './components/drivers/drivers.component';\r\nimport { PointsComponent } from './components/points/points.component';\r\nimport { RoutetraceComponent } from './components/routetrace/routetrace.component';\r\nimport { DriverComponent} from './components/driver/driver.component';\r\nimport { CompaniesComponent } from './components/companies/companies.component';\r\nimport { CompanyComponent } from './components/company/company.component';\r\nimport { RateComponent } from './components/rate/rate.component';\r\nimport { ConsolidatedByPlateComponent } from './components/consolidated-by-plate/consolidated-by-plate.component';\r\nimport { DashboardComponent } from './components/dashboard/dashboard.component';\r\nimport { ControlpointsComponent } from './components/controlpoints/controlpoints.component';\r\nimport { ControlpointComponent } from './components/controlpoint/controlpoint.component';\r\nimport { TransmissionVehiclesComponent } from './components/transmission-vehicles/transmission-vehicles.component';\r\nimport { HolidayCalendarComponent } from './components/holiday-calendar/holiday-calendar.component';\r\nimport { UserComponent } from './components/user/user.component';\r\nimport { UsersComponent } from './components/users/users.component';\r\nimport { AlertReportComponent } from './components/alert-report/alert-report.component';\r\nimport { AlarmUbicationComponent } from './components/alarm-ubication/alarm-ubication.component';\r\nimport { RouteDisplayComponent } from './components/route-display/route-display.component';\r\nimport { PicoTimesComponent } from './components/pico-times/pico-times.component';\r\nimport { DispatcherreportComponent } from './components/dispatcherreport/dispatcherreport.component';\r\nimport { DriverReportComponent } from './components/driver-report/driver-report.component';\r\n\r\n\r\nconst appRoutes: Routes = [\r\n {\r\n path: 'home',\r\n component: MasterComponent,\r\n canActivate: [AuthGuard],\r\n children: [\r\n { path: '', component : LoginComponent },\r\n { path: 'login', component : LoginComponent },\r\n { path: 'dashboard', component : DashboardComponent},\r\n { path: 'passengersReport', component : PassengersReportComponent },\r\n { path: 'alertreport', component : AlertReportComponent },\r\n { path: 'timeReport', component : TimeReportComponent },\r\n { path: 'timeReportConsolidate', component : TimereportconsolidateComponent },\r\n { path: 'settlement', component : SettlementComponent },\r\n { path: 'consolidatedPlate', component : ConsolidatedByPlateComponent },\r\n { path: 'route/:idRoute', component : RouteComponent },\r\n { path: 'routes', component : RoutesComponent },\r\n { path: 'points', component : PointsComponent },\r\n { path: 'controlpoint/:idCtrlPoint', component : ControlpointComponent },\r\n { path: 'controlpoints', component : ControlpointsComponent },\r\n { path: 'routetrace', component : RoutetraceComponent },\r\n { path: 'rates', component : RateComponent},\r\n { path: 'drivers', component : DriversComponent },\r\n { path: 'transmissionVehicles', component : TransmissionVehiclesComponent },\r\n { path: 'driver/:idDriver', component : DriverComponent },\r\n { path: 'companies', component : CompaniesComponent },\r\n { path: 'holidayCalendar', component : HolidayCalendarComponent },\r\n { path: 'company/:idCompany', component : CompanyComponent },\r\n { path: 'users', component : UsersComponent },\r\n { path: 'user/:idUser', component : UserComponent },\r\n { path: 'alarmubication', component : AlarmUbicationComponent },\r\n { path: 'routeDisplay', component : RouteDisplayComponent },\r\n { path: 'picoTimes', component : PicoTimesComponent },\r\n { path: 'dispatcherreport', component : DispatcherreportComponent },\r\n { path: 'driverreport', component : DriverReportComponent },\r\n ]\r\n },\r\n { path: 'login', component: LoginComponent },\r\n { path: '**', component: LoginComponent },\r\n];\r\n\r\nexport const appRoutingProviders: any[] = [];\r\nexport const routing = RouterModule.forRoot(appRoutes);\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/app.routing.ts","export class Credential {\r\n UserName: string;\r\n Password: string;\r\n\r\n constructor(UserName: string, Password: string){\r\n this.UserName = UserName;\r\n this.Password = Password;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/classes/credential.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".set-map {\\r\\n height: 900px;\\r\\n width: 100%!important;\\r\\n }\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/alarm-ubication/alarm-ubication.component.css\n// module id = ../../../../../src/app/components/alarm-ubication/alarm-ubication.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n

 

\\r\\n

 

\\r\\n

 

\\r\\n

Cargando...

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Ubicación de la Alerta

\\r\\n

Placa: {{plate}} Alarma: {{alarm}} Conductor: {{driver}}

\\r\\n
\\r\\n

 

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/alarm-ubication/alarm-ubication.component.html\n// module id = ../../../../../src/app/components/alarm-ubication/alarm-ubication.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\r\n\r\ndeclare const google: any;\r\nvar map: any;\r\n\r\n\r\n@Component({\r\n selector: 'app-alarm-ubication',\r\n templateUrl: './alarm-ubication.component.html',\r\n styleUrls: ['./alarm-ubication.component.css']\r\n})\r\nexport class AlarmUbicationComponent implements OnInit {\r\n\r\n plate : any;\r\n alarm : any;\r\n driver : any;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.route.queryParams.subscribe(params => {\r\n console.log(params)\r\n if (params.lat != undefined && params.long) {\r\n this.plate = params.plate\r\n this.alarm = params.alarm\r\n this.driver = params.driver\r\n this.initMap(params.lat.replace(\",\", \".\"), params.long.replace(\",\", \".\"))\r\n }\r\n });\r\n }\r\n\r\n initMap(lati, longi) {\r\n var uluru = {lat: +lati, lng: +longi};\r\n map = new google.maps.Map((document.getElementById('initMap')), {\r\n zoom: 7,\r\n center: new google.maps.LatLng(lati, longi)\r\n });\r\n var marker = new google.maps.Marker({position: uluru, map: map});\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/alarm-ubication/alarm-ubication.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".multiselect-style{\\r\\n width: 500px;\\r\\n height: auto;\\r\\n }\\r\\n .ng-select.custom {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n width: 1%;\\r\\n }\\r\\n .ng-select.custom .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n }\\r\\n .ng-select.custom_1 {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n }\\r\\n .ng-select.custom_1 .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n }\\r\\n \\r\\n ng-select.ng-invalid.ng-touched .ng-select-container {\\r\\n border-color: #dc3545;\\r\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px #fde6e8;\\r\\n }\\r\\n\\r\\n table {\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n .mat-form-field {\\r\\n font-size: 14px;\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n td, th {\\r\\n width: 25%;\\r\\n }\\r\\n .cdk-visually-hidden{\\r\\n display: none !important;\\r\\n }\\r\\n \\r\\n #filter-panel{\\r\\n border: solid; \\r\\n background:#4c6c8b; \\r\\n color: #fff;\\r\\n }\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/alert-report/alert-report.component.css\n// module id = ../../../../../src/app/components/alert-report/alert-report.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n

 

\\r\\n

 

\\r\\n

 

\\r\\n

Cargando...

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Reporte de Alertas

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Búsqueda Avanzada

\\r\\n
Realizar una búsqueda avanzada de Alertas
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n

 

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n Placa\\r\\n {{element.plate}} \\r\\n \\r\\n\\r\\n \\r\\n Identificación Conductor\\r\\n {{element.identificationDriver}} \\r\\n \\r\\n\\r\\n \\r\\n Nombre Conductor\\r\\n {{element.nameDriver}} \\r\\n \\r\\n\\r\\n \\r\\n Fecha\\r\\n {{element.l_datetime}} \\r\\n \\r\\n\\r\\n \\r\\n Alarma \\r\\n \\r\\n {{element.description}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Puertas\\r\\n \\r\\n {{element.message}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Velocidad \\r\\n \\r\\n {{element.speed}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Ubicación \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/alert-report/alert-report.component.html\n// module id = ../../../../../src/app/components/alert-report/alert-report.component.html\n// module chunks = main","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { PassengersReportService } from '../../services/passengers-report.service';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { Alertreportservice } from '../../services/alertreport.service';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport swal from 'sweetalert2';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { ExcelService } from '../../services/excel.service';\r\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\n\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-alert-report',\r\n templateUrl: './alert-report.component.html',\r\n styleUrls: ['./alert-report.component.css']\r\n})\r\nexport class AlertReportComponent implements OnInit {\r\n\r\n alarmTypes: any = [];\r\n plates: any = [];\r\n drivers: any = [];\r\n\r\n\r\n platesBuffer = [];\r\n bufferSize = 50;\r\n user_account: any;\r\n imeiVei: any = {};\r\n reportAux: any = [];\r\n alarmTypeid: any = [];\r\n dataObj: any = [];\r\n dataReport: MatTableDataSource;\r\n report: any = [];\r\n totalIn: any;\r\n totalOut: any;\r\n promTot: any;\r\n totalProm: any;\r\n\r\n alarmTypesDropdownSettings: any = {};\r\n selectedAlarmTypes: any = []\r\n\r\n driversDropdownSettings: any = {};\r\n selectedDrivers: any = []\r\n\r\n platesDropdownSettings: any = {};\r\n selectedPlates: any = []\r\n currentPlate = \"\"\r\n displayedColumns: string[];\r\n filterMenuVisible: boolean = false;\r\n\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n constructor(\r\n private spinner: NgxSpinnerService,\r\n private vpcReportService: PassengersReportService,\r\n private alertReportService: Alertreportservice,\r\n private commonService: CommonService,\r\n private excelService: ExcelService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n ) { }\r\n\r\n\r\n ngOnInit() {\r\n var now = new Date(); //currentDate\r\n this.reportAux.dateIni = { year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate() };\r\n this.reportAux.dateFin = { year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate() };\r\n this.reportAux.timeIni = '00:00';\r\n this.reportAux.timeFin = '23:59';\r\n this.setAlarmTypesDropDown();\r\n\r\n // Seteal el selector de placas con todas seleccionadas\r\n this.route.queryParams.subscribe(params => {\r\n if (params.plate != undefined) {\r\n this.selectedPlates.push({ 'tracker_name': params.plate });\r\n }\r\n });\r\n this.setPlatesDropDown();\r\n this.setDriversDropDown();\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n // Esconde el paginador porque no es posible cambair la paginación por problemas con el componente\r\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\r\n }\r\n\r\n setPlatesDropDown() {\r\n this.platesDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'sn_imei_id',\r\n textField: 'tracker_name',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n this.getPlates();\r\n\r\n }\r\n\r\n toggleFilterMenu() {\r\n this.filterMenuVisible = !this.filterMenuVisible;\r\n }\r\n\r\n\r\n toAlertUbication(lat, long, plate, alarm, driver) {\r\n this.router.navigate(['/home/alarmubication'],\r\n {\r\n queryParams:\r\n {\r\n lat: lat,\r\n long: long,\r\n plate: plate,\r\n alarm: alarm,\r\n driver: driver\r\n }\r\n });\r\n }\r\n\r\n async setAlarmTypesDropDown() {\r\n this.getAlarmTypes()\r\n this.alarmTypesDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'description',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n }\r\n\r\n async setDriversDropDown() {\r\n await this.getDrivers()\r\n this.driversDropdownSettings = {\r\n singleSelection: false,\r\n idField: 'identificationDriver',\r\n textField: 'nameDriver',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n }\r\n\r\n\r\n onAlarmTypeSelect(item: any) {\r\n console.log(this.selectedAlarmTypes)\r\n }\r\n onAlarmTypeDeSelect(item: any) {\r\n console.log(this.selectedAlarmTypes)\r\n\r\n }\r\n onSelectAllAlarmTypes(items: any) {\r\n console.log(this.selectedAlarmTypes)\r\n }\r\n onDeSelectAllAlarmTypes(items: any) {\r\n console.log(this.selectedAlarmTypes)\r\n }\r\n\r\n onPlateSelect(item: any) {\r\n // this.selectedPlates.push(item.tracker_name)\r\n console.log(this.selectedPlates)\r\n }\r\n onSelectAllPlates(items: any) {\r\n console.log(this.selectedPlates)\r\n\r\n }\r\n onPlatesDeSelect(item: any) {\r\n console.log(this.selectedPlates)\r\n\r\n }\r\n onDeSelectAllPlates(item: any) {\r\n console.log(this.selectedPlates)\r\n }\r\n\r\n getAlarmTypes(): void {\r\n this.alertReportService.getAlarmTypes(this.commonService.getUserName()).then(response => {\r\n this.alarmTypes = response;\r\n // this.selectedAlarmTypes = response\r\n this.alarmTypes.sort(function (a, b) {\r\n if (a.description > b.description) {\r\n return 1;\r\n }\r\n if (a.description < b.description) {\r\n return -1;\r\n }\r\n // a must be equal to b\r\n return 0;\r\n });\r\n });\r\n }\r\n\r\n getDrivers(): void {\r\n this.alertReportService.getDrivers_rol().then(response => {\r\n console.log(response)\r\n this.drivers = response;\r\n this.drivers.sort(function (a, b) {\r\n if (a.nameDriver > b.nameDriver) {\r\n return 1;\r\n }\r\n if (a.nameDriver < b.nameDriver) {\r\n return -1;\r\n }\r\n // a must be equal to b\r\n return 0;\r\n });\r\n // this.selectedDrivers = response;\r\n });\r\n }\r\n\r\n getPlates(): void {\r\n this.vpcReportService.getPlates(this.commonService.getUserName()).then(response => {\r\n this.plates = response;\r\n for (var i in this.plates) {\r\n this.plates[i].tracker_name = this.plates[i].tracker_name + \" - \" + this.plates[i].license_plate\r\n }\r\n });\r\n }\r\n\r\n getSelectedDates() {\r\n var d1, m1, d2, m2;\r\n if (this.reportAux.dateIni.day < 10) {\r\n d1 = '0' + this.reportAux.dateIni.day;\r\n } else {\r\n d1 = this.reportAux.dateIni.day;\r\n }\r\n if (this.reportAux.dateIni.month < 10) {\r\n m1 = '0' + this.reportAux.dateIni.month;\r\n } else {\r\n m1 = this.reportAux.dateIni.month;\r\n }\r\n var dateIni = d1 + '-' + m1 + '-' + this.reportAux.dateIni.year + ' ' + this.reportAux.timeIni;\r\n\r\n if (this.reportAux.dateFin.day < 10) {\r\n d2 = '0' + this.reportAux.dateFin.day;\r\n } else {\r\n d2 = this.reportAux.dateFin.day;\r\n }\r\n if (this.reportAux.dateFin.month < 10) {\r\n m2 = '0' + this.reportAux.dateFin.month;\r\n } else {\r\n m2 = this.reportAux.dateFin.month;\r\n }\r\n var dateFin = d2 + '-' + m2 + '-' + this.reportAux.dateFin.year + ' ' + this.reportAux.timeFin;\r\n dateIni = dateIni.replace(':', '_');\r\n dateFin = dateFin.replace(':', '_');\r\n\r\n return { dateIni: dateIni, dateFin: dateFin }\r\n }\r\n\r\n // getselectedPlates() {\r\n // var platesString = []\r\n // for (var i in this.selectedPlates) {\r\n // platesString.push(this.selectedPlates[i].tracker_name.split(\" - \")[0])\r\n // }\r\n // if (platesString.length == 0) {\r\n // platesString.push(\"-\")\r\n // }\r\n // return platesString;\r\n // }\r\n\r\n // getSelectedAlarmTypes() {\r\n // var alarmTypesString = []\r\n // for (var i in this.selectedAlarmTypes) {\r\n // alarmTypesString.push(this.selectedAlarmTypes[i].id)\r\n // }\r\n // if (alarmTypesString.length == 0) {\r\n // alarmTypesString.push(\"-\")\r\n // }\r\n // return alarmTypesString\r\n // }\r\n\r\n // getSelectedDrivers() {\r\n // var driversString = []\r\n // for (var i in this.selectedDrivers) {\r\n // driversString.push(this.selectedDrivers[i].identificationDriver)\r\n // }\r\n // if (driversString.length == 0) {\r\n // driversString.push(\"-\")\r\n // }\r\n // return driversString\r\n // }\r\n\r\n applyFilter(filterValue: string) {\r\n this.dataReport.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataReport.paginator) {\r\n this.dataReport.paginator.firstPage();\r\n }\r\n }\r\n\r\n sortData(e) {\r\n console.log(e)\r\n }\r\n\r\n setTable(data) {\r\n this.displayedColumns = [\"plate\",\r\n 'identificationDriver',\r\n 'nameDriver',\r\n 'l_datetime',\r\n \"alarm\",\r\n \"message\",\r\n \"speed\",\r\n 'ubication'];\r\n \r\n this.dataReport = new MatTableDataSource(data);\r\n this.dataReport.paginator = this.paginator;\r\n this.dataReport.paginator._intl.itemsPerPageLabel = \"Filas por Página:\"\r\n // Esconde el paginador porque no es posible cambair la paginación por problemas con el componente\r\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\r\n\r\n this.dataReport.sort = this.sort;\r\n }\r\n\r\n loadReport(): void {\r\n this.spinner.show();\r\n this.dataObj = [];\r\n var dates = this.getSelectedDates();\r\n\r\n var platesString = this.selectedPlates.map(({ sn_imei_id }) => \"'\" + sn_imei_id + \"'\").toString();\r\n var alarmTypesString = this.selectedAlarmTypes.map(({ id }) => \"'\" + id + \"'\").toString();\r\n var driversString = this.selectedDrivers.map(({ identificationDriver }) => \"'\" + identificationDriver + \"'\").toString();\r\n\r\n this.alertReportService.getReport(\r\n platesString.toString(),\r\n alarmTypesString.toString(),\r\n driversString.toString(),\r\n dates.dateIni,\r\n dates.dateFin\r\n )\r\n .then(data => {\r\n console.log('data : ', data)\r\n this.spinner.hide();\r\n\r\n // $('.tbodyTable').empty();\r\n // this.spinner.hide();\r\n\r\n this.report = data;\r\n // const dateValidate = new Date('2018-01-01 00:00:00.00');\r\n // const dateValidateSum = new Date('2018-01-01 00:00:00.00');\r\n // let trip = 0;\r\n let totalIn = 0;\r\n let totalOut = 0;\r\n let promTot = 0;\r\n\r\n // const quant = parseInt(data.length) - 1;\r\n const quant = parseInt(data.length);\r\n if (quant > 0) {\r\n $('.tbodyTable').empty();\r\n for (let i = 0; i < data.length; i++) {\r\n data[i].l_datetime = new Date(data[i].l_datetime)\r\n data[i].l_datetime = data[i].l_datetime.toLocaleString('es-CO', { hour12: true })\r\n // data[i].trip = trip\r\n // const dateArray = new Date(data[i].startdate);\r\n // if (dateArray < dateValidate || dateArray > dateValidateSum) {\r\n var it = {};\r\n // trip = trip + 1\r\n // data[i].trip = trip\r\n data[i].location = ''\r\n it[\"Placa\"] = data[i].plate;\r\n it[\"Identificación Conductor\"] = data[i].identificationDriver;\r\n it[\"Nombre Conductor\"] = data[i].nameDriver;\r\n it[\"Fecha\"] = data[i].l_datetime;\r\n it[\"Alarma\"] = data[i].description;\r\n it[\"Puertas\"] = data[i].message;\r\n it[\"Velocidad\"] = data[i].speed;\r\n // it[\"Ubicación\"] = data[i].location\r\n\r\n // this.dataReport.push(data[i]);\r\n this.dataObj.push(it);\r\n // }\r\n event.preventDefault();\r\n }\r\n setTimeout(() => { this.setTable(data) }, 2000);\r\n \r\n } else {\r\n this.spinner.hide();\r\n $('.tbodyTable').empty();\r\n swal({\r\n title: 'No existen datos para este rango de fechas',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n\r\n })\r\n .catch(error => {\r\n console.log(error)\r\n this.spinner.hide();\r\n // console.log('vpcReport.component.error');\r\n swal({\r\n title: 'No es posible realizar la consulta, comuníquese con el administrador del sistema',\r\n text: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n });\r\n }\r\n\r\n exportToExcel() {\r\n if (this.dataObj.length > 0) {\r\n this.excelService.exportAsExcelFile(this.dataObj, 'reporte_alarmas');\r\n } else {\r\n swal({\r\n title: 'No hay datos para exportar',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/alert-report/alert-report.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/alert/alert.component.css\n// module id = ../../../../../src/app/components/alert/alert.component.css\n// module chunks = main","module.exports = \"
\\r\\n \\r\\n
\\r\\n {{alert.message}}\\r\\n ×\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/alert/alert.component.html\n// module id = ../../../../../src/app/components/alert/alert.component.html\n// module chunks = main","import { Component, OnInit, Input } from '@angular/core';\r\nimport { AlertService } from '../../services/alert.service';\r\nimport { AlertType } from '../../enum/alert-type.enum';\r\nimport { Alert } from '../../classes/alert';\r\n\r\n@Component({\r\n selector: 'app-alert',\r\n templateUrl: './alert.component.html',\r\n styleUrls: ['./alert.component.css']\r\n})\r\nexport class AlertComponent implements OnInit {\r\n\r\n alerts: Alert[] = [];\r\n constructor(\r\n private alertServices: AlertService\r\n )\r\n { }\r\n\r\n ngOnInit() {\r\n this.alertServices.getAlert().subscribe((alert: Alert) => {\r\n if (!alert) {\r\n this.alerts = [];\r\n return;\r\n }\r\n this.alerts.push(alert);\r\n console.log(' alertando ', alert);\r\n });\r\n }\r\n\r\n removeAlert(alert: Alert) {\r\n this.alerts = this.alerts.filter(x => x !== alert);\r\n }\r\n\r\n cssClass(alert: Alert) {\r\n if (!alert) {\r\n return;\r\n }\r\n\r\n // return css class based on alert type\r\n switch (alert.type) {\r\n case AlertType.Success:\r\n return 'alert background-success';\r\n case AlertType.Error:\r\n return 'alert background-danger';\r\n case AlertType.Info:\r\n return 'alert background-info';\r\n case AlertType.Warning:\r\n return 'alert background-warning';\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/alert/alert.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/companies/companies.component.css\n// module id = ../../../../../src/app/components/companies/companies.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Compañias
\\r\\n \\r\\n
    \\r\\n
  • \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    Compañia
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Identificación
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Usuario de transmisión
    \\r\\n
    \\r\\n\\r\\n
  • \\r\\n
\\r\\n\\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n \\\"image\\\"\\r\\n \\\"image\\\"\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    {{ m.identification }}
    \\r\\n {{ m.name }}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n {{ m.address }}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n {{ m.phone }}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n {{ m.vehicle }}\\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/companies/companies.component.html\n// module id = ../../../../../src/app/components/companies/companies.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { CompaniesService } from '../../services/companies.service';\r\n\r\n@Component({\r\n selector: 'app-companies',\r\n templateUrl: './companies.component.html',\r\n styleUrls: ['./companies.component.css']\r\n})\r\nexport class CompaniesComponent implements OnInit {\r\n companies: any = [];\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private companiesService: CompaniesService,\r\n private commonService: CommonService\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.getCompanies();\r\n }\r\n\r\n\r\n getCompanies(): void {\r\n console.log('component get Companies');\r\n this.companiesService.getCompanies()\r\n .then(response => {\r\n this.companies = response;\r\n console.log('this companies : ', this.companies);\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/companies/companies.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/company/company.component.css\n// module id = ../../../../../src/app/components/company/company.component.css\n// module chunks = main","module.exports = \"

\\r\\n company works!\\r\\n

\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/company/company.component.html\n// module id = ../../../../../src/app/components/company/company.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-company',\r\n templateUrl: './company.component.html',\r\n styleUrls: ['./company.component.css']\r\n})\r\nexport class CompanyComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/company/company.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".multiselect-style{\\r\\n width: 500px;\\r\\n height: auto;\\r\\n}\\r\\n.ng-select.custom {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n width: 1%;\\r\\n}\\r\\n.ng-select.custom .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n}\\r\\n.ng-select.custom_1 {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n}\\r\\n.ng-select.custom_1 .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n}\\r\\n\\r\\nng-select.ng-invalid.ng-touched .ng-select-container {\\r\\n border-color: #dc3545;\\r\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px #fde6e8;\\r\\n}\\r\\n\\r\\n \\r\\ntable {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.mat-form-field {\\r\\n font-size: 14px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\ntd, th {\\r\\n width: 25%;\\r\\n padding-left: 1%;\\r\\n}\\r\\n.cdk-visually-hidden{\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n#filter-panel{\\r\\n border: solid; \\r\\n background:#4c6c8b; \\r\\n color: #fff;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n\\r\\n#select{\\r\\n border: 1px solid #adadad;\\r\\n background :inherit;\\r\\n color : #fff;\\r\\n \\r\\n}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/consolidated-by-plate/consolidated-by-plate.component.css\n// module id = ../../../../../src/app/components/consolidated-by-plate/consolidated-by-plate.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n

 

\\r\\n

 

\\r\\n

 

\\r\\n

Cargando...

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Conteo Consolidado de pasajeros

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Búsqueda Avanzada

\\r\\n
Realizar una búsqueda avanzada de Conteo Consolidado de Pasajeros
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

 

\\r\\n\\r\\n
{{ plates.user_account}}
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ totalProm }}

\\r\\n
Pasajeros movilizados
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n Viaje\\r\\n {{element.trip}} \\r\\n \\r\\n\\r\\n \\r\\n Placa\\r\\n {{element.plate}} \\r\\n \\r\\n\\r\\n \\r\\n Conductor\\r\\n {{element.driver}} \\r\\n \\r\\n\\r\\n \\r\\n Desde\\r\\n {{ element.startdate }} \\r\\n \\r\\n\\r\\n \\r\\n Hasta\\r\\n {{ element.endingTime }} \\r\\n \\r\\n\\r\\n \\r\\n Viajes\\r\\n {{ element.tripsAmount }} \\r\\n \\r\\n\\r\\n \\r\\n Despacho\\r\\n {{ element.rfidDispatched }} \\r\\n \\r\\n\\r\\n \\r\\n Bloqueos\\r\\n {{ element.countBlock }}\\r\\n \\r\\n\\r\\n \\r\\n Total Pasajeros\\r\\n {{ element.passengerAmount }}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/consolidated-by-plate/consolidated-by-plate.component.html\n// module id = ../../../../../src/app/components/consolidated-by-plate/consolidated-by-plate.component.html\n// module chunks = main","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CommonService } from '../../services/common.service' ;\r\nimport { PassengersReportService} from '../../services/passengers-report.service';\r\nimport { DriversService } from '../../services/drivers.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ConsolidatedByPlateService } from '../../services/consolidated-by-plate.service';\r\nimport swal from 'sweetalert2';\r\ndeclare var $: any;\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport {MatPaginator} from '@angular/material/paginator';\r\nimport {MatSort} from '@angular/material/sort';\r\nimport { ExcelService } from '../../services/excel.service';\r\n\r\n@Component({\r\n selector: 'app-consolidated-by-plate',\r\n templateUrl: './consolidated-by-plate.component.html',\r\n styleUrls: ['./consolidated-by-plate.component.css']\r\n})\r\nexport class ConsolidatedByPlateComponent implements OnInit {\r\n\r\n platesBuffer = [];\r\n loading1 = false;\r\n bufferSize = 50;\r\n imeiVei: any = {};\r\n vehiculo: any = {};\r\n dataObj: any = [];\r\n user_account: any;\r\n data: any = [];\r\n placas: any = [];\r\n report: any = [];\r\n reportAux: any = [];\r\n model: any = {};\r\n returnUrl: string;\r\n isSubmitted: any = false;\r\n dataReport: any = [];\r\n dataReport2: any = [];\r\n totalIn: any;\r\n totalOut: any;\r\n promTot: any;\r\n totalProm: any;\r\n dateNowInit: any;\r\n dateNowEnd: any;\r\n public loading = false\r\n selectedCity: any;\r\n filterMenuVisible: boolean = false;\r\n displayedColumns: string[];\r\n\r\n\r\n plates: any = [];\r\n platesSettings = {};\r\n selectedPlates = [];\r\n\r\n drivers = []\r\n driversSettings = {};\r\n selectedDrivers = [];\r\n\r\n dispatchers = []\r\n dispatchersSettings = {};\r\n selectedDispatchers = [];\r\n\r\n routes = []\r\n routesSettings = {};\r\n selectedRoutes = [];\r\n\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private vpcReportService: PassengersReportService,\r\n private consolidatedByPlateService: ConsolidatedByPlateService,\r\n private driversService: DriversService,\r\n private commonService: CommonService,\r\n private spinner: NgxSpinnerService,\r\n private excelService: ExcelService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getPlates();\r\n this.getDrivers();\r\n this.setFilterstData();\r\n\r\n }\r\n\r\n setFilterstData() {\r\n var now = new Date(); //currentDate\r\n this.reportAux.dateIni = { year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate() };\r\n this.reportAux.dateFin = { year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate() };\r\n this.reportAux.timeIni = '00:00';\r\n this.reportAux.timeFin = '23:59';\r\n this.reportAux.rfidOnly = 1\r\n }\r\n\r\n getDrivers(): void {\r\n\r\n this.driversSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'name',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n this.driversService.getDrivers_rol(this.commonService.getUserName())\r\n .then(response => {\r\n console.log(response)\r\n this.drivers = response\r\n });\r\n }\r\n\r\n loadReport(): void {\r\n console.log(this.reportAux)\r\n this.dataObj = [];\r\n //console.log('this.imeiVei : ', this.imeiVei.sn_imei_id)\r\n var d1, m1, d2, m2;\r\n if (this.reportAux.dateIni.day < 10) {\r\n d1 = '0' + this.reportAux.dateIni.day;\r\n } else {\r\n d1 = this.reportAux.dateIni.day;\r\n }\r\n if (this.reportAux.dateIni.month < 10) {\r\n m1 = '0' + this.reportAux.dateIni.month;\r\n } else {\r\n m1 = this.reportAux.dateIni.month;\r\n }\r\n var dateIni = d1 + '-' + m1 + '-' + this.reportAux.dateIni.year + ' ' + this.reportAux.timeIni;\r\n\r\n if (this.reportAux.dateFin.day < 10) {\r\n d2 = '0' + this.reportAux.dateFin.day;\r\n } else {\r\n d2 = this.reportAux.dateFin.day;\r\n }\r\n if (this.reportAux.dateFin.month < 10) {\r\n m2 = '0' + this.reportAux.dateFin.month;\r\n } else {\r\n m2 = this.reportAux.dateFin.month;\r\n }\r\n var dateFin = d2 + '-' + m2 + '-' + this.reportAux.dateFin.year + ' ' + this.reportAux.timeFin;\r\n dateIni = dateIni.replace(':', '_');\r\n dateFin = dateFin.replace(':', '_');\r\n //console.log(dateIni);\r\n //console.log(dateFin);\r\n //if (this.imeiVei == undefined) {\r\n $('.tbodyTable').empty();\r\n //var dateIni = $('#dateIni').val().replace(':', '_');\r\n //var dateFin = $('#dateFin').val().replace(':', '_');\r\n //console.log(dateIni);\r\n var imeis = this.selectedPlates.map(({ sn_imei_id }) => \"'\" + sn_imei_id + \"'\").toString();\r\n\r\n console.log(imeis)\r\n if(imeis == \"\"){\r\n swal({\r\n title: 'Debe seleccionar al menos una Placa',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n return\r\n }\r\n\r\n var driversId = this.selectedDrivers.map(({ id }) => \"'\" + id + \"'\").toString();\r\n this.spinner.show();\r\n if (dateIni && dateFin) {\r\n //var rfidOnly = this.reportAux.rfidOnly == true ? \"1\": \"0\"\r\n this.consolidatedByPlateService.consolidateReport(imeis, dateIni, dateFin,\r\n this.reportAux.rfidOnly, driversId)\r\n .then(data => {\r\n console.log('data : ', data)\r\n this.dataReport = [];\r\n // $('.tbodyTable').empty();\r\n this.spinner.hide();\r\n this.report = data;\r\n\r\n // const dateValidate = new Date('2018-01-01 00:00:00.00');\r\n // const dateValidateSum = new Date('2018-01-01 00:00:00.00');\r\n // let trip = 0;\r\n // let totalIn = 0;\r\n // let totalOut = 0;\r\n // let promTot = 0;\r\n\r\n\r\n const quant = parseInt(data.length);\r\n if (quant > 0) {\r\n // $('.tbodyTable').empty();\r\n // for (let i = 0; i < data.length; i++) {\r\n // data[i].trip = trip\r\n // // data[i].plate = this.imeiVei.tracker_name;\r\n // const dateArray = new Date(data[i].startdate);\r\n // if (dateArray < dateValidate || dateArray > dateValidateSum) {\r\n // var it = {};\r\n // trip = trip + 1\r\n // data[i].trip = trip\r\n // it[\"Viaje\"] = trip;\r\n // it[\"Placa\"] = data[i].plate;\r\n // it[\"Ruta\"] = data[i].route;\r\n // it[\"Fecha\"] = data[i].registerTime;\r\n // it[\"Bloqueos\"] = data[i].countBlock;\r\n // it[\"Kms recorridos\"] = data[i].journey;\r\n // it[\"Velocidad máxima\"] = data[i].speed;\r\n // it[\"Hora inicio\"] = data[i].startTime;\r\n // it[\"Hora fin\"] = data[i].endTime;\r\n // it[\"Ingresos puerta trasera\"] = data[i].backdoorin;\r\n // console.log('backdoorin : ', data[i].backdoorin)\r\n // it[\"Pasajeros movilizados\"] = data[i].totalProm;\r\n // console.log('totalProm : ', data[i].totalProm)\r\n // it[\"Tiempo de viaje\"] = data[i].time;\r\n // console.log('time : ', data[i].time)\r\n // console.log('dataaaaa : ', data[i])\r\n // this.dataReport.push(data[i]);\r\n // this.dataObj.push(it);\r\n // }\r\n // console.log('this.dataObj : ', this.dataObj)\r\n // dateValidateSum.setMinutes(dateValidateSum.getMinutes() + 10);\r\n // event.preventDefault();\r\n // totalIn = totalIn + parseInt(data[i]['totalInPass']);\r\n // totalOut = totalOut + parseInt(data[i]['totalOutPass']);\r\n // }\r\n // this.totalIn = totalIn;\r\n // console.log('this.totalIn : ', this.totalIn)\r\n // this.totalOut = totalOut;\r\n // console.log('this.totalOut : ', this.totalOut)\r\n // this.totalProm = Math.round((this.totalIn + this.totalOut) / 2);\r\n\r\n this.setTable(data)\r\n } else {\r\n $('.tbodyTable').empty();\r\n swal({\r\n title: 'No existen datos para este rango de fechas',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n })\r\n .catch(error => {\r\n this.spinner.hide();\r\n console.log(error)\r\n // console.log('vpcReport.component.error');\r\n swal({\r\n title: 'No es posible realizar la consulta, comuníquese con el administrador del sistema',\r\n text: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n });\r\n } else {\r\n this.spinner.hide();\r\n swal({\r\n title: 'Ingresa Todos los campos solicitados',\r\n text: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n // } else {\r\n\r\n // }\r\n }\r\n\r\n getPlates(): void {\r\n\r\n this.platesSettings = {\r\n singleSelection: false,\r\n idField: 'sn_imei_id',\r\n textField: 'tracker_name',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n this.spinner.show();\r\n this.vpcReportService.getPlates(this.commonService.getUserName()).then(response => {\r\n console.log(response)\r\n this.plates = response;\r\n this.plates.sort(function (a, b) {\r\n if (a.tracker_name > b.tracker_name) {\r\n return 1;\r\n }\r\n if (a.tracker_name < b.tracker_name) {\r\n return -1;\r\n }\r\n // a must be equal to b\r\n return 0;\r\n });\r\n\r\n for (var i in this.plates) {\r\n this.plates[i].tracker_name = this.plates[i].tracker_name + \" - \" + this.plates[i].license_plate\r\n }\r\n console.log('response : : : ', this.plates)\r\n this.platesBuffer = this.plates.slice(0, this.bufferSize);\r\n this.user_account = this.plates.user_account;\r\n this.imeiVei = this.plates.sn_imei_id;\r\n });\r\n this.spinner.hide();\r\n }\r\n\r\n fetchMorePlate() {\r\n const len = this.platesBuffer.length;\r\n const more = this.plates.slice(len, this.bufferSize + len);\r\n this.loading1 = true;\r\n // using timeout here to simulate backend API delay\r\n setTimeout(() => {\r\n this.loading1 = false;\r\n this.platesBuffer = this.platesBuffer.concat(more);\r\n }, 200);\r\n }\r\n exportToExcel() {\r\n if (this.dataObj.length > 0) {\r\n this.excelService.exportAsExcelFile(this.dataObj, 'archivo_conteo_pasajeros');\r\n } else {\r\n swal({\r\n title: 'No hay datos para exportar',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n\r\n setTable(data) {\r\n this.displayedColumns = [\"Viaje\",\r\n \"Placa\",\r\n \"Driver\",\r\n \"inicio\",\r\n \"fin\",\r\n \"Trips\",\r\n \"Despacho\",\r\n \"Bloqueos\",\r\n \"Passengers\",\r\n \r\n ];\r\n\r\n this.totalProm = 0\r\n this.dataObj = []\r\n for (var i in data) {\r\n console.log(data[i].registerTime)\r\n\r\n data[i].trip = +i + 1\r\n\r\n data[i].startdate = new Date(data[i].startdate)\r\n data[i].endingdate = new Date(data[i].endTime)\r\n\r\n // data[i].startdate = data[i].startdate\r\n // data[i].startTime = data[i].startdate.toLocaleTimeString('es-CO', { hour12: true, hour: '2-digit', minute:'2-digit' })\r\n\r\n data[i].endingTime = data[i].endingdate.toLocaleString('es-CO', { hour12: true })\r\n // data[i].endingTime = data[i].endingTime.split(\",\")[1]\r\n\r\n data[i].startdate = data[i].startdate.toLocaleString('es-CO', { hour12: true })\r\n // data[i].startdate = data[i].startdate.split(\",\")[0]\r\n\r\n this.totalProm += data[i].passengerAmount\r\n // data[i].countBlock = data[i].tripsAmount\r\n this.setExcelData(data[i])\r\n }\r\n\r\n this.dataReport2 = new MatTableDataSource(data);\r\n\r\n setTimeout(() => {\r\n this.forceTablePaginator()\r\n },\r\n 500);\r\n\r\n this.dataReport2.sort = this.sort;\r\n\r\n // Esconde el paginador porque no es posible cambair la paginación por problemas con el componente\r\n }\r\n\r\n forceTablePaginator() {\r\n try {\r\n // this.dataReport2.paginator = this.paginator;\r\n this.dataReport2.paginator._intl.itemsPerPageLabel = \"Filas por Página:\"\r\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\r\n } catch (error) {\r\n try {\r\n this.dataReport2.paginator = this.paginator;\r\n this.dataReport2.paginator._intl.itemsPerPageLabel = \"Filas por Página:\"\r\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n }\r\n\r\n toggleFilterMenu() {\r\n this.filterMenuVisible = !this.filterMenuVisible;\r\n }\r\n applyFilter(filterValue: string) {\r\n this.dataReport2.filter = filterValue.trim().toLowerCase();\r\n if (this.dataReport2.paginator) {\r\n this.dataReport2.paginator.firstPage();\r\n }\r\n }\r\n\r\n setExcelData(data){\r\n \r\n let item = {}\r\n item[\"Viaje\"] = data.trip\r\n item[\"Placa\"] = data.plate\r\n item[\"Conductor\"] = data.driver\r\n item[\"inicio\" ] = data.startdate\r\n item[\"fin\" ] = data.endingTime\r\n item[\"Ctdad viajes\" ] = data.tripsAmount\r\n item[\"Despacho\"] = data.rfidDispatched\r\n item[\"Bloqueos\"] = data.countBlock\r\n item[\"Total Pasajeros\"] = data.passengerAmount\r\n\r\n this.dataObj.push(item)\r\n console.log(this.dataObj)\r\n \r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/consolidated-by-plate/consolidated-by-plate.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".set-map {\\r\\n height: 400px;\\r\\n width: 100%!important;\\r\\n}\\r\\n#btn-content{\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/controlpoint/controlpoint.component.css\n// module id = ../../../../../src/app/components/controlpoint/controlpoint.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Puntos de control
\\r\\n
\\r\\n

 

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/controlpoint/controlpoint.component.html\n// module id = ../../../../../src/app/components/controlpoint/controlpoint.component.html\n// module chunks = main","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\r\nimport { PointsService} from '../../services/points.service';\r\nimport { RoutesService} from '../../services/routes.service';\r\nimport { RouteService} from '../../services/route.service';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { NgbActiveModal, NgbModal} from '@ng-bootstrap/ng-bootstrap';\r\nimport { Observable} from 'rxjs/Observable';\r\nimport {any} from \"codelyzer/util/function\";\r\nimport { AlertService} from '../../services/alert.service';\r\nimport swal from 'sweetalert2';\r\ndeclare const google: any;\r\nvar originMarker: any;\r\nvar destinationMarker:any;\r\nvar directionsService: any;\r\nvar directionsDisplay: any;\r\nvar originLat:number;\r\nvar originLng:number;\r\nvar destinationLat:number;\r\nvar destinationLng:number;\r\nvar marker:any;\r\nvar map: any;\r\nvar cl:any;\r\nvar isLocCreated: boolean = false;\r\nvar lat:number;\r\nvar lng:number;\r\nvar isRouteCreated: boolean = false;\r\nvar idCtrlPt:any;\r\n\r\n@Component({\r\n selector: 'app-controlpoint',\r\n templateUrl: './controlpoint.component.html',\r\n styleUrls: ['./controlpoint.component.css']\r\n})\r\nexport class ControlpointComponent implements OnInit {\r\n pointId: any;\r\n pointIdSave: any;\r\n point: any = {};\r\n points: any = [];\r\n circles: any =[];\r\n pointsType: any = [];\r\n modalPoint: any;\r\n data: any = {};\r\n public isPtCreated = false;\r\n public isValid = true;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private routesService: RoutesService,\r\n private routeService: RouteService,\r\n private pointsService: PointsService,\r\n private commonService: CommonService,\r\n private alertService: AlertService,\r\n private modalService: NgbModal\r\n ) { }\r\n\r\n ngOnInit() {\r\n marker = null;\r\n lat = null;\r\n lng = null;\r\n idCtrlPt=this.route.snapshot.params.idCtrlPoint;\r\n this.point.pointtypeId = null;\r\n this.getTypePoints();\r\n map = new google.maps.Map((document.getElementById('map')), {\r\n zoom: 7,\r\n center: new google.maps.LatLng(4.624335, -74.063644)\r\n });\r\n if(idCtrlPt==\"-1\"){\r\n var places = new google.maps.places.Autocomplete((document.getElementById('location')));\r\n google.maps.event.addListener(places, 'place_changed', () =>{\r\n var place = places.getPlace();\r\n\r\n var src_addr = place.formatted_address;\r\n var src_lat = place.geometry.location.lat();\r\n var src_long = place.geometry.location.lng();\r\n lat=src_lat;\r\n lng=src_long;\r\n //alert(lat+\" \"+lng);\r\n //alert(this.isPtCreated);\r\n if(this.isPtCreated==false){\r\n this.createPt();\r\n }else{\r\n swal({\r\n title: 'Ya se ha creado un punto de control, debe borrar el punto actual para generar otro.',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Ok',\r\n }).then(function (s) {\r\n\r\n });\r\n }\r\n });\r\n }else if(idCtrlPt!=\"-1\"){\r\n var places = new google.maps.places.Autocomplete((document.getElementById('location')));\r\n google.maps.event.addListener(places, 'place_changed', () =>{\r\n var place = places.getPlace();\r\n\r\n var src_addr = place.formatted_address;\r\n var src_lat = place.geometry.location.lat();\r\n var src_long = place.geometry.location.lng();\r\n lat=src_lat;\r\n lng=src_long;\r\n if(this.isPtCreated==false){\r\n this.createPt();\r\n }else{\r\n swal({\r\n title: 'Ya se ha creado un punto de control, debe borrar el punto actual para generar otro.',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Ok',\r\n }).then(function (s) {\r\n\r\n });\r\n }\r\n });\r\n this.pointsService.getPointById(idCtrlPt).then(response => {\r\n console.log(response);\r\n var name=response[0].name;\r\n var address=response[0].address;\r\n var typePointId=response[0].id_pointType;\r\n this.point.name=name;\r\n this.point.address=address;\r\n this.point.pointtypeId=typePointId;\r\n this.point.Id = response[0].id;\r\n if(response[0].latitude!==\"null\"&&response[0].longitude!==\"null\"){\r\n \r\n lat=parseFloat(response[0].latitude);\r\n lng=parseFloat(response[0].longitude);\r\n var fColor;\r\n if(typePointId==1){\r\n fColor = '#FF0000';\r\n }else if(typePointId==2){\r\n fColor = '#800000';\r\n }else if(typePointId==3){\r\n fColor = '#FFFF00';\r\n }else if(typePointId==4){\r\n fColor = '#808000';\r\n }else if(typePointId==5){\r\n fColor = '#00FF00';\r\n }else if(typePointId==6){\r\n fColor = '#00FFFF';\r\n }\r\n var coordinate = new google.maps.LatLng(lat, lng);\r\n marker = new google.maps.Marker({\r\n position: coordinate,\r\n map: map,\r\n draggable: true\r\n });\r\n cl = new google.maps.Circle({\r\n strokeColor: fColor,\r\n strokeOpacity: 0.8,\r\n strokeWeight: 2,\r\n fillColor: fColor,\r\n fillOpacity: 0.35,\r\n center:marker.getPosition(),\r\n radius: 100,\r\n map: map\r\n });\r\n\r\n var infoWindowContent = '
' +\r\n //'
'+response[0].nameType+'
' +\r\n '

Nombre: '+this.point.name+'

'\r\n '
';\r\n var infoWindow = new google.maps.InfoWindow({\r\n content: infoWindowContent\r\n });\r\n google.maps.event.addListener(marker, 'click', function() {\r\n infoWindow.open(map, marker);\r\n });\r\n google.maps.event.addListener(marker, 'dragend', function(marker){\r\n var latLng = marker.latLng;\r\n lat = latLng.lat();\r\n lng = latLng.lng();\r\n var coords = new google.maps.LatLng(lat, lng);\r\n cl.setCenter(coords);\r\n //alert(lat+\" \"+lng);\r\n });\r\n map.setZoom(15);\r\n map.setCenter(marker.getPosition());\r\n this.isPtCreated=true;\r\n }\r\n });\r\n }\r\n }\r\n getTypePoints():void{\r\n this.pointsService.getTypePoint().then(response => {\r\n if(response){\r\n this.pointsType = response;\r\n console.log(this.pointsType);\r\n }\r\n });\r\n }\r\n onSelectTypePointId(value):void{\r\n if(value!=\"0\" || value!=null){\r\n this.point.pointtypeId = parseInt(value);\r\n }\r\n /*if(value!=\"1\"){\r\n this.point.consecutive = 0;\r\n this.point.time = 0;\r\n this.isDisableInput=true;\r\n }else{\r\n this.isDisableInput=false;\r\n }*/\r\n }\r\n createPt(){\r\n console.log(lat+\" \"+lng);\r\n console.log(marker);\r\n if (!lat || !lng) return;\r\n if (marker)\r\n {\r\n\r\n }\r\n else\r\n {\r\n if(lat!=null&&lng!=null){\r\n var coordinate = new google.maps.LatLng(lat, lng);\r\n var infoWindowContent = '
' +\r\n '

Nombre: '+this.point.name+'

' +\r\n '
';\r\n var infoWindow = new google.maps.InfoWindow({\r\n content: infoWindowContent\r\n });\r\n marker = new google.maps.Marker({\r\n position: coordinate,\r\n map: map,\r\n draggable: true\r\n });\r\n cl = new google.maps.Circle({\r\n strokeColor: '#87CEFA',\r\n strokeOpacity: 0.8,\r\n strokeWeight: 2,\r\n fillColor: '#87CEFA',\r\n fillOpacity: 0.35,\r\n center:marker.getPosition(),\r\n radius: 100,\r\n map: map\r\n });\r\n google.maps.event.addListener(marker, 'click', function() {\r\n infoWindow.open(map, marker);\r\n });\r\n google.maps.event.addListener(marker, 'dragend', function(marker){\r\n var latLng = marker.latLng;\r\n lat = latLng.lat();\r\n lng = latLng.lng();\r\n var coords = new google.maps.LatLng(lat, lng);\r\n cl.setCenter(coords);\r\n });\r\n map.setZoom(15);\r\n map.setCenter(marker.getPosition());\r\n this.isPtCreated=true;\r\n }\r\n }\r\n }\r\n erasePt(){\r\n if(this.isPtCreated){\r\n let that = this;\r\n swal({\r\n title: '¿Esta seguro de borrar el punto de control creado?',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Sí',\r\n cancelButtonText: 'No'\r\n }).then(function (s) {\r\n console.log(s);\r\n if(s.dismiss !== undefined){\r\n if (s.dismiss.toString() === 'cancel') {\r\n }\r\n }else{\r\n if(s.value!== undefined){\r\n if(s.value){\r\n marker.setMap(null);\r\n marker=null;\r\n cl.setMap(null);\r\n cl=null;\r\n that.isPtCreated=false;\r\n that.point.name=\" \";\r\n that.point.address=\" \";\r\n that.point.location=\"\";\r\n that.point.pointtypeId = null;\r\n lat=null;\r\n lng=null;\r\n }\r\n }\r\n }\r\n }).catch(swal.noop);\r\n }else{\r\n swal({\r\n title: \"Aún no se ha creado un punto de control.\",\r\n text: '',\r\n type: 'warning'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n savePt(){\r\n if(this.point.pointtypeId!=null){\r\n if(parseInt(this.point.pointtypeId)!=0){\r\n this.isValid=true;\r\n var s=\"\";\r\n if(this.point.name ==null || this.point.name == \"\"){\r\n this.isValid=false;\r\n s=s+\"El nombre es requerido\";\r\n }\r\n if(this.point.address == null || this.point.address == \"\"){\r\n if(this.isValid==false){\r\n s=s+\", la dirección es requerida\";\r\n }else{\r\n s=s+\"La dirección es requerida\";\r\n }\r\n this.isValid=false;\r\n\r\n }\r\n if(this.isValid){\r\n if(this.isPtCreated){\r\n let that = this;\r\n swal({\r\n title: '¿Esta seguro de guardar el punto de control creado?',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Sí',\r\n cancelButtonText: 'No'\r\n }).then(function (s) {\r\n if(s.dismiss !== undefined){\r\n if (s.dismiss.toString() === 'cancel') {\r\n }\r\n }else{\r\n if(s.value!== undefined){\r\n if(s.value){\r\n var name=that.point.name;\r\n var address=that.point.address;\r\n var pointtypeId = that.point.pointtypeId;\r\n var param;\r\n if(that.point.Id != null){\r\n param = {\r\n \"Id\": that.point.Id,\r\n \"User_account\":that.commonService.getUserName(),\r\n \"IdTypePoint\":pointtypeId,\r\n \"Name\" : String(name),\r\n \"Address\" : String(address),\r\n \"Latitude\" : String(lat),\r\n \"Longitude\": String(lng)\r\n };\r\n }else{\r\n param = {\r\n \"User_account\":that.commonService.getUserName(),\r\n \"IdTypePoint\":pointtypeId,\r\n \"Name\" : String(name),\r\n \"Address\" : String(address),\r\n \"Latitude\" : String(lat),\r\n \"Longitude\": String(lng)\r\n };\r\n }\r\n\r\n console.log(param);\r\n that.pointsService.saveUpdatePoint(param)\r\n .then(response =>{\r\n if (response.status == 'EXITO') {\r\n var fColor;\r\n if(pointtypeId==1){\r\n fColor = '#FF0000';\r\n }else if(pointtypeId==2){\r\n fColor = '#800000';\r\n }else if(pointtypeId==3){\r\n fColor = '#FFFF00';\r\n }else if(pointtypeId==4){\r\n fColor = '#808000';\r\n }else if(pointtypeId==5){\r\n fColor = '#00FF00';\r\n }else if(pointtypeId==6){\r\n fColor = '#00FFFF';\r\n }\r\n var coordinate = new google.maps.LatLng(lat, lng);\r\n var circle = new google.maps.Circle({\r\n strokeColor: fColor,\r\n strokeOpacity: 0.8,\r\n strokeWeight: 2,\r\n fillColor: fColor,\r\n fillOpacity: 0.35,\r\n center:coordinate,\r\n radius: 100,\r\n map: map\r\n });\r\n console.log(circle);\r\n var infoWindowContent = '
' +\r\n '

'+name+'

' +\r\n '
';\r\n circle.info = new google.maps.InfoWindow({\r\n content: infoWindowContent\r\n });\r\n google.maps.event.addListener(circle, 'click', function() {\r\n this.info.setPosition(this.getCenter());\r\n this.info.open(map, this);\r\n });\r\n\r\n circle.mID = response.lastId;\r\n that.circles.push({id:response.lastId, circle:circle});\r\n cl.setMap(null);\r\n cl=null;\r\n marker.setMap(null);\r\n marker=null;\r\n lat=null;\r\n lng=null;\r\n that.isPtCreated=false;\r\n that.point.name = null;\r\n that.point.address=null;\r\n that.point.location=\"\";\r\n that.point.pointtypeId = null;\r\n that.point.Id = null;\r\n that.router.navigate(['/home/controlpoints']);\r\n }\r\n });\r\n }\r\n } \r\n }\r\n }).catch(swal.noop);\r\n }else{\r\n swal({\r\n title: \"Debe de crear un punto de control para poder guardar.\",\r\n text: '',\r\n type: 'warning'\r\n }).catch(swal.noop);\r\n }\r\n }else{\r\n swal({\r\n title: s,\r\n text: '',\r\n type: 'warning'\r\n }).catch(swal.noop);\r\n }\r\n }else{\r\n swal({\r\n title: \"Debe seleccionar un tipo de punto.\",\r\n text: '',\r\n type: 'warning'\r\n }).catch(swal.noop);\r\n }\r\n }else{\r\n swal({\r\n title: \"Debe seleccionar un tipo de punto.\",\r\n text: '',\r\n type: 'warning'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/controlpoint/controlpoint.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"table {\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n .mat-form-field {\\r\\n font-size: 14px;\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n td, th {\\r\\n width: 40%;\\r\\n }\\r\\n .cdk-visually-hidden{\\r\\n display: none !important;\\r\\n }\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n .multiselect-style{\\r\\n width: 500px;\\r\\n height: auto;\\r\\n }\\r\\n .ng-select.custom {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n /* width: 1%; */\\r\\n }\\r\\n .ng-select.custom .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n }\\r\\n .ng-select.custom_1 {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n }\\r\\n .ng-select.custom_1 .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n }\\r\\n \\r\\n ng-select.ng-invalid.ng-touched .ng-select-container {\\r\\n border-color: #dc3545;\\r\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px #fde6e8;\\r\\n }\\r\\n \\r\\n #filter-panel{\\r\\n border: solid; \\r\\n background:#4c6c8b; \\r\\n color: #fff;\\r\\n }\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/controlpoints/controlpoints.component.css\n// module id = ../../../../../src/app/components/controlpoints/controlpoints.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n     \\r\\n\\r\\n \\r\\n\\r\\n      \\r\\n
\\r\\n \\r\\n  Buscar\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

Creación de Puntos

\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n Nombre\\r\\n {{element.name}} \\r\\n \\r\\n\\r\\n \\r\\n Dirección\\r\\n {{element.address}} \\r\\n \\r\\n\\r\\n \\r\\n Tipo\\r\\n {{element.typename}} \\r\\n \\r\\n\\r\\n \\r\\n Editar\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Eliminar\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/controlpoints/controlpoints.component.html\n// module id = ../../../../../src/app/components/controlpoints/controlpoints.component.html\n// module chunks = main","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\r\nimport { PointsService} from '../../services/points.service';\r\nimport { RoutesService} from '../../services/routes.service';\r\nimport { RouteService} from '../../services/route.service';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { NgbActiveModal, NgbModal} from '@ng-bootstrap/ng-bootstrap';\r\nimport { Observable} from 'rxjs/Observable';\r\nimport {any} from \"codelyzer/util/function\";\r\nimport { AlertService} from '../../services/alert.service';\r\nimport swal from 'sweetalert2';\r\nimport {MatPaginator} from '@angular/material/paginator';\r\nimport {MatSort} from '@angular/material/sort';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport { ExcelService } from '../../services/excel.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\ndeclare var $: any;\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-controlpoints',\r\n templateUrl: './controlpoints.component.html',\r\n styleUrls: ['./controlpoints.component.css']\r\n})\r\nexport class ControlpointsComponent implements OnInit {\r\n points: any = [];\r\n\r\n pointTypes: any = [];\r\n selectedpointTypes = [];\r\n pointTypesSettings = {};\r\n filterMenuVisible: boolean = false;\r\n displayedColumns: string[];\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private routesService: RoutesService,\r\n private routeService: RouteService,\r\n private pointsService: PointsService,\r\n private commonService: CommonService,\r\n private alertService: AlertService,\r\n private modalService: NgbModal,\r\n private excelService: ExcelService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.pointTypesSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'name',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n\r\n\r\n this.getControlPoints();\r\n this.getControlPointTypes()\r\n }\r\n\r\n applyFilter(filterValue: string) {\r\n this.points.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.points.paginator) {\r\n this.points.paginator.firstPage();\r\n }\r\n }\r\n\r\n sortData(e){\r\n console.log(e)\r\n }\r\n\r\n setTable(data){\r\n this.displayedColumns = [\"Name\", \"Address\", \"Type\", \"Edit\",\"Delete\"];\r\n this.points = new MatTableDataSource(data);\r\n this.points.paginator = this.paginator;\r\n this.points.paginator._intl.itemsPerPageLabel = \"Filas por Página:\"\r\n this.points.sort = this.sort;\r\n // Esconde el paginador porque no es posible cambair la paginación por problemas con el componente\r\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\r\n }\r\n\r\n\r\n getControlPoints(){\r\n let that = this;\r\n this.pointsService.getPointByUser(this.commonService.getUserName()).then(response => {\r\n // this.points =response;\r\n that.setTable(response)\r\n });\r\n }\r\n\r\n filterControlPoints(){\r\n let that = this;\r\n var typesId = this.selectedpointTypes.map(({ id }) => \"'\" + id + \"'\").toString();\r\n \r\n if(typesId != \"\"){\r\n this.pointsService.getPointByUser_filtered(this.commonService.getUserName(), typesId).then(response => {\r\n console.log(response);\r\n this.points =response;\r\n that.setTable(this.points)\r\n });\r\n }\r\n }\r\n\r\n\r\n toggleFilterMenu() {\r\n this.filterMenuVisible = !this.filterMenuVisible;\r\n }\r\n getControlPointTypes(){\r\n this.pointsService.getCtrlPointTypes().then(response => {\r\n console.log(response)\r\n this.pointTypes = response;\r\n });\r\n\r\n }\r\n\r\n removeCtrlPt(id){\r\n //var id=this.points[index].id;\r\n \r\n console.log(id);\r\n let that = this;\r\n swal({\r\n title: '¿Esta seguro de borrar el punto de control seleccionado?',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Sí',\r\n cancelButtonText: 'No'\r\n }).then(function (s) {\r\n console.log(s);\r\n if(s.dismiss !== undefined){\r\n if (s.dismiss.toString() === 'cancel') {\r\n }\r\n }else{\r\n if(s.value!== undefined){\r\n if(s.value){\r\n that.pointsService.deletePoint(id).then(response => {\r\n if (response){\r\n if (response.status == 'EXITO') {\r\n // that.points.splice(index, 1);\r\n location.reload()\r\n swal({\r\n title: response.message,\r\n text: '',\r\n type: 'success'\r\n }).catch(swal.noop);\r\n } else {\r\n //that.alertService.error(response.mensaje);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }).catch(swal.noop);\r\n }\r\n\r\n\r\n exportToExcel() {\r\n\r\n var data = []\r\n\r\n console.log(this.points.data)\r\n for(var i in this.points.data){\r\n data.push({\r\n Nombre : this.points.data[i].name,\r\n Direccion : this.points.data[i].address,\r\n Tipo : this.points.data[i].typename,\r\n })\r\n }\r\n\r\n if (data.length > 0) {\r\n this.excelService.exportAsExcelFile(data, 'Puntos de Control');\r\n } else {\r\n swal({\r\n title: 'No hay datos para exportar',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/controlpoints/controlpoints.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\nexports.i(require(\"-!../../../../node_modules/css-loader/index.js??ref--3-1!../../../../node_modules/postcss-loader/lib/index.js??postcss!@angular/material/prebuilt-themes/deeppurple-amber.css\"), \"\");\n\n// module\nexports.push([module.id, \".set-map {\\r\\n height: 900px;\\r\\n width: 100%!important;\\r\\n}\\r\\n\\r\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/dashboard/dashboard.component.css\n// module id = ../../../../../src/app/components/dashboard/dashboard.component.css\n// module chunks = main","module.exports = \"\\r\\n
\\r\\n
\\r\\n

Alerta: \\\"{{ nameAlertVehi }}\\\"

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Placa: Fecha eventoVelocidadPuerta abiertaCamara bloqueadaUbicación
\\r\\n {{ v.Plate }}\\r\\n \\r\\n {{ v.DateAlert }}\\r\\n \\r\\n {{ v.Speed }} KMS/H\\r\\n DelanteraTraseraAmbasTraseraDelantera\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

Parqueadero: \\\"{{ namePark }}\\\"

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Placa: Ubicación
\\r\\n {{ v.Plate }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

Despacho: \\\"{{ nameDesp }}\\\"

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Placa: Ubicación
\\r\\n {{ v.Plate }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

Taller: \\\"{{ nameWorshop }}\\\"

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Placa: Ubicación
\\r\\n {{ v.Plate }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

Vehiculos en transito

\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Placa: RutaDescripción rutaHora de DespachoRecorrido
\\r\\n {{ v.Plate }} {{ v.customPlate }}\\r\\n \\r\\n {{ v.routeDescription }}\\r\\n \\r\\n {{ v.routeName }}\\r\\n \\r\\n {{ v.startRouteTime}}\\r\\n \\r\\n {{ v.percent }} %\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

Vehiculos sin cerrar viaje

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
Placa: RutaInicio de viajeTiempo de viaje
\\r\\n {{ v.Plate }}\\r\\n \\r\\n {{ v.RouteName }}\\r\\n \\r\\n {{ v.startRouteTime.split(\\\",\\\")[1] }}\\r\\n \\r\\n {{ v.TimeInTravel }}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

Viajes del día

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Placa: Descripción rutaInicio de viajeFin de viajeCtdad Pasajeros
\\r\\n {{ trip.Plate }}\\r\\n \\r\\n {{ trip.RouteName }}\\r\\n \\r\\n {{ trip.StartDate.split(\\\",\\\")[1] }}\\r\\n \\r\\n {{ trip.EndingDate.split(\\\",\\\")[1] }}\\r\\n \\r\\n {{ trip.PassengersAmount }}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

Caídas del día

\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
Placa: Total AntesTotal Después
\\r\\n {{ trip.Plate }}\\r\\n \\r\\n {{ trip.TotalBefore }}\\r\\n \\r\\n {{ trip.TotalAfter }}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ totalTrips }}

\\r\\n
Viajes del día
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n Ver Viajes\\r\\n \\r\\n\\r\\n {{ totalTrips }}\\r\\n\\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

{{ totalPassengers }}

\\r\\n
Pasajeros del dia:
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

+ {{ totalAfter }}

\\r\\n

- {{ -totalBefore }}

\\r\\n
Total Caídas
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n Ver Detalles\\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

{{ countWork }}

\\r\\n
Vehiculos en taller:
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n {{ arr.namePoint }}\\r\\n {{ arr.quantity }}\\r\\n\\r\\n
  • \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ countPark }}

\\r\\n
Vehiculos en parqueadero
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{ arr.namePoint }}\\r\\n {{ arr.quantity }}\\r\\n
  • \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ countAlerts }}

\\r\\n
Alertas del dia
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ arrV.NameAlert }}\\r\\n \\r\\n\\r\\n {{ arrV.Quantity }}\\r\\n\\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ countDesp }}

\\r\\n
Vehiculos en Despacho
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{ arr.namePoint }}\\r\\n {{ arr.quantity }}\\r\\n
  • \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ arrAlertsVehiTansit.length }}

\\r\\n
Vehiculos en tránsito
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n Ver vehiculos\\r\\n \\r\\n\\r\\n {{ arrAlertsVehiTansit.length }}\\r\\n\\r\\n
  • \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ countVehiclesNoClosing }}

\\r\\n
Vehiculos sin cerrar viaje
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
    \\r\\n
  • \\r\\n \\r\\n \\r\\n Ver vehiculos\\r\\n \\r\\n\\r\\n {{ countVehiclesNoClosing }}\\r\\n\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Mapa ubicación vehiculos
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/dashboard/dashboard.component.html\n// module id = ../../../../../src/app/components/dashboard/dashboard.component.html\n// module chunks = main","import { Component, OnInit, ViewChild, ViewContainerRef, ComponentFactoryResolver } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { RouteService } from '../../services/route.service';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { AlertService } from '../../services/alert.service';\r\nimport { RoutesService } from '../../services/routes.service';\r\nimport { NgbActiveModal, NgbModal} from '@ng-bootstrap/ng-bootstrap';\r\nimport { DashboardService } from '../../services/dashboard.service';\r\nimport swal from 'sweetalert2';\r\nimport { SignalRService } from '../../services/signal-r.service';\r\nimport { $ } from 'protractor';\r\nimport * as $$ from 'jquery';\r\ndeclare const google: any;\r\nvar map: any;\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { MatProgressSpinnerModule } from '@angular/material';\r\nimport { RouteDisplayComponent } from '../route-display/route-display.component';\r\n\r\n\r\nvar originMarker: any;\r\nvar destinationMarker: any;\r\nvar directionsService: any;\r\nvar directionsDisplay: any;\r\n\r\nvar originLat: number;\r\nvar originLng: number;\r\nvar destinationLat: number;\r\nvar destinationLng: number;\r\nvar arrCtrlPts: any = [];\r\n\r\n\r\nvar all_overlays: any = [];\r\nvar cur = 0;\r\n\r\nvar isOriginDestinationCreated: boolean = false;\r\nvar isOriginCreated: boolean = false;\r\nvar isDestinationCreated: boolean = false;\r\nvar isRouteCreated: boolean = false;\r\nvar isOptionalRouteCreated: boolean = false;\r\nvar requestArray = [], renderArray = [], originMarkers = [], destinationMarkers = [];\r\n\r\n@Component({\r\n \r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.css']\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n routes: any = [];\r\n routetrace: any = {};\r\n wAux: any[] = [];\r\n\r\n arrVehicles: any = [];\r\n arrPointsPark: any = [];\r\n arrPointsDesp: any = [];\r\n arrAlerts: any = [];\r\n arrAlertsVehi: any = [];\r\n arrAlertsVehiTansit: any = [];\r\n arrAlertsVehiNoClosing: any = [];\r\n\r\n arrPointsWor: any = [];\r\n\r\n countWork: any = 0;\r\n countPark: any = 0;\r\n countDesp: any = 0;\r\n countAlerts: any = 0;\r\n countVehiclesTansit: any = 0;\r\n countVehiclesNoClosing: any = 0;\r\n namePark: any;\r\n nameDesp: any;\r\n nameAlertVehi: any;\r\n idAlertVehi: any;\r\n nameWorshop: any;\r\n vehiclesPark: any = [];\r\n vehiclesAlerts: any = [];\r\n vehiclesWorkshop: any = [];\r\n vehiclesDesp: any = [];\r\n vehiclesTransitCompany: any = [];\r\n vehiclesTransitComp: any = [];\r\n\r\n vehicleMarkers: any[] = [];\r\n\r\n totalPassengers : any = \"\"\r\n totalTrips : any = \"\"\r\n waitingForInformation : boolean = true\r\n waitingForCaidasInformation : boolean = true\r\n showingCroquis = false;\r\n \r\n tipList : any = [];\r\n totalCaidasList : any = [];\r\n totalAfter : any = 0\r\n totalBefore : any = 0\r\n tripList : any = []\r\n\r\n rol:any = this.commonService.getUserRole()\r\n\r\n @ViewChild('modalListParking') modalListParking: HTMLElement;\r\n @ViewChild('modalListWorkshop') modalListWorkshop: HTMLElement;\r\n @ViewChild('modalListDesp') modalListDesp: HTMLElement;\r\n @ViewChild('modalListAlerts') modalListAlerts: HTMLElement;\r\n @ViewChild('modalListVehiclesTransit') modalListVehiclesTransit: HTMLElement;\r\n @ViewChild('modalListTripeList') modalListTripeList: HTMLElement;\r\n @ViewChild('modalListVehiclesNoClosing') modalListVehiclesNoClosing: HTMLElement;\r\n @ViewChild('modalCaidasList') modalCaidasList: HTMLElement;\r\n @ViewChild('container', { read: ViewContainerRef }) viewContainerRef: ViewContainerRef; \r\n\r\n\r\n routedisplayRef : any;\r\n routedisplayfactory : any;\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private commonService: CommonService,\r\n private alertService: AlertService,\r\n private routesService: RoutesService,\r\n private dashboardService: DashboardService,\r\n private modalService: NgbModal,\r\n private spinner: NgxSpinnerService,\r\n private componentFactoryResolver: ComponentFactoryResolver\r\n ) { }\r\n\r\n ngOnInit() {\r\n localStorage.setItem(\"vehiclesInTransit\", \"\")\r\n \r\n this.getAlertVehicles()\r\n this.getParkingWorShop();\r\n this.getOutOfTransitVehicles()\r\n this.getCaidasInformation()\r\n this.getTripsInformation()\r\n this.getTotalVehicles()\r\n this.getRoutes();\r\n this.getLocation();\r\n this.initMap()\r\n\r\n //this.getVehiclesTransit()\r\n var signarl = new SignalRService(this);\r\n this.addRouteDisplay()\r\n this.togglemap()\r\n }\r\n\r\n getOutOfTransitVehicles(){\r\n var that = this\r\n this.dashboardService.getOutOfTransitVehicles()\r\n .then(response => {\r\n for(var i in response){\r\n response[i].startRouteTime = new Date(response[i].startRouteTime)\r\n response[i].startRouteTime = response[i].startRouteTime.toLocaleString('es-CO', { hour12: true })\r\n }\r\n\r\n\r\n that.countVehiclesNoClosing = response.length;\r\n that.arrAlertsVehiNoClosing = response\r\n });\r\n }\r\n\r\n async getTotalVehicles(){\r\n var that = this;\r\n setInterval(async function () {\r\n that.waitForTotalVehicles();\r\n }, 10000);\r\n }\r\n \r\n waitForTotalVehicles(){\r\n this.countVehiclesTansit = localStorage.getItem(\"totalVehicles\")\r\n\r\n // Espera por los vehiculos\r\n var vehiclesString = localStorage.getItem(\"vehiclesInTransit\")\r\n if(vehiclesString != undefined && vehiclesString != \"\"){\r\n var vehicles = JSON.parse(vehiclesString)\r\n this.countVehiclesTansit = vehicles.length\r\n this.arrAlertsVehiTansit = vehicles\r\n // console.log(this.arrAlertsVehiTansit)\r\n\r\n \r\n }\r\n }\r\n\r\n addRouteDisplay() {\r\n // Inyecta el componente en el div con id container\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(RouteDisplayComponent);\r\n this.routedisplayRef = this.viewContainerRef.createComponent(factory);\r\n this.routedisplayRef.changeDetectorRef.detectChanges();\r\n }\r\n\r\n getTripsInformation(){\r\n var that = this\r\n this.dashboardService.getTripsInformation(this.commonService.getUserName())\r\n .then(response => {\r\n this.totalPassengers = response.totalPassengers\r\n that.tipList = response.Trips\r\n\r\n this.totalTrips = that.tipList.length\r\n\r\n for(var i in this.tipList){\r\n\r\n this.tipList[i].StartDate = new Date(this.tipList[i].StartDate)\r\n this.tipList[i].StartDate = this.tipList[i].StartDate.toLocaleString('es-CO', { hour12: true })\r\n\r\n console.log(\"**************************************s\")\r\n console.log(this.tipList[i].EndingDate)\r\n if(this.tipList[i].EndingDate == \"0001-01-01T00:00:00\"){\r\n this.tipList[i].EndingDate = \",En ruta\"\r\n }else{\r\n this.tipList[i].EndingDate = new Date(this.tipList[i].EndingDate)\r\n this.tipList[i].EndingDate = this.tipList[i].EndingDate.toLocaleString('es-CO', { hour12: true })\r\n }\r\n }\r\n\r\n that.waitingForInformation = false\r\n });\r\n }\r\n getCaidasInformation(){\r\n var that = this\r\n this.dashboardService.getCaidasInformation(this.commonService.getUserName())\r\n .then(response => {\r\n console.log(response)\r\n this.totalCaidasList = response.Totals\r\n var totalAfter = 0\r\n var totalBefore = 0\r\n for(var i in this.totalCaidasList){\r\n this.totalAfter += this.totalCaidasList[i].TotalAfter\r\n this.totalBefore += this.totalCaidasList[i].TotalBefore\r\n }\r\n this.waitingForCaidasInformation = false\r\n this.tripList = response.Trips\r\n //this.getAlertVehicles()\r\n\r\n });\r\n }\r\n\r\n togglemap(){\r\n this.showingCroquis = !this.showingCroquis;\r\n $$(\".btn-maps\").removeClass(\"btn-default\")\r\n $$(\".btn-maps\").addClass(\"btn-primary\")\r\n \r\n if(this.showingCroquis){\r\n $$(\"#map-panel\").attr(\"hidden\", \"true\")// esconde el mapa\r\n \r\n $$(\"#croquis-panel\").removeAttr(\"hidden\")// muestra el croquis\r\n \r\n $$(\"#map-button\").removeClass(\"btn-primary\")\r\n $$(\"#map-button\").addClass(\"btn-default\")\r\n }else{\r\n $$(\"#croquis-panel\").attr(\"hidden\", \"true\")// esconde el croquis\r\n \r\n $$(\"#map-panel\").removeAttr(\"hidden\")// muestra el mapa\r\n $$(\"#croquis-button\").removeClass(\"btn-primary\")\r\n $$(\"#croquis-button\").addClass(\"btn-default\")\r\n }\r\n }\r\n\r\n showAlertInfo(plate, notification) {\r\n var marker = this.vehicleMarkers.filter(function (item) {\r\n return item.plate === plate;\r\n })[0];\r\n\r\n if (marker != undefined) {\r\n\r\n var infowindow = new google.maps.InfoWindow();\r\n\r\n infowindow.close(); // Close previously opened infowindow\r\n var content = '
' +\r\n \"

Notificación: \" + notification.description + \"

\" +\r\n \"

Placa: \" + plate + \"

\" +\r\n \"
\"\r\n \r\n \r\n infowindow.setContent(content);\r\n infowindow.open(map, marker.mark);\r\n // marker.infowindow.open(map, marker.mark)\r\n }\r\n }\r\n\r\n recieveNotification(data) {\r\n switch (data.type) {\r\n case \"vehicleNotification\":\r\n this.showAlertInfo(data.plate, data.notification)\r\n break;\r\n }\r\n }\r\n\r\n initMap() {\r\n map = new google.maps.Map((document.getElementById('initMap')), {\r\n zoom: 7,\r\n center: new google.maps.LatLng(4.624335, -74.063644)\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n getRoutes(): void {\r\n var that = this;\r\n this.routesService.getRoutesByUsername(this.commonService.getUserName()).then(response => {\r\n if (response) {\r\n // console.log(response)\r\n this.routes = response;\r\n // console.log('response : ', response)\r\n var waypts = [];\r\n this.wAux = [];\r\n var req;\r\n directionsService = new google.maps.DirectionsService();\r\n\r\n for (var i = 0; i < this.routes.length; i++) {\r\n // console.log(this.routes[i])\r\n var col = '#' + ((1 << 24) * Math.random() | 0).toString(16);\r\n // console.log('route_data : ', this.routes[i].route_data)\r\n var color = col;\r\n directionsDisplay = new google.maps.DirectionsRenderer({\r\n polylineOptions: {\r\n strokeColor: color\r\n }\r\n });\r\n\r\n directionsDisplay.setOptions({ suppressMarkers: true });\r\n directionsDisplay.setMap(map);\r\n\r\n if(this.routes[i].route_data){\r\n \r\n const dataRoute = JSON.parse(this.routes[i].route_data.toString());\r\n const originLat = dataRoute.origin.originLat;\r\n const originLng = dataRoute.origin.originLng;\r\n const destinationLat = dataRoute.destination.destinationLat;\r\n const destinationLng = dataRoute.destination.destinationLng;\r\n \r\n if (dataRoute.waypoints.length > 0) {\r\n for (let n = 0; n < dataRoute.waypoints.length; n++) {\r\n // this.wAux[n] = [dataRoute.waypoints[n][0], dataRoute.waypoints[n][1]];\r\n waypts.push({\r\n location: new google.maps.LatLng(dataRoute.waypoints[n][0], dataRoute.waypoints[n][1]),\r\n stopover: true\r\n });\r\n }\r\n \r\n //directionsService = new google.maps.DirectionsService();\r\n \r\n req = {\r\n origin: new google.maps.LatLng(originLat, originLng),\r\n destination: new google.maps.LatLng(destinationLat, destinationLng),\r\n waypoints: waypts,\r\n //optimizeWaypoints: true,\r\n travelMode: google.maps.DirectionsTravelMode.DRIVING\r\n };\r\n waypts = [];\r\n } else {\r\n //directionsService = new google.maps.DirectionsService();\r\n req = {\r\n origin: new google.maps.LatLng(originLat, originLng),\r\n destination: new google.maps.LatLng(destinationLat, destinationLng),\r\n travelMode: google.maps.DirectionsTravelMode.DRIVING\r\n };\r\n }\r\n\r\n var currroute = this.routes[i]\r\n directionsService.route(req, function (result, status) {\r\n if (status === google.maps.DirectionsStatus.OK) {\r\n var col = '#' + ((1 << 24) * Math.random() | 0).toString(16);\r\n // console.log('color : ', col);\r\n // console.log(cur);\r\n \r\n // directionsDisplay.setDirections(response);\r\n /*if(originMarker != null){\r\n originMarker.setMap(null);\r\n originMarker = null;\r\n }\r\n if(destinationMarker != null){\r\n destinationMarker.setMap(null);\r\n destinationMarker = null;\r\n }*/\r\n \r\n var coordinateOrigin = new google.maps.LatLng(originLat, originLng);\r\n \r\n var coordinateDestination = new google.maps.LatLng(destinationLat, destinationLng);\r\n //////////originMarker = new google.maps.Marker({\r\n ////////// position: coordinateOrigin,\r\n ////////// map: map\r\n //////////});\r\n \r\n \r\n //////////var pinImage = new google.maps.MarkerImage('http://www.googlemapsmarkers.com/v1/7d2181/');\r\n \r\n //////////destinationMarker = new google.maps.Marker({\r\n ////////// position: coordinateDestination,\r\n ////////// icon: pinImage,\r\n ////////// map: map\r\n //////////});\r\n \r\n \r\n var pinImage = new google.maps.MarkerImage('http://www.googlemapsmarkers.com/v1/27893e/');\r\n originMarker = new google.maps.Marker({\r\n position: coordinateOrigin,\r\n icon: pinImage,\r\n title: 'Origen Ruta',\r\n });\r\n \r\n originMarkers[cur] = originMarker;\r\n originMarkers[cur].setMap(map);\r\n pinImage = new google.maps.MarkerImage('http://www.googlemapsmarkers.com/v1/7d2181/');\r\n destinationMarker = new google.maps.Marker({\r\n position: coordinateDestination,\r\n icon: pinImage,\r\n map: map,\r\n title: 'Destino Ruta',\r\n });\r\n destinationMarkers[cur] = destinationMarker;\r\n destinationMarkers[cur].setMap(map);\r\n var color = col;\r\n directionsDisplay = new google.maps.DirectionsRenderer({\r\n polylineOptions: {\r\n strokeColor: color\r\n }\r\n });\r\n renderArray[cur] = directionsDisplay;\r\n renderArray[cur].setOptions({ suppressMarkers: true });\r\n renderArray[cur].setMap(map);\r\n renderArray[cur].setDirections(result);\r\n cur++;\r\n \r\n \r\n\r\n \r\n }\r\n else{\r\n console.log(status, result)\r\n }\r\n });\r\n map.setZoom(10);\r\n map.setCenter(new google.maps.LatLng(originLat, originLng));\r\n }\r\n // }\r\n\r\n }\r\n }\r\n });\r\n }\r\n\r\n setMarkerOnMap(vehicle: any) {\r\n var uid = vehicle.id;\r\n var latitude = vehicle.Latitude;\r\n latitude = parseFloat(latitude.replace(',', '.'));\r\n var plate = vehicle.TrackerName;\r\n var speed = vehicle.Speed;\r\n var date = vehicle.DateLoc;\r\n var longitude = vehicle.Longitude;\r\n longitude = parseFloat(longitude.replace(',', '.'));\r\n\r\n var html = '
' +\r\n // '
Placa :
' +\r\n '

Placa: ' + plate + '

' +\r\n '

Velocidad: ' + speed + ' Kms/h

' +\r\n '

Fecha: ' + date + '

' +\r\n 'Ver Historial' +\r\n // '

Latitud: Descripcion de la ubicación

' +\r\n '
';\r\n\r\n var label = plate // '

' + plate + '

'\r\n\r\n var coordinateOrigin = new google.maps.LatLng(latitude, longitude);\r\n var coordinateDestination = new google.maps.LatLng(latitude, longitude);\r\n var image = { url: './assets/img/ng serve.png' };\r\n\r\n destinationMarker = new google.maps.Marker({\r\n position: coordinateDestination,\r\n icon: { url: './assets/img/busIcon.png', text: '57' }, map: map,\r\n label: { text: label, color: '#eb3a44', fontSize: '16px', fontWeight: 'bold' },\r\n });\r\n\r\n destinationMarker['infowindow'] = new google.maps.InfoWindow({\r\n content: html\r\n });\r\n google.maps.event.addListener(destinationMarker, 'click', function () {\r\n this['infowindow'].open(map, this);\r\n });\r\n map.setZoom(10);\r\n map.setCenter(new google.maps.LatLng(latitude, longitude));\r\n\r\n this.vehicleMarkers.push({ \"plate\": plate, \"mark\": destinationMarker});\r\n\r\n google.maps.event.addListenerOnce(destinationMarker['infowindow'], 'domready', () => {\r\n document.getElementById('buttonOnclick').addEventListener('click', (event) => {\r\n var target = event.target as HTMLTextAreaElement\r\n var plate = target.getAttribute(\"plate\")\r\n this.router.navigate(['/home/alertreport'], { queryParams: { plate: plate } });\r\n });\r\n });\r\n }\r\n\r\n getLocation(): void {\r\n\r\n this.dashboardService.locationVehicle(this.commonService.getUserName(), this.commonService.getUserPass()).then(obj => {\r\n // console.log(obj)\r\n for (var i = 0; i < obj.length; i++) {\r\n this.setMarkerOnMap(obj[i])\r\n }\r\n\r\n });\r\n }\r\n\r\n getVehiclesTransit(): void {\r\n this.dashboardService.getVehiclesTransit(this.commonService.getUserName()).then(obj => {\r\n \r\n var objJson = JSON.stringify(obj);\r\n // console.log('getVehiclesTransit : getVehiclesTransit getVehiclesTransit getVehiclesTransit: ', objJson)\r\n this.vehiclesTransitComp = objJson;\r\n //this.countVehiclesTansit = obj['VehiclesT'].length;\r\n this.countVehiclesNoClosing = obj['VehiclesW'].length;\r\n\r\n // console.log('objJson : getVehiclesTransit', obj )\r\n for (var i = 0; i < obj['VehiclesT'].length; i++) {\r\n var jSonV = JSON.parse(obj['VehiclesT'][i])\r\n var plate = jSonV.Plate\r\n this.arrAlertsVehiTansit.push(jSonV)\r\n }\r\n\r\n for (var i = 0; i < obj['VehiclesW'].length; i++) {\r\n var jSonV = JSON.parse(obj['VehiclesW'][i])\r\n var plate = jSonV.Plate\r\n this.arrAlertsVehiNoClosing.push(jSonV)\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n getAlertVehicles(): void {\r\n this.dashboardService.getAlertVehicles_rol(this.commonService.getUserName()).then(obj => {\r\n var objJson = obj\r\n console.log(objJson)\r\n\r\n this.arrAlerts = []\r\n this.arrAlertsVehi = []\r\n for(var i in objJson){\r\n console.log(objJson)\r\n if(objJson[i].list != undefined){\r\n this.arrAlerts.push({\r\n TypeAlert : objJson[i].type,\r\n Quantity: objJson[i].list.length, \r\n NameAlert: objJson[i].type,\r\n Vehicles : objJson[i].list\r\n })\r\n \r\n for(var j in objJson[i].list){\r\n this.arrAlertsVehi.push({\r\n //'quantity' : objJson[i].list[j].length, \r\n 'typeAlert' : objJson[i].typeId, \r\n 'nameAlert' : objJson[i].type, \r\n 'vehicles' : objJson[i].list,\r\n })\r\n }\r\n }\r\n }\r\n this.countAlerts = objJson.length\r\n\r\n\r\n return false\r\n\r\n });\r\n }\r\n\r\n getParkingWorShop(): void {\r\n this.dashboardService.getParkingWorShop(this.commonService.getUserName()).then(obj => {\r\n // console.log(obj)\r\n for (var i = 0; i < obj.length; i++) { \r\n \r\n var jSonV = JSON.parse(obj[i])\r\n var quantity = jSonV.Quantity;\r\n var namePoint = jSonV.NamePoint;\r\n var vehicles = jSonV.Vehicles;\r\n var typePoint = jSonV.TypeAlarm;\r\n\r\n if(typePoint == 4){\r\n this.countPark = this.countPark + quantity; \r\n this.arrPointsPark.push({ 'namePoint': namePoint, 'quantity' : quantity, 'typePoint' : typePoint, 'vehicles': vehicles}) \r\n }\r\n else if (typePoint == 3){\r\n this.arrPointsWor.push({ 'namePoint': namePoint, 'quantity' : quantity, 'typePoint' : typePoint, 'vehicles': vehicles}) \r\n this.countWork = this.countWork + quantity; \r\n }\r\n else if (typePoint == 2){\r\n this.arrPointsDesp.push({ 'namePoint': namePoint, 'quantity' : quantity, 'typePoint' : typePoint, 'vehicles': vehicles}) \r\n this.countDesp = this.countDesp + quantity; \r\n }\r\n\r\n\r\n // console.log('this.arrPointsPark : ', this.arrPointsPark)\r\n }\r\n //console.log(this.arrPointsPark)\r\n // console.log('this.countWork : ', this.countWork)\r\n });\r\n }\r\n\r\n openModalAlerts(vehicles, name, idAlert): void {\r\n this.vehiclesAlerts = [];\r\n // console.log(vehicles)\r\n this.nameAlertVehi = name;\r\n for (var i = 0; i < vehicles.length; i++) {\r\n this.idAlertVehi = vehicles[i].AlarmTypeId;\r\n \r\n\r\n this.vehiclesAlerts.push(vehicles[i])\r\n\r\n }\r\n let that = this;\r\n const modalAlerts = this.modalService.open(this.modalListAlerts);\r\n }\r\n\r\n openModalParking(vehicles, name): void {\r\n this.vehiclesPark = [];\r\n this.namePark = name;\r\n\r\n for (var i = 0; i < vehicles.length; i++) {\r\n var jSonList = JSON.parse(vehicles[i])\r\n this.vehiclesPark.push(jSonList)\r\n }\r\n let that = this;\r\n const modalPark = this.modalService.open(this.modalListParking);\r\n }\r\n\r\n openModalWorkshop(vehicles, name): void {\r\n this.vehiclesWorkshop = [];\r\n this.nameWorshop = name;\r\n \r\n for (var i = 0; i < vehicles.length; i++) {\r\n var jSonList = JSON.parse(vehicles[i])\r\n this.vehiclesWorkshop.push(jSonList)\r\n }\r\n \r\n let that = this;\r\n const modalPark = this.modalService.open(this.modalListWorkshop);\r\n }\r\n\r\n openModalDesp(vehicles, name): void {\r\n this.vehiclesDesp = [];\r\n this.nameDesp = name;\r\n for (var i = 0; i < vehicles.length; i++) {\r\n var jSonList = JSON.parse(vehicles[i])\r\n this.vehiclesDesp.push(jSonList)\r\n }\r\n let that = this;\r\n const modalPark = this.modalService.open(this.modalListDesp);\r\n }\r\n\r\n openModalVehicleTransit(): void {\r\n this.vehiclesWorkshop = [];\r\n\r\n // for (var i = 0; i < vehicles.length; i++) {\r\n // var jSonList = JSON.parse(vehicles[i])\r\n // console.log('jSonList : ', jSonList)\r\n // this.vehiclesTransitCompany.push(jSonList)\r\n // }\r\n let that = this;\r\n const modalVehi = this.modalService.open(this.modalListVehiclesTransit);\r\n }\r\n\r\n openModalTotalCaidas(): void {\r\n\r\n // for (var i = 0; i < vehicles.length; i++) {\r\n // var jSonList = JSON.parse(vehicles[i])\r\n // console.log('jSonList : ', jSonList)\r\n // this.vehiclesTransitCompany.push(jSonList)\r\n // }\r\n let that = this;\r\n const modalVehi = this.modalService.open(this.modalCaidasList);\r\n }\r\n\r\n openModalTrips(): void {\r\n this.vehiclesWorkshop = [];\r\n\r\n // for (var i = 0; i < vehicles.length; i++) {\r\n // var jSonList = JSON.parse(vehicles[i])\r\n // console.log('jSonList : ', jSonList)\r\n // this.vehiclesTransitCompany.push(jSonList)\r\n // }\r\n let that = this;\r\n const modalVehi = this.modalService.open(this.modalListTripeList);\r\n }\r\n\r\n openModalVehiclesNoClosing(): void {\r\n this.vehiclesWorkshop = [];\r\n\r\n // for (var i = 0; i < vehicles.length; i++) {\r\n // var jSonList = JSON.parse(vehicles[i])\r\n // console.log('jSonList : ', jSonList)\r\n // this.vehiclesTransitCompany.push(jSonList)\r\n // }\r\n let that = this;\r\n const modalVehi = this.modalService.open(this.modalListVehiclesNoClosing, {size: 'lg'});\r\n }\r\n\r\n}\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/dashboard/dashboard.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".multiselect-style{\\r\\n width: 500px;\\r\\n height: auto;\\r\\n }\\r\\n .ng-select.custom {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n width: 1%;\\r\\n }\\r\\n .ng-select.custom .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n }\\r\\n .ng-select.custom_1 {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n }\\r\\n .ng-select.custom_1 .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n }\\r\\n \\r\\n ng-select.ng-invalid.ng-touched .ng-select-container {\\r\\n border-color: #dc3545;\\r\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px #fde6e8;\\r\\n }\\r\\n \\r\\n \\r\\n table {\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n .mat-form-field {\\r\\n font-size: 14px;\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n td, th {\\r\\n width: 25%;\\r\\n padding-left: 1%;\\r\\n }\\r\\n .cdk-visually-hidden{\\r\\n display: none !important;\\r\\n }\\r\\n \\r\\n #filter-panel{\\r\\n border: solid; \\r\\n background:#4c6c8b; \\r\\n color: #fff;\\r\\n padding: 10px;\\r\\n }\\r\\n \\r\\n \\r\\n #select{\\r\\n border: 1px solid #adadad;\\r\\n background :inherit;\\r\\n color : #fff;\\r\\n \\r\\n }\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/dispatcherreport/dispatcherreport.component.css\n// module id = ../../../../../src/app/components/dispatcherreport/dispatcherreport.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n

 

\\r\\n

 

\\r\\n

 

\\r\\n

Cargando...

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Reporte de Despachos

\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Búsqueda Avanzada

\\r\\n
Realizar una búsqueda avanzada de Despachos
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n

 

\\r\\n\\r\\n
{{ plates.user_account}}
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n Viaje\\r\\n {{element.trip}} \\r\\n \\r\\n\\r\\n \\r\\n Placa\\r\\n {{element.plate}} \\r\\n \\r\\n\\r\\n \\r\\n Despachador\\r\\n {{element.dispatcher}} \\r\\n \\r\\n\\r\\n \\r\\n Conductor\\r\\n {{element.driver}} \\r\\n \\r\\n\\r\\n \\r\\n Ruta\\r\\n {{element.route}} \\r\\n \\r\\n\\r\\n \\r\\n Fecha\\r\\n {{element.startdate}} \\r\\n \\r\\n\\r\\n \\r\\n Despacho\\r\\n {{element.dispatcherType}} \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/dispatcherreport/dispatcherreport.component.html\n// module id = ../../../../../src/app/components/dispatcherreport/dispatcherreport.component.html\n// module chunks = main","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { PassengersReportService } from '../../services/passengers-report.service';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { ExcelService } from '../../services/excel.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgSelectOption } from '@angular/forms';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { DriversService } from '../../services/drivers.service';\r\n\r\nimport swal from 'sweetalert2';\r\nimport { UsersService } from '../../services/users.services';\r\nimport { delay } from 'rxjs/operator/delay';\r\nimport { RoutesService } from '../../services/routes.service';\r\n\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-dispatcherreport',\r\n templateUrl: './dispatcherreport.component.html',\r\n styleUrls: ['./dispatcherreport.component.css']\r\n})\r\nexport class DispatcherreportComponent implements OnInit {\r\n\r\n platesBuffer = [];\r\n loading1 = false;\r\n bufferSize = 50;\r\n imeiVei: any = {};\r\n vehiculo: any = {};\r\n dataObj: any = [];\r\n user_account: any;\r\n data: any = [];\r\n placas: any = [];\r\n report: any = [];\r\n reportAux: any = [];\r\n model: any = {};\r\n returnUrl: string;\r\n isSubmitted: any = false;\r\n dataReport: any = [];\r\n dataReport2: any = [];\r\n totalIn: any;\r\n totalOut: any;\r\n promTot: any;\r\n totalProm: any;\r\n dateNowInit: any;\r\n dateNowEnd: any;\r\n public loading = false\r\n\r\n selectedCity: any;\r\n filterMenuVisible: boolean = false;\r\n displayedColumns: string[];\r\n\r\n\r\n plates: any = [];\r\n platesSettings = {};\r\n selectedPlates = [];\r\n\r\n drivers = []\r\n driversSettings = {};\r\n selectedDrivers = [];\r\n\r\n dispatchers = []\r\n dispatchersSettings = {};\r\n selectedDispatchers = [];\r\n\r\n routes = []\r\n routesSettings = {};\r\n selectedRoutes = [];\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private vpcReportService: PassengersReportService,\r\n private excelService: ExcelService,\r\n private commonService: CommonService,\r\n private spinner: NgxSpinnerService,\r\n private driversService: DriversService,\r\n private usersService: UsersService,\r\n private routesService: RoutesService,\r\n // private spinnerService: Ng4LoadingSpinnerService,\r\n\r\n ) { }\r\n cities = [\r\n { id: 1, name: 'Vilnius' },\r\n { id: 2, name: 'Kaunas' },\r\n { id: 3, name: 'Pavilnys', disabled: true },\r\n { id: 4, name: 'Pabradė' },\r\n { id: 5, name: 'Klaipėda' }\r\n ];\r\n\r\n\r\n ngOnInit() {\r\n this.getRoutes()\r\n this.getPlates();\r\n this.getDrivers();\r\n this.setFilterstData();\r\n this.getDispatchers()\r\n }\r\n\r\n getDispatchers(): void {\r\n this.dispatchersSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'name',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n this.usersService.getUsers_rol(this.commonService.getUserName())\r\n .then(response => {\r\n console.log(response)\r\n this.dispatchers = response\r\n });\r\n\r\n }\r\n\r\n setFilterstData() {\r\n var now = new Date(); //currentDate\r\n this.reportAux.dateIni = { year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate() };\r\n this.reportAux.dateFin = { year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate() };\r\n this.reportAux.timeIni = '00:00';\r\n this.reportAux.timeFin = '23:59';\r\n this.reportAux.rfidId = 37\r\n }\r\n\r\n getDrivers(): void {\r\n\r\n this.driversSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'name',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n this.driversService.getDrivers_rol(this.commonService.getUserName())\r\n .then(response => {\r\n console.log(response)\r\n this.drivers = response\r\n });\r\n }\r\n\r\n loadReport(): void {\r\n console.log(this.reportAux)\r\n this.dataObj = [];\r\n //console.log('this.imeiVei : ', this.imeiVei.sn_imei_id)\r\n var d1, m1, d2, m2;\r\n if (this.reportAux.dateIni.day < 10) {\r\n d1 = '0' + this.reportAux.dateIni.day;\r\n } else {\r\n d1 = this.reportAux.dateIni.day;\r\n }\r\n if (this.reportAux.dateIni.month < 10) {\r\n m1 = '0' + this.reportAux.dateIni.month;\r\n } else {\r\n m1 = this.reportAux.dateIni.month;\r\n }\r\n var dateIni = d1 + '-' + m1 + '-' + this.reportAux.dateIni.year + ' ' + this.reportAux.timeIni;\r\n\r\n if (this.reportAux.dateFin.day < 10) {\r\n d2 = '0' + this.reportAux.dateFin.day;\r\n } else {\r\n d2 = this.reportAux.dateFin.day;\r\n }\r\n if (this.reportAux.dateFin.month < 10) {\r\n m2 = '0' + this.reportAux.dateFin.month;\r\n } else {\r\n m2 = this.reportAux.dateFin.month;\r\n }\r\n var dateFin = d2 + '-' + m2 + '-' + this.reportAux.dateFin.year + ' ' + this.reportAux.timeFin;\r\n dateIni = dateIni.replace(':', '_');\r\n dateFin = dateFin.replace(':', '_');\r\n //console.log(dateIni);\r\n //console.log(dateFin);\r\n if (this.imeiVei == undefined) {\r\n $('.tbodyTable').empty();\r\n //var dateIni = $('#dateIni').val().replace(':', '_');\r\n //var dateFin = $('#dateFin').val().replace(':', '_');\r\n //console.log(dateIni);\r\n var imeis = this.selectedPlates.map(({ sn_imei_id }) => \"'\" + sn_imei_id + \"'\").toString();\r\n var driversId = this.selectedDrivers.map(({ id }) => \"'\" + id + \"'\").toString();\r\n var dispatchersId = this.selectedDispatchers.map(({ id }) => \"'\" + id + \"'\").toString();\r\n var routesId = this.selectedRoutes.map(({ Id }) => \"'\" + Id + \"'\").toString();\r\n \r\n this.spinner.show();\r\n if (dateIni && dateFin) {\r\n //var rfidOnly = this.reportAux.rfidOnly == true ? \"1\": \"0\"\r\n this.vpcReportService.dispatcherReport(imeis, dateIni, dateFin,\r\n this.reportAux.rfidOnly, driversId, dispatchersId, this.reportAux.rfidId, routesId)\r\n .then(data => {\r\n console.log('data : ', data)\r\n this.dataReport = [];\r\n // $('.tbodyTable').empty();\r\n this.spinner.hide();\r\n this.report = data;\r\n\r\n // const dateValidate = new Date('2018-01-01 00:00:00.00');\r\n // const dateValidateSum = new Date('2018-01-01 00:00:00.00');\r\n // let trip = 0;\r\n // let totalIn = 0;\r\n // let totalOut = 0;\r\n // let promTot = 0;\r\n\r\n\r\n const quant = parseInt(data.length);\r\n if (quant > 0) {\r\n // $('.tbodyTable').empty();\r\n // for (let i = 0; i < data.length; i++) {\r\n // data[i].trip = trip\r\n // // data[i].plate = this.imeiVei.tracker_name;\r\n // const dateArray = new Date(data[i].startdate);\r\n // if (dateArray < dateValidate || dateArray > dateValidateSum) {\r\n // var it = {};\r\n // trip = trip + 1\r\n // data[i].trip = trip\r\n // it[\"Viaje\"] = trip;\r\n // it[\"Placa\"] = data[i].plate;\r\n // it[\"Ruta\"] = data[i].route;\r\n // it[\"Fecha\"] = data[i].registerTime;\r\n // it[\"Bloqueos\"] = data[i].countBlock;\r\n // it[\"Kms recorridos\"] = data[i].journey;\r\n // it[\"Velocidad máxima\"] = data[i].speed;\r\n // it[\"Hora inicio\"] = data[i].startTime;\r\n // it[\"Hora fin\"] = data[i].endTime;\r\n // it[\"Ingresos puerta trasera\"] = data[i].backdoorin;\r\n // console.log('backdoorin : ', data[i].backdoorin)\r\n // it[\"Pasajeros movilizados\"] = data[i].totalProm;\r\n // console.log('totalProm : ', data[i].totalProm)\r\n // it[\"Tiempo de viaje\"] = data[i].time;\r\n // console.log('time : ', data[i].time)\r\n // console.log('dataaaaa : ', data[i])\r\n // this.dataReport.push(data[i]);\r\n // this.dataObj.push(it);\r\n // }\r\n // console.log('this.dataObj : ', this.dataObj)\r\n // dateValidateSum.setMinutes(dateValidateSum.getMinutes() + 10);\r\n // event.preventDefault();\r\n // totalIn = totalIn + parseInt(data[i]['totalInPass']);\r\n // totalOut = totalOut + parseInt(data[i]['totalOutPass']);\r\n // }\r\n // this.totalIn = totalIn;\r\n // console.log('this.totalIn : ', this.totalIn)\r\n // this.totalOut = totalOut;\r\n // console.log('this.totalOut : ', this.totalOut)\r\n // this.totalProm = Math.round((this.totalIn + this.totalOut) / 2);\r\n\r\n this.setTable(data)\r\n } else {\r\n $('.tbodyTable').empty();\r\n swal({\r\n title: 'No existen datos para este rango de fechas',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n })\r\n .catch(error => {\r\n this.spinner.hide();\r\n console.log(error)\r\n // console.log('vpcReport.component.error');\r\n swal({\r\n title: 'No es posible realizar la consulta, comuníquese con el administrador del sistema',\r\n text: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n });\r\n } else {\r\n this.spinner.hide();\r\n swal({\r\n title: 'Ingresa Todos los campos solicitados',\r\n text: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n } else {\r\n\r\n }\r\n }\r\n\r\n getPlates(): void {\r\n\r\n this.platesSettings = {\r\n singleSelection: false,\r\n idField: 'sn_imei_id',\r\n textField: 'tracker_name',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n this.spinner.show();\r\n this.vpcReportService.getPlates(this.commonService.getUserName()).then(response => {\r\n console.log(response)\r\n this.plates = response;\r\n this.plates.sort(function (a, b) {\r\n if (a.tracker_name > b.tracker_name) {\r\n return 1;\r\n }\r\n if (a.tracker_name < b.tracker_name) {\r\n return -1;\r\n }\r\n // a must be equal to b\r\n return 0;\r\n });\r\n\r\n for (var i in this.plates) {\r\n this.plates[i].tracker_name = this.plates[i].tracker_name + \" - \" + this.plates[i].license_plate\r\n }\r\n console.log('response : : : ', this.plates)\r\n this.platesBuffer = this.plates.slice(0, this.bufferSize);\r\n this.user_account = this.plates.user_account;\r\n this.imeiVei = this.plates.sn_imei_id;\r\n });\r\n this.spinner.hide();\r\n }\r\n\r\n fetchMorePlate() {\r\n const len = this.platesBuffer.length;\r\n const more = this.plates.slice(len, this.bufferSize + len);\r\n this.loading1 = true;\r\n // using timeout here to simulate backend API delay\r\n setTimeout(() => {\r\n this.loading1 = false;\r\n this.platesBuffer = this.platesBuffer.concat(more);\r\n }, 200);\r\n }\r\n exportToExcel() {\r\n if (this.dataObj.length > 0) {\r\n this.excelService.exportAsExcelFile(this.dataObj, 'archivo_despachos');\r\n } else {\r\n swal({\r\n title: 'No hay datos para exportar',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n\r\n setTable(data) {\r\n this.displayedColumns = [\"Viaje\",\r\n \"Placa\",\r\n \"Despachador\",\r\n \"Driver\",\r\n \"Ruta\",\r\n \"Fecha\",\r\n \"Depacho\",\r\n ];\r\n\r\n this.totalProm = 0\r\n this.dataObj = []\r\n for (var i in data) {\r\n console.log(data[i].registerTime)\r\n\r\n data[i].trip = +i + 1\r\n\r\n data[i].startdate = new Date(data[i].startdate)\r\n data[i].endingdate = new Date(data[i].endTime)\r\n\r\n // data[i].startdate = data[i].startdate\r\n data[i].startTime = data[i].startdate.toLocaleTimeString('es-CO', { hour12: true, hour: '2-digit', minute:'2-digit' })\r\n\r\n data[i].endingTime = data[i].endingdate.toLocaleTimeString('en-US', {hour: '2-digit', minute:'2-digit'})\r\n // data[i].endingTime = data[i].endingTime.split(\",\")[1]\r\n\r\n data[i].startdate = data[i].startdate.toLocaleString('es-CO', { hour12: true })\r\n // data[i].startdate = data[i].startdate.split(\",\")[0]\r\n\r\n this.totalProm += data[i].totalProm\r\n this.setExcelData(data[i])\r\n }\r\n\r\n this.dataReport2 = new MatTableDataSource(data);\r\n\r\n setTimeout(() => {\r\n this.forceTablePaginator()\r\n },\r\n 500);\r\n\r\n this.dataReport2.sort = this.sort;\r\n\r\n // Esconde el paginador porque no es posible cambair la paginación por problemas con el componente\r\n }\r\n\r\n forceTablePaginator() {\r\n try {\r\n // this.dataReport2.paginator = this.paginator;\r\n this.dataReport2.paginator._intl.itemsPerPageLabel = \"Filas por Página:\"\r\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\r\n } catch (error) {\r\n try {\r\n this.dataReport2.paginator = this.paginator;\r\n this.dataReport2.paginator._intl.itemsPerPageLabel = \"Filas por Página:\"\r\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n }\r\n\r\n toggleFilterMenu() {\r\n this.filterMenuVisible = !this.filterMenuVisible;\r\n }\r\n applyFilter(filterValue: string) {\r\n this.dataReport2.filter = filterValue.trim().toLowerCase();\r\n if (this.dataReport2.paginator) {\r\n this.dataReport2.paginator.firstPage();\r\n }\r\n }\r\n\r\n setExcelData(data){\r\n \r\n let item = {}\r\n item[\"Viaje\"] = data.trip\r\n item[\"Placa\"] = data.plate\r\n item[\"Despachador\"] = data.dispatcher\r\n item[\"Conductor\"] = data.driver\r\n item[\"Ruta\" ] = data.route\r\n item[\"Fecha\" ] = data.startdate\r\n item[\"Despacho\" ] = data.dispatcherType\r\n\r\n this.dataObj.push(item)\r\n console.log(this.dataObj)\r\n \r\n }\r\n\r\n\r\n getRoutes(): void {\r\n this.routesSettings = {\r\n singleSelection: false,\r\n idField: 'Id',\r\n textField: 'Name',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n\r\n this.routesService.getRoutes_rol(this.commonService.getUserName()).then(response => {\r\n console.log(response)\r\n this.routes = response\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/dispatcherreport/dispatcherreport.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".multiselect-style{\\r\\n width: 500px;\\r\\n height: auto;\\r\\n }\\r\\n .ng-select.custom {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n width: 1%;\\r\\n }\\r\\n .ng-select.custom .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n }\\r\\n .ng-select.custom_1 {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n }\\r\\n .ng-select.custom_1 .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n }\\r\\n \\r\\n ng-select.ng-invalid.ng-touched .ng-select-container {\\r\\n border-color: #dc3545;\\r\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px #fde6e8;\\r\\n }\\r\\n \\r\\n \\r\\n table {\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n .mat-form-field {\\r\\n font-size: 14px;\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n td, th {\\r\\n width: 25%;\\r\\n padding-left: 1%;\\r\\n }\\r\\n .cdk-visually-hidden{\\r\\n display: none !important;\\r\\n }\\r\\n \\r\\n #filter-panel{\\r\\n border: solid; \\r\\n background:#4c6c8b; \\r\\n color: #fff;\\r\\n padding: 10px;\\r\\n }\\r\\n \\r\\n \\r\\n #select{\\r\\n border: 1px solid #adadad;\\r\\n background :inherit;\\r\\n color : #fff;\\r\\n \\r\\n }\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/driver-report/driver-report.component.css\n// module id = ../../../../../src/app/components/driver-report/driver-report.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n

 

\\r\\n

 

\\r\\n

 

\\r\\n

Cargando...

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Reporte de Conductores

\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Búsqueda Avanzada

\\r\\n
Realizar una búsqueda avanzada de Conductores
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n Viaje\\r\\n {{element.trip}} \\r\\n \\r\\n\\r\\n \\r\\n Fecha\\r\\n {{element.date}} \\r\\n \\r\\n\\r\\n \\r\\n Rfid\\r\\n {{element.rfid}} \\r\\n \\r\\n\\r\\n \\r\\n Placa\\r\\n {{element.plate}} \\r\\n \\r\\n\\r\\n \\r\\n Conductor\\r\\n {{element.driverName}} \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/driver-report/driver-report.component.html\n// module id = ../../../../../src/app/components/driver-report/driver-report.component.html\n// module chunks = main","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { DriversService } from '../../services/drivers.service';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { PassengersReportService } from '../../services/passengers-report.service';\r\ndeclare var $: any;\r\nimport swal from 'sweetalert2';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { ExcelService } from '../../services/excel.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-driver-report',\r\n templateUrl: './driver-report.component.html',\r\n styleUrls: ['./driver-report.component.css']\r\n})\r\nexport class DriverReportComponent implements OnInit {\r\n\r\n report: any = [];\r\n reportAux: any = [];\r\n filterMenuVisible: boolean = false;\r\n\r\n driversSettings = {};\r\n drivers = []\r\n selectedDrivers = [];\r\n\r\n\r\n plates: any = [];\r\n platesSettings = {};\r\n displayedColumns: string[];\r\n selectedPlates = [];\r\n dataReport2: any = [];\r\n dataObj: any = [];\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n constructor(\r\n private driversService: DriversService,\r\n private commonService: CommonService,\r\n private spinner: NgxSpinnerService,\r\n private excelService: ExcelService,\r\n private vpcReportService: PassengersReportService,\r\n\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getPlates();\r\n this.getDrivers();\r\n this.setFilterstData();\r\n }\r\n\r\n setFilterstData() {\r\n var now = new Date(); //currentDate\r\n this.reportAux.dateIni = { year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate() };\r\n this.reportAux.dateFin = { year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate() };\r\n this.reportAux.timeIni = '00:00';\r\n this.reportAux.timeFin = '23:59';\r\n }\r\n\r\n getDrivers(): void {\r\n\r\n this.driversSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'name',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n this.driversService.getDrivers_rol(this.commonService.getUserName())\r\n .then(response => {\r\n console.log(response)\r\n this.drivers = response\r\n });\r\n }\r\n\r\n exportToExcel() {\r\n if (this.dataObj.length > 0) {\r\n this.excelService.exportAsExcelFile(this.dataObj, 'archivo_reporte_conductores');\r\n } else {\r\n swal({\r\n title: 'No hay datos para exportar',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n\r\n getPlates(): void {\r\n\r\n this.platesSettings = {\r\n singleSelection: false,\r\n idField: 'sn_imei_id',\r\n textField: 'tracker_name',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n this.spinner.show();\r\n this.vpcReportService.getPlates(this.commonService.getUserName()).then(response => {\r\n console.log(response)\r\n this.plates = response;\r\n this.plates.sort(function (a, b) {\r\n if (a.tracker_name > b.tracker_name) {\r\n return 1;\r\n }\r\n if (a.tracker_name < b.tracker_name) {\r\n return -1;\r\n }\r\n // a must be equal to b\r\n return 0;\r\n });\r\n\r\n for (var i in this.plates) {\r\n let licensePlate = ' - ' + this.plates[i].license_plate\r\n\r\n\r\n console.log('licensePlate licensePlate licensePlate licensePlate licensePlate licensePlate licensePlate : ', licensePlate)\r\n if (this.plates[i].license_plate == 'null' || this.plates[i].license_plate == null) { licensePlate = '' }\r\n\r\n\r\n this.plates[i].tracker_name = this.plates[i].tracker_name + licensePlate\r\n\r\n console.log('this.plates[i].tracker_name this.plates[i]this.plates[i].tracker_name this.plates[i].tracker_name :', this.plates[i].tracker_name)\r\n }\r\n // console.log('response : : : ', this.plates)\r\n // this.platesBuffer = this.plates.slice(0, this.bufferSize);\r\n // this.user_account = this.plates.user_account;\r\n // this.imeiVei = this.plates.sn_imei_id;\r\n });\r\n this.spinner.hide();\r\n }\r\n\r\n toggleFilterMenu() {\r\n this.filterMenuVisible = !this.filterMenuVisible;\r\n }\r\n\r\n setExcelData(data){\r\n \r\n let item = {}\r\n item[\"Viaje\"] = data.trip\r\n item[\"Fecha\"] = data.date\r\n item[\"RFID\"] = data.rfid\r\n item[\"Placa\"] = data.plate\r\n item[\"Conductor\" ] = data.driverName\r\n\r\n this.dataObj.push(item)\r\n \r\n }\r\n\r\n setTable(data) {\r\n this.displayedColumns = [\r\n \"Trip\",\r\n \"Date\",\r\n \"RFID\",\r\n \"Placa\",\r\n \"Driver\", \r\n ];\r\n\r\n // this.totalProm = 0\r\n // this.dataObj = []\r\n for (var i in data) {\r\n data[i].trip = +i + 1\r\n\r\n data[i].date = new Date(data[i].date)\r\n data[i].date = data[i].date.toLocaleString('es-CO', { hour12: true })\r\n\r\n data[i].plate = this.plates.find(o => o.sn_imei_id === data[i].imei).tracker_name;\r\n \r\n //this.totalProm += data[i].totalProm\r\n this.setExcelData(data[i])\r\n }\r\n\r\n this.dataReport2 = new MatTableDataSource(data);\r\n\r\n setTimeout(() => {\r\n this.forceTablePaginator()\r\n },\r\n 500);\r\n\r\n this.dataReport2.sort = this.sort;\r\n\r\n // Esconde el paginador porque no es posible cambair la paginación por problemas con el componente\r\n }\r\n \r\n forceTablePaginator() {\r\n try {\r\n // this.dataReport2.paginator = this.paginator;\r\n this.dataReport2.paginator._intl.itemsPerPageLabel = \"Filas por Página:\"\r\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\r\n } catch (error) {\r\n try {\r\n this.dataReport2.paginator = this.paginator;\r\n this.dataReport2.paginator._intl.itemsPerPageLabel = \"Filas por Página:\"\r\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n }\r\n\r\n loadReport(): void {\r\n\r\n var d1, m1, d2, m2;\r\n if (this.reportAux.dateIni.day < 10) {\r\n d1 = '0' + this.reportAux.dateIni.day;\r\n } else {\r\n d1 = this.reportAux.dateIni.day;\r\n }\r\n if (this.reportAux.dateIni.month < 10) {\r\n m1 = '0' + this.reportAux.dateIni.month;\r\n } else {\r\n m1 = this.reportAux.dateIni.month;\r\n }\r\n var dateIni = d1 + '-' + m1 + '-' + this.reportAux.dateIni.year + ' ' + this.reportAux.timeIni;\r\n\r\n if (this.reportAux.dateFin.day < 10) {\r\n d2 = '0' + this.reportAux.dateFin.day;\r\n } else {\r\n d2 = this.reportAux.dateFin.day;\r\n }\r\n if (this.reportAux.dateFin.month < 10) {\r\n m2 = '0' + this.reportAux.dateFin.month;\r\n } else {\r\n m2 = this.reportAux.dateFin.month;\r\n }\r\n var dateFin = d2 + '-' + m2 + '-' + this.reportAux.dateFin.year + ' ' + this.reportAux.timeFin;\r\n dateIni = dateIni.replace(':', '_');\r\n dateFin = dateFin.replace(':', '_');\r\n\r\n var imeis = this.selectedPlates.map(({ sn_imei_id }) => \"'\" + sn_imei_id + \"'\").toString();\r\n var driversId = this.selectedDrivers.map(({ id }) => \"'\" + id + \"'\").toString();\r\n if (dateIni && dateFin) {\r\n this.spinner.show();\r\n this.vpcReportService.driverReport(imeis, driversId, dateIni, dateFin)\r\n .then(data => {\r\n\r\n console.log(data)\r\n\r\n this.spinner.hide();\r\n this.report = data;\r\n\r\n const quant = parseInt(data.length);\r\n if (quant > 0) {\r\n\r\n\r\n this.setTable(data)\r\n } else {\r\n $('.tbodyTable').empty();\r\n swal({\r\n title: 'No existen datos para este rango de fechas',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n })\r\n .catch(error => {\r\n this.spinner.hide();\r\n console.log(error)\r\n // console.log('vpcReport.component.error');\r\n swal({\r\n title: 'No es posible realizar la consulta, comuníquese con el administrador del sistema',\r\n text: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n });\r\n }\r\n else {\r\n this.spinner.hide();\r\n swal({\r\n title: 'Ingresa Todos los campos solicitados',\r\n text: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/driver-report/driver-report.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/driver/driver.component.css\n// module id = ../../../../../src/app/components/driver/driver.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
Creación de conductor
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Buscar… \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n La identificación es requerida.\\r\\n
\\r\\n
\\r\\n La identificación debe ser tener mínimo 7 caracteres.\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Nombre(s) y Apellido(s) son requeridos\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n La dirección es requerida.\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n El número telefónico es requerido.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n El Código RFID debe tener mínimo 7 caracteres.\\r\\n
\\r\\n
\\r\\n El Código RFID debe tener máximo 15 caracteres.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Cancelar\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/driver/driver.component.html\n// module id = ../../../../../src/app/components/driver/driver.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { PassengersReportService } from '../../services/passengers-report.service';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { DriverService } from '../../services/driver.service';\r\nimport swal from 'sweetalert2';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport * as AWS from 'aws-sdk/global';\r\nimport * as S3 from 'aws-sdk/clients/s3';\r\n\r\n@Component({\r\n selector: 'app-driver',\r\n templateUrl: './driver.component.html',\r\n styleUrls: ['./driver.component.css']\r\n})\r\nexport class DriverComponent implements OnInit {\r\n plates: any = [];\r\n user_account: any;\r\n imeiVei: any = {};\r\n driverById: any= {};\r\n FOLDER = 'passengerControl/';\r\n accessKey = 'AKIAJBSEKUWJ6JUFUTIA';\r\n secretKey = '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';\r\n bucketName = 'upload';\r\n imgName= '';\r\n driverImg: any = null;\r\n isSubmitted_1: any = false;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private passengersReportService: PassengersReportService,\r\n private commonService: CommonService,\r\n private driverService: DriverService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getPlates();\r\n this.getDriver();\r\n }\r\n\r\n getDriver(): void {\r\n this.route.paramMap.switchMap((params: ParamMap) => this.driverService.getDriver(params.get('idDriver')))\r\n .subscribe(response => {\r\n console.log('response component : ', response)\r\n if (response.length > 0) {\r\n this.driverById.Identification = response[0].identification;\r\n this.driverById.Name = response[0].name;\r\n this.driverById.Address = response[0].address;\r\n this.driverById.Vehicle = response[0].vehicle;\r\n this.driverById.PhoneNumber = response[0].phone;\r\n this.driverById.User_account = this.user_account;\r\n this.driverById.Id = response[0].id;\r\n this.driverById.Image = response[0].image;\r\n this.driverImg = this.driverById.Image;\r\n this.driverById.Rfid = response[0].rfid;\r\n }\r\n });\r\n }\r\n\r\n getPlates(): void {\r\n this.passengersReportService.getPlates(this.commonService.getUserName()).then(response => {\r\n this.plates = response;\r\n this.user_account = this.plates[0].user_account;\r\n this.imeiVei = this.plates.user_account\r\n console.log('this.commonService.getUserName() ; ', this.commonService.getUserName())\r\n // fecha = Date.now();\r\n console.log('this plates', this.plates);\r\n console.log('this user_account', this.plates[0].user_account);\r\n console.log('this user_account', this.user_account);\r\n });\r\n }\r\n\r\n saveDriver(): void {\r\n console.log('this.commonService.getUserName() ; ', this.commonService.getUserName())\r\n let that = this\r\n this.driverById.User_account = this.commonService.getUserName();\r\n this.driverService.saveDriver(this.driverById)\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n console.log('conductor.component.crearActualizarConductor.response: ', response);\r\n if (response) {\r\n console.log('response : ', response)\r\n this.router.navigate(['/home/drivers']);\r\n if (response.status === 'EXITO') {\r\n swal({\r\n title: response.message,\r\n text: '',\r\n type: 'success',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n } else {\r\n swal({\r\n title: response.message,\r\n text: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n });\r\n }\r\n\r\n fileToUpload: File = null;\r\n\r\n handleFileInput(files: FileList) {\r\n let that = this\r\n this.fileToUpload = files.item(0);\r\n // this.driverById.Image = this.fileToUpload.name\r\n // console.log('this.fileToUpload : ', this.fileToUpload.name);\r\n console.log()\r\n if (this.driverById.Image === 'assets/images/social/driver.jpg') {\r\n this.fileToUpload = files.item(0);\r\n this.imgName=this.fileToUpload.name;\r\n let that = this;\r\n const bucket = new S3(\r\n {\r\n accessKeyId: this.accessKey,\r\n secretAccessKey: this.secretKey,\r\n region: 'us-west-2'\r\n }\r\n );\r\n const params = {\r\n Bucket: this.bucketName,\r\n Key: this.FOLDER+this.fileToUpload.name,\r\n Body: this.fileToUpload\r\n };\r\n\r\n bucket.upload(params, function (err, data) {\r\n if (err) {\r\n console.log('There was an error uploading your file: ', err);\r\n return false;\r\n }\r\n console.log('Successfully uploaded file.', data);\r\n that.driverById.Image = 'https://upload.s3-us-west-2.amazonaws.com/passengerControl/' + that.imgName;\r\n that.driverImg = 'https://upload.s3-us-west-2.amazonaws.com/passengerControl/' + that.imgName;\r\n // console.log(\"imagen conductor:\"+that.conductorImg);\r\n return true;\r\n });\r\n }else {\r\n var url = this.driverById.Image;\r\n var fileName = url.replace(/^.*[\\\\\\/]/, '');\r\n this.fileToUpload = files.item(0);\r\n this.imgName = this.fileToUpload.name;\r\n let that = this;\r\n const params = {\r\n Bucket: this.bucketName,\r\n Key: this.FOLDER + fileName\r\n };\r\n const bucket = new S3(\r\n {\r\n accessKeyId: this.accessKey,\r\n secretAccessKey: this.secretKey,\r\n region: 'us-west-2'\r\n }\r\n );\r\n const params1 = {\r\n Bucket: this.bucketName,\r\n Key: this.FOLDER + this.fileToUpload.name,\r\n Body: this.fileToUpload\r\n };\r\n\r\n bucket.deleteObject(params, function (err, data) {\r\n if (err) {\r\n console.log('There was an error deleting your file: ', err.message);\r\n return false;\r\n }\r\n\r\n console.log('Successfully deleted file.');\r\n return true;\r\n\r\n });\r\n bucket.upload(params1, function (err, data) {\r\n if (err) {\r\n console.log('There was an error uploading your file: ', err);\r\n return false;\r\n }\r\n console.log('Successfully uploaded file.', data);\r\n that.driverById.Image = 'https://upload.s3-us-west-2.amazonaws.com/passengerControl/' + that.imgName;\r\n that.driverImg = 'https://upload.s3-us-west-2.amazonaws.com/passengerControl/' + that.imgName;\r\n //console.log(\"imagen conductor 2:\"+that.conductorImg);|\r\n //console.log(\"imagen conductor 2:\"+ that.conductor.urlImageDriver);\r\n return true;\r\n });\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/driver/driver.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \" .multiselect-style{\\r\\n width: 500px;\\r\\n height: auto;\\r\\n }\\r\\n .ng-select.custom {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n width: 1%;\\r\\n }\\r\\n .ng-select.custom .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n }\\r\\n .ng-select.custom_1 {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n }\\r\\n .ng-select.custom_1 .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n }\\r\\n \\r\\n ng-select.ng-invalid.ng-touched .ng-select-container {\\r\\n border-color: #dc3545;\\r\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px #fde6e8;\\r\\n }\\r\\n\\r\\n #filter-panel{\\r\\n border: solid; \\r\\n background:#4c6c8b; \\r\\n color: #fff;\\r\\n }\\r\\n\\r\\n\\r\\n table {\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n .mat-form-field {\\r\\n font-size: 14px;\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n td, th {\\r\\n width: 20%;\\r\\n padding-left: 1%;\\r\\n padding-right: 1%;\\r\\n }\\r\\n .cdk-visually-hidden{\\r\\n display: none !important;\\r\\n }\\r\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/drivers/drivers.component.css\n// module id = ../../../../../src/app/components/drivers/drivers.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

 

\\r\\n

 

\\r\\n

 

\\r\\n

Cargando...

\\r\\n
\\r\\n
\\r\\n
\\r\\n

Conductores

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n     \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n     \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n      \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\\"image\\\"\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Conductor\\r\\n {{element.name}} \\r\\n \\r\\n\\r\\n \\r\\n Identificación\\r\\n {{element.identification}} \\r\\n \\r\\n\\r\\n \\r\\n Dirección\\r\\n {{element.address}} \\r\\n \\r\\n\\r\\n \\r\\n Teléfono\\r\\n {{element.phone}} \\r\\n \\r\\n\\r\\n \\r\\n RFID\\r\\n {{element.rfid}} \\r\\n \\r\\n\\r\\n \\r\\n Editar\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Eliminar\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/drivers/drivers.component.html\n// module id = ../../../../../src/app/components/drivers/drivers.component.html\n// module chunks = main","import { Component, OnInit, ChangeDetectorRef, ViewChild } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { DriversService } from '../../services/drivers.service';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport { ExcelService } from '../../services/excel.service';\r\nimport swal from 'sweetalert2';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-drivers',\r\n templateUrl: './drivers.component.html',\r\n styleUrls: ['./drivers.component.css']\r\n})\r\nexport class DriversComponent implements OnInit {\r\n\r\n drivers: MatTableDataSource;\r\n\r\n driverIdentifications = [];\r\n selectedDriverIdentifications = [];\r\n driverIdentificationsSettings = {};\r\n\r\n driverNames: any[] = [];\r\n selectedDriverNames = [];\r\n driverNamesSettings = {};\r\n\r\n driverRfids: any[] = [];\r\n selectedDriverRfids: any[] = [];\r\n driverRfidsSettings = {};\r\n\r\n user_account: any;\r\n\r\n filterMenuVisible: boolean = false;\r\n\r\n reportData: any = []\r\n\r\n displayedColumns: string[];\r\n\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n constructor(\r\n private route: ActivatedRoute,\r\n public router: Router,\r\n private driversService: DriversService,\r\n private commonService: CommonService,\r\n private http: HttpClient,\r\n private excelService: ExcelService,\r\n private chRef: ChangeDetectorRef,\r\n private spinner: NgxSpinnerService,\r\n ) { }\r\n\r\n applyFilter(filterValue: string) {\r\n this.drivers.filter = filterValue.trim().toLowerCase();\r\n if (this.drivers.paginator) {\r\n this.drivers.paginator.firstPage();\r\n }\r\n }\r\n\r\n setSpinnersSettings() {\r\n this.driverIdentificationsSettings = {\r\n singleSelection: false,\r\n idField: 'identification',\r\n textField: 'description',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n this.driverNamesSettings = {\r\n singleSelection: false,\r\n idField: 'name',\r\n textField: 'description',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n this.driverRfidsSettings = {\r\n singleSelection: false,\r\n idField: 'rfid',\r\n textField: 'description',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n }\r\n\r\n async ngOnInit() {\r\n this.setSpinnersSettings();\r\n\r\n this.displayedColumns = [\"Image\", \"name\", \"identification\", \"address\", \"phone\", \"rfid\", \"edit\", \"delete\"];\r\n this.getDrivers();\r\n }\r\n\r\n toggleFilterMenu() {\r\n this.filterMenuVisible = !this.filterMenuVisible;\r\n }\r\n\r\n getDrivers(): void {\r\n this.driversService.getDrivers(this.commonService.getUserName())\r\n .then(response => {\r\n this.drivers = new MatTableDataSource(response);\r\n this.drivers.paginator = this.paginator;\r\n this.drivers.paginator._intl.itemsPerPageLabel = \"Filas por Página:\"\r\n // Esconde el paginador porque no es posible cambair la paginación por problemas con el componente\r\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\r\n\r\n this.drivers.sort = this.sort;\r\n console.log(this.drivers.paginator)\r\n this.user_account = response.user_account;\r\n this.setLists();\r\n });\r\n }\r\n\r\n filterDrivers(): void {\r\n this.spinner.show();\r\n var identifications = this.selectedDriverIdentifications.map(({ identification }) => \"'\" + identification + \"'\").toString();\r\n var names = this.selectedDriverNames.map(({ name }) => \"'\" + name + \"'\").toString();\r\n var rfids = this.selectedDriverRfids.map(({ rfid }) => \"'\" + rfid + \"'\").toString();\r\n console.log(identifications)\r\n console.log(names)\r\n console.log(rfids)\r\n\r\n this.driversService.getDrivers_withFilters(this.commonService.getUserName(), identifications, names, rfids)\r\n .then(response => {\r\n this.spinner.hide();\r\n // this.drivers = response;\r\n this.drivers = new MatTableDataSource(response);\r\n this.reportData = []\r\n for (var i in this.drivers.data) {\r\n var obj = this.drivers.data[i]\r\n this.setReportData(obj)\r\n }\r\n\r\n // this.setDriversTable();\r\n });\r\n }\r\n\r\n onIdentificationSelect(item: any) {\r\n console.log(this.selectedDriverIdentifications)\r\n }\r\n onDeSelectIdentification(items: any) {\r\n console.log(this.selectedDriverIdentifications)\r\n }\r\n\r\n setLists() {\r\n this.driverIdentifications = []\r\n this.driverNames = []\r\n this.driverRfids = []\r\n\r\n this.reportData = []\r\n for (var i in this.drivers.data) {\r\n var obj = this.drivers.data[i]\r\n this.setReportData(obj)\r\n\r\n this.driverIdentifications.push({ identification: obj.identification, description: obj.identification })\r\n this.driverNames.push({ name: obj.name, description: obj.name })\r\n\r\n if(obj.rfid != \"\"){\r\n this.driverRfids.push({ rfid: obj.rfid, description: obj.rfid })\r\n }\r\n }\r\n\r\n this.driverIdentifications.sort(function (a, b) {\r\n if (a.description > b.description) {\r\n return 1;\r\n }\r\n if (a.description < b.description) {\r\n return -1;\r\n }\r\n // a must be equal to b\r\n return 0;\r\n });\r\n\r\n this.driverNames.sort(function (a, b) {\r\n if (a.description > b.description) {\r\n return 1;\r\n }\r\n if (a.description < b.description) {\r\n return -1;\r\n }\r\n // a must be equal to b\r\n return 0;\r\n });\r\n\r\n this.driverRfids.sort(function (a, b) {\r\n if (a.description > b.description) {\r\n return 1;\r\n }\r\n if (a.description < b.description) {\r\n return -1;\r\n }\r\n // a must be equal to b\r\n return 0;\r\n });\r\n \r\n }\r\n\r\n setReportData(driverObject) {\r\n this.reportData.push({\r\n Nombre: driverObject.name,\r\n Identificacion: driverObject.identification,\r\n Rfid: driverObject.rfid,\r\n Telefono: driverObject.phone,\r\n Direccion: driverObject.address,\r\n })\r\n }\r\n\r\n toEdit(id) {\r\n this.router.navigate(['/home/driver/' + id])\r\n }\r\n\r\n deleteDriver(id) {\r\n this.driversService.deleteDriver(id)\r\n .then(response => {\r\n this.filterDrivers();\r\n });\r\n }\r\n\r\n exportToExcel() {\r\n\r\n if (this.reportData.length > 0) {\r\n this.excelService.exportAsExcelFile(this.reportData, 'Lista de Conductores');\r\n } else {\r\n swal({\r\n title: 'No hay datos para exportar',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/drivers/drivers.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/header/header.component.css\n// module id = ../../../../../src/app/components/header/header.component.css\n// module chunks = main","module.exports = \"
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/header/header.component.html\n// module id = ../../../../../src/app/components/header/header.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { AlertComponent} from '../alert/alert.component';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.css']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n\r\n constructor(\r\n private commonService: CommonService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.commonService.getNameUser();\r\n // this.getNameUser();\r\n\r\n }\r\n\r\n getNameUser() {\r\n console.log('user : ');\r\n console.log('ud : ', this.commonService.getUserName());\r\n // return this.commonService.getNameUser();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/header/header.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".fc {\\r\\n direction: ltr;\\r\\n text-align: left; }\\r\\n .fc table {\\r\\n border-collapse: collapse;\\r\\n border-spacing: 0; }\\r\\n .fc .btn {\\r\\n line-height: 1.2em; }\\r\\n\\r\\nhtml .fc {\\r\\n font-size: 1em; }\\r\\n\\r\\n.fc table {\\r\\n font-size: 1em; }\\r\\n.fc td, .fc th {\\r\\n padding: 1px;\\r\\n vertical-align: top; }\\r\\n\\r\\n.fc-header td {\\r\\n white-space: nowrap; }\\r\\n\\r\\n.fc-header-left {\\r\\n width: 25%;\\r\\n text-align: left; }\\r\\n\\r\\n.fc-header-center {\\r\\n text-align: center; }\\r\\n\\r\\n.fc-header-right {\\r\\n width: 25%;\\r\\n text-align: right; }\\r\\n\\r\\n.fc-header-title {\\r\\n display: inline-block;\\r\\n vertical-align: top; }\\r\\n .fc-header-title h2 {\\r\\n margin-top: 0;\\r\\n white-space: nowrap; }\\r\\n\\r\\n.fc .fc-header-space {\\r\\n padding-left: 10px; }\\r\\n\\r\\n.fc-header .fc-button {\\r\\n margin-bottom: 1em;\\r\\n vertical-align: top;\\r\\n margin-right: -1px; }\\r\\n.fc-header .fc-corner-right {\\r\\n margin-right: 1px; }\\r\\n.fc-header .ui-corner-right {\\r\\n margin-right: 0; }\\r\\n.fc-header .fc-state-hover, .fc-header .ui-state-hover {\\r\\n z-index: 2; }\\r\\n.fc-header .fc-state-down {\\r\\n z-index: 3; }\\r\\n.fc-header .fc-state-active, .fc-header .ui-state-active, .fc-header .ui-state-down {\\r\\n z-index: 4;\\r\\n background-color: #e6e6e6;\\r\\n background-color: #d9d9d9;\\r\\n background-image: none;\\r\\n outline: 0;\\r\\n box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); }\\r\\n\\r\\n.fc-content {\\r\\n clear: both; }\\r\\n\\r\\n.fc-view {\\r\\n width: 100%;\\r\\n overflow: hidden; }\\r\\n\\r\\n.fc .ui-widget-header {\\r\\n border-color: #dddddd;\\r\\n padding: 4px 0; }\\r\\n\\r\\nthead th.fc-first {\\r\\n border-top-left-radius: 5px;\\r\\n -moz-border-top-left-radius: 5px;\\r\\n -webkit-border-top-left-radius: 5px; }\\r\\n\\r\\nthead th.fc-last {\\r\\n border-top-right-radius: 5px;\\r\\n -moz-border-top-right-radius: 5px;\\r\\n -webkit-border-top-right-radius: 5px; }\\r\\n\\r\\n.fc-state-highlight {\\r\\n background: #ffffcc; }\\r\\n\\r\\n.ui-state-highlight.fc-today {\\r\\n background: #f4f4f4;\\r\\n margin: 2px !important;\\r\\n border: 0;\\r\\n border-left: 1px solid #dddddd;\\r\\n border-radius: 0;\\r\\n -moz-border-radius: 0;\\r\\n -webkit-border-radius: 0; }\\r\\n\\r\\n.fc-cell-overlay {\\r\\n background: #99ccff;\\r\\n opacity: 0.2;\\r\\n filter: alpha(opacity=20); }\\r\\n\\r\\n.fc-button {\\r\\n position: relative;\\r\\n display: inline-block;\\r\\n cursor: pointer; }\\r\\n\\r\\n.fc-state-default {\\r\\n border-style: solid;\\r\\n border-width: 1px 0; }\\r\\n\\r\\n.fc-button-inner {\\r\\n position: relative;\\r\\n float: left;\\r\\n overflow: hidden; }\\r\\n\\r\\n.fc-state-default .fc-button-inner {\\r\\n border-style: solid;\\r\\n border-width: 0 1px; }\\r\\n\\r\\n.fc-button-content {\\r\\n position: relative;\\r\\n float: left;\\r\\n height: 1.9em;\\r\\n line-height: 1.9em;\\r\\n padding: 0 0.6em;\\r\\n white-space: nowrap; }\\r\\n .fc-button-content .fc-icon-wrap {\\r\\n position: relative;\\r\\n float: left;\\r\\n top: 50%; }\\r\\n .fc-button-content .ui-icon {\\r\\n position: relative;\\r\\n float: left;\\r\\n margin-top: -50%;\\r\\n *margin-top: 0;\\r\\n *top: -50%; }\\r\\n\\r\\n.fc-state-default {\\r\\n border-style: solid;\\r\\n border-color: #cccccc #bbbbbb #aaaaaa;\\r\\n background: #f3f3f3;\\r\\n color: black; }\\r\\n .fc-state-default .fc-button-effect {\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: 0; }\\r\\n .fc-state-default .fc-button-effect span {\\r\\n position: absolute;\\r\\n top: -100px;\\r\\n left: 0;\\r\\n width: 500px;\\r\\n height: 100px;\\r\\n border-width: 100px 0 0 1px;\\r\\n border-style: solid;\\r\\n border-color: white;\\r\\n background: #444444;\\r\\n opacity: 0.09;\\r\\n filter: alpha(opacity=9); }\\r\\n .fc-state-default .fc-button-inner {\\r\\n border-style: solid;\\r\\n border-color: #cccccc #bbbbbb #aaaaaa;\\r\\n background: #f3f3f3;\\r\\n color: black; }\\r\\n\\r\\n.fc-state-hover {\\r\\n border-color: #999999; }\\r\\n .fc-state-hover .fc-button-inner {\\r\\n border-color: #999999; }\\r\\n\\r\\n.fc-state-down {\\r\\n border-color: #555555;\\r\\n background: #777777; }\\r\\n .fc-state-down .fc-button-inner {\\r\\n border-color: #555555;\\r\\n background: #777777; }\\r\\n\\r\\n.fc-state-active {\\r\\n border-color: #555555;\\r\\n background: #777777;\\r\\n color: white; }\\r\\n .fc-state-active .fc-button-inner {\\r\\n border-color: #555555;\\r\\n background: #777777;\\r\\n color: white; }\\r\\n\\r\\n.fc-state-disabled {\\r\\n color: #999999;\\r\\n border-color: #dddddd;\\r\\n cursor: default; }\\r\\n .fc-state-disabled .fc-button-inner {\\r\\n color: #999999;\\r\\n border-color: #dddddd; }\\r\\n .fc-state-disabled .fc-button-effect {\\r\\n display: none; }\\r\\n\\r\\n.fc-event {\\r\\n border-style: solid;\\r\\n border-width: 0;\\r\\n font-size: 0.85em;\\r\\n cursor: default; }\\r\\n\\r\\na.fc-event, .fc-event-draggable {\\r\\n cursor: pointer; }\\r\\n\\r\\na.fc-event {\\r\\n text-decoration: none; }\\r\\n\\r\\n.fc-rtl .fc-event {\\r\\n text-align: right; }\\r\\n\\r\\n.fc-event-skin {\\r\\n border: 0;\\r\\n background-color: #3366cc;\\r\\n color: white; }\\r\\n\\r\\n.fc-event-inner {\\r\\n position: relative;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n border-style: solid;\\r\\n border-width: 0;\\r\\n overflow: hidden; }\\r\\n\\r\\n.fc-event-time, .fc-event-title {\\r\\n padding: 0 1px; }\\r\\n\\r\\n.fc .ui-resizable-handle {\\r\\n display: block;\\r\\n position: absolute;\\r\\n z-index: 99999;\\r\\n overflow: hidden; }\\r\\n\\r\\n.fc-event-hori {\\r\\n border-width: 1px 0;\\r\\n margin-bottom: 1px; }\\r\\n .fc-event-hori .ui-resizable-e {\\r\\n top: 0 !important; }\\r\\n .fc-event-hori .ui-resizable-w {\\r\\n top: 0 !important;\\r\\n left: -3px !important;\\r\\n width: 7px !important;\\r\\n height: 100% !important;\\r\\n cursor: w-resize; }\\r\\n .fc-event-hori .ui-resizable-handle {\\r\\n _padding-bottom: 14px; }\\r\\n\\r\\ntable.fc-border-separate {\\r\\n border-collapse: separate; }\\r\\n\\r\\n.fc-border-separate th, .fc-border-separate td {\\r\\n border-width: 1px 0 0 1px; }\\r\\n.fc-border-separate th.fc-last, .fc-border-separate td.fc-last {\\r\\n border-right-width: 1px; }\\r\\n.fc-border-separate tr.fc-last th, .fc-border-separate tr.fc-last td {\\r\\n border-bottom-width: 1px; }\\r\\n.fc-border-separate tbody tr.fc-first td, .fc-border-separate tbody tr.fc-first th {\\r\\n border-top-width: 0; }\\r\\n\\r\\n.fc-grid th {\\r\\n text-align: center; }\\r\\n.fc-grid .fc-day-number {\\r\\n float: right;\\r\\n padding: 0 2px; }\\r\\n.fc-grid .fc-other-month .fc-day-number {\\r\\n opacity: 0.3;\\r\\n filter: alpha(opacity=30); }\\r\\n\\r\\n.fc-rtl .fc-grid .fc-day-number {\\r\\n float: left; }\\r\\n.fc-rtl .fc-grid .fc-event-time {\\r\\n float: right; }\\r\\n\\r\\n.fc-agenda table {\\r\\n border-collapse: separate; }\\r\\n\\r\\n.fc-agenda-days th {\\r\\n text-align: center; }\\r\\n\\r\\n.fc-agenda .fc-agenda-axis {\\r\\n width: 50px;\\r\\n padding: 0 4px;\\r\\n vertical-align: middle;\\r\\n text-align: right;\\r\\n white-space: nowrap;\\r\\n font-weight: normal; }\\r\\n.fc-agenda .fc-day-content {\\r\\n padding: 2px 2px 1px; }\\r\\n\\r\\n.fc-agenda-days .fc-agenda-axis {\\r\\n border-right-width: 1px; }\\r\\n.fc-agenda-days .fc-col0 {\\r\\n border-left-width: 0; }\\r\\n\\r\\n.fc-agenda-allday th {\\r\\n border-width: 0 1px; }\\r\\n.fc-agenda-allday .fc-day-content {\\r\\n min-height: 34px; }\\r\\n\\r\\n.fc-agenda-divider-inner {\\r\\n height: 2px;\\r\\n overflow: hidden; }\\r\\n\\r\\n.fc-widget-header .fc-agenda-divider-inner {\\r\\n background: #eeeeee; }\\r\\n\\r\\n.fc-agenda-slots th {\\r\\n border-width: 1px 1px 0; }\\r\\n.fc-agenda-slots td {\\r\\n border-width: 1px 0 0;\\r\\n background: none; }\\r\\n .fc-agenda-slots td div {\\r\\n height: 20px; }\\r\\n.fc-agenda-slots tr.fc-slot0 th, .fc-agenda-slots tr.fc-slot0 td {\\r\\n border-top-width: 0; }\\r\\n.fc-agenda-slots tr.fc-minor th, .fc-agenda-slots tr.fc-minor td {\\r\\n border-top-style: dotted; }\\r\\n.fc-agenda-slots tr.fc-minor th.ui-widget-header {\\r\\n *border-top-style: solid; }\\r\\n\\r\\n.fc-event-vert {\\r\\n border-width: 0 1px; }\\r\\n .fc-event-vert .fc-event-head, .fc-event-vert .fc-event-content {\\r\\n position: relative;\\r\\n z-index: 2;\\r\\n width: 100%;\\r\\n overflow: hidden; }\\r\\n .fc-event-vert .fc-event-time {\\r\\n white-space: nowrap;\\r\\n font-size: 10px; }\\r\\n\\r\\n.fc .ui-draggable-dragging .fc-event-bg, .fc-select-helper .fc-event-bg {\\r\\n display: none; }\\r\\n\\r\\n.fc-event-vert .ui-resizable-s {\\r\\n bottom: 0 !important; }\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/holiday-calendar/holiday-calendar.component.css\n// module id = ../../../../../src/app/components/holiday-calendar/holiday-calendar.component.css\n// module chunks = main","module.exports = \"\\r\\n
    \\r\\n\\t
    \\r\\n \\t
    \\r\\n\\t \\t
    \\r\\n\\t\\t
    \\r\\n\\t\\t \\t
    \\r\\n\\t \\t\\t
    \\r\\n\\t \\t\\t\\t
    \\r\\n\\t \\t\\t\\t
    \\r\\n\\t \\t \\t\\t\\t
    Calendario festivos
    \\r\\n\\t \\t\\t\\t
    \\r\\n\\t \\t\\t\\t
    \\r\\n\\t \\t\\t\\t\\t
    \\t\\t \\t\\t\\r\\n\\t \\t\\t\\t
    \\r\\n\\t\\t \\t
    \\r\\n\\t\\t
    \\r\\n\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t
    \\r\\n\\t\\t\\t
    \\r\\n\\t\\t
    \\r\\n\\t
    \\r\\n
    \\t\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/holiday-calendar/holiday-calendar.component.html\n// module id = ../../../../../src/app/components/holiday-calendar/holiday-calendar.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\ndeclare var jQuery:any;\r\ndeclare var $:any;\r\nimport { CommonService } from '../../services/common.service';\r\nimport { RoutesService} from '../../services/routes.service';\r\nimport { RouteService} from '../../services/route.service';\r\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\r\nimport { HolidayCalendarService } from '../../services/holiday-calendar.service';\r\nimport swal from 'sweetalert2';\r\n\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-holiday-calendar',\r\n templateUrl: './holiday-calendar.component.html',\r\n styleUrls: ['./holiday-calendar.component.css']\r\n})\r\nexport class HolidayCalendarComponent implements OnInit {\r\n\tdataEvent: any;\r\n\tparamGlob: any = [];\r\n \tconstructor(\r\n \t\tprivate commonService: CommonService,\r\n \t\tprivate route: ActivatedRoute,\r\n\t private router: Router,\r\n\t private routesService: RoutesService,\r\n\t private routeService: RouteService,\r\n\t private holidayCalendarService: HolidayCalendarService,\r\n \t) { }\r\n\tusername : any = this.commonService.getUserName()\r\n\r\n \tngOnInit() {\r\n\t \t// this.getHolidaysByCompany();\r\n\t \tvar dateNow = new Date();\r\n\t\tvar year = dateNow.getFullYear();\r\n\t\tlet that = this;\r\n\t\tconsole.log(this.dataEvent)\r\n\r\n\t\tconsole.log('ingresando a get')\r\n\t this.holidayCalendarService.getHolidaysByCompany(this.commonService.getUserName())\r\n\t .then(response => {\r\n\t \tvar dataHolidays = []\r\n\t \tvar dataHolString = ''\r\n\t \tvar yearControlDate = 3;\r\n\t \tvar yearIni = year - yearControlDate;\r\n\t \tvar yearEnd = year + yearControlDate;\r\n\t \tvar yearsForData = year + yearControlDate;\r\n\t \tfor(let y = yearIni;y < yearEnd;y++){ \t\r\n\t\t \tfor (let n = 0; n < response.length; n++) {\r\n\t\t \t\tvar jsonHoliday = {}\r\n\t\t \t\tvar dayHol = (response[n][\"day\"]).toString();\r\n\t\t \t\tif(dayHol.length == 1){\r\n\t\t \t\t\tdayHol = '0' + dayHol\r\n\t\t \t\t}\r\n\t\t \t\tvar monthHol = response[n][\"month\"].toString();\r\n\t\t \t\tif(monthHol.length == 1){\r\n\t\t \t\t\tmonthHol = '0' + monthHol\r\n\t\t \t\t}\r\n\t\t \t\tvar dateHol = y + '-' + monthHol + '-' + dayHol\r\n\t\t \t\tjsonHoliday[\"title\"] = \"DIA FESTIVO\"\r\n\t\t \t\tjsonHoliday[\"description\"] = \"DIA FESTIVO desc\"\r\n\t\t \t\tjsonHoliday[\"start\"] = dateHol\r\n\t\t \t\t// var jsonString = JSON.stringify(jsonHoliday);\r\n\t\t \t\tvar jsonString = jsonHoliday;\r\n\t\t \t\tdataHolidays.push(jsonString)\r\n\t\t \t}\r\n\t\t }\r\n\t \tthis.dataEvent = dataHolidays\r\n\t \t// console.log('dataEvent dataEvent dataEvent dataEvent : ', this.dataEvent)\r\n\r\n\t\t\tvar today = Date.now()\r\n\t\t\tconsole.log(today)\r\n\t\t \t$('#calendar').fullCalendar({\r\n\t\t \t\t// themeSystem: 'jquery-ui',\r\n\t\t \t\tlang: 'es',\r\n\t\t\t \tdefaultDate: today,\r\n\t\t\t \tnavLinks: true,\r\n\t\t\t \teditable: true,\r\n\t\t\t \teventLimit: true,\r\n\t\t\t \tevents: dataHolidays,\r\n\t\t\t \tcustomButtons: {\r\n\t\t\t\t addEventButton: {\r\n\t\t\t \t\ttext: 'Add new event',\r\n\t\t\t \t\tclick: function () {\r\n\t\t\t \t\tvar dateStr = prompt('Enter date in YYYY-MM-DD format');\r\n\t\t\t \t\t//var date = moment(dateStr);\r\n\t\t\t \t\tvar date = dateStr;\r\n\t\t\t \t\t// if (date.isValid()) {\r\n\t\t\t \t\tif (date) {\r\n\t\t\t \t\t\t$('#calendar').fullCalendar('renderEvent', {\r\n\t\t\t \t\t\ttitle: 'Evento Dinamico',\r\n\t\t\t \t\t\tstart: date,\r\n\t\t\t \t\t\tallDay: true\r\n\t\t\t \t\t\t});\r\n\t\t\t \t\t} else {\r\n\t\t\t \t\t\talert('Dato invalido');\r\n\t\t\t \t\t}\r\n\t\t\t \t}\r\n\t\t\t \t}\r\n\t\t \t \t},\r\n\t\t \t \teventClick: function(calEvent, jsEvent, view)\r\n\t\t {\r\n \t\t$('#calendar').fullCalendar('removeEvents', calEvent._id);\r\n \t\t\t\t\t// that.deleteHoliday('param');\r\n \t//console.log('gdhhjl')\r\n \tvar dateSplit = calEvent.start._i.split('-')\r\n \t\tvar dateMonth = dateSplit[1]\r\n \t\t//console.log('dateMonth : ', dateMonth)\r\n\t\t\t \tvar dateDay = dateSplit[2]\r\n\t\t\t \t//console.log('dateDay : ', dateDay)\r\n\t\t \t\tlet param = {\r\n\t\t\t \t\t\"User_account\":that.username,\r\n\t\t \t\t\t\"Month\": dateMonth,\r\n\t\t \t\t\t\"Day\": dateDay,\r\n\t\t \t\t};\r\n \tthat.holidayCalendarService.deleteHolidays(param).then(response =>{\r\n \t\t\tif(response){\r\n\t\t\t \t\t\tswal({\r\n\t\t\t\t \t\t\ttitle: \"Se ha borrado esta fecha como dia festivo.\",\r\n\t\t \t\ttext: '',\r\n\t\t \t\ttype: 'warning'\r\n\t\t \t}).catch(swal.noop);\r\n \t\t\t\t\t}\r\n \t\t\t\t});\r\n \t\t\t\tconsole.log('saliendo del llamado')\r\n \t\t},\r\n\t\t \t \t/*\r\n\t\t\t \teventClick: function(calEvent, jsEvent, view) {\r\n\t\t\t \t\tlet that = this;\r\n\t\t\t \t\tswal({\r\n\t\t\t \t\t\ttitle: 'Esta fecha ya esta marcada como dia festivo, ¿La desea eliminar?',\r\n\t \ttext: '',\r\n\t \ttype: 'warning',\r\n\t \tshowCancelButton: true,\r\n\t \tconfirmButtonColor: '#3085d6',\r\n\t \tcancelButtonColor: '#d33',\r\n\t \tconfirmButtonText: 'Sí',\r\n\t \tcancelButtonText: 'No'\r\n\t\t }).then(function (s) {\r\n \t\tif(s.dismiss !== undefined){\r\n\t \t\tif (s.dismiss.toString() === 'cancel') {\r\n\t \t}\r\n\t \t}\r\n\t \telse{\r\n\t \t\tif(s.value!== undefined){\r\n\t \t\t\tif(s.value){\r\n\t\t\t \t\tvar dateSplit = calEvent.start._i.split('-')\r\n\t\t\t \t\tvar dateMonth = dateSplit[1]\r\n\t\t\t \t\tconsole.log('dateMonth : ', dateMonth)\r\n\t\t\t\t\t\t\t \tvar dateDay = dateSplit[2]\r\n\t\t\t\t\t\t\t \tconsole.log('dateDay : ', dateDay)\r\n\t\t\t\t\t\t \t\tlet param = {\r\n\t\t\t\t\t\t\t \t\t\"User_account\":that.username,\r\n\t\t\t\t\t\t \t\t\t\"Month\": dateMonth,\r\n\t\t\t\t\t\t \t\t\t\"Day\": dateDay,\r\n\t\t\t\t\t\t \t\t};\r\n\t\t\t\t\t\t \t\tconsole.log('llamando servicio ')\r\n\t\t\t\t\t\t \t\t$('#calendar').fullCalendar('removeEvents', calEvent._id);\r\n\t\t\t\t\t\t \t\tthat.deleteHoliday(param)\r\n\t\t \t\t\tthat.holidayCalendarService.deleteHolidays(param).then(response =>{\r\n\t\t\t \t\t\tif(response){\r\n\t\t\t\t\t\t\t \t\t\tswal({\r\n\t\t\t\t\t\t\t\t \t\t\ttitle: \"Se ha borrado esta fecha como dia festivo.\",\r\n\t\t\t\t\t\t \t\ttext: '',\r\n\t\t\t\t\t\t \t\ttype: 'warning'\r\n\t\t\t\t\t\t \t}).catch(swal.noop);\r\n\t\t\t \t\t\t\t\t}\r\n\t\t\t \t\t\t\t});\r\n\t\t\t \t\t\t\tconsole.log('saliendo del llamado')\r\n\t\t \t\t}\r\n\t\t \t}\r\n\t \t\t\t}\r\n\t\t\t\t\t}).catch(swal.noop);\r\n\t\t\t\t},\r\n\t\t\t\t*/\r\n\t\t\t\tdayClick: function (date, start, end, jsEvent, view, resource, event) {\r\n\t\t\t\t \tvar dateValidate = date.format('YYYY-MM-DD').toString()\r\n\t\t\t\t let swValidateDate = 0;\r\n\t\t\t\t\tfor (let d of that.dataEvent) {\r\n\t\t\t\t\t \tif(dateValidate == d.start){\r\n\t\t\t\t\t \t\tswValidateDate = 1;\r\n\t\t\t\t\t \t\tbreak;\r\n\t\t\t\t\t }\r\n\t\t\t\t\t}\r\n\t\t\t\t // var date = moment(date.format('MM-DD-YYYY'));\r\n\t\t\t\t var dateSplit = (date.format('MM-DD-YYYY').toString()).split('-')\r\n\t\t\t\t var dateMonth = dateSplit[0]\r\n\t\t\t\t var dateDay = dateSplit[1]\r\n\t\t\t\t var dateYear = dateSplit[2]\r\n\r\n\t\t\t \tlet param = {\r\n\t\t\t \t\t\"User_account\":that.commonService.getUserName(),\r\n\t\t\t \t\t\"Month\": dateMonth,\r\n\t\t\t \t\t\"Day\": dateDay,\r\n\t\t\t \t};\r\n\t\t\t\t if (swValidateDate == 0) {\r\n\t\t\t\t\t that.holidayCalendarService.saveHolidays(param).then(response =>{\r\n\t\t\t\t\t \tif(response){\r\n\t\t\t\t\t \t\t$('#calendar').fullCalendar('renderEvent', {\r\n\t\t\t\t\t \t\t\ttitle: 'DIA FESTIVO',\r\n\t\t\t\t\t\t\t start: date,\r\n\t\t\t\t\t\t\t allDay: true\r\n\t\t\t\t\t\t\t });\r\n\r\n\t\t\t\t\t \t\tthat.holidayCalendarService.getHolidaysByCompany(that.commonService.getUserName())\r\n\t\t\t\t\t\t\t .then(response => {\r\n\t\t\t\t\t\t\t \tvar dataHolidays = []\r\n\t\t\t\t\t\t\t \tvar dataHolString = ''\r\n\t\t\t\t\t\t\t \tvar yearControlDate = 3;\r\n\t\t\t\t\t\t\t \tvar yearIni = year - yearControlDate;\r\n\t\t\t\t\t\t\t \tvar yearEnd = year + yearControlDate;\r\n\t\t\t\t\t\t\t \tvar yearsForData = year + yearControlDate;\r\n\t\t\t\t\t\t\t \tfor(let y = yearIni;y < yearEnd;y++){ \t\r\n\t\t\t\t\t\t\t\t \tfor (let n = 0; n < response.length; n++) {\r\n\t\t\t\t\t\t\t\t \t\tvar jsonHoliday = {}\r\n\t\t\t\t\t\t\t\t \t\tvar dayHol = (response[n][\"day\"]).toString();\r\n\t\t\t\t\t\t\t\t \t\tif(dayHol.length == 1){\r\n\t\t\t\t\t\t\t\t \t\t\tdayHol = '0' + dayHol\r\n\t\t\t\t\t\t\t\t \t\t}\r\n\t\t\t\t\t\t\t\t \t\tvar monthHol = response[n][\"month\"].toString();\r\n\t\t\t\t\t\t\t\t \t\tif(monthHol.length == 1){\r\n\t\t\t\t\t\t\t\t \t\t\tmonthHol = '0' + monthHol\r\n\t\t\t\t\t\t\t\t \t\t}\r\n\t\t\t\t\t\t\t\t \t\tvar dateHol = y + '-' + monthHol + '-' + dayHol\r\n\t\t\t\t\t\t\t\t \t\tjsonHoliday[\"title\"] = \"DIA FESTIVO\"\r\n\t\t\t\t\t\t\t\t \t\tjsonHoliday[\"description\"] = \"DIA FESTIVO desc\"\r\n\t\t\t\t\t\t\t\t \t\tjsonHoliday[\"start\"] = dateHol\r\n\t\t\t\t\t\t\t\t \t\tvar jsonString = jsonHoliday;\r\n\t\t\t\t\t\t\t\t \t\tdataHolidays.push(jsonString)\r\n\t\t\t\t\t\t\t\t \t}\r\n\t\t\t\t\t\t\t \t}\r\n\t\t\t\t\t\t\t \tthat.dataEvent = dataHolidays\r\n\t\t\t\t\t \t\t});\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\tconsole.log('no se pudo guardar el elemento,comunicate con el administrador')\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\t\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\t\t \r\n\t\t});\r\n\t}\r\n\r\n\tdeleteHoliday(param):void{\r\n\t\tconsole.log('param : ', param)\r\n\r\n\t}\r\n}\r\n\r\n\r\n\r\n\r\n/*\r\n getHolidaysByCompany(): void {\r\n \tconsole.log('ingresando a get')\r\n this.holidayCalendarService.getHolidaysByCompany(this.commonService.getUserName())\r\n .then(response => {\r\n \tconsole.log('response : ', response)\r\n \tvar dataHolidays = []\r\n \tvar dataHolString = ''\r\n \tfor (let n = 0; n < response.length; n++) {\r\n \t\tvar jsonHoliday = {}\r\n\r\n \t\tvar dayHol = response[n][\"day\"];\r\n \t\tvar monthHol = response[n][\"month\"];\r\n \t\tconsole.log('dia : : : : ', dayHol)\r\n \t\tconsole.log('mes : : : : ', monthHol)\r\n\r\n \t\tvar dateHol = '2019-' + monthHol + '-' + dayHol\r\n \t\tconsole.log('dateHol : ', dateHol)\r\n\r\n \t\tjsonHoliday[\"title\"] = \"DIA FESTIVO\"\r\n \t\tjsonHoliday[\"description\"] = \"DIA FESTIVO desc\"\r\n \t\tjsonHoliday[\"start\"] = dateHol\r\n \t\tvar jsonString = JSON.stringify(jsonHoliday);\r\n \t\tdataHolidays.push(jsonString.toString())\r\n\r\n \t}\r\n \tconsole.log(dataHolidays)\r\n \tvar daH = '[' + dataHolidays.toString() + ']'\r\n \tconsole.log('dah : ', daH)\r\n \tthis.dataEvent = daH\r\n \r\n\r\n\t \t$('#calendar').fullCalendar({\r\n\t \tdefaultDate: '2019-12-01',\r\n\t \tnavLinks: true,\r\n\t\t \teditable: true,\r\n\t\t\teventLimit: true,\r\n\t\t\t// events: [{ title: 'Festivo', start: '2019-12-04', description: 'Super cool event' },{ title: 'Festivo 5', start: '2019-12-05', description: 'Super cool event' } ],\r\n\t\t\t// events: daH,\r\n\t\t\tevents: [{'title':'DIA FESTIVO','description':'DIA FESTIVO desc','start':'2019-12-21'},{'title':'DIA FESTIVO','description':'DIA FESTIVO desc','start':'2019-12-23'},{'title':'DIA FESTIVO','description':'DIA FESTIVO desc','start':'2019-12-31'},{'title':'DIA FESTIVO','description':'DIA FESTIVO desc','start':'2019-12-31'},{'title':'DIA FESTIVO','description':'DIA FESTIVO desc','start':'2019-12-18'}],\r\n\t\t\tcustomButtons: {\r\n\t\t\t\taddEventButton: {\r\n\t\t\t \ttext: 'Add new event',\r\n\t\t\t \tclick: function () {\r\n\t\t\t \tvar dateStr = prompt('Enter date in YYYY-MM-DD format');\r\n\t\t\t \tvar date = moment(dateStr);\r\n\t\t\t \tconsole.log('date dinamic : ', date)\r\n\t\t\t \tconsole.log('date dinamic .isValid(): ', date.isValid())\r\n\t\t\t \tconsole.log(moment().format('MM-DD-YYYY'))\r\n\t\t\t \tif (date.isValid()) {\r\n\t\t\t \t\t$('#calendar').fullCalendar('renderEvent', {\r\n\t\t\t \t\ttitle: 'Evento Dinamico',\r\n\t\t\t \t\tstart: date,\r\n\t\t\t \t\tallDay: true\r\n\t\t\t \t\t});\r\n\t\t\t \t} else {\r\n\t\t\t \t\talert('Dato invalido');\r\n\t\t\t \t}\r\n\r\n\t\t\t \t}\r\n\t\t \t}\r\n\t\t\t},\r\n\t \t});\r\n\t });\r\n\r\n \r\n\t}\r\n*/\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/holiday-calendar/holiday-calendar.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/login/login.component.css\n// module id = ../../../../../src/app/components/login/login.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n Info!\\r\\n
    \\r\\n {{ messageError }}\\r\\n
    \\r\\n
    \\r\\n

    INICIAR SESIÓN

    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/login/login.component.html\n// module id = ../../../../../src/app/components/login/login.component.html\n// module chunks = main","import { Component, OnInit, AfterViewInit, OnDestroy } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { LoginService } from '../../services/login.service';\r\nimport { SignalRService } from '../../services/signal-r.service';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n messageError: any;\r\n model: any = {};\r\n returnUrl: string;\r\n isSubmitted: any = false;\r\n loading = false;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private loginService: LoginService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.loginService.logout();\r\n console.log('componente del loginerss');\r\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/home/dashboard/';\r\n $('body').addClass('empty-layout');\r\n\r\n }\r\n\r\n login(): void {\r\n this.loading = true;\r\n this.loginService.login(this.model.username, this.model.password)\r\n .then(data => {\r\n if ( data && data['status'] && data['status'] === 'EXITO' ) {\r\n this.router.navigate([this.returnUrl]);\r\n // window.location.href = this.returnUrl;\r\n // window.location.href = '/index.html';\r\n } else {\r\n this.messageError = data['message'];\r\n }\r\n })\r\n .catch(error => {\r\n console.log('login.component.error', error);\r\n this.loading = false;\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n // ngAfterViewInit() {\r\n // $('#login-form').validate({\r\n // errorClass: 'help-block',\r\n // rules: {\r\n // email: {required: true, email: true},\r\n // password: {required: true}\r\n // },\r\n // highlight: function(e){$(e).closest('.form-group').addClass('has-error')},\r\n // unhighlight: function(e){$(e).closest('.form-group').removeClass('has-error')},\r\n // });\r\n // }\r\n //\r\n // ngOnDestroy() {\r\n // $('body').removeClass('empty-layout');\r\n // }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/login/login.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/master/master.component.css\n// module id = ../../../../../src/app/components/master/master.component.css\n// module chunks = main","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/master/master.component.html\n// module id = ../../../../../src/app/components/master/master.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { Helpers } from '../../helpers';\r\n\r\n@Component({\r\n selector: 'app-master',\r\n templateUrl: './master.component.html',\r\n styleUrls: ['./master.component.css']\r\n})\r\nexport class MasterComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n Helpers.initLayout();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/master/master.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".multiselect-style{\\r\\n width: 500px;\\r\\n height: auto;\\r\\n}\\r\\n.ng-select.custom {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n width: 1%;\\r\\n}\\r\\n.ng-select.custom .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n}\\r\\n.ng-select.custom_1 {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n}\\r\\n.ng-select.custom_1 .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n}\\r\\n\\r\\nng-select.ng-invalid.ng-touched .ng-select-container {\\r\\n border-color: #dc3545;\\r\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px #fde6e8;\\r\\n}\\r\\n\\r\\n \\r\\ntable {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.mat-form-field {\\r\\n font-size: 14px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\ntd, th {\\r\\n width: 25%;\\r\\n padding-left: 1%;\\r\\n}\\r\\n.cdk-visually-hidden{\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n#filter-panel{\\r\\n border: solid; \\r\\n background:#4c6c8b; \\r\\n color: #fff;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n\\r\\n#select{\\r\\n border: 1px solid #adadad;\\r\\n background :inherit;\\r\\n color : #fff;\\r\\n \\r\\n}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/passengers-report/passengers-report.component.css\n// module id = ../../../../../src/app/components/passengers-report/passengers-report.component.css\n// module chunks = main","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

     

    \\r\\n

     

    \\r\\n

     

    \\r\\n

    Cargando...

    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    Conteo de pasajeros

    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Búsqueda Avanzada

    \\r\\n
    Realizar una búsqueda avanzada de Conteo de Pasajeros
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    {{ this.totalProm }}

    \\r\\n
    Pasajeros movilizados
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n Viaje\\r\\n {{element.trip}} \\r\\n \\r\\n\\r\\n \\r\\n Placa\\r\\n {{element.plate}} \\r\\n \\r\\n\\r\\n \\r\\n Conductor\\r\\n {{element.driver}} \\r\\n \\r\\n\\r\\n \\r\\n Ruta\\r\\n {{element.route}} \\r\\n \\r\\n\\r\\n \\r\\n Fecha Registro\\r\\n {{element.startdate}} \\r\\n \\r\\n\\r\\n \\r\\n Bloqueos\\r\\n {{element.countBlock}} \\r\\n \\r\\n\\r\\n \\r\\n Kms recorridos\\r\\n {{element.journey | number:'2.0-2'}} \\r\\n \\r\\n\\r\\n \\r\\n Velocidad maxima\\r\\n {{ element.max_speed }} Km/h\\r\\n \\r\\n\\r\\n \\r\\n Hora inicio\\r\\n {{ element.startTime }} \\r\\n \\r\\n\\r\\n \\r\\n Hora fin\\r\\n {{ element.endingTime }} \\r\\n \\r\\n\\r\\n \\r\\n Ingresos puerta trasera\\r\\n {{ element.backdoorin }} \\r\\n \\r\\n\\r\\n \\r\\n Pasajeros movilizados\\r\\n {{ element.totalProm }} \\r\\n \\r\\n\\r\\n \\r\\n Tiempo de viaje\\r\\n {{ element.time }} m\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/passengers-report/passengers-report.component.html\n// module id = ../../../../../src/app/components/passengers-report/passengers-report.component.html\n// module chunks = main","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { PassengersReportService } from '../../services/passengers-report.service';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { ExcelService } from '../../services/excel.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgSelectOption } from '@angular/forms';\r\nimport { Observable } from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { DriversService } from '../../services/drivers.service';\r\n\r\nimport swal from 'sweetalert2';\r\nimport { delay } from 'rxjs/operator/delay';\r\nimport { RoutesService } from '../../services/routes.service';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-passengers-report',\r\n templateUrl: './passengers-report.component.html',\r\n styleUrls: ['./passengers-report.component.css']\r\n})\r\n\r\n\r\nexport class PassengersReportComponent implements OnInit {\r\n platesBuffer = [];\r\n loading1 = false;\r\n bufferSize = 50;\r\n imeiVei: any = {};\r\n vehiculo: any = {};\r\n dataObj: any = [];\r\n user_account: any;\r\n data: any = [];\r\n placas: any = [];\r\n report: any = [];\r\n reportAux: any = [];\r\n model: any = {};\r\n returnUrl: string;\r\n isSubmitted: any = false;\r\n dataReport: any = [];\r\n dataReport2: any = [];\r\n totalIn: any;\r\n totalOut: any;\r\n promTot: any;\r\n totalProm: any;\r\n dateNowInit: any;\r\n dateNowEnd: any;\r\n public loading = false\r\n\r\n selectedCity: any;\r\n filterMenuVisible: boolean = false;\r\n displayedColumns: string[];\r\n\r\n\r\n plates: any = [];\r\n platesSettings = {};\r\n selectedPlates = [];\r\n\r\n driversSettings = {};\r\n selectedDrivers = [];\r\n\r\n routes = []\r\n routesSettings = {};\r\n selectedRoutes = [];\r\n\r\n drivers = []\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private vpcReportService: PassengersReportService,\r\n private excelService: ExcelService,\r\n private commonService: CommonService,\r\n private spinner: NgxSpinnerService,\r\n private driversService: DriversService,\r\n // private spinnerService: Ng4LoadingSpinnerService,\r\n private routesService: RoutesService,\r\n\r\n ) { }\r\n cities = [\r\n { id: 1, name: 'Vilnius' },\r\n { id: 2, name: 'Kaunas' },\r\n { id: 3, name: 'Pavilnys', disabled: true },\r\n { id: 4, name: 'Pabradė' },\r\n { id: 5, name: 'Klaipėda' }\r\n ];\r\n\r\n\r\n ngOnInit() {\r\n this.getRoutes();\r\n this.getPlates();\r\n this.getDrivers();\r\n this.setFilterstData();\r\n\r\n }\r\n\r\n setFilterstData() {\r\n var now = new Date(); //currentDate\r\n this.reportAux.dateIni = { year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate() };\r\n this.reportAux.dateFin = { year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate() };\r\n this.reportAux.timeIni = '00:00';\r\n this.reportAux.timeFin = '23:59';\r\n this.reportAux.rfidOnly = 1\r\n }\r\n\r\n getDrivers(): void {\r\n\r\n this.driversSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'name',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n this.driversService.getDrivers_rol(this.commonService.getUserName())\r\n .then(response => {\r\n console.log(response)\r\n this.drivers = response\r\n });\r\n }\r\n\r\n loadReport(): void {\r\n console.log(this.reportAux)\r\n this.dataObj = [];\r\n //console.log('this.imeiVei : ', this.imeiVei.sn_imei_id)\r\n var d1, m1, d2, m2;\r\n if (this.reportAux.dateIni.day < 10) {\r\n d1 = '0' + this.reportAux.dateIni.day;\r\n } else {\r\n d1 = this.reportAux.dateIni.day;\r\n }\r\n if (this.reportAux.dateIni.month < 10) {\r\n m1 = '0' + this.reportAux.dateIni.month;\r\n } else {\r\n m1 = this.reportAux.dateIni.month;\r\n }\r\n var dateIni = d1 + '-' + m1 + '-' + this.reportAux.dateIni.year + ' ' + this.reportAux.timeIni;\r\n\r\n if (this.reportAux.dateFin.day < 10) {\r\n d2 = '0' + this.reportAux.dateFin.day;\r\n } else {\r\n d2 = this.reportAux.dateFin.day;\r\n }\r\n if (this.reportAux.dateFin.month < 10) {\r\n m2 = '0' + this.reportAux.dateFin.month;\r\n } else {\r\n m2 = this.reportAux.dateFin.month;\r\n }\r\n var dateFin = d2 + '-' + m2 + '-' + this.reportAux.dateFin.year + ' ' + this.reportAux.timeFin;\r\n dateIni = dateIni.replace(':', '_');\r\n dateFin = dateFin.replace(':', '_');\r\n //console.log(dateIni);\r\n //console.log(dateFin);\r\n if (this.imeiVei == undefined) {\r\n $('.tbodyTable').empty();\r\n //var dateIni = $('#dateIni').val().replace(':', '_');\r\n //var dateFin = $('#dateFin').val().replace(':', '_');\r\n //console.log(dateIni);\r\n var imeis = this.selectedPlates.map(({ sn_imei_id }) => \"'\" + sn_imei_id + \"'\").toString();\r\n var driversId = this.selectedDrivers.map(({ id }) => \"'\" + id + \"'\").toString();\r\n var routesId = this.selectedRoutes.map(({ Id }) => \"'\" + Id + \"'\").toString();\r\n this.spinner.show();\r\n if (dateIni && dateFin) {\r\n //var rfidOnly = this.reportAux.rfidOnly == true ? \"1\": \"0\"\r\n this.vpcReportService.vpcReport(imeis, dateIni, dateFin,\r\n this.reportAux.rfidOnly, driversId, routesId)\r\n .then(data => {\r\n console.log('data : ', data)\r\n this.dataReport = [];\r\n // $('.tbodyTable').empty();\r\n this.spinner.hide();\r\n this.report = data;\r\n\r\n // const dateValidate = new Date('2018-01-01 00:00:00.00');\r\n // const dateValidateSum = new Date('2018-01-01 00:00:00.00');\r\n // let trip = 0;\r\n // let totalIn = 0;\r\n // let totalOut = 0;\r\n // let promTot = 0;\r\n\r\n\r\n const quant = parseInt(data.length);\r\n if (quant > 0) {\r\n // $('.tbodyTable').empty();\r\n // for (let i = 0; i < data.length; i++) {\r\n // data[i].trip = trip\r\n // // data[i].plate = this.imeiVei.tracker_name;\r\n // const dateArray = new Date(data[i].startdate);\r\n // if (dateArray < dateValidate || dateArray > dateValidateSum) {\r\n // var it = {};\r\n // trip = trip + 1\r\n // data[i].trip = trip\r\n // it[\"Viaje\"] = trip;\r\n // it[\"Placa\"] = data[i].plate;\r\n // it[\"Ruta\"] = data[i].route;\r\n // it[\"Fecha\"] = data[i].registerTime;\r\n // it[\"Bloqueos\"] = data[i].countBlock;\r\n // it[\"Kms recorridos\"] = data[i].journey;\r\n // it[\"Velocidad máxima\"] = data[i].speed;\r\n // it[\"Hora inicio\"] = data[i].startTime;\r\n // it[\"Hora fin\"] = data[i].endTime;\r\n // it[\"Ingresos puerta trasera\"] = data[i].backdoorin;\r\n // console.log('backdoorin : ', data[i].backdoorin)\r\n // it[\"Pasajeros movilizados\"] = data[i].totalProm;\r\n // console.log('totalProm : ', data[i].totalProm)\r\n // it[\"Tiempo de viaje\"] = data[i].time;\r\n // console.log('time : ', data[i].time)\r\n // console.log('dataaaaa : ', data[i])\r\n // this.dataReport.push(data[i]);\r\n // this.dataObj.push(it);\r\n // }\r\n // console.log('this.dataObj : ', this.dataObj)\r\n // dateValidateSum.setMinutes(dateValidateSum.getMinutes() + 10);\r\n // event.preventDefault();\r\n // totalIn = totalIn + parseInt(data[i]['totalInPass']);\r\n // totalOut = totalOut + parseInt(data[i]['totalOutPass']);\r\n // }\r\n // this.totalIn = totalIn;\r\n // console.log('this.totalIn : ', this.totalIn)\r\n // this.totalOut = totalOut;\r\n // console.log('this.totalOut : ', this.totalOut)\r\n // this.totalProm = Math.round((this.totalIn + this.totalOut) / 2);\r\n\r\n this.setTable(data)\r\n } else {\r\n $('.tbodyTable').empty();\r\n swal({\r\n title: 'No existen datos para este rango de fechas',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n })\r\n .catch(error => {\r\n this.spinner.hide();\r\n console.log(error)\r\n // console.log('vpcReport.component.error');\r\n swal({\r\n title: 'No es posible realizar la consulta, comuníquese con el administrador del sistema',\r\n text: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n });\r\n } else {\r\n this.spinner.hide();\r\n swal({\r\n title: 'Ingresa Todos los campos solicitados',\r\n text: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n } else {\r\n\r\n }\r\n }\r\n\r\n getPlates(): void {\r\n\r\n this.platesSettings = {\r\n singleSelection: false,\r\n idField: 'sn_imei_id',\r\n textField: 'tracker_name',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n this.spinner.show();\r\n this.vpcReportService.getPlates(this.commonService.getUserName()).then(response => {\r\n console.log(response)\r\n this.plates = response;\r\n this.plates.sort(function (a, b) {\r\n if (a.tracker_name > b.tracker_name) {\r\n return 1;\r\n }\r\n if (a.tracker_name < b.tracker_name) {\r\n return -1;\r\n }\r\n // a must be equal to b\r\n return 0;\r\n });\r\n\r\n for (var i in this.plates) {\r\n let licensePlate = ' - ' + this.plates[i].license_plate\r\n\r\n\r\n console.log('licensePlate licensePlate licensePlate licensePlate licensePlate licensePlate licensePlate : ', licensePlate)\r\n if(this.plates[i].license_plate == 'null' || this.plates[i].license_plate == null){licensePlate = ''}\r\n\r\n\r\n this.plates[i].tracker_name = this.plates[i].tracker_name + licensePlate\r\n\r\n console.log('this.plates[i].tracker_name this.plates[i]this.plates[i].tracker_name this.plates[i].tracker_name :', this.plates[i].tracker_name)\r\n }\r\n console.log('response : : : ', this.plates)\r\n this.platesBuffer = this.plates.slice(0, this.bufferSize);\r\n this.user_account = this.plates.user_account;\r\n this.imeiVei = this.plates.sn_imei_id;\r\n });\r\n this.spinner.hide();\r\n }\r\n\r\n fetchMorePlate() {\r\n const len = this.platesBuffer.length;\r\n const more = this.plates.slice(len, this.bufferSize + len);\r\n this.loading1 = true;\r\n // using timeout here to simulate backend API delay\r\n setTimeout(() => {\r\n this.loading1 = false;\r\n this.platesBuffer = this.platesBuffer.concat(more);\r\n }, 200);\r\n }\r\n \r\n exportToExcel() {\r\n if (this.dataObj.length > 0) {\r\n this.excelService.exportAsExcelFile(this.dataObj, 'archivo_conteo_pasajeros');\r\n } else {\r\n swal({\r\n title: 'No hay datos para exportar',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n\r\n setTable(data) {\r\n this.displayedColumns = [\"Viaje\",\r\n \"Placa\",\r\n \"Driver\",\r\n \"Ruta\",\r\n \"Fecha\",\r\n \"Bloqueos\",\r\n \"Kms\",\r\n \"Velocidad\",\r\n \"inicio\",\r\n \"fin\",\r\n \"puerta trasera\",\r\n \"Pasajeros movilizados\",\r\n \"Tiempo de viaje\"\r\n ];\r\n\r\n this.totalProm = 0\r\n this.dataObj = []\r\n for (var i in data) {\r\n console.log(data[i].registerTime)\r\n\r\n data[i].trip = +i + 1\r\n\r\n data[i].startdate = new Date(data[i].startdate)\r\n data[i].endingdate = new Date(data[i].endTime)\r\n\r\n // data[i].startdate = data[i].startdate\r\n data[i].startTime = data[i].startdate.toLocaleTimeString('es-CO', { hour12: true, hour: '2-digit', minute:'2-digit' })\r\n\r\n if(data[i].endingdate == \"Invalid Date\"){\r\n data[i].endingTime = \"En ruta\" \r\n }else{\r\n data[i].endingTime = data[i].endingdate.toLocaleTimeString('en-US', {hour: '2-digit', minute:'2-digit'})\r\n }\r\n \r\n data[i].startdate = data[i].startdate.toLocaleString('es-CO', { hour12: true })\r\n data[i].startdate = data[i].startdate.split(\",\")[0]\r\n\r\n this.totalProm += data[i].totalProm\r\n this.setExcelData(data[i])\r\n }\r\n\r\n this.dataReport2 = new MatTableDataSource(data);\r\n\r\n setTimeout(() => {\r\n this.forceTablePaginator()\r\n },\r\n 500);\r\n\r\n this.dataReport2.sort = this.sort;\r\n\r\n // Esconde el paginador porque no es posible cambair la paginación por problemas con el componente\r\n }\r\n\r\n forceTablePaginator() {\r\n try {\r\n // this.dataReport2.paginator = this.paginator;\r\n this.dataReport2.paginator._intl.itemsPerPageLabel = \"Filas por Página:\"\r\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\r\n } catch (error) {\r\n try {\r\n this.dataReport2.paginator = this.paginator;\r\n this.dataReport2.paginator._intl.itemsPerPageLabel = \"Filas por Página:\"\r\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n }\r\n\r\n toggleFilterMenu() {\r\n this.filterMenuVisible = !this.filterMenuVisible;\r\n }\r\n applyFilter(filterValue: string) {\r\n this.dataReport2.filter = filterValue.trim().toLowerCase();\r\n if (this.dataReport2.paginator) {\r\n this.dataReport2.paginator.firstPage();\r\n }\r\n }\r\n\r\n setExcelData(data){\r\n \r\n let item = {}\r\n item[\"Viaje\"] = data.trip\r\n item[\"Placa\"] = data.plate\r\n item[\"Conductor\"] = data.driver\r\n item[\"Ruta\" ] = data.route\r\n item[\"Fecha Registro\" ] = data.startdate\r\n item[\"Bloqueos\" ] = data.countBlock\r\n item[\"Kms recorridos\"] = data.journey\r\n item[\"Velocidad maxima<\"] = data.max_speed\r\n item[\"Hora inicio\"] = data.startTime\r\n item[\"Hora fin\"] = data.endingTime\r\n item[\"Ingresos puerta trasera\"] = data.backdoorin\r\n item[\"Pasajeros movilizados\"] = data.totalProm\r\n item[\"Tiempo de viaje\"] = data.time\r\n\r\n this.dataObj.push(item)\r\n console.log(this.dataObj)\r\n \r\n }\r\n\r\n getRoutes(): void {\r\n this.routesSettings = {\r\n singleSelection: false,\r\n idField: 'Id',\r\n textField: 'Name',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n\r\n this.routesService.getRoutes_rol(this.commonService.getUserName()).then(response => {\r\n console.log(response)\r\n this.routes = response\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/passengers-report/passengers-report.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/pico-times/pico-times.component.css\n// module id = ../../../../../src/app/components/pico-times/pico-times.component.css\n// module chunks = main","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Horas Pico

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
    Hora InicialHora FinalBorrar
    \\r\\n {{element.startTime}}\\r\\n {{element.endingTime}}\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/pico-times/pico-times.component.html\n// module id = ../../../../../src/app/components/pico-times/pico-times.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { PointsService} from '../../services/points.service';\r\nimport { CommonService } from '../../services/common.service';\r\nimport swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-pico-times',\r\n templateUrl: './pico-times.component.html',\r\n styleUrls: ['./pico-times.component.css']\r\n})\r\nexport class PicoTimesComponent implements OnInit {\r\n\r\n temporalTime: any = {}\r\n times: any = []\r\n constructor(\r\n private pointsService: PointsService,\r\n private commonService: CommonService,\r\n\r\n ) { }\r\n\r\n ngOnInit() {\r\n // this.temporalTime.hour = 8;\r\n // this.temporalTime.minute = 0;\r\n this.temporalTime.startTime = \"08:00 am\";\r\n this.temporalTime.endingTime = \"12:00 am\";\r\n this.temporalTime.user_account = this.commonService.getUserName();\r\n this.getPicoTimes()\r\n }\r\n\r\n getPicoTimes(){\r\n this.pointsService.getPicoTimes(this.commonService.getUserName()).then(response => {\r\n console.log(response)\r\n this.times = []\r\n for(var i in response){\r\n this.times.push(response[i])\r\n }\r\n });\r\n }\r\n\r\n addTimes(){\r\n if(new Date ('1/1/1999 ' + this.temporalTime.startTime) > new Date ('1/1/1999 ' + this.temporalTime.endingTime)){\r\n swal({\r\n title: 'La Hora Inicial deber ser menor a la Hora Final',\r\n text: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n confirmButtonText: 'Aceptar',\r\n })\r\n return \r\n }\r\n\r\n var that = this;\r\n\r\n this.pointsService.savePicoTime(this.temporalTime).then(response => {\r\n that.getPicoTimes()\r\n this.temporalTime = {startTime : \"08:00 am\", endingTime : \"12:00 am\", user_account : this.commonService.getUserName()}\r\n\r\n });\r\n }\r\n\r\n deletePicoTime(id){\r\n var that = this;\r\n\r\n swal({\r\n title: '¿Esta seguro de borrar el Registro Seleccionado?',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Sí',\r\n cancelButtonText: 'No'\r\n }).then(function (s) {\r\n that.pointsService.deletePicoTime(id).then(response => {\r\n that.getPicoTimes()\r\n });\r\n }).catch(swal.noop);\r\n\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/pico-times/pico-times.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".set-map {\\r\\n height: 400px;\\r\\n width: 100%!important;\\r\\n}\\r\\n#btn-content{\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\\r\\n.panel-default{\\r\\n border: solid #71808f 1px;\\r\\n}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/points/points.component.css\n// module id = ../../../../../src/app/components/points/points.component.css\n// module chunks = main","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n

    Agregar / Modificar punto de chequeo

    \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n El punto de chequeo es requerido\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n El orden es requerido\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    Tiempos:

    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n El Tiempo LLano es requerido\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n El Tiempo Pico es requerido\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n El Tiempo Festivo es requerido\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Puntos de chequeo
    \\r\\n
    \\r\\n

     

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n La ruta es requerida.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    OrdenNombreDirecciónTiempo LLano (min)Tiempo Pico (min)Tiempo Festivo (min)EditarEliminar
    {{e.consecutive}}{{e.name}}{{e.address}}{{e.llano_time}}{{e.pico_time}}{{e.festive_time}}
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/points/points.component.html\n// module id = ../../../../../src/app/components/points/points.component.html\n// module chunks = main","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\r\nimport { PointsService} from '../../services/points.service';\r\nimport { RoutesService} from '../../services/routes.service';\r\nimport { RouteService} from '../../services/route.service';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { NgbActiveModal, NgbModal} from '@ng-bootstrap/ng-bootstrap';\r\nimport { Observable} from 'rxjs/Observable';\r\nimport {any} from \"codelyzer/util/function\";\r\nimport { AlertService} from '../../services/alert.service';\r\nimport swal from 'sweetalert2';\r\n// declare const google: any;\r\n// var originMarker: any;\r\n// var destinationMarker:any;\r\n// var directionsService: any;\r\n// var directionsDisplay: any;\r\n// var originLat:number;\r\n// var originLng:number;\r\n// var destinationLat:number;\r\n// var destinationLng:number;\r\n// var marker: any;\r\n// var map: any;\r\n// var cl:any;\r\n// var isLocCreated: boolean = false;\r\n// var lat:number;\r\n// var lng:number;\r\n// var isRouteCreated: boolean = false;\r\n@Component({\r\n selector: 'app-points',\r\n templateUrl: './points.component.html',\r\n styleUrls: ['./points.component.css']\r\n})\r\nexport class PointsComponent implements OnInit {\r\n pointId: any;\r\n pointIdSave: any;\r\n point: any = {};\r\n points: any = [];\r\n circles: any =[];\r\n routes: any = [];\r\n checkingPoints: any = [];\r\n pointsType: any = [];\r\n routetrace: any = {};\r\n modalPoint: any;\r\n data: any = {};\r\n wAux: any [] = [];\r\n public isPtCreated = false;\r\n public isValid = true;\r\n public isCollapsed = true;\r\n public routeId = 0;\r\n public isDisable = true;\r\n public isDisableInput = true;\r\n\r\n @ViewChild('modalUpdatePoint') modalUpdatePoint: HTMLElement;\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private routesService: RoutesService,\r\n private routeService: RouteService,\r\n private pointsService: PointsService,\r\n private commonService: CommonService,\r\n private alertService: AlertService,\r\n private modalService: NgbModal\r\n\r\n ) { }\r\n\r\n ngOnInit() {\r\n //this.point.pointtypeId = null;\r\n //this.point.consecutive = 0;\r\n //this.point.time = 0;\r\n this.getCheckingType();\r\n this.getRoutes();\r\n\r\n }\r\n openModalPoint(pointId: any): void {\r\n console.log('this.pointId : ', pointId)\r\n console.log('oinys : : : ', this.points)\r\n //this.getTypePoints();\r\n let that = this;\r\n if(pointId>-1){\r\n this.pointIdSave = pointId;\r\n this.pointId = Object.assign({}, pointId);\r\n // this.getrfids();\r\n this.pointsService.getCheckingPoint(pointId).then(response => {\r\n if (response) {\r\n console.log(response[0]);\r\n this.point = {};\r\n this.point.Id = pointId;\r\n this.point.IdRoute = this.routeId;\r\n this.point.IdCtrlPoint = response[0].idctrlpoint;\r\n this.point.Consecutive = response[0].consecutive;\r\n this.point.LLanoTime = response[0].llano_time;\r\n this.point.PicoTime = response[0].pico_time;\r\n this.point.FestiveTime = response[0].festive_time;\r\n }\r\n });\r\n }else{\r\n this.point = {};\r\n this.point.IdRoute =this.routeId;\r\n }\r\n\r\n this.modalPoint = this.modalService.open(this.modalUpdatePoint, {size: 'lg'});\r\n this.modalPoint.result.then(value => {\r\n console.log('component.abrirDialogoCrearCuenta.modalRef.result.then', value);\r\n\r\n }).catch(reason => {\r\n console.log('component.abrirDialogoCrearCuenta.modalRef.result.catch', reason);\r\n });\r\n }\r\n\r\n saveUpdatePt(): void {\r\n let that = this;\r\n console.log(this.point);\r\n\r\n if(this.point.IdCtrlPoint == \"0\"){\r\n swal({\r\n title: 'Debe seleccionar un Punto de Control Váliodo',\r\n text: '',\r\n type: 'error'\r\n }).catch(swal.noop);\r\n return\r\n }\r\n\r\n\r\n this.pointsService.saveUpdateCheckingPoint(this.point)\r\n .then(response => {\r\n if (response.status == 'EXITO') {\r\n if(this.point.Id!=null){\r\n swal({\r\n title: 'Punto de chequeo actualizado exitosamente.',\r\n text: '',\r\n type: 'success'\r\n }).catch(swal.noop);\r\n }else{\r\n swal({\r\n title: 'Punto de chequeo guardado exitosamente.',\r\n text: '',\r\n type: 'success'\r\n }).catch(swal.noop);\r\n }\r\n\r\n\r\n this.modalPoint.close();\r\n this.pointsService.getCheckingPoints(this.routeId).then(response => {\r\n if(response){\r\n var len=response.length;\r\n if(len>0){\r\n this.points=response;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n getRoutes():void{\r\n this.routesService.getRoutesByUsername(this.commonService.getUserName()).then(response => {\r\n if(response){\r\n this.routes = response;\r\n }\r\n });\r\n }\r\n getTypePoints():void{\r\n this.pointsService.getTypePoint().then(response => {\r\n if(response){\r\n this.pointsType = response;\r\n console.log(this.pointsType);\r\n }\r\n });\r\n }\r\n getCheckingType():void{\r\n this.pointsService.getTypeCheckingPoint(this.commonService.getUserName()).then(response => {\r\n if(response){\r\n console.log(response);\r\n this.checkingPoints = response;\r\n }\r\n });\r\n }\r\n /*onSelectTypePointId(value):void{\r\n if(value!=\"0\" || value!=null){\r\n this.point.pointtypeId = parseInt(value);\r\n }\r\n if(value!=\"1\"){\r\n this.point.consecutive = 0;\r\n this.point.time = 0;\r\n this.isDisableInput=true;\r\n }else{\r\n this.isDisableInput=false;\r\n }\r\n }*/\r\n\r\n onSelectRoute(value):void{\r\n console.log('onSelectRoute value : : : : : ', value)\r\n this.points = [];\r\n if(value!=\"0\"){\r\n console.log(value);\r\n this.routeId=value;\r\n //this.routetrace.id =value;\r\n\t //this.loadRoute(value);\r\n this.isDisable=false;\r\n this.pointsService.getCheckingPoints(value).then(response => {\r\n console.log(response);\r\n if(response){\r\n var len=response.length;\r\n if(len>0){\r\n this.points=response;\r\n }\r\n }\r\n });\r\n }else{\r\n this.isDisable=true;\r\n }\r\n }\r\n removePt(index){\r\n var id=this.points[index].id;\r\n console.log(id);\r\n let that = this;\r\n swal({\r\n title: '¿Esta seguro de borrar el punto de chequeo seleccionado?',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Sí',\r\n cancelButtonText: 'No'\r\n }).then(function (s) {\r\n console.log(s);\r\n if(s.dismiss !== undefined){\r\n if (s.dismiss.toString() === 'cancel') {\r\n }\r\n }else{\r\n if(s.value!== undefined){\r\n if(s.value){\r\n that.pointsService.deleteCheckingPoint(id).then(response => {\r\n if (response){\r\n if (response.status == 'EXITO') {\r\n that.points.splice(index, 1);\r\n /*for (var i = 0; i < that.circles.length; i++) {\r\n if(id==that.circles[i].id){\r\n that.circles[i].circle.setMap(null);\r\n that.circles.splice(i, 1);\r\n }\r\n }*/\r\n swal({\r\n title: response.message,\r\n text: '',\r\n type: 'success'\r\n }).catch(swal.noop);\r\n } else {\r\n //that.alertService.error(response.mensaje);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }).catch(swal.noop);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/points/points.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".set-map {\\r\\n height: 400px;\\r\\n width: 100%!important;\\r\\n}\\r\\n#btn-content{\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/rate/rate.component.css\n// module id = ../../../../../src/app/components/rate/rate.component.css\n// module chunks = main","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Tarifas
    \\r\\n
    \\r\\n

     

    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n La ruta es requerida.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n

    \\r\\n\\r\\n

    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    {{rateEnd.name}}\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/rate/rate.component.html\n// module id = ../../../../../src/app/components/rate/rate.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\r\nimport { RoutesService } from '../../services/routes.service';\r\nimport { RouteService } from '../../services/route.service';\r\nimport { RateService } from '../../services/rate.service';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { any } from \"codelyzer/util/function\";\r\nimport { AlertService } from '../../services/alert.service';\r\nimport swal from 'sweetalert2';\r\ndeclare const google: any;\r\nvar marker: any;\r\nvar map: any;\r\nvar cl: any;\r\nvar isLocCreated: boolean = false;\r\nvar lat: number;\r\nvar lng: number;\r\n\r\n\r\n\r\nvar originLngSection: number;\r\nvar originLatSection: number;\r\nvar destinationLatSection: number;\r\nvar destinationLngSection: number;\r\n\r\n\r\nvar originMarkerSection: any;\r\nvar destinationMarkerSection: any;\r\nvar isOriginCreatedSection: any;\r\nvar isDestinationCreatedSection: any;\r\n\r\n\r\n\r\nvar originMarker: any;\r\nvar destinationMarker: any;\r\n\r\nvar originMarkerSec: any;\r\nvar destinationMarkerSec: any;\r\n\r\nvar originMarkerSection2: any;\r\nvar destinationMarkerSection2: any;\r\n\r\nvar directionsService: any;\r\nvar directionsDisplay: any;\r\n\r\nvar directionsServiceSection: any;\r\nvar directionsDisplaySection: any;\r\n\r\nvar directionsServiceSection2: any;\r\nvar directionsDisplaySection2: any;\r\n\r\nvar map: any;\r\n\r\nvar originLng: number;\r\nvar destinationLng: number;\r\n\r\n\r\n\r\nvar originLat: number;\r\nvar destinationLat: number;\r\n\r\nvar arrCtrlPts: any = [];\r\nvar all_overlays: any = [];\r\n\r\nvar isOriginDestinationCreated: boolean = false;\r\nvar isOriginCreated: boolean = false;\r\nvar isDestinationCreated: boolean = false;\r\nvar isRouteCreated: boolean = false;\r\nvar isRouteCreatedSection: boolean = false;\r\nvar isOptionalRouteCreated: boolean = false;\r\nimport * as $ from 'jquery';\r\n\r\n\r\n@Component({\r\n selector: 'app-rate',\r\n templateUrl: './rate.component.html',\r\n styleUrls: ['./rate.component.css']\r\n})\r\nexport class RateComponent implements OnInit {\r\n rate: any = {};\r\n // rate.name = '';\r\n rates: any = [];\r\n ratesMarkers: any = [];\r\n routes: any = [];\r\n pointsType: any = [];\r\n routetrace: any = {};\r\n data: any = {};\r\n wAux: any[] = [];\r\n wAuxSection: any[] = [];\r\n typerate: any = false\r\n /*public nombreRuta: string;\r\n public direccionOrigen: string;\r\n public direccionDestino: string;*/\r\n routeId: number = -1;\r\n temporalValue : any = 0\r\n \r\n public isPtCreated = false;\r\n public isValid = true;\r\n public isCollapsed = true;\r\n public rId = 0;\r\n public isDisable1 = true;\r\n public isDisable2 = true;\r\n public isDisable3 = true;\r\n public isFixedRate = true;\r\n public hiddeMap = true;\r\n public auxIdTypeRate = 1;\r\n public isTypeChanged = false;\r\n public isNew = true;\r\n public isVariableRate: any = false;\r\n public mapMarkerList : any = [];\r\n public selectedRoute : number;\r\n\r\n\r\n public configuringFestive = false;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private routesService: RoutesService,\r\n private routeService: RouteService,\r\n private rateService: RateService,\r\n private commonService: CommonService,\r\n private alertService: AlertService\r\n ) { }\r\n \r\n // ngAfterViewChecked(){\r\n // this.isVariableRate = false;\r\n // } \r\n\r\n ngOnInit() {\r\n this.getRoutes();\r\n this.typerate = false;\r\n this.rate.Name = '';\r\n console.log('this.rate.Name : ', this.rate.Name)\r\n map = new google.maps.Map((document.getElementById('b-map')), {\r\n zoom: 7,\r\n center: new google.maps.LatLng(4.624335, -74.063644)\r\n });\r\n\r\n console.log((document.getElementById('buttonTracer')))\r\n console.log($(\"#originLocation\"))\r\n\r\n }\r\n\r\n getSection(idRoute) {\r\n console.log('getSection ', idRoute)\r\n }\r\n\r\n\r\n\r\n addOriginPoint() {\r\n //if (!originLat || !originLng) return;\r\n var coordinate = new google.maps.LatLng(originLat, originLng);\r\n //create a marker\r\n console.log(\"aca\")\r\n var infoWindowContent1 = '
    ' +\r\n '

    Ubicación: ' + (document.getElementById('originLocation')).value + '

    ' +\r\n '
    ';\r\n var infoWindow1 = new google.maps.InfoWindow({\r\n content: infoWindowContent1\r\n });\r\n var pinImage = new google.maps.MarkerImage(\"http://www.googlemapsmarkers.com/v1/A/000080/\");\r\n originMarker = new google.maps.Marker({\r\n position: coordinate,\r\n map: map,\r\n draggable: true,\r\n icon: pinImage,\r\n });\r\n google.maps.event.addListener(originMarker, 'click', function () {\r\n infoWindow1.open(map, originMarker);\r\n });\r\n google.maps.event.addListener(originMarker, 'dragend', function (marker) {\r\n var latLng = marker.latLng;\r\n originLat = latLng.lat();\r\n originLng = latLng.lng();\r\n //alert(originLat+\" \"+originLng);\r\n });\r\n isOriginCreated = true;\r\n }\r\n addDestinationPoint() {\r\n var coordinate = new google.maps.LatLng(destinationLat, destinationLng);\r\n //create a marker\r\n console.log(\"aca\")\r\n var infoWindowContent2 = '
    ' +\r\n '

    Ubicación: ' + (document.getElementById('destinationLocation')).value + '

    ' +\r\n '
    ';\r\n var infoWindow2 = new google.maps.InfoWindow({\r\n content: infoWindowContent2\r\n });\r\n var pinImage = new google.maps.MarkerImage(\"http://www.googlemapsmarkers.com/v1/B/999900/\");\r\n destinationMarker = new google.maps.Marker({\r\n position: coordinate,\r\n icon: pinImage,\r\n map: map,\r\n draggable: true\r\n });\r\n google.maps.event.addListener(destinationMarker, 'click', function () {\r\n infoWindow2.open(map, destinationMarker);\r\n });\r\n google.maps.event.addListener(destinationMarker, 'dragend', function (marker) {\r\n var latLng = marker.latLng;\r\n destinationLat = latLng.lat();\r\n destinationLng = latLng.lng();\r\n //alert(destinationLat+\" \"+destinationLng);\r\n });\r\n isDestinationCreated = true;\r\n }\r\n\r\n delay(ms: number) {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n }\r\n async setPlaces() {\r\n // Espera hasta que se hacen visibles los elementos\r\n await this.delay(1000);\r\n\r\n console.log(\"sicas\")\r\n\r\n var places1 = new google.maps.places.Autocomplete((document.getElementById('originLocation')));\r\n google.maps.event.addListener(places1, 'place_changed', () => {\r\n var place1 = places1.getPlace();\r\n\r\n var src_addr = place1.formatted_address;\r\n var src_lat = place1.geometry.location.lat();\r\n var src_long = place1.geometry.location.lng();\r\n originLat = src_lat;\r\n originLng = src_long;\r\n var mesg1 = \"Address 1: \" + src_addr;\r\n mesg1 += \"\\nLatitude: \" + src_lat;\r\n mesg1 += \"\\nLongitude: \" + src_long;\r\n this.addOriginPoint();\r\n });\r\n var places2 = new google.maps.places.Autocomplete((document.getElementById('destinationLocation')));\r\n google.maps.event.addListener(places2, 'place_changed', () => {\r\n var place2 = places2.getPlace();\r\n\r\n var src_addr = place2.formatted_address;\r\n var src_lat = place2.geometry.location.lat();\r\n var src_long = place2.geometry.location.lng();\r\n destinationLat = src_lat;\r\n destinationLng = src_long;\r\n var mesg2 = \"Address 2: \" + src_addr;\r\n mesg2 += \"\\nLatitude: \" + src_lat;\r\n mesg2 += \"\\nLongitude: \" + src_long;\r\n this.addDestinationPoint();\r\n });\r\n\r\n\r\n\r\n var places = new google.maps.places.Autocomplete((document.getElementById('location')));\r\n google.maps.event.addListener(places, 'place_changed', () => {\r\n var place = places.getPlace();\r\n\r\n var src_addr = place.formatted_address;\r\n var src_lat = place.geometry.location.lat();\r\n var src_long = place.geometry.location.lng();\r\n lat = src_lat;\r\n lng = src_long;\r\n if (this.isPtCreated == false) {\r\n this.createPt();\r\n } else {\r\n swal({\r\n title: 'Ya se ha creado una ubicación para la tarifa, debe borrar la ubicación actual para generar otra.',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Ok',\r\n }).then(function (s) {\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n getRoutes(): void {\r\n this.routesService.getRoutesByUsername(this.commonService.getUserName()).then(response => {\r\n if (response) {\r\n this.routes = response;\r\n this.routes.sort(function (a, b) {\r\n if (a.name > b.name) {\r\n return 1;\r\n }\r\n if (a.name < b.name) {\r\n return -1;\r\n }\r\n // a must be equal to b\r\n return 0;\r\n });\r\n }\r\n });\r\n }\r\n \r\n onSelectRoute(value): void {\r\n \r\n map = new google.maps.Map((document.getElementById('b-map')), {\r\n zoom: 7,\r\n center: new google.maps.LatLng(4.624335, -74.063644)\r\n });\r\n\r\n this.selectedRoute = value\r\n if (originMarker != null) {\r\n originMarker.setMap(null);\r\n originMarker = null;\r\n }\r\n if (destinationMarker != null) {\r\n destinationMarker.setMap(null);\r\n destinationMarker = null;\r\n }\r\n isOriginCreated = false;\r\n isDestinationCreated = false;\r\n if (marker != null) {\r\n marker.setMap(null);\r\n marker = null;\r\n }\r\n this.rate = {};\r\n originLat = null;\r\n originLng = null;\r\n destinationLat = null;\r\n destinationLng = null;\r\n this.isPtCreated = false;\r\n this.isTypeChanged = false;\r\n lat = null;\r\n lng = null;\r\n this.isNew = true;\r\n if (directionsDisplay != null) {\r\n directionsDisplay.setMap(null);\r\n directionsDisplay = null;\r\n }\r\n for (var i = 0; i < this.ratesMarkers.length; i++) {\r\n this.ratesMarkers[i].marker.setMap(null);\r\n }\r\n isRouteCreated = false;\r\n this.isFixedRate = true;\r\n this.wAux = [];\r\n this.rates = [];\r\n this.ratesMarkers = [];\r\n this.isDisable1 = true;\r\n this.isDisable2 = true;\r\n this.isDisable3 = false;\r\n this.rate.Id_TypeRate = 1;\r\n if (value != \"0\") {\r\n this.rId = value;\r\n this.routetrace.id = value;\r\n this.rate.Id_Route = value;\r\n this.loadRoute(value);\r\n this.getRates(value);\r\n // this.getSection(value);\r\n }\r\n }\r\n\r\n reloadSelectedRoute(value): void {\r\n if (originMarker != null) {\r\n originMarker.setMap(null);\r\n originMarker = null;\r\n }\r\n if (destinationMarker != null) {\r\n destinationMarker.setMap(null);\r\n destinationMarker = null;\r\n }\r\n isOriginCreated = false;\r\n isDestinationCreated = false;\r\n if (marker != null) {\r\n marker.setMap(null);\r\n marker = null;\r\n }\r\n this.rate = {};\r\n originLat = null;\r\n originLng = null;\r\n destinationLat = null;\r\n destinationLng = null;\r\n this.isPtCreated = false;\r\n this.isTypeChanged = false;\r\n lat = null;\r\n lng = null;\r\n this.isNew = true;\r\n if (directionsDisplay != null) {\r\n directionsDisplay.setMap(null);\r\n directionsDisplay = null;\r\n }\r\n for (var i = 0; i < this.ratesMarkers.length; i++) {\r\n this.ratesMarkers[i].marker.setMap(null);\r\n }\r\n isRouteCreated = false;\r\n this.isFixedRate = true;\r\n this.wAux = [];\r\n this.rates = [];\r\n this.ratesMarkers = [];\r\n this.isDisable1 = true;\r\n this.isDisable2 = true;\r\n this.isDisable3 = false;\r\n this.rate.Id_TypeRate = 1;\r\n if (value != \"0\") {\r\n this.rId = value;\r\n this.routetrace.id = value;\r\n this.rate.Id_Route = value;\r\n this.loadRoute(value);\r\n this.getRates(value);\r\n // this.getSection(value);\r\n }\r\n }\r\n \r\n loadRoute(idRoute) {\r\n var waypts = [];\r\n this.wAux = [];\r\n let that = this;\r\n this.routeService.getRoute(idRoute).then(response => {\r\n if (response) {\r\n this.routetrace = {};\r\n this.routetrace.id = response[0].id;\r\n this.routetrace.CustomName = response[0].name;\r\n\r\n var routeData = response[0].route_data;\r\n \r\n try {\r\n\r\n var str = routeData;\r\n var obj = JSON.parse(str);\r\n originLng = obj.origin.originLng;\r\n originLat = obj.origin.originLat;\r\n destinationLat = obj.destination.destinationLat;\r\n destinationLng = obj.destination.destinationLng;\r\n this.isDisable1 = false;\r\n if (obj.waypoints.length > 0) {// Ruta fija\r\n for (var i = 0; i < obj.waypoints.length; i++) {\r\n this.wAux[i] = [obj.waypoints[i][0], obj.waypoints[i][1]];\r\n waypts.push({\r\n location: new google.maps.LatLng(obj.waypoints[i][0], obj.waypoints[i][1]),\r\n stopover: true\r\n });\r\n }\r\n directionsService = new google.maps.DirectionsService();\r\n directionsDisplay = new google.maps.DirectionsRenderer({\r\n draggable: true,\r\n suppressMarkers: true\r\n });\r\n var req = {\r\n origin: new google.maps.LatLng(originLat, originLng),\r\n destination: new google.maps.LatLng(destinationLat, destinationLng),\r\n waypoints: waypts,\r\n optimizeWaypoints: true,\r\n travelMode: google.maps.DirectionsTravelMode.DRIVING\r\n };\r\n directionsDisplay.setMap(map);\r\n directionsService.route(req, function (response, status) {\r\n if (status === google.maps.DirectionsStatus.OK) {\r\n directionsDisplay.setDirections(response);\r\n if (originMarker != null) {\r\n originMarker.setMap(null);\r\n originMarker = null;\r\n }\r\n if (destinationMarker != null) {\r\n destinationMarker.setMap(null);\r\n destinationMarker = null;\r\n }\r\n var coordinateOrigin = new google.maps.LatLng(originLat, originLng);\r\n var coordinateDestination = new google.maps.LatLng(destinationLat, destinationLng);\r\n originMarker = new google.maps.Marker({\r\n position: coordinateOrigin,\r\n map: map\r\n });\r\n var pinImage = new google.maps.MarkerImage(\"http://www.googlemapsmarkers.com/v1/7d2181/\");\r\n destinationMarker = new google.maps.Marker({\r\n position: coordinateDestination,\r\n icon: pinImage,\r\n map: map\r\n });\r\n\r\n }\r\n });\r\n isRouteCreated = true;\r\n isOriginCreated = true;\r\n isDestinationCreated = true;\r\n map.setZoom(10);\r\n map.setCenter(new google.maps.LatLng(originLat, originLng));\r\n } else { // Ruta\r\n directionsService = new google.maps.DirectionsService();\r\n directionsDisplay = new google.maps.DirectionsRenderer({\r\n draggable: true,\r\n suppressMarkers: true\r\n });\r\n \r\n var request = {\r\n origin: new google.maps.LatLng(originLat, originLng),\r\n destination: new google.maps.LatLng(destinationLat, destinationLng),\r\n travelMode: google.maps.DirectionsTravelMode.DRIVING\r\n };\r\n\r\n directionsDisplay.setMap(map);\r\n directionsService.route(request, function (response, status) {\r\n if (status === google.maps.DirectionsStatus.OK) {\r\n directionsDisplay.setDirections(response);\r\n if (originMarker != null) {\r\n originMarker.setMap(null);\r\n originMarker = null;\r\n }\r\n if (destinationMarker != null) {\r\n destinationMarker.setMap(null);\r\n destinationMarker = null;\r\n }\r\n var coordinateOrigin = new google.maps.LatLng(originLat, originLng);\r\n var coordinateDestination = new google.maps.LatLng(destinationLat, destinationLng);\r\n originMarker = new google.maps.Marker({\r\n position: coordinateOrigin,\r\n map: map\r\n });\r\n var pinImage = new google.maps.MarkerImage(\"http://www.googlemapsmarkers.com/v1/7d2181/\");\r\n destinationMarker = new google.maps.Marker({\r\n position: coordinateDestination,\r\n icon: pinImage,\r\n map: map\r\n });\r\n\r\n }\r\n });\r\n map.setZoom(10);\r\n map.setCenter(new google.maps.LatLng(originLat, originLng));\r\n isRouteCreated = true;\r\n isOriginCreated = true;\r\n isDestinationCreated = true;\r\n }\r\n\r\n } catch (err) {\r\n\r\n swal({\r\n title: 'Primero debe trazar un trayecto para la ruta seleccionada.',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Trazar ruta',\r\n cancelButtonText: 'Volver'\r\n }).then(function (s) {\r\n\r\n if (s.dismiss !== undefined) {\r\n if (s.dismiss.toString() === 'cancel') {\r\n }\r\n } else {\r\n if (s.value !== undefined) {\r\n\r\n if (s.value) {\r\n console.log('routing traceroute')\r\n that.router.navigate(['/home/routetrace']);\r\n }\r\n }\r\n }\r\n });\r\n\r\n /*\r\n swal({\r\n title: \"Primero debe trazar un trayecto para la ruta seleccionada.\",\r\n // title: \"No se ha trazado un trayecto para la ruta seleccionada.\",\r\n text: '',\r\n type: 'warning'\r\n }).catch(swal.noop); \r\n /*\r\n \r\n */\r\n }\r\n }\r\n });\r\n }\r\n\r\n traceRtn() {\r\n var col = '#' + ((1 << 24) * Math.random() | 0).toString(16);\r\n\r\n console.log('col : ', col)\r\n\r\n directionsService = new google.maps.DirectionsService();\r\n\r\n directionsDisplay = new google.maps.DirectionsRenderer({\r\n draggable: true,\r\n suppressMarkers: true,\r\n polylineOptions: {\r\n strokeColor: '#DF3A01'\r\n }\r\n });\r\n\r\n var request = {\r\n origin: new google.maps.LatLng(originLat, originLng),\r\n destination: new google.maps.LatLng(destinationLat, destinationLng),\r\n travelMode: google.maps.DirectionsTravelMode.DRIVING\r\n };\r\n directionsDisplay.setMap(map);\r\n\r\n directionsService.route(request, function (response, status) {\r\n if (status === google.maps.DirectionsStatus.OK) {\r\n\r\n directionsDisplay.setDirections(response);\r\n originMarker.setMap(null);\r\n destinationMarker.setMap(null);\r\n\r\n var coordinateOrigin = new google.maps.LatLng(originLat, originLng);\r\n var coordinateDestination = new google.maps.LatLng(destinationLat, destinationLng);\r\n var pinImageOrigin = new google.maps.MarkerImage(\"http://www.googlemapsmarkers.com/v1/A/000080/\");\r\n\r\n originMarker = new google.maps.Marker({\r\n position: coordinateOrigin,\r\n map: map,\r\n icon: pinImageOrigin,\r\n });\r\n var pinImage = new google.maps.MarkerImage(\"http://www.googlemapsmarkers.com/v1/B/999900/\");\r\n\r\n destinationMarker = new google.maps.Marker({\r\n position: coordinateDestination,\r\n icon: pinImage,\r\n map: map\r\n });\r\n\r\n }\r\n });\r\n isRouteCreated = true;\r\n\r\n }\r\n\r\n setPointInMap(coordinate, rate){\r\n var pinImage = new google.maps.MarkerImage(\"http://www.googlemapsmarkers.com/v1/1ea362/\");\r\n var m = new google.maps.Marker({\r\n position:coordinate,\r\n icon:pinImage,\r\n map: map\r\n });\r\n\r\n var infoWindowContent = '
    ' +\r\n '

    Nombre: '+rate.name+'

    ' +\r\n '

    Tarifa: '+rate.rate+'

    ' +\r\n '
    ';\r\n m.info = new google.maps.InfoWindow({\r\n content: infoWindowContent\r\n });\r\n console.log(\"va pasando\")\r\n\r\n google.maps.event.addListener(m, 'click', function() {\r\n this.info.open(map, this);\r\n });\r\n \r\n console.log(\"si pasa\")\r\n m.mID = rate.id;\r\n this.ratesMarkers.push({id:rate.id, marker:m});\r\n map.setZoom(10);\r\n map.setCenter(coordinate);\r\n \r\n }\r\n\r\n cleanMarkers(){\r\n console.log(this.mapMarkerList)\r\n for (var i = 0; i < this.mapMarkerList.length; i++) {\r\n try{\r\n var marker = this.mapMarkerList[i]\r\n marker.origin.setMap(null);\r\n marker.destination.setMap(null);\r\n }catch (e){\r\n\r\n }\r\n }\r\n this.mapMarkerList = []\r\n }\r\n\r\n paintTram(originLat, originLng, destinationLat, destinationLng, tramIndex) {\r\n var col = '#' + ((1 << 24) * Math.random() | 0).toString(16);\r\n var that = this\r\n\r\n console.log('col : ', col)\r\n\r\n var directionsService = new google.maps.DirectionsService();\r\n\r\n var directionsDisplay = new google.maps.DirectionsRenderer({\r\n draggable: true,\r\n suppressMarkers: true,\r\n polylineOptions: {\r\n strokeColor: col\r\n }\r\n });\r\n\r\n var request = {\r\n origin: new google.maps.LatLng(originLat, originLng),\r\n destination: new google.maps.LatLng(destinationLat, destinationLng),\r\n travelMode: google.maps.DirectionsTravelMode.DRIVING\r\n };\r\n directionsDisplay.setMap(map);\r\n\r\n directionsService.route(request, function (response, status) {\r\n if (status === google.maps.DirectionsStatus.OK) {\r\n\r\n directionsDisplay.setDirections(response);\r\n //originMarker.setMap(null);\r\n //destinationMarker.setMap(null);\r\n\r\n var iconUrl = \"http://maps.google.com/mapfiles/kml/paddle/\" + tramIndex + \".png\"\r\n var coordinateOrigin = new google.maps.LatLng(originLat, originLng);\r\n var coordinateDestination = new google.maps.LatLng(destinationLat, destinationLng);\r\n var pinImageOrigin = new google.maps.MarkerImage(iconUrl);\r\n\r\n originMarker = new google.maps.Marker({\r\n position: coordinateOrigin,\r\n map: map,\r\n icon: pinImageOrigin,\r\n });\r\n var pinImage = new google.maps.MarkerImage(iconUrl);\r\n\r\n destinationMarker = new google.maps.Marker({\r\n position: coordinateDestination,\r\n icon: pinImage,\r\n map: map\r\n });\r\n\r\n that.mapMarkerList.push({ origin: originMarker, destination: destinationMarker});\r\n }\r\n });\r\n isRouteCreated = true;\r\n\r\n }\r\n\r\n getRates(idRoute) {\r\n this.cleanMarkers()\r\n this.rateService.getRates(idRoute).then(response => {\r\n if (response) {\r\n try {\r\n // this.rate.Rate = response[0].rate;\r\n // this.rate.RateHoliday = response[0].rateHoliday;\r\n this.rates = response;\r\n \r\n\r\n if (response[0].id_typerate == 1) { // Ruta fija\r\n this.rate.Id = response[0].id;\r\n //this.rate.Name = response[0].name;\r\n this.rate.Id_TypeRate = response[0].id_typerate;\r\n this.rate.Rate = response[0].rate\r\n this.rate.RateHoliday = response[0].rateHoliday\r\n\r\n this.isDisable2 = true;\r\n this.isDisable3 = false;\r\n this.isFixedRate = true;\r\n this.hiddeMap = true;\r\n this.rate.typerate = false;\r\n this.auxIdTypeRate = 1;\r\n this.isNew = false;\r\n this.isVariableRate = false;\r\n } else { // Ruta variable\r\n this.rate.Id_TypeRate = 2;\r\n this.auxIdTypeRate = 2;\r\n this.rates = response;\r\n this.isDisable2 = false;\r\n this.isDisable3 = true;\r\n this.isFixedRate = false;\r\n this.hiddeMap = false;\r\n this.rate.typerate = true;\r\n this.isNew = false;\r\n this.isVariableRate = true;\r\n this.setPlaces()\r\n\r\n for (var i = 0; i < this.rates.length; i++) {\r\n var latitude = this.rates[i].latitude;\r\n var longitude = this.rates[i].longitude;\r\n \r\n var coordinate = new google.maps.LatLng(latitude, longitude);\r\n var pinImage = new google.maps.MarkerImage(\"http://www.googlemapsmarkers.com/v1/1ea362/\");\r\n var m = new google.maps.Marker({\r\n position:coordinate,\r\n icon:pinImage,\r\n map: map\r\n });\r\n\r\n var infoWindowContent = '
    ' +\r\n ''+this.rates[i].name+'

    ' +\r\n '
    ';\r\n m.info = new google.maps.InfoWindow({\r\n content: infoWindowContent\r\n });\r\n \r\n \r\n google.maps.event.addListener(m, 'click', function() {\r\n this.info.open(map, this);\r\n });\r\n \r\n \r\n map.setZoom(10);\r\n map.setCenter(coordinate);\r\n \r\n m.info.open(map,m)\r\n\r\n this.mapMarkerList.push(m)\r\n // var originLatit = latitude.split(\"_\")[0]\r\n // var originLong = latitude.split(\"_\")[1]\r\n\r\n // var destinationLatit = longitude.split(\"_\")[0]\r\n // var destinationLong = longitude.split(\"_\")[1]\r\n \r\n // var originCoordinate = new google.maps.LatLng(originLatit, originLong);\r\n // var destinCoordinate = new google.maps.LatLng(destinationLatit, destinationLong);\r\n // this.setPointInMap(originCoordinate, this.rates[i])\r\n // this.setPointInMap(destinCoordinate, this.rates[i])\r\n\r\n // this.paintTram(originLatit, originLong, destinationLatit, destinationLong, i+1)\r\n }\r\n\r\n //this.getRateRoutes(this.rates)\r\n }\r\n\r\n setTimeout(() => { // Espera que se carguen los inputs y les asigna el valor correspondiente\r\n for (const i in this.rates) {\r\n var startId = this.rates[i].id\r\n var valuesContainer = $(\".value_rate_\"+this.rates[i].id)\r\n for(var j =0; j < valuesContainer.length; j++){\r\n \r\n var endId = $(valuesContainer[j]).find(\"#rateEnd\").val()\r\n console.log(startId)\r\n console.log(endId)\r\n \r\n for (let k = 0; k < this.rates[i].rate_values.length; k++) {\r\n var value = this.rates[i].rate_values[k]\r\n console.log(value)\r\n if(value.start_rate_id == startId && value.end_rate_id == endId){\r\n $(valuesContainer[j]).find(\"#valueinput\").val(value.value)\r\n $(valuesContainer[j]).find(\"#valueinput_festive\").val(value.festive_value)\r\n } \r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n \r\n }, 1000);\r\n\r\n } catch (err) { }\r\n }\r\n });\r\n }\r\n\r\n getRateRoutes(idRoute) {\r\n var contSection = 0;\r\n var wayptsSection = [];\r\n for (var i = 0; i < this.rates.length; i++) {\r\n console.log('i i i i ii i i i ii i ', i)\r\n var routeDataSection = this.rates[i].routeRate\r\n var strSection = routeDataSection;\r\n var objSection = JSON.parse(strSection);\r\n originLngSection = objSection.origin.originLng.toFixed(8);\r\n originLatSection = objSection.origin.originLat.toFixed(8);\r\n destinationLatSection = objSection.destination.destinationLat.toFixed(8);\r\n destinationLngSection = objSection.destination.destinationLng.toFixed(8);\r\n this.isDisable1 = false;\r\n var col = '';\r\n contSection = contSection + 1\r\n var coorOrigin = this.rates[i].latitude;\r\n var coorDestination = this.rates[i].longitude;\r\n var rateName = this.rates[i].name;\r\n var coordinatesOr = coorOrigin.split('_')\r\n var originLatSec = parseFloat(coordinatesOr[0])\r\n var originLngSec = parseFloat(coordinatesOr[1])\r\n var coordinatesDest = coorDestination.split('_')\r\n var destinationLatSec = parseFloat(coordinatesDest[0])\r\n var destinationLngSec = parseFloat(coordinatesDest[1])\r\n\r\n //region routepaint\r\n console.log('objSection.waypoints.length : ', objSection.waypoints.length)\r\n console.log('objSection.waypoints : ', objSection.waypoints)\r\n if (objSection.waypoints.length > 0) {\r\n console.log('ifffffffff')\r\n console.log('objSection : ', objSection)\r\n for (var w = 0; w < objSection.waypoints.length; w++) {\r\n this.wAux[w] = [objSection.waypoints[w][0], objSection.waypoints[w][1]];\r\n wayptsSection.push({\r\n location: new google.maps.LatLng(objSection.waypoints[w][0], objSection.waypoints[w][1]),\r\n stopover: true\r\n });\r\n }\r\n\r\n console.log('wayptsSection : ', wayptsSection)\r\n directionsServiceSection = new google.maps.DirectionsService();\r\n directionsDisplaySection = new google.maps.DirectionsRenderer({ draggable: true, suppressMarkers: true, polylineOptions: { strokeColor: '#DF3A01' } });\r\n var req = {\r\n origin: new google.maps.LatLng(originLatSec, originLngSec),\r\n destination: new google.maps.LatLng(destinationLatSec, destinationLngSec),\r\n waypoints: wayptsSection,\r\n optimizeWaypoints: true,\r\n travelMode: google.maps.DirectionsTravelMode.DRIVING\r\n };\r\n\r\n\r\n directionsDisplaySection.setMap(map);\r\n console.log('directionsDisplaySection : ', directionsDisplaySection)\r\n\r\n\r\n directionsServiceSection.route(req, function (response, status) {\r\n console.log('status : ', status)\r\n console.log('google.maps.DirectionsStatus.OK : ', google.maps.DirectionsStatus.OK)\r\n if (status === google.maps.DirectionsStatus.OK) {\r\n\r\n directionsDisplaySection.setDirections(response);\r\n if (originMarkerSection != null) {\r\n originMarkerSection.setMap(null);\r\n originMarkerSection = null;\r\n }\r\n if (destinationMarkerSection != null) {\r\n destinationMarkerSection.setMap(null);\r\n destinationMarkerSection = null;\r\n }\r\n var coordinateOriginSection = new google.maps.LatLng(originLatSec, originLngSec);\r\n var coordinateDestinationSection = new google.maps.LatLng(destinationLatSec, destinationLngSec);\r\n\r\n var pinImageOriginSection = new google.maps.MarkerImage(\"http://www.googlemapsmarkers.com/v1/A/000080/\");\r\n var pinImageDestSection = new google.maps.MarkerImage(\"http://www.googlemapsmarkers.com/v1/B/999900/\");\r\n originMarkerSection = new google.maps.Marker({ position: coordinateOriginSection, map: map, icon: pinImageOriginSection });\r\n destinationMarkerSection = new google.maps.Marker({ position: coordinateDestinationSection, icon: pinImageDestSection, map: map });\r\n var html = '

    Recorrido: 1' + rateName + '

    ';\r\n destinationMarkerSection['infowindow'] = new google.maps.InfoWindow({ content: html });\r\n originMarkerSection['infowindow'] = new google.maps.InfoWindow({ content: html });\r\n google.maps.event.addListener(originMarkerSection, 'click', function () { this['infowindow'].open(map, this); });\r\n google.maps.event.addListener(destinationMarkerSection, 'click', function () { this['infowindow'].open(map, this); });\r\n map.setZoom(10);\r\n map.setCenter(coordinateOriginSection);\r\n\r\n\r\n }\r\n });\r\n\r\n\r\n\r\n isRouteCreated = true;\r\n isOriginCreated = true;\r\n isDestinationCreated = true;\r\n map.setZoom(10);\r\n map.setCenter(new google.maps.LatLng(originLatSec, originLngSec));\r\n }\r\n\r\n else {\r\n console.log('elseeeeeeeeeeeeee')\r\n directionsServiceSection2 = new google.maps.DirectionsService();\r\n directionsDisplaySection2 = new google.maps.DirectionsRenderer({ draggable: true, suppressMarkers: true, polylineOptions: { strokeColor: '#DF3A01' } });\r\n var request = {\r\n origin: new google.maps.LatLng(originLatSec, originLngSec),\r\n destination: new google.maps.LatLng(destinationLatSec, destinationLngSec),\r\n travelMode: google.maps.DirectionsTravelMode.DRIVING\r\n };\r\n directionsDisplaySection2.setMap(map);\r\n directionsServiceSection2.route(request, function (response, status) {\r\n if (status === google.maps.DirectionsStatus.OK) {\r\n directionsDisplaySection2.setDirections(response);\r\n if (originMarkerSection2 != null) {\r\n originMarkerSection2.setMap(null);\r\n originMarkerSection2 = null;\r\n }\r\n if (destinationMarkerSection2 != null) {\r\n destinationMarkerSection2.setMap(null);\r\n destinationMarkerSection2 = null;\r\n }\r\n var coordinateOriginSection2 = new google.maps.LatLng(originLatSec, originLngSec);\r\n var coordinateDestinationSection = new google.maps.LatLng(destinationLatSec, destinationLngSec);\r\n\r\n var pinImageOriginSection2 = new google.maps.MarkerImage(\"http://www.googlemapsmarkers.com/v1/A/000080/\");\r\n var pinImageDestSection2 = new google.maps.MarkerImage(\"http://www.googlemapsmarkers.com/v1/B/999900/\");\r\n originMarkerSection2 = new google.maps.Marker({ position: coordinateOriginSection2, map: map, icon: pinImageOriginSection2 });\r\n destinationMarkerSection2 = new google.maps.Marker({ position: coordinateDestinationSection, icon: pinImageDestSection2, map: map });\r\n var html = '

    Recorrido: 2' + rateName + '

    ';\r\n destinationMarkerSection2['infowindow'] = new google.maps.InfoWindow({ content: html });\r\n originMarkerSection2['infowindow'] = new google.maps.InfoWindow({ content: html });\r\n google.maps.event.addListener(originMarkerSection2, 'click', function () { this['infowindow'].open(map, this); });\r\n google.maps.event.addListener(destinationMarkerSection2, 'click', function () { this['infowindow'].open(map, this); });\r\n map.setZoom(10);\r\n map.setCenter(coordinateOriginSection2);\r\n\r\n }\r\n });\r\n map.setZoom(10);\r\n map.setCenter(new google.maps.LatLng(destinationLatSec, destinationLngSec));\r\n // isRouteCreated = true;\r\n // isOriginCreated = true;\r\n // isDestinationCreated = true;\r\n\r\n }\r\n\r\n // end region routepaint\r\n\r\n /*\r\n var coordinateOriginSection = new google.maps.LatLng(originLatSec, originLngSec);\r\n var coordinateDestinationSection = new google.maps.LatLng(destinationLatSec, destinationLngSec);\r\n col = '#' + (( 1 << 24) * Math.random() | 0).toString(16);\r\n var pinImageOriginSection = new google.maps.MarkerImage(\"http://www.googlemapsmarkers.com/v1/A/000080/\"); \r\n var pinImageDestSection = new google.maps.MarkerImage(\"http://www.googlemapsmarkers.com/v1/B/999900/\");\r\n originMarkerSection = new google.maps.Marker({position: coordinateOriginSection,map: map,icon:pinImageOriginSection});\r\n destinationMarkerSection = new google.maps.Marker({position: coordinateDestinationSection,Icon:pinImageDestSection,map: map});\r\n var html = '

    Recorrido: ' + rateName + '

    ';\r\n destinationMarkerSection['infowindow'] = new google.maps.InfoWindow({content: html});\r\n originMarkerSection['infowindow'] = new google.maps.InfoWindow({content: html});\r\n google.maps.event.addListener(originMarkerSection, 'click', function() {this['infowindow'].open(map, this);});\r\n google.maps.event.addListener(destinationMarkerSection, 'click', function() {this['infowindow'].open(map, this);});\r\n map.setZoom(10);\r\n map.setCenter(coordinateOriginSection);\r\n */\r\n\r\n\r\n }\r\n }\r\n\r\n\r\n checkValue(event: any) {\r\n\r\n this.rate.Name = null;\r\n this.rate.Rate = null;\r\n this.rate.RateHoliday = null;\r\n this.rate.location = \"\";\r\n if (event) {\r\n this.isDisable2 = false;\r\n this.isDisable3 = true;\r\n this.isFixedRate = false;\r\n this.hiddeMap = false;\r\n if (this.isNew == false) {\r\n if (this.auxIdTypeRate != 2) {\r\n this.auxIdTypeRate = 2;\r\n this.isTypeChanged = true;\r\n } else {\r\n this.isTypeChanged = false;\r\n }\r\n }\r\n this.rate.Id_TypeRate = 2;\r\n this.rate.Id = 0\r\n\r\n this.isVariableRate = true;\r\n this.setPlaces()\r\n } else {\r\n this.isVariableRate = false;\r\n\r\n\r\n\r\n this.isDisable2 = true;\r\n this.isDisable3 = false;\r\n this.isFixedRate = true;\r\n this.hiddeMap = true;\r\n if (this.isNew == false) {\r\n if (this.auxIdTypeRate != 1) {\r\n this.auxIdTypeRate = 1;\r\n this.isTypeChanged = true;\r\n } else {\r\n this.isTypeChanged = false;\r\n }\r\n }\r\n this.rate.Id_TypeRate = 1;\r\n }\r\n console.log(\"cambio tipo:\" + this.isTypeChanged);\r\n\r\n console.log('rate.typerate : ', this.rate.typerate)\r\n }\r\n\r\n checkValueFestive(event: any) {\r\n this.configuringFestive = !this.configuringFestive \r\n }\r\n\r\n createPt() {\r\n console.log('creando')\r\n if (!lat || !lng) return;\r\n var coordinate = new google.maps.LatLng(originLat, originLng);\r\n if (marker) {\r\n }\r\n else {\r\n var infoWindowContent = '
    ' +\r\n '

    Nombre: ' + this.rate.Name + '

    ' +\r\n '

    Tarifa: ' + this.rate.Rate + '

    ' +\r\n '
    ';\r\n var infoWindow = new google.maps.InfoWindow({\r\n content: infoWindowContent\r\n });\r\n marker = new google.maps.Marker({\r\n position: coordinate,\r\n map: map,\r\n draggable: true\r\n });\r\n google.maps.event.addListener(marker, 'click', function () {\r\n infoWindow.open(map, marker);\r\n });\r\n google.maps.event.addListener(marker, 'dragend', function (marker) {\r\n var latLng = marker.latLng;\r\n lat = latLng.lat();\r\n lng = latLng.lng();\r\n });\r\n map.setZoom(15);\r\n map.setCenter(marker.getPosition());\r\n this.isPtCreated = true;\r\n }\r\n }\r\n\r\n savePt() {\r\n let that = this;\r\n \r\n swal({\r\n title: '¿Esta seguro de guardar la tarifa?',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Sí',\r\n cancelButtonText: 'No'\r\n }).then(function (s) {\r\n\r\n \r\n if(s.value){\r\n if(that.rate.Id_TypeRate == 1){// Tarifa unica\r\n if(that.rate.Rate == \"\" || that.rate.Rate == null){\r\n swal({\r\n title: 'Error!',\r\n text: 'Debe Proporcionar un valor para la Tarifa',\r\n type: 'warning',\r\n })\r\n return false\r\n }\r\n \r\n if(that.rate.RateHoliday == \"\" || that.rate.RateHoliday == null){\r\n swal({\r\n title: 'Error!',\r\n text: 'Debe Proporcionar un valor para la Tarifa Festiva',\r\n type: 'warning',\r\n })\r\n return false\r\n }\r\n that.rate.Name = \"\"\r\n // that.rateService.deleteRatesByRoute(that.rate.Id_Route)\r\n // .then(response => {\r\n // });\r\n }else{// Tarifa Variable\r\n if(that.rate.Name == \"\" || that.rate.Name == null){\r\n swal({\r\n title: 'Error!',\r\n text: 'Debe Proporcionar un nombre para la Tarifa',\r\n type: 'warning',\r\n })\r\n return false\r\n }\r\n that.rate.Rate = 0\r\n that.rate.RateHoliday = 0\r\n // that.rate.location = \"1000\"\r\n }\r\n\r\n that.rate.Latitude = originLat\r\n that.rate.Longitude = originLng\r\n \r\n console.log(that.rate)\r\n\r\n that.rateService.saveUpdateRate(that.rate)\r\n .then(response => {\r\n // this.getRates()\r\n if (response.status == 'EXITO') {\r\n \r\n that.onSelectRoute(that.selectedRoute)\r\n that.rate.Latitude = \"\"\r\n that.rate.Longitude = \"\"\r\n that.rate.Name = \"\"\r\n that.rate.originLocation = \"\"\r\n swal({\r\n title: response.message,\r\n text: '',\r\n type: 'success'\r\n }).catch(swal.noop);\r\n }\r\n });\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n savePtOld() {\r\n if (this.isFixedRate) {\r\n if (this.isTypeChanged) {\r\n var s = \"\";\r\n /*\r\n if(this.rate.Name ==null || this.rate.Name == \"\"){\r\n this.isValid=false;\r\n s=s+\"El nombre es requerido\";\r\n }\r\n */\r\n if (this.rate.Rate == null || this.rate.Rate == \"\") {\r\n if (this.isValid == false) {\r\n s = s + \", el valor de la tarifa es requerida\";\r\n } else {\r\n s = s + \"El valor de la tarifa es requerida\";\r\n }\r\n this.isValid = false;\r\n\r\n }\r\n if (this.isValid) {\r\n let that = this;\r\n swal({\r\n title: '¿Esta seguro de guardar la tarifa?',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Sí',\r\n cancelButtonText: 'No'\r\n }).then(function (s) {\r\n\r\n if (s.dismiss !== undefined) {\r\n if (s.dismiss.toString() === 'cancel') {\r\n }\r\n } else {\r\n if (s.value !== undefined) {\r\n\r\n if (s.value) {\r\n that.rateService.deleteRatesByRoute(that.rate.Id_Route)\r\n .then(response => {\r\n if (response.status == 'EXITO') {\r\n /*if(originMarker!=null){\r\n originMarker.setMap(null);\r\n originMarker=null;\r\n }\r\n if(destinationMarker!=null){\r\n destinationMarker.setMap(null);\r\n destinationMarker=null;\r\n }\r\n isOriginCreated=false;\r\n isDestinationCreated=false;*/\r\n if (marker != null) {\r\n marker.setMap(null);\r\n marker = null;\r\n }\r\n /*originLat=null;\r\n originLng=null;\r\n destinationLat=null;\r\n destinationLng=null;*/\r\n that.isPtCreated = false;\r\n lat = null;\r\n lng = null;\r\n /*if(directionsDisplay != null) {\r\n directionsDisplay.setMap(null);\r\n directionsDisplay = null;\r\n }*/\r\n for (var i = 0; i < that.ratesMarkers.length; i++) {\r\n that.ratesMarkers[i].marker.setMap(null);\r\n }\r\n that.ratesMarkers = [];\r\n that.rates = [];\r\n that.isValid = true;\r\n\r\n console.log('that.rate : ', that.rate)\r\n var that2 = that\r\n that.rateService.saveUpdateRate(that.rate)\r\n .then(response => {\r\n\r\n if (response.status == 'EXITO') {\r\n if (response.lastId != 0) {\r\n that.rate.Id = response.lastId;\r\n }\r\n that.isNew = false;\r\n that.isTypeChanged = false;\r\n that.rate.Name=null;\r\n that.rate.Rate=null;\r\n\r\n $(\"#originLocation\").val(\"\")\r\n $(\"#destinationLocation\").val(\"\")\r\n $(\"#name\").val(\"\")\r\n swal({\r\n title: response.message,\r\n text: '',\r\n type: 'success'\r\n }).catch(swal.noop);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n swal({\r\n title: s,\r\n text: '',\r\n type: 'warning'\r\n }).catch(swal.noop);\r\n }\r\n } else {\r\n console.log('variable')\r\n this.isValid = true;\r\n var s = \"\";\r\n // if(this.rate.Name ==null || this.rate.Name == \"\"){\r\n // this.isValid=false;\r\n // s=s+\"El nombre es requerido\";\r\n // }\r\n if (this.rate.Rate == null || this.rate.Rate == \"\") {\r\n if (this.isValid) {\r\n s = s + \", el valor de la tarifa es requerida\";\r\n } else {\r\n s = s + \"El valor de la tarifa es requerida\";\r\n }\r\n this.isValid = false;\r\n\r\n }\r\n if (this.isValid) {\r\n let that = this;\r\n console.log('that.rate : ', that.rate)\r\n swal({\r\n title: '¿Esta seguro de guardar la tarifa?',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Sí',\r\n cancelButtonText: 'No'\r\n }).then(function (s) {\r\n\r\n if (s.dismiss !== undefined) {\r\n if (s.dismiss.toString() === 'cancel') {\r\n }\r\n } else {\r\n if (s.value !== undefined) {\r\n if (s.value) {\r\n console.log('that.rate : ', that.rate)\r\n that.rateService.saveUpdateRate(that.rate)\r\n .then(response => {\r\n\r\n if (response.status == 'EXITO') {\r\n if (response.lastId != 0) {\r\n that.rate.Id = response.lastId;\r\n }\r\n that.rate.Name=null;\r\n that.rate.Rate=null;\r\n that.rate.originLocation = null\r\n that.rate.destinationLocation = null\r\n that.rate.originLocation = \"\"\r\n that.rate.destinationLocation = \"\"\r\n\r\n that.isNew = false;\r\n\r\n swal({\r\n title: response.message,\r\n text: '',\r\n type: 'success'\r\n }).catch(swal.noop);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n });\r\n } else {\r\n swal({\r\n title: s,\r\n text: '',\r\n type: 'warning'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n } else {\r\n this.isValid = true;\r\n var s = \"\";\r\n console.log(this.rate.Name);\r\n //if(this.rate.Name ==null || this.rate.Name == \"\"){\r\n // this.isValid=false;\r\n //s=s+\"El nombre es requerido\";\r\n //}\r\n if (this.rate.Rate == null || this.rate.Rate == \"\") {\r\n if (!this.isValid) {\r\n s = s + \", el valor de la tarifa es requerida\";\r\n } else {\r\n s = s + \"El valor de la tarifa es requerida\";\r\n }\r\n this.isValid = false;\r\n }\r\n if (this.isValid) {\r\n //if(this.isPtCreated){\r\n let that = this;\r\n swal({\r\n title: '¿Esta seguro de guardar la tarifa?',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Sí',\r\n cancelButtonText: 'No'\r\n }).then(function (s) {\r\n\r\n if (s.dismiss !== undefined) {\r\n if (s.dismiss.toString() === 'cancel') {\r\n }\r\n } else {\r\n if (s.value !== undefined) {\r\n if (s.value) {\r\n console.log('String(lat) :', String(lat))\r\n console.log('String(lng) : ', String(lng))\r\n\r\n console.log('String(originLat) : ', String(originLat))\r\n console.log('String(originLng) : ', String(originLng))\r\n\r\n console.log('String(destinationLat) : ', String(destinationLat))\r\n console.log('String(destinationLng) : ', String(destinationLng))\r\n\r\n\r\n\r\n // that.rate.Latitude = String(lat);\r\n // that.rate.Longitude = String(lng);\r\n\r\n\r\n that.rate.Latitude = String(originLat) + '_' + String(originLng);\r\n that.rate.Longitude = String(destinationLat) + '_' + String(destinationLng);\r\n\r\n\r\n var w = [], wp;\r\n var rleg = directionsDisplay.directions.routes[0].legs[0];\r\n that.data.origin = { 'originLat': originLat, 'originLng': originLng };\r\n that.data.destination = { 'destinationLat': destinationLat, 'destinationLng': destinationLng };\r\n var wp = rleg.via_waypoints;\r\n console.log(wp);\r\n console.log(\"---------\");\r\n if (that.wAux.length == 0) {\r\n for (var i = 0; i < wp.length; i++) {\r\n w[i] = [wp[i].lat(), wp[i].lng()];\r\n }\r\n } else {\r\n for (var i = 0; i < that.wAux.length; i++) {\r\n w[i] = [that.wAux[i][0], that.wAux[i][1]];\r\n }\r\n var j = that.wAux.length;\r\n for (var i = 0; i < wp.length; i++) {\r\n w[j] = [wp[i].lat(), wp[i].lng()];\r\n j++;\r\n }\r\n }\r\n console.log(w);\r\n that.data.waypoints = w;\r\n that.routetrace.Route_data = JSON.stringify(that.data);\r\n console.log(that.routetrace);\r\n var param = {\r\n \"Id\": that.routetrace.id,\r\n \"Route_data\": that.routetrace.Route_data\r\n };\r\n console.log(param);\r\n that.rate.RouteRate = that.routetrace.Route_data\r\n console.log('tht rate : ', that.rate)\r\n\r\n\r\n\r\n console.log(that.rate)\r\n that.rateService.saveUpdateRate(that.rate)\r\n .then(response => {\r\n // this.getRates()\r\n if (response.status == 'EXITO') {\r\n\r\n that.getRates(that.rate.Id_Route);\r\n\r\n console.log(originLat)\r\n console.log(originLng)\r\n console.log(\"sicas\")\r\n var coordinate = new google.maps.LatLng(originLat, originLng);\r\n var pinImage = new google.maps.MarkerImage(\"http://www.googlemapsmarkers.com/v1/A/000080/\");\r\n var m = new google.maps.Marker({\r\n position: coordinate,\r\n icon: pinImage,\r\n map: map\r\n });\r\n var infoWindowContent = '
    ' +\r\n '

    Nombre: ' + that.rate.Name + '

    ' +\r\n '

    Tarifa: ' + that.rate.Rate + '

    ' +\r\n '
    ';\r\n m.info = new google.maps.InfoWindow({\r\n content: infoWindowContent\r\n });\r\n google.maps.event.addListener(m, 'click', function () {\r\n this.info.open(map, this);\r\n });\r\n m.mID = response.lastId;\r\n //console.log(response.lastId);\r\n //console.log(that.rate.Id);\r\n if (response.lastId == 0) {\r\n that.ratesMarkers.push({ id: that.rate.Id, marker: m });\r\n } else {\r\n that.ratesMarkers.push({ id: response.lastId, marker: m });\r\n }\r\n console.log(that.ratesMarkers);\r\n map.setZoom(10);\r\n map.setCenter(coordinate);\r\n // marker.setMap(null);\r\n // marker = null;\r\n lat = null;\r\n lng = null;\r\n that.isPtCreated = false;\r\n that.rate.Name = null;\r\n that.rate.Rate = null;\r\n that.rate.RateHoliday = null;\r\n that.rate.location = \"\";\r\n that.rate.originLocation = null\r\n that.rate.destinationLocation = null\r\n \r\n \r\n that.rate.Id = 0;\r\n that.isNew = false;\r\n var idRoute = that.rate.Id_Route;\r\n that.rateService.getRates(idRoute).then(response => {\r\n if (response) {\r\n var len = response.length;\r\n if (len > 0) {\r\n that.rates = response;\r\n }\r\n }\r\n });\r\n swal({\r\n title: response.message,\r\n text: '',\r\n type: 'success'\r\n }).catch(swal.noop);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n });\r\n // }else{\r\n // swal({\r\n // title: \"Debe de crear una ubicación para poder guardar.\",\r\n // text: '',\r\n // type: 'warning'\r\n // }).catch(swal.noop);\r\n // }\r\n } else {\r\n swal({\r\n title: s,\r\n text: '',\r\n type: 'warning'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n }\r\n\r\n erasePt() {\r\n if (this.isPtCreated) {\r\n let that = this;\r\n swal({\r\n title: '¿Esta seguro de borrar el punto de control creado?',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Sí',\r\n cancelButtonText: 'No'\r\n }).then(function (s) {\r\n console.log(s);\r\n if (s.dismiss !== undefined) {\r\n if (s.dismiss.toString() === 'cancel') {\r\n }\r\n } else {\r\n if (s.value !== undefined) {\r\n if (s.value) {\r\n if (marker != null) {\r\n marker.setMap(null);\r\n marker = null;\r\n }\r\n that.isPtCreated = false;\r\n that.rate.name = \"\";\r\n that.rate.location = \"\";\r\n lat = null;\r\n lng = null;\r\n }\r\n }\r\n }\r\n }).catch(swal.noop);\r\n } else {\r\n swal({\r\n title: \"Aún no se ha creado un punto de control.\",\r\n text: '',\r\n type: 'warning'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n removeRate(index) {\r\n var routeId = this.selectedRoute\r\n var id = index;\r\n console.log(id);\r\n let that = this;\r\n swal({\r\n title: '¿Esta seguro de borrar la tarifa seleccionada?',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Sí',\r\n cancelButtonText: 'No'\r\n }).then(function (s) {\r\n console.log(s);\r\n if (s.dismiss !== undefined) {\r\n if (s.dismiss.toString() === 'cancel') {\r\n }\r\n } else {\r\n if (s.value !== undefined) {\r\n if (s.value) {\r\n that.rateService.deleteRate(id).then(response => {\r\n if (response) {\r\n that.onSelectRoute(that.selectedRoute)\r\n // if (response.status == 'EXITO') {\r\n // that.rates.splice(index, 1);\r\n // for (var i = 0; i < that.ratesMarkers.length; i++) {\r\n // if (id == that.ratesMarkers[i].id) {\r\n // that.ratesMarkers[i].marker.setMap(null);\r\n // that.ratesMarkers.splice(i, 1);\r\n // }\r\n // }\r\n // console.log(routeId)\r\n // that.reloadSelectedRoute(routeId)\r\n // swal({\r\n // title: response.message,\r\n // text: '',\r\n // type: 'success'\r\n // }).catch(swal.noop);\r\n // } else {\r\n // }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }).catch(swal.noop);\r\n }\r\n\r\n updateRate(id){\r\n var rateName = $(\"#namerate_\"+id).val()\r\n console.log(rateName)\r\n\r\n var valueList = $(\".value_rate_\"+id)\r\n console.log(valueList)\r\n\r\n var rate_values = []\r\n for (let i = 0; i < valueList.length; i++) {\r\n const element = valueList[i];\r\n var endId = $(element).find(\"#rateEnd\").val()\r\n var startId = id\r\n \r\n var value = $(element).find(\"#valueinput\").val()\r\n var festive_value = $(element).find(\"#valueinput_festive\").val()\r\n\r\n rate_values.push({ start_rate_id : startId, end_rate_id : endId, value : value, festive_value: festive_value})\r\n }\r\n console.log(rate_values)\r\n\r\n var data = {\r\n Id : id,\r\n Name : rateName,\r\n Rates_value : rate_values\r\n }\r\n\r\n this.rateService.updateRate(data).then(response => {\r\n if (response) {\r\n this.onSelectRoute(this.selectedRoute)\r\n }\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/rate/rate.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\\r\\n.multiselect-style{\\r\\n width: 500px;\\r\\n height: auto;\\r\\n }\\r\\n .ng-select.custom {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n width: 1%;\\r\\n }\\r\\n .ng-select.custom .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n }\\r\\n .ng-select.custom_1 {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n }\\r\\n .ng-select.custom_1 .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n }\\r\\n \\r\\n ng-select.ng-invalid.ng-touched .ng-select-container {\\r\\n border-color: #dc3545;\\r\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px #fde6e8;\\r\\n }\\r\\n \\r\\n #filter-panel{\\r\\n border: solid; \\r\\n background:#4c6c8b; \\r\\n color: #fff;\\r\\n }\\r\\n\\r\\n .modal-open .modal{\\r\\n overflow: scroll !important;\\r\\n }\\r\\n\\r\\n .modalwindow .modal-dialog {\\r\\n min-width: 1000px;\\r\\n }\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/route-display/route-display.component.css\n// module id = ../../../../../src/app/components/route-display/route-display.component.css\n// module chunks = main","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n {{type.name}}   \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n     \\r\\n\\r\\n
    \\r\\n \\r\\n  Visualizar\\r\\n \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n

    Detalles de Ruta

    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/route-display/route-display.component.html\n// module id = ../../../../../src/app/components/route-display/route-display.component.html\n// module chunks = main","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { RoutesService } from '../../services/routes.service';\r\nimport { RouteService } from '../../services/route.service';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { DashboardService } from '../../services/dashboard.service';\r\nimport { SignalRService } from '../../services/signal-r.service';\r\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport * as $ from 'jquery';\r\ndeclare const google: any;\r\nvar map: any;\r\n\r\n@Component({\r\n selector: 'app-route-display',\r\n templateUrl: './route-display.component.html',\r\n styleUrls: ['./route-display.component.css']\r\n})\r\nexport class RouteDisplayComponent implements OnInit {\r\n\r\n filterMenuVisible: boolean = true;\r\n\r\n routes: any = [];\r\n vehicles: any = [];\r\n modalVehicles: any = [];\r\n vehiclesProcessList: any = [];\r\n selectedRoutes = [];\r\n wayPointsList = [];\r\n interestPointsList = [];\r\n routesSettings = {};\r\n\r\n canvasDimention: any = {}\r\n\r\n routeLengthInCanvas = 0;\r\n routeStartXInCanvas = 100;\r\n routeStartXInCanvasModal = 60;\r\n distanceXbetweenRoutes = 160;\r\n vehicleCavasWidth = 30;\r\n vehicleCavasWidthModal = 60;\r\n\r\n // totalVehicles: any = 0;\r\n\r\n vehicleAlerts: any = []\r\n\r\n\r\n routeLengthInCanvasModal = 3800;\r\n CanvasModalWid = 4000;\r\n\r\n\r\n\r\n alarmTypes: any = [\r\n { color: \"#74e8f9\", typeId: 1, name: \"Velocidad\", url :\"http://www.trackingarea.com:4200/assets/img/velocityAlarmIcon.png\" },\r\n { color: \"#c1ee74\", typeId: 2, name: \"Puertas Abiertas\", url : \"http://www.trackingarea.com:4200/assets/img/openPortsAlarmType.png\"},\r\n { color: \"#f91f1f\", typeId: 3, name: \"Bloqueo\", url : \"http://www.trackingarea.com:4200/assets/img/bockAlarmType.png\"},\r\n { color: \"#1faff9\", typeId: 4, name: \"Tiempo\", url : \"http://www.trackingarea.com:4200/assets/img/timeAlarmIcon.png\"},\r\n { color: \"#e5f534\", typeId: 5, name: \"Salida de Ruta\", url : \"http://www.trackingarea.com:4200/assets/img/outofrouteAlarmIcon.png\"}\r\n ]\r\n @ViewChild('modalRouteDetail') modalRouteDetail: HTMLElement;\r\n constructor(\r\n private routeService: RouteService,\r\n private routesService: RoutesService,\r\n private commonService: CommonService,\r\n private dashboardService: DashboardService,\r\n private modalService: NgbModal,\r\n\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.fixCanvasContenetor()\r\n this.routesSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'description',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n this.getRoutes()\r\n this.setTooltipCanvas();\r\n var signarl = new SignalRService(this);\r\n\r\n this.getVehicleAlerts();\r\n }\r\n\r\n getVehicleAlerts() {\r\n var that = this\r\n this.dashboardService.getLastAlertVehicles(this.commonService.getUserName()).then(obj => {\r\n\r\n var objJson = JSON.stringify(obj);\r\n\r\n for (var i = 0; i < obj.length; i++) {\r\n var alertList = JSON.parse(obj[i])\r\n\r\n for (var j in alertList.Vehicles) {\r\n var currentAlert = alertList.Vehicles[j]\r\n currentAlert = JSON.parse(currentAlert)\r\n currentAlert.alarmTypeId = alertList.TypeAlert\r\n\r\n var alertObject = that.vehicleAlerts.find(o => o.Plate === currentAlert.Plate);\r\n\r\n if (alertObject == undefined) {\r\n that.vehicleAlerts.push(currentAlert)\r\n } else {\r\n var currentDate = new Date(currentAlert.Datealert)\r\n var objectAlert = new Date(alertObject.Datealert)\r\n\r\n if (currentDate > objectAlert) {\r\n var objectIndex = that.vehicleAlerts.indexOf(alertObject)\r\n that.vehicleAlerts[objectIndex] = currentAlert\r\n } else {\r\n }\r\n }\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n setupCanvas(canvas) {\r\n // Get the device pixel ratio, falling back to 1.\r\n var dpr = window.devicePixelRatio || 1;\r\n // Get the size of the canvas in CSS pixels.\r\n var rect = $(canvas)[0].getBoundingClientRect();\r\n // Give the canvas pixel dimensions of their CSS\r\n // size * the device pixel ratio.\r\n canvas.width = rect.width * dpr;\r\n canvas.height = rect.height * dpr;\r\n var ctx = canvas.getContext('2d');\r\n // Scale all drawing operations by the dpr, so you\r\n // don't have to worry about the difference.\r\n ctx.scale(dpr, dpr);\r\n return ctx;\r\n }\r\n\r\n recieveNotification(data) {\r\n switch (data.type) {\r\n case \"vehicleNotification\":\r\n this.showAlertInfo(data.plate, data.notification)\r\n break;\r\n }\r\n }\r\n\r\n showAlertInfo(plate, notification) {\r\n var currentVehicle = this.vehicles.filter(function (item) {\r\n return item.Plate === plate;\r\n })[0];\r\n if (currentVehicle != undefined) {\r\n this.paintNotificationTooltip(currentVehicle, currentVehicle.x, currentVehicle.y, notification)\r\n }\r\n }\r\n\r\n fixCanvasContenetor(routesAmount = null) {\r\n\r\n // Calcula la altura del canvas dependiendo de la cantidad de rutas\r\n var canvasHeightfix = routesAmount *(this.distanceXbetweenRoutes * 1.5)\r\n\r\n // Trae las dimensiones actuales del canvas\r\n var canvasHeight = $(\"#routeCanvas\").css(\"height\").split(\"px\")[0]\r\n if(canvasHeightfix > canvasHeight){// Se seleccionaron varias rutas y se necesita un contenedor grande\r\n canvasHeight = canvasHeightfix\r\n $(\"#map-content canvas\").css(\"height\", (+canvasHeight) + \"px\")\r\n }\r\n\r\n var canvasWidth = $(\"#routeCanvas\").css(\"width\").split(\"px\")[0]\r\n\r\n\r\n // Setea las dimensiones del contenedor de los canvas\r\n $(\"#map-content\").css(\"height\", canvasHeight)\r\n //$(\"#map-content\").css(\"min-width\", (+canvasWidth + 200) + \"px\")\r\n $(\"#map-content\").css(\"height\", (+canvasHeight + 100) + \"px\")\r\n\r\n\r\n\r\n this.canvasDimention = { height: +canvasHeight, width: +canvasWidth }\r\n $(\"#routeInformation\").html(\"\")\r\n\r\n }\r\n\r\n fixModalCanvasContenetor(routesAmount = null) {\r\n while($(\".modalwindow\").length == 0){\r\n\r\n }\r\n $(\".modal-content\").css(\"min-width\", \"4000px\")\r\n $(\".modal-content\").css(\"height\", \"600px\")\r\n $(\".modalwindow\").css(\"overflow\", \"scroll\")\r\n }\r\n\r\n toggleFilterMenu() {\r\n this.filterMenuVisible = !this.filterMenuVisible;\r\n }\r\n\r\n getRoutes(): void {\r\n this.routesService.getRoutesByUsername(this.commonService.getUserName()).then(response => {\r\n if (response) {\r\n this.routes = []\r\n for (var i in response) {\r\n if (response[i].name == null) {\r\n response[i].name = \"Sin Añadir\"\r\n }\r\n this.routes.push({\r\n id: response[i].id,\r\n description: response[i].description + \" - \" + response[i].divipol_code + \" - \" + response[i].name\r\n })\r\n\r\n\r\n }\r\n this.selectedRoutes = this.routes\r\n this.filterRoutes()\r\n }\r\n });\r\n }\r\n\r\n cleanAllCanvas() {\r\n $(\"#routeInformation\").html(\"\")\r\n\r\n // Limpia los procesos de los vehiculos que hay actualmente\r\n for (var i in this.vehiclesProcessList) {\r\n clearInterval(this.vehiclesProcessList[i])\r\n }\r\n\r\n let html = \"\" +\r\n \"\" +\r\n // \" \" +\r\n \"\"\r\n $(\"#map-content\").html(html)\r\n }\r\n\r\n filterRoutes() {\r\n\r\n var routesId = this.selectedRoutes.map(({ id }) => id).toString();\r\n let that = this\r\n this.vehicles = []\r\n // this.totalVehicles = 0\r\n //this.vehiclesProcessList = []\r\n // Falta limpiar todo\r\n\r\n // Pide la información de las rutas que selecciona\r\n this.routesService.getRoutesInformation(routesId)\r\n .then(response => {\r\n that.cleanAllCanvas()\r\n this.fixCanvasContenetor(response.length)\r\n that.setTooltipCanvas();\r\n // Cuadrá el tamaño del canvas dependiendo de la cantidad de rutas\r\n\r\n let routeCanvasContext = this.setupCanvas($(\"#routeCanvas\")[0])\r\n // let vehicleCanvasContext = this.setupCanvas($(\"#vehiclesCanvas\")[0])\r\n\r\n let index = 0;\r\n for (var i in response) {\r\n const currentRouteTmp = response[i]\r\n\r\n\r\n //let currentRoutId = currentRoute.id\r\n // if (currentRouteTmp.route_data != \"\" && currentRouteTmp.route_data != null) { // tiene información geográfica\r\n if (currentRouteTmp.distance != \"\" && currentRouteTmp.distance != 0) { // tiene información geográfica\r\n this.drawRoute(currentRouteTmp, index, routeCanvasContext)\r\n index++;\r\n\r\n // console.log(currentRouteTmp)\r\n // La información geográfica\r\n\r\n // Actualiza la información de la ruta en la lista global de rutas\r\n let currentRoute = null\r\n let routeIndex = 0;\r\n for (var j = 0; j < that.routes.length; j++) {\r\n if (that.routes[j].id == currentRouteTmp.id) {\r\n that.routes[j].route_data = currentRouteTmp.route_data\r\n that.routes[j].rates = currentRouteTmp.rates\r\n that.routes[j].interestPoints = currentRouteTmp.points\r\n that.routes[j].name = currentRouteTmp.name\r\n that.routes[j].distance = currentRouteTmp.distance\r\n that.routes[j].divipol_code = currentRouteTmp.divipol_code\r\n that.routes[j].description = currentRouteTmp.description\r\n that.routes[j].forward_or_back = currentRouteTmp.forward_or_back\r\n that.routes[j].middlePoints = currentRouteTmp.middlePoints\r\n currentRoute = that.routes[j]\r\n routeIndex = j\r\n break\r\n }\r\n }\r\n\r\n if (currentRoute != null) {\r\n if (currentRouteTmp.distance == \"\" || currentRouteTmp.distance == \"0\"\r\n && currentRouteTmp.route_data != \"\" && currentRouteTmp.route_data != null\r\n ) { // No tiene la distancia actualizada\r\n var dataRoute = JSON.parse(currentRouteTmp.route_data.toString());\r\n that.routes[j].route_data = dataRoute\r\n\r\n this.getRouteDistance(currentRoute, currentRoute.route_data, routeIndex, routeCanvasContext)\r\n } else {\r\n this.startRoute(currentRoute, routeCanvasContext)\r\n }\r\n }\r\n\r\n }\r\n }\r\n });\r\n }\r\n\r\n startRoute(currentRoute, routeCanvasContext) {\r\n // this.paintWaypoints(currentRoute, routeCanvasContext)\r\n this.paintInterestPoints(currentRoute, routeCanvasContext)\r\n this.drawMiddlePoints(currentRoute, routeCanvasContext)\r\n\r\n let that = this\r\n this.dashboardService\r\n .getVehiclesByrute(this.commonService.getUserName(), currentRoute.id)\r\n .then(response => {\r\n if (response) {\r\n // that.totalVehicles += response.length\r\n that.searchVehicles(response, currentRoute)\r\n var processId = setInterval(async function () {\r\n that.searchVehicles(response, currentRoute)\r\n }, 30000);\r\n that.vehiclesProcessList.push(processId)\r\n }\r\n })\r\n }\r\n\r\n async searchVehicles(data, currentRoute) {\r\n // console.log(currentRoute)\r\n for (let i = 0; i < currentRoute.middlePoints.length; i++) {\r\n currentRoute.middlePoints[i].vehicles = [];\r\n }\r\n\r\n for (var i in data) {\r\n let dataVehicle = data[i];\r\n let that = this\r\n that.getVehicleLocation(dataVehicle, currentRoute)\r\n }\r\n }\r\n\r\n delay(ms: number) {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n }\r\n\r\n drawRoute(route, index, ctx) {\r\n // var color = '#' + ((1 << 24) * Math.random() | 0).toString(16);\r\n var color = '#000';\r\n\r\n this.routeLengthInCanvas = this.canvasDimention.width - 140; // el tamaño de la linea que representa una ruta\r\n\r\n\r\n var x1 = this.routeStartXInCanvas;\r\n var y1 = index * this.distanceXbetweenRoutes + this.distanceXbetweenRoutes;\r\n\r\n var x2 = this.routeLengthInCanvas + this.routeStartXInCanvas;\r\n var y2 = index * this.distanceXbetweenRoutes + this.distanceXbetweenRoutes;\r\n\r\n x1 -= 20\r\n x2 += 20\r\n\r\n if (route.forward_or_back == \"B\") {// Es una ruta de vuelta, va hacia el otro lado\r\n var x1 = this.routeLengthInCanvas + this.routeStartXInCanvas;\r\n var y1 = index * this.distanceXbetweenRoutes + this.distanceXbetweenRoutes;\r\n\r\n var x2 = this.routeStartXInCanvas;\r\n var y2 = index * this.distanceXbetweenRoutes + this.distanceXbetweenRoutes;\r\n\r\n x1 += 20\r\n x2 -= 20\r\n }\r\n\r\n for (var i in this.routes) {\r\n if (this.routes[i].id == route.id) {\r\n this.routes[i].y = y2\r\n }\r\n }\r\n\r\n this.pintArrow(ctx, x1, y1, x2, y2, color);\r\n this.paintRouteInformation(route, 10, y1 + 10, ctx)\r\n\r\n\r\n }\r\n\r\n intersectInteresPoint(x, y, x1, x2){\r\n // console.log(x, x1, x2, x >= x1 && x <= x2)\r\n if (x > x1 && x < x2) {\r\n return true;\r\n }\r\n return false\r\n }\r\n\r\n drawMiddlePoints(route, ctx){\r\n var y = route.y\r\n //console.log(route)\r\n\r\n var pointDiameter = 10;\r\n route.middlePoints = []\r\n\r\n // Cantidad de puntos en la ruta\r\n var pointsAmount = (route.distance) / 2000\r\n pointsAmount ++\r\n\r\n // cantidad de area de la linea que no tendría puntos\r\n var distanceTotal = this.routeLengthInCanvas - (pointsAmount * pointDiameter)\r\n\r\n var x = this.routeStartXInCanvas + pointDiameter\r\n\r\n // var points = this.interestPointsList.find(x => x.id_route == route.id)\r\n \r\n for (let i = 0; i < pointsAmount; i+=1) {\r\n // Revisa que no se vaya a pintar sobre un punto de interes\r\n var intersect = false\r\n for (var l = 0; l < route.interestPoints.length; l++) {\r\n var point = route.interestPoints[l]\r\n if(this.intersectInteresPoint(x -(pointDiameter/2) , y, point.x - 8, point.x+8)\r\n || this.intersectInteresPoint(x - (pointDiameter/2) + pointDiameter, y, point.x -8, point.x+8))\r\n {// ninguna parte del circulo toca un triangulo\r\n intersect = true;\r\n }\r\n }\r\n\r\n if(!intersect){\r\n ctx.beginPath();\r\n ctx.arc(x, y - (pointDiameter/2) -5, pointDiameter, pointDiameter, 0, Math.PI*2);\r\n ctx.stroke();\r\n route.middlePoints.push({\r\n x : x, \r\n y: y, \r\n diameter : pointDiameter, \r\n kilometer: i*2,\r\n vehicles : []\r\n })\r\n }\r\n \r\n x += (distanceTotal / pointsAmount) + pointDiameter\r\n\r\n }\r\n }\r\n\r\n pintArrow(context, fromx, fromy, tox, toy, col) {\r\n context.beginPath();\r\n context.strokeStyle = col;\r\n context.fillStyle = col;\r\n\r\n var headlen = 10; // length of head in pixels\r\n var dx = tox - fromx;\r\n var dy = toy - fromy;\r\n var angle = Math.atan2(dy, dx);\r\n context.moveTo(fromx, fromy);\r\n context.lineTo(tox, toy);\r\n context.lineTo(tox - headlen * Math.cos(angle - Math.PI / 6), toy - headlen * Math.sin(angle - Math.PI / 6));\r\n context.moveTo(tox, toy);\r\n context.lineTo(tox - headlen * Math.cos(angle + Math.PI / 6), toy - headlen * Math.sin(angle + Math.PI / 6));\r\n\r\n context.stroke();\r\n }\r\n\r\n async getVehicleLocation(vehicle, route) {\r\n this.dashboardService\r\n .getSingleVehicleLocation_inTransit(vehicle.Plate)\r\n .then(response => {\r\n if (response.length > 0) {\r\n vehicle.locationInfo = response[0]\r\n vehicle.customPlate = response[0].TrackerName\r\n\r\n var currentRoute = this.routes.find(r => r.id === route.id);\r\n currentRoute.postitionData = route.routeOrigin;\r\n currentRoute.route_data = route.route_data\r\n\r\n let journeyFix = +vehicle.locationInfo.JourneyString\r\n\r\n var distanceFromStart2 = Math.abs(vehicle.Distance_from_start - journeyFix)\r\n vehicle.distance = distanceFromStart2\r\n\r\n this.paintVehicle(route, vehicle, Math.round(distanceFromStart2))\r\n\r\n }\r\n });\r\n }\r\n\r\n getRouteDistance(route, routeData, routeIndex, routeCanvasContext) {\r\n var origin1 = new google.maps.LatLng(routeData.origin.originLat, routeData.origin.originLng);\r\n var destinationB = new google.maps.LatLng(routeData.destination.destinationLat, routeData.destination.destinationLng);\r\n var service = new google.maps.DistanceMatrixService();\r\n service.getDistanceMatrix(\r\n {\r\n origins: [origin1],\r\n destinations: [destinationB],\r\n travelMode: 'DRIVING',\r\n // transitOptions: TransitOptions,\r\n // drivingOptions: DrivingOptions,\r\n // unitSystem: UnitSystem,\r\n avoidHighways: true,\r\n avoidTolls: true,\r\n }, callback);\r\n\r\n var that = this;\r\n\r\n // Cuando llega la respuesta con la distancia\r\n function callback(response, status) {\r\n if (response.rows && response.rows.length > 0) {\r\n if (response.rows[0].elements && response.rows[0].elements.length > 0) {\r\n if (response.rows[0].elements[0].distance) {\r\n\r\n var distance = response.rows[0].elements[0].distance.value\r\n //route.realDistance = distance;\r\n\r\n // Actualiza la distancia de la ruta en la lista global de rutas\r\n that.routes[routeIndex].distance = distance\r\n let currentRoute = that.routes[routeIndex]\r\n\r\n that.startRoute(currentRoute, routeCanvasContext)\r\n that.updateRouteDistance(currentRoute)\r\n }\r\n\r\n }\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n async updateRouteDistance(route) {\r\n let routeObject = {\r\n Id: route.id,\r\n Distance: route.distance\r\n }\r\n this.routeService.updateRouteDistance(routeObject)\r\n .then(response => {\r\n\r\n })\r\n }\r\n\r\n getWayPointDistance(route, routeIndex, startWayPoint, endtWayPoint, routeCanvasContext) {\r\n\r\n var origin1 = new google.maps.LatLng(route.route_data.origin.originLat, route.route_data.origin.originLng);\r\n var destinationB = new google.maps.LatLng(startWayPoint[0], startWayPoint[1]);\r\n var service = new google.maps.DistanceMatrixService();\r\n service.getDistanceMatrix(\r\n {\r\n origins: [origin1],\r\n destinations: [destinationB],\r\n travelMode: 'DRIVING',\r\n // transitOptions: TransitOptions,\r\n // drivingOptions: DrivingOptions,\r\n // unitSystem: UnitSystem,\r\n avoidHighways: true,\r\n avoidTolls: true,\r\n }, getWayPointDistanceCalback);\r\n\r\n var that = this;\r\n\r\n // Cuando llega la respuesta con la distancia\r\n function getWayPointDistanceCalback(response, status) {\r\n if (response.rows && response.rows.length > 0) {\r\n if (response.rows[0].elements && response.rows[0].elements.length > 0) {\r\n if (response.rows[0].elements[0].distance) {\r\n\r\n var distanceFromStartOfRoute = response.rows[0].elements[0].distance.value\r\n\r\n that.getWayPointSelfDistance(route,\r\n routeIndex,\r\n startWayPoint,\r\n endtWayPoint,\r\n routeCanvasContext,\r\n distanceFromStartOfRoute)\r\n\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n async getWayPointSelfDistance(route, routeIndex, startWayPoint, endtWayPoint, routeCanvasContext, distanceFromStartOfRoute) {\r\n var origin1 = new google.maps.LatLng(startWayPoint[0], startWayPoint[1]);\r\n var destinationB = new google.maps.LatLng(endtWayPoint[0], endtWayPoint[1]);\r\n var service = new google.maps.DistanceMatrixService();\r\n service.getDistanceMatrix(\r\n {\r\n origins: [origin1],\r\n destinations: [destinationB],\r\n travelMode: 'DRIVING',\r\n // transitOptions: TransitOptions,\r\n // drivingOptions: DrivingOptions,\r\n // unitSystem: UnitSystem,\r\n avoidHighways: true,\r\n avoidTolls: true,\r\n }, callback);\r\n\r\n let that = this\r\n function callback(response, status) {\r\n if (response.rows && response.rows.length > 0) {\r\n if (response.rows[0].elements && response.rows[0].elements.length > 0) {\r\n if (response.rows[0].elements[0].distance) {\r\n var distanceFromStartOfWayPoint = response.rows[0].elements[0].distance.value\r\n\r\n that.drawWayPoint(route, distanceFromStartOfRoute, distanceFromStartOfWayPoint, routeCanvasContext)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n drawWayPoint(route, distanceFromStartOfRoute, distanceFromStartOfWayPoint, routeCanvasContext) {\r\n // Calcula la distancia del inicio del tramo\r\n let realDistanceFromRoute_percent = Math.round(distanceFromStartOfRoute / route.distance * 100);\r\n let startOfWayPointInCanvas = Math.round(this.routeLengthInCanvas * realDistanceFromRoute_percent / 100)\r\n startOfWayPointInCanvas += this.routeStartXInCanvas;\r\n\r\n\r\n // Calcula la distancia del fin del tramo\r\n let realDistanceOfWaypoint_percent = Math.round(distanceFromStartOfWayPoint / route.distance * 100);\r\n let endtOfWayPointInCanvas = Math.round(this.routeLengthInCanvas * realDistanceOfWaypoint_percent / 100)\r\n endtOfWayPointInCanvas += this.routeStartXInCanvas + startOfWayPointInCanvas;\r\n\r\n if (endtOfWayPointInCanvas > this.routeLengthInCanvas + this.routeStartXInCanvas) {\r\n endtOfWayPointInCanvas = this.routeLengthInCanvas + this.routeStartXInCanvas\r\n }\r\n\r\n\r\n routeCanvasContext.beginPath();\r\n routeCanvasContext.strokeStyle = \"#000\";\r\n routeCanvasContext.fillStyle = \"#000\";\r\n\r\n routeCanvasContext.moveTo(startOfWayPointInCanvas, route.y);\r\n routeCanvasContext.lineTo(endtOfWayPointInCanvas + 20, route.y);\r\n\r\n routeCanvasContext.stroke();\r\n }\r\n\r\n async paintWaypoints(route, routeCanvasContext) {\r\n if (route.rates.length > 0) {\r\n for (var i = 0; i < route.rates.length; i++) {\r\n if (route.rates[i].lat != \"\" && route.rates[i].lng != \"\") {\r\n let startTram = route.rates[i].lat.split(\"_\")\r\n let endTram = route.rates[i].lat.split(\"_\")\r\n this.getWayPointDistance(route, i, startTram, endTram, routeCanvasContext)\r\n }\r\n }\r\n }\r\n }\r\n\r\n paintInterestPoints(route, routeCanvasContext) {\r\n if (route.interestPoints.length > 0) {\r\n for (var i = 0; i < route.interestPoints.length; i++) {\r\n let currentPoint = route.interestPoints[i]\r\n this.drawInterestPoint(route, currentPoint, routeCanvasContext)\r\n }\r\n }\r\n }\r\n\r\n \r\n\r\n drawInterestPoint(route, currentPoint, routeCanvasContext) {\r\n // Calcula la distancia del inicio del tramo\r\n let realDistanceFromRoute_percent = Math.round((currentPoint.distance_from_start / route.distance) * 100);\r\n\r\n let XPointInCanvas = Math.round((this.routeLengthInCanvas * realDistanceFromRoute_percent) / 100)\r\n XPointInCanvas += this.routeStartXInCanvas;\r\n\r\n if (route.forward_or_back == \"B\") {// Es una ruta de vuelta\r\n XPointInCanvas = (this.routeStartXInCanvas + this.routeLengthInCanvas) - XPointInCanvas\r\n XPointInCanvas += (this.routeStartXInCanvas /2)\r\n }\r\n this.drawTriangle(XPointInCanvas, route.y, 15, 30, routeCanvasContext)\r\n\r\n var y = route.y - 30\r\n for (let i = 0; i < 4; i++) {\r\n // routeCanvasContext.rotate(-0.5*Math.PI);\r\n // routeCanvasContext.save();\r\n // routeCanvasContext.translate(100,300);\r\n // routeCanvasContext.rotate(-0.5*Math.PI);\r\n routeCanvasContext.fillText(currentPoint.name.substring(i,i+1), XPointInCanvas - 4, y);\r\n y -= 10\r\n // routeCanvasContext.restore();\r\n }\r\n\r\n // var imageObj = new Image();\r\n // imageObj.onload = function () {\r\n // routeCanvasContext.drawImage(this, XPointInCanvas, route.y - 15, 15, 15);\r\n // };\r\n // imageObj.src = \"http://www.trackingarea.com:4200/assets/img/interestPoint.png\";\r\n\r\n\r\n //context.fillText(string, x, y);\r\n\r\n currentPoint.x = +XPointInCanvas\r\n currentPoint.y = +route.y// - 20\r\n currentPoint.id_route = route.id\r\n\r\n this.interestPointsList.push(currentPoint)\r\n }\r\n\r\n\r\n drawTriangle(x, y, width, height, context){\r\n context.strokeStyle = '#00b0f0';\r\n context.lineWidth = 1.5;\r\n context.beginPath();\r\n\r\n context.moveTo(x -(width/2), y);\r\n\r\n context.lineTo(x, y-height);\r\n context.lineTo(x +(width/2), y);\r\n context.lineTo(x -(width/2), y);\r\n\r\n context.closePath();\r\n context.stroke();\r\n context.lineWidth = 1;\r\n context.strokeStyle = '#000';\r\n }\r\n\r\n\r\n setSingleVehicleCanvas(plate) {\r\n let canvasId = plate + \"_canvas\";\r\n\r\n if ($(\"#\" + canvasId).length == 0) // existe el canvas para ese vehiculo en el dom\r\n {// Lo crea\r\n let canvasHtml = \"\"\r\n $(\"#map-content\").append(canvasHtml)\r\n $(\"#\" + canvasId).css(\"height\", (+this.canvasDimention.height) + \"px\")\r\n\r\n }\r\n\r\n return this.setupCanvas($(\"#\" + canvasId)[0])\r\n }\r\n\r\n async getVehicleDistance(route, vehicle, context) {\r\n var origin1 = new google.maps.LatLng(route.route_data.origin.originLat, route.route_data.origin.originLng);\r\n // var origin2 = 'Greenwich, England';\r\n // var destinationA = 'Stockholm, Sweden';\r\n var destLat = vehicle.locationInfo.Latitude.replace(\",\", \".\")\r\n var destLng = vehicle.locationInfo.Longitude.replace(\",\", \".\")\r\n var destinationB = new google.maps.LatLng(destLat, destLng);\r\n var that = this;\r\n var service = new google.maps.DistanceMatrixService();\r\n service.getDistanceMatrix(\r\n {\r\n origins: [origin1],\r\n destinations: [destinationB],\r\n travelMode: 'DRIVING',\r\n // transitOptions: TransitOptions,\r\n // drivingOptions: DrivingOptions,\r\n // unitSystem: UnitSystem,\r\n avoidHighways: true,\r\n avoidTolls: true,\r\n }, callback);\r\n\r\n function callback(response, status) {\r\n if (response != null && response.rows && response.rows.length > 0) {\r\n if (response.rows[0].elements && response.rows[0].elements.length > 0) {\r\n if (response.rows[0].elements[0].distance) {\r\n\r\n var distanceFromStart = response.rows[0].elements[0].distance.value\r\n vehicle.distance = response.rows[0].elements[0].distance.text\r\n vehicle.remain = response.rows[0].elements[0].duration.text\r\n\r\n that.paintVehicle(route, vehicle, distanceFromStart)\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n findMiddlePoint(route, vehicle){\r\n var currentMiddlePoint = null\r\n var vehiclePositionInMiddlePoint = 0\r\n var nextMiddlePointKilometer = 2 * Math.round((vehicle.distance/ 1000) / 2)\r\n \r\n for (var i in route.middlePoints) {\r\n var point = route.middlePoints[i]\r\n if(point.kilometer == nextMiddlePointKilometer)\r\n {\r\n point.vehicles.push(vehicle.customPlate)\r\n \r\n route.middlePoints[i] = point\r\n currentMiddlePoint = point\r\n \r\n vehiclePositionInMiddlePoint = point.vehicles.length -1\r\n break\r\n }\r\n }\r\n \r\n\r\n if(currentMiddlePoint == null){\r\n vehicle.distance -= 2000\r\n return this.findMiddlePoint(route, vehicle)\r\n }\r\n\r\n return [vehiclePositionInMiddlePoint, currentMiddlePoint]\r\n }\r\n async paintVehicle(route, vehicle, distance) {\r\n\r\n let context = this.setSingleVehicleCanvas(vehicle.Plate)\r\n //let vehicleIconUrl = this.getLastAlert(vehicle, route)\r\n let vehicleColor = this.getLastAlert(vehicle, route)\r\n\r\n // Calcula el porcentaje de la ruta que ha recorrido el vehiculo\r\n var realDistance_percent = Math.round(distance / route.distance * 100);\r\n if (realDistance_percent > 100) {\r\n realDistance_percent = 100\r\n }\r\n vehicle.percent = realDistance_percent;\r\n\r\n // Calcula el x en la line que representa la ruta\r\n var vehiclePositionInCanvas = Math.round(this.routeLengthInCanvas * realDistance_percent / 100)\r\n vehiclePositionInCanvas += this.routeStartXInCanvas;\r\n vehicle.x = vehiclePositionInCanvas// - 15\r\n\r\n \r\n if (route.forward_or_back == \"B\") {// Es una ruta de vuelta, invierte la posición\r\n vehicle.x = (this.routeStartXInCanvas + this.routeLengthInCanvas) - vehiclePositionInCanvas\r\n vehicle.x += (this.routeStartXInCanvas /2)\r\n }\r\n \r\n // Actualiza datos\r\n vehicle.y = route.y - 15\r\n vehicle.routeName = route.name\r\n vehicle.routeDescription = route.description\r\n this.storeVehicle(vehicle)\r\n\r\n // Busca el actual punto de la ruta donde debe ser pintado, y actualiza la ruta\r\n var middlePointData = this.findMiddlePoint(route, vehicle);\r\n var vehiclePositionInMiddlePoint = middlePointData[0]\r\n var currentMiddlePoint = middlePointData[1]\r\n\r\n if(currentMiddlePoint != null){\r\n context.strokeStyle = vehicleColor;\r\n context.fillStyle = vehicleColor;\r\n\r\n\r\n if(vehiclePositionInMiddlePoint == 0)\r\n {// pinta el circulo, y añade el número\r\n //tooltipCtx.font = tooltipCtx.font.replace(/\\d+px/, \"8.5px\");\r\n\r\n context.beginPath();\r\n context.arc(currentMiddlePoint.x , currentMiddlePoint.y- (currentMiddlePoint.diameter/2)-5, currentMiddlePoint.diameter, currentMiddlePoint.diameter, 0, Math.PI*2);\r\n context.fill();\r\n\r\n // context.font = \"11px Arial\";\r\n console.log(vehicle.customPlate)\r\n context.fillText(vehicle.customPlate, currentMiddlePoint.x - 8, currentMiddlePoint.y - 25);\r\n\r\n }else{\r\n // añade el número \r\n context.fillText(vehicle.customPlate, currentMiddlePoint.x -8, currentMiddlePoint.y- (vehiclePositionInMiddlePoint * 10) - 25);\r\n }\r\n\r\n var index = this.routes.indexOf(route)\r\n this.routes[index] = route\r\n \r\n context.strokeStyle = \"#000\";\r\n context.fillStyle = \"#000\";\r\n }\r\n \r\n\r\n // console.log(this.routes)\r\n // var that = this\r\n // var imageObj = new Image();\r\n // imageObj.onload = function () {\r\n // context.drawImage(this, vehicle.x, vehicle.y, that.vehicleCavasWidth, that.vehicleCavasWidth);\r\n // };\r\n // context.fillText(vehicle.customPlate, vehicle.x + 3, vehicle.y);\r\n // imageObj.src = vehicleIconUrl;\r\n\r\n console.log(\"Actualizado\", vehicle.percent, vehicle.customPlate, route.description, vehicle.x, vehicle.y, vehicle.distance / 1000, 2 * Math.round((vehicle.distance/ 1000) / 2))\r\n\r\n }\r\n\r\n storeVehicle(vehicle){\r\n // busca el vehiculo en la lista\r\n let currentVehicle = null\r\n for (var i in this.vehicles) {\r\n if (this.vehicles[i].Plate == vehicle.Plate) {// lo encuentra y lo actualiza\r\n currentVehicle = this.vehicles[i]\r\n this.vehicles[i] = vehicle\r\n break\r\n }\r\n }\r\n // No encontro el vehiculo en la lista\r\n if (currentVehicle == null) {\r\n this.vehicles.push(vehicle) // completa la información y lo agrega a la lista\r\n }\r\n\r\n // Lo guarda localmente para ser usado en el dashboard\r\n localStorage.setItem(\"vehiclesInTransit\",JSON.stringify(this.vehicles))\r\n\r\n }\r\n\r\n getLastAlert(vehicle, route) {\r\n var alertObject = this.vehicleAlerts.find(o => o.Plate === vehicle.Plate);\r\n\r\n var iconUrl = \"#000\"\r\n // if (route.forward_or_back == \"B\") {// Es una ruta de vuelta\r\n // iconUrl = \"http://www.trackingarea.com:4200/assets/img/bus_autobus-512_back.png\"\r\n // }\r\n\r\n if(alertObject != undefined){\r\n\r\n switch (alertObject.alarmTypeId) {\r\n case 1:\r\n iconUrl = \"http://www.trackingarea.com:4200/assets/img/velocityAlarmIcon.png\"\r\n iconUrl = \"#74E8F9\"\r\n break;\r\n case 2:\r\n iconUrl = \"http://www.trackingarea.com:4200/assets/img/openPortsAlarmType.png\"\r\n iconUrl = \"#0E0E0E\"\r\n break;\r\n case 3:\r\n iconUrl = \"http://www.trackingarea.com:4200/assets/img/bockAlarmType.png\"\r\n iconUrl = \"#0E0E0E\"\r\n break;\r\n case 4:\r\n iconUrl = \"http://www.trackingarea.com:4200/assets/img/timeAlarmIcon.png\"\r\n iconUrl = \"#0E0E0E\"\r\n break;\r\n case 5:\r\n iconUrl = \"http://www.trackingarea.com:4200/assets/img/outofrouteAlarmIcon.png\"\r\n iconUrl = \"#0E0E0E\"\r\n break;\r\n }\r\n }\r\n\r\n return iconUrl;\r\n }\r\n\r\n paintPermanentAlertModel(vehicle, vehicleCanvasContext, y) {\r\n var alertObject = this.vehicleAlerts.find(o => o.Plate === vehicle.Plate);\r\n\r\n var iconUrl = \"\"\r\n switch (alertObject.alarmTypeId) {\r\n case 1:\r\n iconUrl = \"http://www.trackingarea.com:4200/assets/img/velocityAlarmIcon.png\"\r\n break;\r\n case 2:\r\n iconUrl = \"http://www.trackingarea.com:4200/assets/img/openPortsAlarmType.png\"\r\n break;\r\n case 3:\r\n iconUrl = \"http://www.trackingarea.com:4200/assets/img/bockAlarmType.png\"\r\n break;\r\n case 4:\r\n iconUrl = \"http://www.trackingarea.com:4200/assets/img/timeAlarmIcon.png\"\r\n break;\r\n case 5:\r\n iconUrl = \"http://www.trackingarea.com:4200/assets/img/outofrouteAlarmIcon.png\"\r\n break;\r\n }\r\n\r\n var imageObj = new Image();\r\n imageObj.onload = function () {\r\n vehicleCanvasContext.drawImage(this, vehicle.x, y - 40, 25, 25);\r\n };\r\n imageObj.src = iconUrl;\r\n }\r\n\r\n cleanRouteCanvas(context) {\r\n context.clearRect(0, 0, this.canvasDimention.width, this.canvasDimention.height);\r\n }\r\n\r\n cleanTooltipCanvas() {\r\n var canvasElement = $(\"#tooltipCanvas\")\r\n var context = canvasElement[0].getContext(\"2d\");\r\n context.clearRect(0, 0, this.canvasDimention.width, this.canvasDimention.height);\r\n }\r\n\r\n cleanTooltipCanvasModel() {\r\n var canvasElement = $(\"#tooltipCanvas-modal\")\r\n var context = canvasElement[0].getContext(\"2d\");\r\n context.clearRect(0, 0, this.canvasDimention.width, this.canvasDimention.height);\r\n }\r\n\r\n paintVehicleTooltip(vehicle, x, y) {\r\n // var canvasElement = $(\"#tooltipCanvas\")\r\n // var context = canvasElement[0].getContext(\"2d\");\r\n var context = this.setupCanvas($(\"#tooltipCanvas\")[0])\r\n\r\n\r\n context.font = \"10px Arial\";\r\n\r\n var lineheight = 10;\r\n\r\n var vehicleText = {\r\n Placa: vehicle.customPlate,\r\n Recorrido: vehicle.percent + \"%\",\r\n Distancia: (vehicle.distance / 1000).toFixed(2) + \" Km\",\r\n // Restante: vehicle.remain\r\n }\r\n\r\n var width = this.getLargerTextSize(vehicleText, context) + 10\r\n var height = (Object.keys(vehicleText).length * lineheight) + 5 // La cantidad de lineas de texto\r\n\r\n var response = this.checkCanvasLimits(x, y, width, height, $(\"#tooltipCanvas\"))\r\n x = response.x\r\n y = response.y\r\n\r\n context.fillStyle = \"black\";\r\n context.fillRect(x - 5, y - 10, width, height);\r\n\r\n context.fillStyle = \"#fff\";\r\n //tooltipCtx.font = tooltipCtx.font.replace(/\\d+px/, \"8.5px\");\r\n for (var key in vehicleText) {\r\n var string = key + \": \" + vehicleText[key]\r\n context.fillText(string, x, y);\r\n y += lineheight\r\n }\r\n }\r\n\r\n paintVehicleTooltipModal(vehicle, x, y) {\r\n // var canvasElement = $(\"#tooltipCanvas\")\r\n // var context = canvasElement[0].getContext(\"2d\");\r\n var context = this.setupCanvas($(\"#tooltipCanvas-modal\")[0])\r\n\r\n\r\n context.font = \"15px Arial\";\r\n\r\n var lineheight = 20;\r\n\r\n var vehicleText = {\r\n Placa: vehicle.customPlate,\r\n Recorrido: vehicle.percent + \"%\",\r\n Distancia: (vehicle.distance / 1000).toFixed(2) + \" Km\",\r\n // Restante: vehicle.remain\r\n }\r\n\r\n var width = this.getLargerTextSize(vehicleText, context) + 15\r\n var height = (Object.keys(vehicleText).length * lineheight) + 30 // La cantidad de lineas de texto\r\n\r\n var response = this.checkCanvasLimits(x, y, width, height, $(\"#tooltipCanvas-modal\"))\r\n x = response.x\r\n y = response.y - 100\r\n\r\n context.fillStyle = \"black\";\r\n context.fillRect(x - 5, y-lineheight, width, height);\r\n\r\n context.fillStyle = \"#fff\";\r\n //tooltipCtx.font = tooltipCtx.font.replace(/\\d+px/, \"8.5px\");\r\n for (var key in vehicleText) {\r\n var string = key + \": \" + vehicleText[key]\r\n context.fillText(string, x, y+5);\r\n y += lineheight\r\n }\r\n }\r\n\r\n paintNotificationTooltip(vehicle, x, y, notification) {\r\n // var canvasElement = $(\"#tooltipCanvas\")\r\n // var context = canvasElement[0].getContext(\"2d\");\r\n var plate = vehicle.Plate\r\n\r\n // var context = this.setupCanvas($(\"#\" + plate + \"_canvas\")[0])\r\n var context = this.setupCanvas($(\"#notificationCanvas\")[0])\r\n\r\n\r\n context.font = \"18px Arial\";\r\n\r\n var lineheight = 10;\r\n\r\n var vehicleText = {\r\n Placa: vehicle.Plate,\r\n // Recorrido: vehicle.percent + \"%\",\r\n // Distancia: (vehicle.distance / 1000).toFixed(2) + \" Km\",\r\n Alerta: notification.description\r\n // Restante: vehicle.remain\r\n }\r\n\r\n var width = this.getLargerTextSize(vehicleText, context) + 10\r\n var height = (Object.keys(vehicleText).length * lineheight) + 5 // La cantidad de lineas de texto\r\n\r\n var response = this.checkCanvasLimits(x, y - 30, width, height, $(\"#notificationCanvas\"))\r\n x = response.x\r\n y = response.y\r\n\r\n context.fillStyle = \"black\";\r\n context.fillRect(x - 5, y - 10, width, height);\r\n\r\n context.fillStyle = \"#fff\";\r\n //tooltipCtx.font = tooltipCtx.font.replace(/\\d+px/, \"8.5px\");\r\n for (var key in vehicleText) {\r\n var string = key + \": \" + vehicleText[key]\r\n context.fillText(string, x, y);\r\n y += lineheight\r\n }\r\n }\r\n\r\n\r\n paintInterestPointTooltip(interestPoint, x, y) {\r\n // var canvasElement = $(\"#tooltipCanvas\")\r\n // var context = canvasElement[0].getContext(\"2d\");\r\n var context = this.setupCanvas($(\"#tooltipCanvas\")[0])\r\n\r\n\r\n\r\n var lineheight = 10;\r\n\r\n var pointText = {\r\n Nombre: interestPoint.name,\r\n Distancia: (interestPoint.distance_from_start / 1000).toFixed(2) + \" Km\"\r\n }\r\n\r\n var width = this.getLargerTextSize(pointText, context) + 10\r\n var height = (Object.keys(pointText).length * lineheight) + 5 // La cantidad de lineas de texto\r\n\r\n var response = this.checkCanvasLimits(x, y, width, height, $(\"#tooltipCanvas\"))\r\n x = response.x\r\n y = response.y\r\n\r\n context.fillStyle = \"white\";\r\n context.fillRect(x - 5, y - 10, width, height + 15);\r\n\r\n context.fillStyle = \"#000\";\r\n //tooltipCtx.font = tooltipCtx.font.replace(/\\d+px/, \"8.5px\");\r\n context.font = \"11px Arial\";\r\n context.fillText(\"Punto de Interes: \", x, y);\r\n y += lineheight\r\n\r\n\r\n context.font = \"10px Arial\";\r\n for (var key in pointText) {\r\n var string = key + \": \" + pointText[key]\r\n context.fillText(string, x, y);\r\n y += lineheight\r\n }\r\n }\r\n\r\n paintRouteTooltip(route, x, y) {\r\n // var canvasElement = $(\"#tooltipCanvas\")\r\n // var context = canvasElement[0].getContext(\"2d\");\r\n var context = this.setupCanvas($(\"#routeTooltipCanvas\")[0])\r\n context.font = \"12px Arial\";\r\n\r\n\r\n\r\n var lineheight = 12;\r\n\r\n var pointText = {\r\n Ruta: route.description + \" - \" + route.divipol_code,\r\n Distancia: (route.distance / 1000).toFixed(2) + \" Km\"\r\n }\r\n\r\n var width = this.getLargerTextSize(pointText, context) + 12\r\n var height = (Object.keys(pointText).length * lineheight) + 6 // La cantidad de lineas de texto\r\n\r\n var response = this.checkCanvasLimits(this.routeStartXInCanvas, y, width, height, $(\"#routeTooltipCanvas\"))\r\n x = response.x\r\n y = response.y\r\n\r\n context.fillStyle = \"white\";\r\n context.fillRect(x - 5, y - 15, width, height + 15);\r\n\r\n context.fillStyle = \"#000\";\r\n //tooltipCtx.font = tooltipCtx.font.replace(/\\d+px/, \"8.5px\");\r\n\r\n for (var key in pointText) {\r\n var string = key + \": \" + pointText[key]\r\n context.fillText(string, x, y);\r\n y += lineheight\r\n }\r\n }\r\n\r\n paintRouteInformation(route, x, y, context) {\r\n // var canvasElement = $(\"#tooltipCanvas\")\r\n // var context = canvasElement[0].getContext(\"2d\");\r\n // var context = this.setupCanvas($(\"#routeTooltipCanvas\")[0])\r\n context.font = \"10px Arial\";\r\n\r\n\r\n\r\n var lineheight = 10;\r\n\r\n var pointText = {\r\n Ruta: route.name,\r\n Distancia: (route.distance / 1000).toFixed(2) + \" Km\"\r\n }\r\n\r\n // var width = this.getLargerTextSize(pointText, context) + 12\r\n // var height = (Object.keys(pointText).length * lineheight) + 6 // La cantidad de lineas de texto\r\n\r\n // var response = this.checkCanvasLimits(this.routeStartXInCanvas, y, width, height, $(\"#routeTooltipCanvas\"))\r\n // x = response.x\r\n // y = response.y\r\n\r\n //context.fillStyle = \"white\";\r\n //context.fillRect(x - 5, y - 15, width, height + 15);\r\n\r\n //tooltipCtx.font = tooltipCtx.font.replace(/\\d+px/, \"8.5px\");\r\n y -= 100\r\n x -= 5\r\n\r\n context.fillStyle = \"#000\";\r\n //context.fillText(\"Ruta\", x, y);\r\n //y += lineheight\r\n context.fillText(\"Ruta: \", x, y);\r\n y += lineheight\r\n context.fillText(route.name.substring((route.name.length/2), route.name.length), x, y);\r\n y += lineheight\r\n context.fillText(route.name.substring(0, (route.name.length/2)), x, y);\r\n y += lineheight\r\n context.fillText(\"Dist: \" + (route.distance / 1000).toFixed(2) + \" Km\", x, y);\r\n // for (var key in pointText) {\r\n // var string = key + \": \" + pointText[key]\r\n // context.fillText(string, x, y);\r\n // y += lineheight\r\n // }\r\n }\r\n\r\n getLargerTextSize(vehicle, tooltipCtx) { // Devuelve el tamaño de la linea de texto más larga\r\n var size = 0\r\n for (var key in vehicle) {\r\n var string = key + \": \" + vehicle[key]\r\n var width = tooltipCtx.measureText(string).width;\r\n\r\n if (width > size) {\r\n size = width\r\n }\r\n }\r\n return size\r\n }\r\n\r\n checkCanvasLimits(x, y, width, height, tooltipCtx) {\r\n if (x + width > tooltipCtx.width) {\r\n x = x - width\r\n }\r\n if (y + height > tooltipCtx.height) {\r\n y = y - height\r\n }\r\n return { x: x, y: y }\r\n }\r\n\r\n setTooltipCanvas() {\r\n var that = this\r\n // $(\"#tooltipCanvas\").mousemove(function (event) {\r\n // // that.cleanTooltipCanvas()\r\n // //var canvas = document.getElementById('canvasMap');\r\n // //var ctx = canvas.getContext(\"2d\");\r\n\r\n\r\n // let tooltipCanvas = $(\"#tooltipCanvas\")[0]\r\n // // let tooltipCtx = tooltipCanvas[0].getContext(\"2d\");\r\n\r\n // var dpr = window.devicePixelRatio || 1;\r\n // // Get the size of the canvas in CSS pixels.\r\n // var rect = $(tooltipCanvas)[0].getBoundingClientRect();\r\n // // Give the canvas pixel dimensions of their CSS\r\n // // size * the device pixel ratio.\r\n // tooltipCanvas.width = rect.width * dpr;\r\n // tooltipCanvas.height = rect.height * dpr;\r\n // var ctx = tooltipCanvas.getContext('2d');\r\n // // Scale all drawing operations by the dpr, so you\r\n // // don't have to worry about the difference.\r\n // ctx.scale(dpr, dpr);\r\n\r\n\r\n // let x = (event.clientX - rect.left) / (rect.right - rect.left) * tooltipCanvas.width;\r\n // let y = (event.clientY - rect.top) / (rect.bottom - rect.top) * tooltipCanvas.height;\r\n\r\n // // console.log(x, y)\r\n // that.searchVehicleForTooltip(x, y)\r\n // that.searchInterestPointForTooltip(x, y)\r\n // // that.searchRouteForTooltip(x, y)\r\n // });\r\n\r\n\r\n // $(\"#tooltipCanvas\").dblclick(function (event) {\r\n // // that.cleanTooltipCanvas()\r\n\r\n // let tooltipCanvas = $(\"#tooltipCanvas\")[0]\r\n\r\n // var dpr = window.devicePixelRatio || 1;\r\n // var rect = $(tooltipCanvas)[0].getBoundingClientRect();\r\n\r\n // // Give the canvas pixel dimensions of their CSS\r\n // // size * the device pixel ratio.\r\n // tooltipCanvas.width = rect.width * dpr;\r\n // tooltipCanvas.height = rect.height * dpr;\r\n // var ctx = tooltipCanvas.getContext('2d');\r\n\r\n // // Scale all drawing operations by the dpr, so you\r\n // // don't have to worry about the difference.\r\n // ctx.scale(dpr, dpr);\r\n\r\n // let x = (event.clientX - rect.left) / (rect.right - rect.left) * tooltipCanvas.width;\r\n // let y = (event.clientY - rect.top) / (rect.bottom - rect.top) * tooltipCanvas.height;\r\n\r\n // that.searchRouteForDblclick(x, y)\r\n // });\r\n }\r\n\r\n setTooltipCanvasModal() {\r\n var that = this\r\n $(\"#tooltipCanvas-modal\").mousemove(function (event) {\r\n // that.cleanTooltipCanvasModel()\r\n //var canvas = document.getElementById('canvasMap');\r\n //var ctx = canvas.getContext(\"2d\");\r\n\r\n\r\n let tooltipCanvas = $(\"#tooltipCanvas-modal\")[0]\r\n // let tooltipCtx = tooltipCanvas[0].getContext(\"2d\");\r\n\r\n var dpr = window.devicePixelRatio || 1;\r\n // Get the size of the canvas in CSS pixels.\r\n var rect = $(tooltipCanvas)[0].getBoundingClientRect();\r\n // Give the canvas pixel dimensions of their CSS\r\n // size * the device pixel ratio.\r\n tooltipCanvas.width = rect.width * dpr;\r\n tooltipCanvas.height = rect.height * dpr;\r\n var ctx = tooltipCanvas.getContext('2d');\r\n // Scale all drawing operations by the dpr, so you\r\n // don't have to worry about the difference.\r\n ctx.scale(dpr, dpr);\r\n\r\n let x = (event.clientX - rect.left) / (rect.right - rect.left) * tooltipCanvas.width;\r\n let y = (event.clientY - rect.top) / (rect.bottom - rect.top) * tooltipCanvas.height;\r\n\r\n that.searchVehicleForTooltipModal(x, y)\r\n });\r\n\r\n\r\n }\r\n\r\n searchVehicleForTooltip(x, y) {\r\n let currentVehicle = null\r\n try {\r\n const diameter = this.vehicleCavasWidth;\r\n for (var i = 0; i < this.vehicles.length; i++) {\r\n\r\n // Toma la posición y crea un cuadrado para el tooltip\r\n var radius = (diameter / 2)\r\n let tmpX = this.vehicles[i].x\r\n let tmpY = this.vehicles[i].y\r\n let x1 = tmpX //- radius\r\n let x2 = tmpX + diameter\r\n let y1 = tmpY// - radius\r\n let y2 = tmpY + diameter\r\n\r\n // console.log(x + \" \" + x1 + \" \" + y + \" \" + y1)\r\n // console.log(this.routes)\r\n if (x >= x1 && x <= x2 && y >= y1 && y <= y2) {\r\n currentVehicle = this.vehicles[i]\r\n break\r\n }\r\n }\r\n } catch (e) {\r\n }\r\n\r\n if (currentVehicle != null) {\r\n this.paintVehicleTooltip(currentVehicle, x, y)\r\n }\r\n }\r\n\r\n searchVehicleForTooltipModal(x, y) {\r\n let currentVehicle = null\r\n try {\r\n const diameter = this.vehicleCavasWidthModal;\r\n for (var i = 0; i < this.modalVehicles.length; i++) {\r\n\r\n // console.log(this.modalVehicles[i])\r\n // console.log(x, y)\r\n // Toma la posición y crea un cuadrado para el tooltip\r\n var radius = (diameter / 2)\r\n let tmpX = this.modalVehicles[i].x\r\n let tmpY = this.modalVehicles[i].y\r\n let x1 = tmpX //- radius\r\n let x2 = tmpX + diameter\r\n let y1 = tmpY// - radius\r\n let y2 = tmpY + diameter\r\n\r\n //console.log(x + \" \" + x1 + \" \" + y + \" \" + y1)\r\n if (x >= x1 && x <= x2 && y >= y1 && y <= y2) {\r\n currentVehicle = this.modalVehicles[i]\r\n break\r\n }\r\n }\r\n } catch (e) {\r\n }\r\n\r\n if (currentVehicle != null) {\r\n this.paintVehicleTooltipModal(currentVehicle, currentVehicle.x, currentVehicle.y)\r\n }\r\n }\r\n\r\n\r\n searchInterestPointForTooltip(x, y) {\r\n let currentPoint = null\r\n try {\r\n const diameter = 25;\r\n for (var i = 0; i < this.interestPointsList.length; i++) {\r\n\r\n // Toma la posición y crea un cuadrado para el tooltip\r\n // var radius = (diameter / 2)\r\n let tmpX = this.interestPointsList[i].x\r\n let tmpY = this.interestPointsList[i].y\r\n let x1 = tmpX //- radius\r\n let x2 = tmpX + diameter\r\n let y1 = tmpY// - radius\r\n let y2 = tmpY + diameter\r\n\r\n //console.log(x + \" \" + x1 + \" \" + y + \" \" + y1)\r\n if (x >= x1 && x <= x2 && y >= y1 && y <= y2) {\r\n currentPoint = this.interestPointsList[i]\r\n break\r\n }\r\n }\r\n } catch (e) {\r\n }\r\n\r\n if (currentPoint != null) {\r\n this.paintInterestPointTooltip(currentPoint, currentPoint.x, currentPoint.y)\r\n }\r\n }\r\n\r\n searchRouteForTooltip(x, y) {\r\n let currentRoute = null\r\n try {\r\n const diameter = this.routeLengthInCanvas;\r\n for (var i = 0; i < this.routes.length; i++) {\r\n\r\n // Toma la posición y crea un cuadrado para el tooltip\r\n // var radius = (diameter / 2)\r\n let tmpX = this.routeStartXInCanvas;\r\n let tmpY = this.routes[i].y\r\n let x1 = tmpX //- radius\r\n let x2 = tmpX + diameter\r\n let y1 = tmpY - this.vehicleCavasWidth / 2\r\n let y2 = tmpY + this.vehicleCavasWidth / 2\r\n\r\n //console.log(x + \" \" + x1 + \" \" + y + \" \" + y1)\r\n if (x >= x1 && x <= x2 && y >= y1 && y <= y2) {\r\n currentRoute = this.routes[i]\r\n break\r\n }\r\n }\r\n } catch (e) {\r\n }\r\n\r\n if (currentRoute != null) {\r\n this.paintRouteTooltip(currentRoute, this.routeStartXInCanvas, currentRoute.y)\r\n }\r\n }\r\n\r\n searchRouteForDblclick(x, y) {\r\n let currentRoute = null\r\n try {\r\n const diameter = this.routeLengthInCanvas;\r\n for (var i = 0; i < this.routes.length; i++) {\r\n\r\n // Toma la posición y crea un cuadrado para el tooltip\r\n // var radius = (diameter / 2)\r\n let tmpX = this.routeStartXInCanvas;\r\n let tmpY = this.routes[i].y\r\n let x1 = tmpX //- radius\r\n let x2 = tmpX + diameter\r\n let y1 = tmpY - this.vehicleCavasWidth / 2\r\n let y2 = tmpY + this.vehicleCavasWidth / 2\r\n\r\n //console.log(x + \" \" + x1 + \" \" + y + \" \" + y1)\r\n if (x >= x1 && x <= x2 && y >= y1 && y <= y2) {\r\n currentRoute = this.routes[i]\r\n break\r\n }\r\n }\r\n } catch (e) {\r\n }\r\n\r\n if (currentRoute != null) {\r\n const modalRfid = this.modalService.open(this.modalRouteDetail, { size: 'lg', windowClass : \"modalwindow\" });\r\n var that = this;\r\n var processId = setTimeout(async function () {\r\n that.fixModalCanvasContenetor()\r\n that.drawRouteInModal(currentRoute)\r\n }, 0);\r\n }\r\n }\r\n\r\n drawRouteInModal(route) {\r\n // var color = '#' + ((1 << 24) * Math.random() | 0).toString(16);\r\n var color = '#000';\r\n\r\n let routeCanvasContext = this.setupCanvas($(\"#routeCanvas-modal\")[0])\r\n\r\n // console.log(routeCanvasContext)\r\n // this.routeLengthInCanvas = this.canvasDimention.width - 10; // el tamaño de la linea que representa una ruta\r\n\r\n\r\n\r\n var x1 = this.routeStartXInCanvasModal;\r\n var y1 = this.distanceXbetweenRoutes + 100;\r\n\r\n var x2 = this.routeLengthInCanvasModal;\r\n var y2 = this.distanceXbetweenRoutes + 100;\r\n\r\n if (route.forward_or_back == \"B\") {// Es una ruta de vuelta, va hacia el otro lado\r\n var x1 = this.routeLengthInCanvasModal;\r\n var y1 = this.distanceXbetweenRoutes + 100;\r\n\r\n var x2 = this.routeStartXInCanvasModal;\r\n var y2 = this.distanceXbetweenRoutes + 100;\r\n }\r\n\r\n this.pintArrow(routeCanvasContext, x1, y1, x2, y2, color);\r\n this.startRouteModal(route, routeCanvasContext)\r\n }\r\n\r\n startRouteModal(currentRoute, routeCanvasContext) {\r\n // this.paintWaypoints(currentRoute, routeCanvasContext)\r\n // this.paintInterestPoints(currentRoute, routeCanvasContext)\r\n\r\n let that = this\r\n this.dashboardService\r\n .getVehiclesByrute(this.commonService.getUserName(), currentRoute.id)\r\n .then(response => {\r\n if (response) {\r\n that.setTooltipCanvasModal()\r\n that.modalVehicles = []\r\n\r\n // that.totalVehicles += response.length\r\n\r\n // that.searchVehiclesModal(response, currentRoute)\r\n var processId = setTimeout(async function () {\r\n that.searchVehiclesModal(response, currentRoute)\r\n }, 0);\r\n //that.vehiclesProcessList.push(processId)\r\n }\r\n })\r\n }\r\n\r\n async searchVehiclesModal(data, currentRoute) {\r\n for (var i in data) {\r\n let dataVehicle = data[i];\r\n let that = this\r\n that.getVehicleLocationModal(dataVehicle, currentRoute)\r\n }\r\n }\r\n\r\n async getVehicleLocationModal(vehicle, route) {\r\n this.dashboardService\r\n .getSingleVehicleLocation_inTransit(vehicle.Plate)\r\n .then(response => {\r\n if (response.length > 0) {\r\n vehicle.locationInfo = response[0]\r\n vehicle.customPlate = response[0].TrackerName\r\n\r\n var currentRoute = this.routes.find(r => r.id === route.id);\r\n currentRoute.postitionData = route.routeOrigin;\r\n currentRoute.route_data = route.route_data\r\n\r\n let journeyFix = +vehicle.locationInfo.JourneyString\r\n\r\n var distanceFromStart2 = Math.abs(vehicle.Distance_from_start - journeyFix)\r\n vehicle.distance = distanceFromStart2\r\n\r\n this.paintVehicleModal(route, vehicle, Math.round(distanceFromStart2))\r\n\r\n }\r\n });\r\n }\r\n\r\n async paintVehicleModal(route, vehicle, distance) {\r\n let context = this.setSingleVehicleCanvasModal(vehicle.Plate)\r\n // let vehicleIconUrl = \"http://www.trackingarea.com:4200/assets/img/bus_autobus-512.png\"\r\n let vehicleIconUrl = this.getLastAlert(vehicle, route)\r\n\r\n var realDistance_percent = Math.round(distance / route.distance * 100);\r\n if (realDistance_percent > 100) {\r\n realDistance_percent = 100\r\n }\r\n var vehiclePositionInCanvas = Math.round(this.routeLengthInCanvasModal * realDistance_percent / 100)\r\n\r\n vehiclePositionInCanvas += this.routeStartXInCanvasModal;\r\n // vehicle.vehiclePositionInCanvas = vehiclePositionInCanvas\r\n vehicle.x = vehiclePositionInCanvas - 15\r\n vehicle.y = route.y - 15\r\n vehicle.percent = realDistance_percent;\r\n\r\n\r\n if (route.forward_or_back == \"B\") {// Es una ruta de vuelta\r\n // vehicleIconUrl = \"http://www.trackingarea.com:4200/assets/img/bus_autobus-512_back.png\"\r\n\r\n // le quita lo que le había sumado antes\r\n vehiclePositionInCanvas -= 90;\r\n vehicle.x = this.routeLengthInCanvasModal - vehiclePositionInCanvas\r\n // vehicle.x -= 15// Hace el efecto de restarle 15 si fuera una ruta de ida\r\n }\r\n\r\n\r\n // busca el vehiculo en la lista\r\n let currentVehicle = null\r\n for (var i in this.vehicles) {\r\n if (this.vehicles[i].Plate == vehicle.Plate) {// lo encuentra y lo actualiza\r\n // this.cleanVehicleCanvas(this.vehicles[i].x, this.vehicles[i].y, context)\r\n\r\n currentVehicle = this.vehicles[i]\r\n this.vehicles[i] = vehicle\r\n break\r\n }\r\n }\r\n // No encontro el vehiculo en la lista\r\n if (currentVehicle == null) {\r\n this.vehicles.push(vehicle) // completa la información y lo agrega a la lista\r\n }\r\n var that = this\r\n\r\n\r\n context.font = \"15px Arial\";\r\n var y1 = this.distanceXbetweenRoutes + 100 - 30;\r\n vehicle.y = y1\r\n if (currentVehicle != null\r\n ) {// Cambió la ubicación - Limpia el recuadro anterior y actualiza\r\n var imageObj = new Image();\r\n imageObj.onload = function () {\r\n context.drawImage(this, vehicle.x, y1, that.vehicleCavasWidthModal, that.vehicleCavasWidthModal);\r\n };\r\n context.fillText(vehicle.customPlate, vehicle.x - 5, y1);\r\n imageObj.src = vehicleIconUrl;\r\n } else if (currentVehicle == null) { // no se ha pintado\r\n var imageObj = new Image();\r\n imageObj.onload = function () {\r\n context.drawImage(this, vehicle.x, y1, that.vehicleCavasWidthModal, that.vehicleCavasWidthModal);\r\n };\r\n context.fillText(vehicle.customPlate, vehicle.x - 5, y1);\r\n imageObj.src = vehicleIconUrl;\r\n }\r\n\r\n // this.paintPermanentAlertModel(vehicle, context, y1);\r\n this.modalVehicles.push(vehicle)\r\n //vehicle.distance = distance;\r\n //this.paintVehicleTooltip(vehicle, vehiclePositionInCanvas, 30 - 20 )\r\n console.log(\"Actualizado\", vehicle.percent, vehicle.customPlate, route.description, vehicle.x, vehicle.y)\r\n\r\n }\r\n\r\n setSingleVehicleCanvasModal(plate) {\r\n let canvasId = plate + \"_canvasmodal\";\r\n\r\n if ($(\"#\" + canvasId).length == 0) // existe el canvas para ese vehiculo en el dom\r\n {// Lo crea\r\n let canvasHtml = \"\"\r\n $(\"#map-contentModal\").append(canvasHtml)\r\n }\r\n\r\n return this.setupCanvas($(\"#\" + canvasId)[0])\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/route-display/route-display.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/route/route.component.css\n// module id = ../../../../../src/app/components/route/route.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

     

    \\r\\n

     

    \\r\\n

     

    \\r\\n

    Cargando...

    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n Info!\\r\\n
    \\r\\n\\r\\n {{ messageResult }}\\r\\n
    \\r\\n\\r\\n
    \\r\\n

    {{pageTitle}}

    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n El campo es requerido.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n El campo es requerido.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n El campo es requerido.\\r\\n
    \\r\\n
    \\r\\n El valor debe ser númerico.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Puntos de Interés de la Ruta
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    NombreDistancia desde el Inicio (Metros)
    {{item.name}}{{item.distance}}
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/route/route.component.html\n// module id = ../../../../../src/app/components/route/route.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\r\nimport { RouteService } from '../../services/route.service';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { any } from \"codelyzer/util/function\";\r\nimport { AlertService } from '../../services/alert.service';\r\nimport swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-route',\r\n templateUrl: './route.component.html',\r\n styleUrls: ['./route.component.css']\r\n})\r\nexport class RouteComponent implements OnInit {\r\n routeById: any = {};\r\n temportalInterestPoint: any = {};\r\n interestPointList: any = [];\r\n rfids: any = [];\r\n messageResult: any;\r\n pageTitle: string = \"Ruta no Encontrada\";\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private routeService: RouteService,\r\n private commonService: CommonService,\r\n private alertService: AlertService\r\n ) { }\r\n\r\n ngOnInit() {\r\n // this.routeUserAccount = this.route.snapshot.params.idRoute;\r\n this.getRoute();\r\n this.getRfids();\r\n console.log(this.interestPointList)\r\n }\r\n\r\n getRoute(): void {\r\n try {\r\n this.route.paramMap.switchMap((params: ParamMap) => this.routeService.getRoute(params.get('idRoute')))\r\n .subscribe(response => {\r\n console.log(response)\r\n console.log('response ;: ', response[0].divipol_code)\r\n this.routeById.Description = response[0].description;\r\n this.routeById.Id = response[0].id;\r\n this.routeById.Status = response[0].status;\r\n this.routeById.User_account = response[0].user_account;\r\n this.routeById.Divipol_code = response[0].divipol_code;\r\n this.routeById.Travel_time = response[0].travel_time;\r\n this.routeById.Name = response[0].name;\r\n this.routeById.Distance = response[0].distance;\r\n this.routeById.Forward_or_back = response[0].forward_or_back;\r\n\r\n this.pageTitle = \"Editanto Ruta - \" + this.routeById.Divipol_code\r\n this.getInterestPoints();\r\n });\r\n } catch (error) {\r\n\r\n }\r\n }\r\n\r\n removePoint(interestPointId){\r\n let that = this\r\n this.routeService.deleteInterestPoints(interestPointId)\r\n .then(response => {\r\n that.getInterestPoints()\r\n swal({\r\n title: \"Borrado!\",\r\n text: 'El Punto de Interés fue Borrado Exitosamente',\r\n type: 'success',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n })\r\n .catch(response => {\r\n swal({\r\n title: \"Ops!\",\r\n text: 'Ocurrió un error al borrar el Punto de Interes',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n })\r\n }\r\n\r\n getInterestPoints() {\r\n this.routeService.getInterestPoints(this.routeById.Id)\r\n .then(response => {\r\n this.interestPointList = []\r\n for(var i in response){\r\n this.interestPointList.push({ id: response[i].interest_point_id, \r\n name: response[i].name, \r\n distance: response[i].distance_from_start \r\n })\r\n }\r\n })\r\n .catch(response => {\r\n swal({\r\n title: \"Ops!\",\r\n text: 'Ocurrió un error al recuperar los Puntos de Interes. Por favor recargue la página',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n })\r\n }\r\n\r\n saveInterestPoint() {\r\n let that = this\r\n if (this.temportalInterestPoint.Name == undefined || this.temportalInterestPoint.Name == \"\") {\r\n swal({\r\n title: \"Error\",\r\n text: 'Debe ingresar un Nombre para el Punto',\r\n type: 'info',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n return\r\n }\r\n\r\n if (this.temportalInterestPoint.Distance == undefined || this.temportalInterestPoint.Distance == \"\") {\r\n swal({\r\n title: \"Error\",\r\n text: 'Debe ingresar una Distancia para el Punto',\r\n type: 'info',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n return\r\n }\r\n this.temportalInterestPoint.RouteId = this.routeById.Id\r\n\r\n this.routeService.saveInterestPoint(this.temportalInterestPoint)\r\n .then(response => {\r\n swal({\r\n title: \"Guardado!\",\r\n text: 'El Punto de Interés fue guardado Exitosamente',\r\n type: 'success',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n this.temportalInterestPoint = {}\r\n that.getInterestPoints()\r\n\r\n })\r\n .catch(response => {\r\n swal({\r\n title: \"Ops!\",\r\n text: 'Ocurrió un error al procesar su solicitud. Intente nuevamente',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n })\r\n }\r\n\r\n getRfids(): void {\r\n this.route.paramMap.switchMap((params: ParamMap) => \r\n this.routeService.getRfids(params.get('idRoute')))\r\n .subscribe(response => {\r\n this.rfids = response;\r\n });\r\n }\r\n\r\n updateRoute(idRoute): void {\r\n console.log(\"this.routeById : \", this.routeById)\r\n console.log(this.routeById.Forward_or_back)\r\n if(this.routeById.Forward_or_back == undefined){\r\n swal({\r\n title: \"Atención!\",\r\n text: 'Debe Seleccionar el Tipo de Ruta',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n return\r\n }\r\n this.routeService.updateRoute(this.routeById)\r\n .then(response => {\r\n if (response) {\r\n // this.router.navigate(['/home/routes']);\r\n if (response.status === 'EXITO') {\r\n swal({\r\n title: response.message,\r\n text: '',\r\n type: 'success',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n\r\n } else {\r\n this.alertService.error(response.message);\r\n console.log('this.alertService.error(response.message);', response.message);\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/route/route.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"table {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.mat-form-field {\\r\\n font-size: 14px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\ntd, th {\\r\\n width: 15%;\\r\\n padding-left: 1%;\\r\\n padding-right: 1%;\\r\\n}\\r\\n.cdk-visually-hidden{\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.multiselect-style{\\r\\n width: 500px;\\r\\n height: auto;\\r\\n}\\r\\n.ng-select.custom {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n /* width: 1%; */\\r\\n}\\r\\n.ng-select.custom .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n}\\r\\n.ng-select.custom_1 {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n}\\r\\n.ng-select.custom_1 .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n}\\r\\n\\r\\nng-select.ng-invalid.ng-touched .ng-select-container {\\r\\n border-color: #dc3545;\\r\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px #fde6e8;\\r\\n}\\r\\n\\r\\n#filter-panel{\\r\\n border: solid; \\r\\n background:#4c6c8b; \\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/routes/routes.component.css\n// module id = ../../../../../src/app/components/routes/routes.component.css\n// module chunks = main","module.exports = \"\\r\\n
    \\r\\n \\r\\n
    \\r\\n

    RFID

    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n Info!\\r\\n
    \\r\\n {{ messageResponse }}\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
    Código RfidTipo RfidTipoDespachadorEliminarGuardar
    \\r\\n {{ m.id }}\\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n

     

    \\r\\n

     

    \\r\\n

     

    \\r\\n

    Cargando...

    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Rutas
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n     \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n     \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n     \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n      \\r\\n
    \\r\\n \\r\\n  Buscar\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n Info!\\r\\n
    \\r\\n {{ messageError }}\\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n {{ routes }}\\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n Nombre Ruta \\r\\n {{element.Name}} \\r\\n \\r\\n\\r\\n \\r\\n Código Ruta \\r\\n {{element.Divipol_code}} \\r\\n \\r\\n\\r\\n \\r\\n Ruta \\r\\n {{element.Description}} \\r\\n \\r\\n\\r\\n \\r\\n Tiempo Máximo de Ruta \\r\\n {{element.Time}} \\r\\n \\r\\n\\r\\n \\r\\n RFID \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Editar \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Estado \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/routes/routes.component.html\n// module id = ../../../../../src/app/components/routes/routes.component.html\n// module chunks = main","import { Component, OnInit, ViewChild, ChangeDetectorRef, Compiler, ViewEncapsulation } from '@angular/core';\r\nimport { Router, ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { RoutesService } from '../../services/routes.service';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AlertService } from '../../services/alert.service';\r\nimport { RouteService } from '../../services/route.service';\r\nimport { UsersService } from '../../services/users.services';\r\nimport swal from 'sweetalert2';\r\nimport { isUndefined } from \"util\";\r\n\r\nimport {MatPaginator} from '@angular/material/paginator';\r\nimport {MatSort} from '@angular/material/sort';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport { ExcelService } from '../../services/excel.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n\r\ndeclare var $: any;\r\n\r\nexport interface RouteElement {\r\n Divipol_code: string;\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-routes',\r\n templateUrl: './routes.component.html',\r\n styleUrls: ['./routes.component.css', ],\r\n encapsulation : ViewEncapsulation.None\r\n})\r\nexport class RoutesComponent implements OnInit {\r\n \r\n \r\n routesByC: MatTableDataSource;\r\n routeId: any;\r\n idRfid: any;\r\n routeIdSave: any;\r\n rfids: any = [];\r\n routeDescription: any;\r\n messageResponse: any;\r\n type: any;\r\n title: any;\r\n swRfid: any = 0;\r\n dataTable: any;\r\n // dataParam: any[] = [];\r\n // publicDeals: Deal[] = [];\r\n displayedColumns: string[];\r\n filterMenuVisible: boolean = false;\r\n\r\n dispatchers: any = [];\r\n selectedRouteDispatchers = [];\r\n dispatchersSettings = {};\r\n\r\n routeCodes = [];\r\n selectedRouteCodes = [];\r\n routeCodesSettings = {};\r\n\r\n routeNames = [];\r\n selectedRouteNames = [];\r\n routeNamesSettings = {};\r\n\r\n routeStatus = [\r\n { Id: 1, Description : \"Activa\"}, \r\n {Id: 0, Description : \"Inactiva\"}\r\n ];\r\n selectedRouteStatus = [];\r\n routeStatusSettings = {};\r\n\r\n routeRFIDs = [];\r\n selectedRouteRFIDs = [];\r\n routeRFIDsSettings = {};\r\n\r\n reportData: any = []\r\n newRoute: any = {};\r\n isAddingNewRout : boolean = false;\r\n isNewRfidRemote : boolean = false;\r\n\r\n @ViewChild('modalAddUpdateRfid') modalAddUpdateRfid: HTMLElement;\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n \r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private routesService: RoutesService,\r\n private routeService: RouteService,\r\n private commonService: CommonService,\r\n public activeModal: NgbActiveModal,\r\n private alertService: AlertService,\r\n private usersService: UsersService,\r\n private chRef: ChangeDetectorRef,\r\n private modalService: NgbModal,\r\n private compiler:Compiler,\r\n private excelService: ExcelService,\r\n private spinner: NgxSpinnerService,\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.setSpinnersSettings();\r\n this.getAllRfids();\r\n\r\n this.getRoutes();\r\n this.getUsers();\r\n }\r\n\r\n getAllRfids(){\r\n this.routesService.getAllRfids().then(response => {\r\n console.log(response)\r\n this.routeRFIDs = response\r\n this.routeCodes.sort(function (a, b) {\r\n if (a.code_rfid > b.code_rfid) {\r\n return 1;\r\n }\r\n if (a.code_rfid < b.code_rfid) {\r\n return -1;\r\n }\r\n // a must be equal to b\r\n return 0;\r\n });\r\n });\r\n }\r\n\r\n setSpinnersSettings() {\r\n this.routeCodesSettings = {\r\n singleSelection: false,\r\n idField: 'Id',\r\n textField: 'Description',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n this.routeNamesSettings = {\r\n singleSelection: false,\r\n idField: 'Id',\r\n textField: 'Description',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n this.routeStatusSettings = {\r\n singleSelection: true,\r\n idField: 'Id',\r\n textField: 'Description',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n this.routeRFIDsSettings = {\r\n singleSelection: false,\r\n idField: 'code_rfid',\r\n textField: 'code_rfid',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n this.dispatchersSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'name',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n }\r\n\r\n toggleFilterMenu() {\r\n this.filterMenuVisible = !this.filterMenuVisible;\r\n }\r\n\r\n applyFilter(filterValue: string) {\r\n this.routesByC.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.routesByC.paginator) {\r\n this.routesByC.paginator.firstPage();\r\n }\r\n }\r\n\r\n setTable(data){\r\n this.displayedColumns = [\"Name\", 'Divipol_code', 'Description', 'Time', \"Id\", \"Edit\", 'Status'];\r\n this.routesByC = new MatTableDataSource(data);\r\n this.routesByC.paginator = this.paginator;\r\n this.routesByC.paginator._intl.itemsPerPageLabel = \"Filas por Página:\"\r\n this.routesByC.sort = this.sort;\r\n // Esconde el paginador porque no es posible cambair la paginación por problemas con el componente\r\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\r\n }\r\n sortData(e){\r\n console.log(e)\r\n }\r\n\r\n getRoutes(): void {\r\n this.routesService.getRoutes(this.commonService.getUserName()).then(response => {\r\n console.log(response)\r\n this.routeCodes = []\r\n this.routeNames = []\r\n for (var i in response) {\r\n this.setReportData(response[i])\r\n this.routeCodes.push({Id : response[i].Divipol_code, Description : response[i].Divipol_code})\r\n this.routeNames.push({Id : response[i].Name, Description : response[i].Name})\r\n // this.routeRFIDs.push({Id : response[i].Name, Description : response[i].Name})\r\n }\r\n\r\n this.routeCodes.sort(function (a, b) {\r\n if (a.Description > b.Description) {\r\n return 1;\r\n }\r\n if (a.Description < b.Description) {\r\n return -1;\r\n }\r\n // a must be equal to b\r\n return 0;\r\n });\r\n this.routeNames.sort(function (a, b) {\r\n if (a.Description > b.Description) {\r\n return 1;\r\n }\r\n if (a.Description < b.Description) {\r\n return -1;\r\n }\r\n // a must be equal to b\r\n return 0;\r\n });\r\n\r\n this.setTable(response);\r\n console.log(this.routeCodes)\r\n });\r\n }\r\n\r\n filterRoutes(): void {\r\n this.spinner.show();\r\n var codes = this.selectedRouteCodes.map(({ Id }) => \"'\" + Id + \"'\").toString();\r\n var names = this.selectedRouteNames.map(({ Id }) => \"'\" + Id + \"'\").toString();\r\n var status = this.selectedRouteStatus.map(({ Id }) => Id).toString();\r\n var rfids = this.selectedRouteRFIDs.map(({ code_rfid }) => \"'\" + code_rfid + \"'\").toString();\r\n var dispatchers = this.selectedRouteDispatchers.map(({ name }) => \"'\" + name + \"'\").toString();\r\n\r\n this.routesService\r\n .getDrivers_withFilters(this.commonService.getUserName(), \r\n codes, names, status, rfids, dispatchers)\r\n .then(response => {\r\n this.setTable(response)\r\n this.reportData = []\r\n for (var i in response) {\r\n this.setReportData(response[i])\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n setReportData(routeObject) {\r\n this.reportData.push({\r\n Codigo: routeObject.Divipol_code,\r\n Nombre: routeObject.Name,\r\n Ruta: routeObject.Description,\r\n Tiempo: routeObject.Time,\r\n })\r\n }\r\n\r\n // saveRoutes(): void {\r\n // const that = this\r\n // const nRows = $('#rowsRoutes tr').length;\r\n // const user = this.commonService.getUserName()\r\n // const arrayValues = new Array()\r\n // const dataParam = new Array()\r\n // const dataTable = new Array()\r\n // $('.descriptionRoute').each(function () {\r\n // const text = $.trim($(this).text());\r\n // const values = new Object();\r\n // const dat = $(this).text()\r\n // dataTable.push(dat);\r\n // if (dataTable[1] !== '') {\r\n // arrayValues.push(values);\r\n // console.log('values : ', values);\r\n // }\r\n // });\r\n // console.log('dataTable[1] :', dataTable[1]);\r\n // console.log('dataTable[0] :', dataTable[0]);\r\n // // for (let i = arrayValues.length - 1; i >= 0; i--) {\r\n // console.log('dataTable[1] : ', dataTable[1])\r\n\r\n // if (dataTable[1] !== '' && dataTable[1] !== 'undefined') {\r\n // console.log('por el if : ')\r\n // this.routesService.saveRoutesService(dataTable[1], dataTable[0], user)\r\n // .then(obj => {\r\n // const response = JSON.parse(obj.toString());\r\n // console.log('resp : ', response)\r\n // if (response) {\r\n // if (response.status === 'EXITO') {\r\n // console.log(response.result)\r\n // this.title = response.message;\r\n // this.type = 'success';\r\n // swal({\r\n // title: this.title,\r\n // text: '',\r\n // type: this.type,\r\n // showCancelButton: false,\r\n // confirmButtonColor: '#3085d6',\r\n // cancelButtonColor: '#ff5370',\r\n // confirmButtonText: 'Volver',\r\n // // cancelButtonText: 'No'\r\n // });\r\n // // window.location.href = '/home/routes';\r\n // // this.router.navigate(['/home/routes']);\r\n\r\n // var N = this.routesByC.data.length;\r\n // // console.log(N);\r\n // // this.routesByC.splice(N-1, 1);\r\n // $('.tbl').empty();\r\n // this.getRoutes();\r\n // $('#routeRow').css('display', 'inline');\r\n // // this.router.navigateByUrl('/red-pill;x=white-rabbit/neo');\r\n // /* that.router.navigateByUrl('/home/routes').then(nav => {\r\n // console.log(nav); // true if navigation is successful\r\n // }, err => {\r\n // console.log(err); // when there's an error\r\n // });*/\r\n\r\n // } else {\r\n // this.title = response.message;\r\n // this.type = 'error';\r\n // swal({\r\n // title: this.title,\r\n // text: '',\r\n // type: this.type,\r\n // showCancelButton: false,\r\n // confirmButtonColor: '#3085d6',\r\n // cancelButtonColor: '#ff5370',\r\n // confirmButtonText: 'Volver',\r\n // // cancelButtonText: 'No'\r\n // });\r\n // }\r\n // }\r\n // });\r\n // } else {\r\n // this.title = 'Ingresa la información.';\r\n // this.type = 'error';\r\n // swal({\r\n // title: this.title,\r\n // text: '',\r\n // type: this.type,\r\n // showCancelButton: false,\r\n // confirmButtonColor: '#3085d6',\r\n // cancelButtonColor: '#ff5370',\r\n // confirmButtonText: 'Volver',\r\n // // cancelButtonText: 'No'\r\n // });\r\n // }\r\n // }\r\n\r\n saveRfidsNew() {\r\n let that = this;\r\n var cont = 1;\r\n var nRows = $('#rowsRfid tr').length;\r\n var title = \"\";\r\n let dataParam = new Array()\r\n const user = this.commonService.getUserName();\r\n const arrayValues = new Array()\r\n var id, rfidCode, type, Id_dispatcher;\r\n var params;\r\n let sw = 0;\r\n var result = 0;\r\n var list = $('.rfidTd');\r\n console.log('length : ', list.length)\r\n\r\n var lengthList = list.length\r\n var countlist = 0\r\n $('.rfidTd').each(function () {\r\n const values = new Object();\r\n const text = $.trim($(this).text());\r\n var isremoteCheck = $(this).find(\"input\")\r\n \r\n\r\n countlist = countlist + 1;\r\n var msj = 0;\r\n if (countlist === lengthList) { msj = 1 }\r\n if (cont === 1) {\r\n id = text;\r\n } else if (cont === 2) {\r\n rfidCode = text;\r\n } else if (cont === 3) {\r\n if (text === 'Inicio ruta') {\r\n type = true;\r\n } else {\r\n type = false;\r\n }\r\n }\r\n else if (cont === 4) {\r\n // debugger;\r\n const valuea = ($(this).children('div:first'));\r\n Id_dispatcher = valuea.text();\r\n }\r\n console.log('id ::::::::::::::::::::::::::::::::::::::::::::::::::::: ', id)\r\n console.log('cont : : : :', cont)\r\n console.log('text : : : :', text)\r\n if (cont % 3 === 0) {\r\n if (id !== '') {\r\n params = {\r\n 'Id': parseInt(id),\r\n 'RfidCode': String(rfidCode),\r\n 'Type': type,\r\n 'IdRoute': that.routeIdSave,\r\n 'Id_dispatcher': Id_dispatcher\r\n };\r\n } else {\r\n console.log('ingreso a else ')\r\n params = {\r\n 'RfidCode': String(rfidCode),\r\n 'Type': type,\r\n 'IdRoute': that.routeIdSave,\r\n 'Id_dispatcher': Id_dispatcher\r\n };\r\n }\r\n dataParam.push(params);\r\n console.log('vamos a guardar')\r\n\r\n params.Id_dispatcher = $(\"#newRfidDispatcher\").val()\r\n params.IsRemote = $(\"#newRfidCheckboxRemote\")[0].checked == true ? \"true\" : \"false\"\r\n params.Type = $(\"#newRfidStartOrEnd\")[0].checked == true ? true : false\r\n\r\n if(params.RfidCode == \"\"){\r\n swal({\r\n title: 'Debe ingresar un código. ',\r\n text: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n // cancelButtonText: 'No'\r\n });\r\n return false\r\n }\r\n\r\n if(params.IsRemote == \"true\" && params.RfidCode.length != 6){\r\n swal({\r\n title: 'El Rfid remoto debe ser de 6 dígitos. ',\r\n text: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n // cancelButtonText: 'No'\r\n });\r\n return false\r\n }\r\n\r\n\r\n\r\n console.log(params)\r\n\r\n that.routesService.saveRfids(params)\r\n .then(obj => {\r\n console.log(\"msj \", msj)\r\n const response = JSON.parse(obj.toString());\r\n console.log('response : ', response)\r\n var result = response.result\r\n console.log('response : ', result);\r\n if (response) {\r\n if (response.status === 'EXITO') {\r\n cont = 1;\r\n if (sw === 0 && msj === 1) {\r\n that.rfids = []\r\n that.getrfids();\r\n $('#tblAdd').remove();\r\n $('#divAdd').css('display', 'inline');\r\n $('#divSave').css('display', 'none');\r\n swal({\r\n title: 'Codigo adicionado exitosamente',\r\n text: '',\r\n type: 'success',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n });\r\n }\r\n } else {\r\n this.swRfid = 1;\r\n sw = 1;\r\n if (sw === 1 && msj === 1) {\r\n swal({\r\n title: 'El código ingresado ya existe. ',\r\n text: '',\r\n type: 'success',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n });\r\n }\r\n }\r\n }\r\n });\r\n cont = 1;\r\n } else {\r\n cont++;\r\n }\r\n });\r\n that.router.navigate(['/home/routes']);\r\n }\r\n\r\n getrfids(): void {\r\n this.routeService.getRfids(this.routeIdSave).then(response => {\r\n // debugger;\r\n this.rfids = response;\r\n this.rfids.forEach(element => {\r\n if (element.id_dispatcher == 0) { element.id_dispatcher = null }\r\n });\r\n });\r\n }\r\n\r\n addText(){\r\n alert(\"sicas\")\r\n }\r\n\r\n addRow() {\r\n $('#divAdd').css('display', 'none');\r\n $('#divSave').css('display', 'inline');\r\n $('#rowsRfid').each(function () {\r\n // console.log($(\".button\").text())\r\n });\r\n var nRows = $(\"#rowsRfid tr\").length;\r\n var rowsCount = nRows + 1\r\n console.log('rowsCount : ', rowsCount)\r\n // $('#rfidRow').css('display', 'none');\r\n var idCheck = 'checkboxStatus-' + rowsCount\r\n var classCheck = 'check-' + rowsCount\r\n $('#rowsRfid').append('' +\r\n '' +\r\n '' +\r\n '' +\r\n\r\n '' +\r\n '
    ' +\r\n '
    ' +\r\n '' +\r\n\r\n '' +\r\n '
    ' + \r\n '' +\r\n '' +\r\n '
    ' +\r\n '' +\r\n '' +\r\n ' '+\r\n '' +\r\n '' +\r\n '');\r\n\r\n console.log($(\"#newcodeId\"))\r\n $(\"#newcodeId\").focus()\r\n\r\n $(\"#newRfidCheckboxRemote\").click(function(){\r\n console.log(this.checked)\r\n console.log($(\"#newRfidRemote\"))\r\n if(this.checked){\r\n $(\"#newRfidRemote\").html(\"Remoto\")\r\n }else{\r\n $(\"#newRfidRemote\").html(\"Normal\")\r\n }\r\n })\r\n\r\n $(\"#newRfidStartOrEnd\").click(function(){\r\n console.log(this.checked)\r\n console.log($(\"#newRfidStartOrEnd\"))\r\n if(this.checked){\r\n $(\"#newRfidStartOrEnd_label\").html(\"Inicio Ruta\")\r\n }else{\r\n $(\"#newRfidStartOrEnd_label\").html(\"Fin Ruta\")\r\n }\r\n })\r\n\r\n for(var i in this.dispatchers){\r\n $(\"#newRfidDispatcher\").append('')\r\n }\r\n \r\n event.preventDefault();\r\n }\r\n\r\n getUsers(): void {\r\n this.usersService.getUsers(this.commonService.getUserName())\r\n .then(response => {\r\n // debugger;\r\n this.dispatchers = response;\r\n console.log(response)\r\n this.dispatchers.sort(function (a, b) {\r\n if (a.name > b.name) {\r\n return 1;\r\n }\r\n if (a.name < b.name) {\r\n return -1;\r\n }\r\n // a must be equal to b\r\n return 0;\r\n });\r\n });\r\n }\r\n\r\n toDetails(routeId){\r\n this.router.navigate(['/home/route/'+ routeId]);\r\n }\r\n \r\n async openModalRfid(routeId: any) {\r\n let that = this;\r\n this.routeIdSave = routeId;\r\n const modalRfid = this.modalService.open(this.modalAddUpdateRfid, { size: 'lg' });\r\n this.routeId = Object.assign({}, routeId);\r\n this.getrfids();\r\n $(\".modal-content\").css(\"width\", \"110%\")\r\n $(\".modal-content\").css(\"overflow\", \"visible\")\r\n\r\n await this.delay(300);\r\n console.log($(\"ngb-modal-window\"))\r\n $(\"ngb-modal-window\").css(\"overflow\", \"scroll\")\r\n console.log($(\"ngb-modal-window\").css(\"overflow\"))\r\n\r\n }\r\n\r\n delay(ms: number) {\r\n return new Promise( resolve => setTimeout(resolve, ms) );\r\n }\r\n\r\n saveRfid(idRfid: any): void {\r\n console.log('idRfid : : : :', idRfid)\r\n console.log('idRfid 2: : : :', JSON.stringify(idRfid))\r\n\r\n var type\r\n // if(idRfid.id_dispatcher == 0){idRfid.id_dispatcher = 'NULL'}\r\n console.log('idRfid.id_dispatcher : : : ', idRfid.id_dispatcher)\r\n var params = {\r\n 'Id': parseInt(idRfid.id),\r\n 'RfidCode': String(idRfid.code_rfid),\r\n 'Type': idRfid.type,\r\n 'IdRoute': idRfid.id_route,\r\n 'Id_dispatcher': idRfid.id_dispatcher,\r\n 'IsRemote' : idRfid.is_remote == true? \"true\":\"false\",\r\n };\r\n console.log(idRfid.is_remote)\r\n if(idRfid.is_remote){\r\n if(idRfid.code_rfid.length != 6){\r\n swal({\r\n title: 'El código RFID debe tener 6 caracteres',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n });\r\n return ;\r\n }\r\n }\r\n\r\n this.routesService.saveRfids(params).then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n console.log('response json : ', response)\r\n if (response) {\r\n swal({\r\n title: 'Tu RFID fue actualizado con exito!',\r\n text: '',\r\n type: 'success',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n });\r\n // that.messageResponse = response.message;\r\n // console.log('messageResponse : ', that.messageResponse);\r\n this.getrfids();\r\n }\r\n });\r\n }\r\n\r\n deleteRfid(idRfid: any): void {\r\n const that = this;\r\n swal({\r\n title: '¿Esta seguro de borrar el código seleccionado?',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Sí',\r\n cancelButtonText: 'No'\r\n }).then(function (s) {\r\n console.log(s);\r\n if (s.dismiss !== undefined) {\r\n if (s.dismiss.toString() === 'cancel') {\r\n }\r\n } else {\r\n if (s.value !== undefined) {\r\n if (s.value) {\r\n // alert(id);\r\n that.routesService.deleteRfid(idRfid).then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n console.log('response json : ', response)\r\n if (response) {\r\n // that.messageResponse = response.message;\r\n // console.log('messageResponse : ', that.messageResponse);\r\n that.getrfids();\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }).catch(swal.noop);\r\n }\r\n\r\n refreshRouters() {\r\n let that = this;\r\n console.log(\"redirect \")\r\n that.router.navigate(['/home/routes']);\r\n }\r\n\r\n exportToExcel() {\r\n\r\n if (this.reportData.length > 0) {\r\n this.excelService.exportAsExcelFile(this.reportData, 'Lista de Rutas');\r\n } else {\r\n swal({\r\n title: 'No hay datos para exportar',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n\r\n addNewRoute(){\r\n console.log(this.newRoute)\r\n const user = this.commonService.getUserName()\r\n const arrayValues = new Array()\r\n const dataTable = new Array()\r\n this.routesService.saveRoutesService(this.newRoute.Name,\r\n this.newRoute.Description, \r\n this.newRoute.Divipol_code, \r\n this.newRoute.Travel_time, \r\n this.newRoute.Distance, \r\n this.newRoute.Forward_or_back, \r\n user\r\n )\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n console.log(response)\r\n if (response) {\r\n if (response.status === 'EXITO') {\r\n console.log(response.result)\r\n this.title = response.message;\r\n this.type = 'success';\r\n swal({\r\n title: this.title,\r\n text: '',\r\n type: this.type,\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n });\r\n this.filterRoutes();\r\n this.isAddingNewRout = false;\r\n } else {\r\n this.title = response.message;\r\n this.type = 'error';\r\n swal({\r\n title: this.title,\r\n text: '',\r\n type: this.type,\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n });\r\n }\r\n }\r\n });\r\n }\r\n}\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/routes/routes.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".set-map {\\r\\n height: 400px;\\r\\n width: 100%!important;\\r\\n}\\r\\n#btn-content{\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/routetrace/routetrace.component.css\n// module id = ../../../../../src/app/components/routetrace/routetrace.component.css\n// module chunks = main","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Trazado de ruta
    \\r\\n
    \\r\\n

     

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n La ruta es requerida.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n

    \\r\\n\\r\\n

    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/routetrace/routetrace.component.html\n// module id = ../../../../../src/app/components/routetrace/routetrace.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\r\nimport { PointsService} from '../../services/points.service';\r\nimport { RoutesService} from '../../services/routes.service';\r\nimport { RouteService} from '../../services/route.service';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { Observable} from 'rxjs/Observable';\r\nimport {any} from \"codelyzer/util/function\";\r\nimport { AlertService} from '../../services/alert.service';\r\nimport swal from 'sweetalert2';\r\ndeclare const google: any;\r\n\r\nvar originMarker: any;\r\nvar destinationMarker:any;\r\nvar directionsService: any;\r\nvar directionsDisplay: any;\r\nvar map: any;\r\nvar originLat:number;\r\nvar originLng:number;\r\nvar destinationLat:number;\r\nvar destinationLng:number;\r\nvar arrCtrlPts: any = [];\r\nvar all_overlays : any = [];\r\n\r\nvar isOriginDestinationCreated: boolean = false;\r\nvar isOriginCreated: boolean = false;\r\nvar isDestinationCreated: boolean = false;\r\nvar isRouteCreated: boolean = false;\r\nvar isOptionalRouteCreated: boolean =false;\r\n\r\n@Component({\r\n selector: 'app-routetrace',\r\n templateUrl: './routetrace.component.html',\r\n styleUrls: ['./routetrace.component.css']\r\n})\r\nexport class RoutetraceComponent implements OnInit {\r\n points: any = [];\r\n circles: any = [];\r\n routes: any = [];\r\n pointsType: any = [];\r\n routetrace: any = {};\r\n data: any = {};\r\n wAux: any [] = [];\r\n /*public nombreRuta: string;\r\n public direccionOrigen: string;\r\n public direccionDestino: string;*/\r\n routeId: number = -1;\r\n\r\n public isPtCreated=false;\r\n public isValid=true;\r\n public isCollapsed = true;\r\n public rId=0;\r\n public isDisable=true;\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private routesService: RoutesService,\r\n private routeService: RouteService,\r\n private pointsService: PointsService,\r\n private commonService: CommonService,\r\n private alertService: AlertService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getRoutes();\r\n this.loadControlPoints();\r\n map = new google.maps.Map((document.getElementById('b-map')), {\r\n zoom: 7,\r\n center: new google.maps.LatLng(4.624335, -74.063644)\r\n });\r\n\r\n var places1 = new google.maps.places.Autocomplete((document.getElementById('originLocation')));\r\n console.log('places1 : ', places1)\r\n google.maps.event.addListener(places1, 'place_changed', () => {\r\n var place1 = places1.getPlace();\r\n\r\n var src_addr = place1.formatted_address;\r\n var src_lat = place1.geometry.location.lat();\r\n var src_long = place1.geometry.location.lng();\r\n originLat=src_lat;\r\n originLng=src_long;\r\n var mesg1 = \"Address 1: \" + src_addr;\r\n mesg1 += \"\\nLatitude: \" + src_lat;\r\n mesg1 += \"\\nLongitude: \" + src_long;\r\n this.addOriginPoint();\r\n });\r\n var places2 = new google.maps.places.Autocomplete((document.getElementById('destinationLocation')));\r\n google.maps.event.addListener(places2, 'place_changed', () => {\r\n var place2 = places2.getPlace();\r\n\r\n var src_addr = place2.formatted_address;\r\n var src_lat = place2.geometry.location.lat();\r\n var src_long = place2.geometry.location.lng();\r\n destinationLat=src_lat;\r\n destinationLng=src_long;\r\n var mesg2 = \"Address 2: \" + src_addr;\r\n mesg2 += \"\\nLatitude: \" + src_lat;\r\n mesg2 += \"\\nLongitude: \" + src_long;\r\n this.addDestinationPoint();\r\n });\r\n }\r\n getRoutes():void{\r\n this.routesService.getRoutesByUsername(this.commonService.getUserName()).then(response => {\r\n if(response){\r\n this.routes = response;\r\n this.routes.sort(function (a, b) {\r\n if (a.name > b.name) {\r\n return 1;\r\n }\r\n if (a.name < b.name) {\r\n return -1;\r\n }\r\n // a must be equal to b\r\n return 0;\r\n });\r\n }\r\n });\r\n }\r\n loadControlPoints(){\r\n this.pointsService.getPointByUser(this.commonService.getUserName()).then(response => {\r\n if(response){\r\n var len=response.length;\r\n if(len>0){\r\n this.points=response;\r\n for(var i=0;i'+response[i].name+'

    ' +\r\n '';\r\n circle.info = new google.maps.InfoWindow({\r\n content: infoWindowContent\r\n });\r\n google.maps.event.addListener(circle, 'click', function() {\r\n this.info.setPosition(this.getCenter());\r\n this.info.open(map, this);\r\n });\r\n circle.mID = response[i].id;\r\n this.circles.push({id:response[i].id, circle:circle});\r\n console.log(this.circles);\r\n map.setZoom(10);\r\n map.setCenter(coordinate);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n onSelectRoute(value):void{\r\n /*for (var i = 0; i < this.circles.length; i++) {\r\n this.circles[i].circle.setMap(null);\r\n }*/\r\n\tif(originMarker!=null){\r\n originMarker.setMap(null);\r\n originMarker=null;\r\n }\r\n\tif(destinationMarker!=null){\r\n\t destinationMarker.setMap(null);\r\n\t destinationMarker=null;\r\n\t}\r\n\tisOriginCreated=false;\r\n\tisDestinationCreated=false;\r\n\r\n\tthis.routetrace={};\r\n\toriginLat=null;\r\n\toriginLng=null;\r\n\tdestinationLat=null;\r\n\tdestinationLng=null;\r\n\tif(directionsDisplay != null) {\r\n\t directionsDisplay.setMap(null);\r\n\t directionsDisplay = null;\r\n\t}\r\n\tisRouteCreated=false;\r\n\tthis.wAux = [];\r\n if(value!=\"0\"){\r\n this.rId=value;\r\n this.routetrace.id =value;\r\n\t this.loadRoute(value);\r\n this.isDisable=false;\r\n }else {\r\n this.isDisable = true;\r\n }\r\n }\r\n loadRoute(idRoute) {\r\n var waypts = [];\r\n this.wAux = [];\r\n this.routeService.getRoute(idRoute).then(response => {\r\n if (response) {\r\n this.routetrace = {};\r\n this.routetrace.id = response[0].id;\r\n var routeData = response[0].route_data;\r\n try {\r\n var str = routeData;\r\n var obj = JSON.parse(str);\r\n\r\n originLng = obj.origin.originLng;\r\n originLat = obj.origin.originLat;\r\n destinationLat = obj.destination.destinationLat;\r\n destinationLng = obj.destination.destinationLng;\r\n\r\n if (obj.waypoints.length > 0) {\r\n for(var i=0;i Ubicación: '+(document.getElementById('originLocation')).value+'

    ' +\r\n '';\r\n var infoWindow1 = new google.maps.InfoWindow({\r\n content: infoWindowContent1\r\n });\r\n originMarker = new google.maps.Marker({\r\n position: coordinate,\r\n map: map,\r\n draggable: true\r\n });\r\n google.maps.event.addListener(originMarker, 'click', function() {\r\n infoWindow1.open(map, originMarker);\r\n });\r\n google.maps.event.addListener(originMarker, 'dragend', function(marker){\r\n var latLng = marker.latLng;\r\n originLat = latLng.lat();\r\n originLng = latLng.lng();\r\n //alert(originLat+\" \"+originLng);\r\n });\r\n isOriginCreated=true;\r\n }\r\n }else{\r\n swal({\r\n title: \"Ya se ha creado un punto de origen.\",\r\n text: '',\r\n type: 'warning'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n addDestinationPoint(){\r\n if(isDestinationCreated==false){\r\n //if (!destinationLat || !destinationLng) return;\r\n\r\n var coordinate = new google.maps.LatLng(destinationLat, destinationLng);\r\n if (destinationMarker)\r\n {\r\n }\r\n else\r\n {\r\n //create a marker\r\n var infoWindowContent2 = '
    ' +\r\n '

    Ubicación: '+(document.getElementById('destinationLocation')).value+'

    ' +\r\n '
    ';\r\n var infoWindow2 = new google.maps.InfoWindow({\r\n content: infoWindowContent2\r\n });\r\n var pinImage = new google.maps.MarkerImage(\"http://www.googlemapsmarkers.com/v1/7d2181/\");\r\n destinationMarker = new google.maps.Marker({\r\n position: coordinate,\r\n icon:pinImage,\r\n map: map,\r\n draggable: true\r\n });\r\n google.maps.event.addListener(destinationMarker, 'click', function() {\r\n infoWindow2.open(map, destinationMarker);\r\n });\r\n google.maps.event.addListener(destinationMarker, 'dragend', function(marker){\r\n var latLng = marker.latLng;\r\n destinationLat = latLng.lat();\r\n destinationLng = latLng.lng();\r\n //alert(destinationLat+\" \"+destinationLng);\r\n });\r\n isDestinationCreated=true;\r\n }\r\n }else{\r\n swal({\r\n title: \"Ya se ha creado un punto de destino.\",\r\n text: '',\r\n type: 'warning'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n eraseRtn(){\r\n if(isOriginCreated || isDestinationCreated){\r\n let that = this;\r\n swal({\r\n title: '¿Esta seguro de borrar los puntos de origen y/o de destino, y la ruta?',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Sí',\r\n cancelButtonText: 'No'\r\n }).then(function (s) {\r\n if(s.dismiss !== undefined){\r\n if (s.dismiss.toString() === 'cancel') {\r\n }\r\n }else{\r\n if(s.value!== undefined){\r\n if(s.value){\r\n if(originMarker!=null){\r\n originMarker.setMap(null);\r\n originMarker=null;\r\n }\r\n if(destinationMarker!=null){\r\n destinationMarker.setMap(null);\r\n destinationMarker=null;\r\n }\r\n isOriginCreated=false;\r\n isDestinationCreated=false;\r\n\r\n //that.routetrace={};\r\n /*if(that.routeId>-1){\r\n that.ruta.id = that.routeId;\r\n }*/\r\n that.routetrace.originLocation=\"\";\r\n that.routetrace.destinationLocation=\"\";\r\n originLat=null;\r\n originLng=null;\r\n destinationLat=null;\r\n destinationLng=null;\r\n if (directionsDisplay != null) {\r\n directionsDisplay.setMap(null);\r\n directionsDisplay = null;\r\n }\r\n isRouteCreated=false;\r\n that.wAux = [];\r\n }\r\n }\r\n }\r\n }).catch(swal.noop);\r\n }else{\r\n swal({\r\n title: \"No se ha creado el punto de origen y/o de destino, o la ruta\",\r\n text: '',\r\n type: 'warning'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n traceRtn(){\r\n if(isOriginCreated&&isDestinationCreated){\r\n if(isRouteCreated==false){\r\n directionsService = new google.maps.DirectionsService();\r\n directionsDisplay = new google.maps.DirectionsRenderer({\r\n draggable: true,\r\n suppressMarkers: true\r\n });\r\n var request = {\r\n origin:new google.maps.LatLng(originLat, originLng),\r\n destination: new google.maps.LatLng(destinationLat, destinationLng),\r\n travelMode: google.maps.DirectionsTravelMode.DRIVING\r\n };\r\n directionsDisplay.setMap(map);\r\n directionsService.route(request, function(response, status) {\r\n if (status === google.maps.DirectionsStatus.OK) {\r\n directionsDisplay.setDirections(response);\r\n originMarker.setMap(null);\r\n destinationMarker.setMap(null);\r\n var coordinateOrigin = new google.maps.LatLng(originLat, originLng);\r\n var coordinateDestination=new google.maps.LatLng(destinationLat, destinationLng);\r\n originMarker = new google.maps.Marker({\r\n position: coordinateOrigin,\r\n map: map\r\n });\r\n var pinImage = new google.maps.MarkerImage(\"http://www.googlemapsmarkers.com/v1/7d2181/\");\r\n destinationMarker = new google.maps.Marker({\r\n position: coordinateDestination,\r\n icon:pinImage,\r\n map: map\r\n });\r\n\r\n }\r\n });\r\n isRouteCreated=true;\r\n }else{\r\n swal({\r\n title: \"Ya se ha creado una ruta.\",\r\n text: '',\r\n type: 'warning'\r\n }).catch(swal.noop);\r\n }\r\n }else if(isOriginCreated==false || isDestinationCreated==false){\r\n swal({\r\n title: \"No se ha creado el punto de origen y/o de destino.\",\r\n text: '',\r\n type: 'warning'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n saveRtn(){\r\n var isSubmitted=true;\r\n var msg=\"\";\r\n if(isRouteCreated){\r\n if(isSubmitted){\r\n let that = this;\r\n swal({\r\n title: '¿Esta seguro de guardar la ruta?',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Sí',\r\n cancelButtonText: 'No'\r\n }).then(function (s) {\r\n console.log(s);\r\n if(s.dismiss !== undefined){\r\n if (s.dismiss.toString() === 'cancel') {\r\n }\r\n }else{\r\n if(s.value!== undefined){\r\n if(s.value){\r\n \r\n var w=[],wp;\r\n var rleg = directionsDisplay.directions.routes[0].legs[0];\r\n that.data.origin = {'originLat': originLat, 'originLng':originLng};\r\n that.data.destination = {'destinationLat': destinationLat, 'destinationLng':destinationLng};\r\n var wp = rleg.via_waypoints;\r\n console.log(wp);\r\n console.log(\"---------\");\r\n if(that.wAux.length==0){\r\n for(var i=0;i{\r\n if (response) {\r\n if (response.status == 'EXITO') {\r\n swal({\r\n title: 'Se ha guardado la ruta exitosamente',\r\n text: '',\r\n type: 'success'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }).catch(swal.noop);\r\n\r\n }else{\r\n swal({\r\n title: msg,\r\n text: '',\r\n type: 'warning'\r\n }).catch(swal.noop);\r\n }\r\n }else{\r\n swal({\r\n title: \"No se ha creado una ruta.\",\r\n text: '',\r\n type: 'warning'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/routetrace/routetrace.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".multiselect-style{\\r\\n width: 500px;\\r\\n height: auto;\\r\\n }\\r\\n .ng-select.custom {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n width: 1%;\\r\\n }\\r\\n .ng-select.custom .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n }\\r\\n .ng-select.custom_1 {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n }\\r\\n .ng-select.custom_1 .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n }\\r\\n \\r\\n ng-select.ng-invalid.ng-touched .ng-select-container {\\r\\n border-color: #dc3545;\\r\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px #fde6e8;\\r\\n }\\r\\n \\r\\n \\r\\n table {\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n .mat-form-field {\\r\\n font-size: 14px;\\r\\n width: 100%;\\r\\n }\\r\\n \\r\\n td, th {\\r\\n width: 25%;\\r\\n padding-left: 1%;\\r\\n }\\r\\n .cdk-visually-hidden{\\r\\n display: none !important;\\r\\n }\\r\\n \\r\\n #filter-panel{\\r\\n border: solid; \\r\\n background:#4c6c8b; \\r\\n color: #fff;\\r\\n padding: 10px;\\r\\n }\\r\\n \\r\\n \\r\\n #select{\\r\\n border: 1px solid #adadad;\\r\\n background :inherit;\\r\\n color : #fff;\\r\\n \\r\\n }\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/settlement/settlement.component.css\n// module id = ../../../../../src/app/components/settlement/settlement.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

     

    \\r\\n

     

    \\r\\n

     

    \\r\\n

    Cargando...

    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    Liquidación

    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Búsqueda Avanzada

    \\r\\n
    Realizar una búsqueda avanzada de Liquidación
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n

     

    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    {{ totalProm }}

    \\r\\n
    Pasajeros movilizados
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n

    {{ this.settlement }}

    \\r\\n
    Liquidacion
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Viaje\\r\\n {{element.trip}} \\r\\n \\r\\n\\r\\n \\r\\n Placa\\r\\n {{element.plate}} \\r\\n \\r\\n\\r\\n \\r\\n Conductor\\r\\n {{element.driver}} \\r\\n \\r\\n\\r\\n \\r\\n Desde\\r\\n {{ element.startdate }} \\r\\n \\r\\n\\r\\n \\r\\n Hasta\\r\\n {{ element.endingTime }} \\r\\n \\r\\n\\r\\n \\r\\n Viajes\\r\\n {{ element.tripsAmount }} \\r\\n \\r\\n\\r\\n \\r\\n Despacho\\r\\n {{ element.rfidDispatched }} \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Total Pasajeros\\r\\n {{ element.passengerAmount }}\\r\\n \\r\\n \\r\\n \\r\\n Tarifa Promedio\\r\\n \\r\\n \\r\\n ${{(element.tarifaProm / 1000).toFixed(3)}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n Liquidación\\r\\n ${{(element.liquidation / 1000).toFixed(3)}} \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/settlement/settlement.component.html\n// module id = ../../../../../src/app/components/settlement/settlement.component.html\n// module chunks = main","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { PassengersReportService } from '../../services/passengers-report.service';\r\nimport {any} from 'codelyzer/util/function';\r\nimport { CommonService } from '../../services/common.service' ;\r\n// import { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport swal from 'sweetalert2';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { DriversService } from '../../services/drivers.service';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\ndeclare var $: any;\r\nimport { ConsolidatedByPlateService } from '../../services/consolidated-by-plate.service';\r\n\r\n@Component({\r\n selector: 'app-settlement',\r\n templateUrl: './settlement.component.html',\r\n styleUrls: ['./settlement.component.css']\r\n})\r\nexport class SettlementComponent implements OnInit {\r\n\r\n imeiVei: any= {};\r\n vehiculo: any= {};\r\n user_account: any;\r\n data: any = [];\r\n placas: any = [];\r\n report: any = [];\r\n mensajeError: any;\r\n model: any = {};\r\n returnUrl: string;\r\n isSubmitted: any = false;\r\n // loading = false;\r\n dataReport: any = [];\r\n totalIn: any;\r\n totalOut: any;\r\n totalProm: any;\r\n rate: any;\r\n settlement: any;\r\n dateNowInit: any;\r\n dateNowEnd: any;\r\n public loading = false;\r\n\r\n dataObj: any = [];\r\n reportAux: any = [];\r\n\r\n\r\n plates: any = [];\r\n platesSettings = {};\r\n selectedPlates = [];\r\n\r\n drivers = []\r\n driversSettings = {};\r\n selectedDrivers = [];\r\n displayedColumns: string[];\r\n dataReport2: any = [];\r\n filterMenuVisible: boolean = false;\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private vpcReportService: PassengersReportService,\r\n private commonService: CommonService,\r\n private spinner: NgxSpinnerService,\r\n private driversService: DriversService,\r\n private consolidatedByPlateService: ConsolidatedByPlateService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getPlates();\r\n this.getDrivers();\r\n this.setFilterstData();\r\n }\r\n\r\n loadReport(): void {\r\n console.log(this.reportAux)\r\n this.dataObj = [];\r\n //console.log('this.imeiVei : ', this.imeiVei.sn_imei_id)\r\n var d1, m1, d2, m2;\r\n if (this.reportAux.dateIni.day < 10) {\r\n d1 = '0' + this.reportAux.dateIni.day;\r\n } else {\r\n d1 = this.reportAux.dateIni.day;\r\n }\r\n if (this.reportAux.dateIni.month < 10) {\r\n m1 = '0' + this.reportAux.dateIni.month;\r\n } else {\r\n m1 = this.reportAux.dateIni.month;\r\n }\r\n var dateIni = d1 + '-' + m1 + '-' + this.reportAux.dateIni.year + ' ' + this.reportAux.timeIni;\r\n\r\n if (this.reportAux.dateFin.day < 10) {\r\n d2 = '0' + this.reportAux.dateFin.day;\r\n } else {\r\n d2 = this.reportAux.dateFin.day;\r\n }\r\n if (this.reportAux.dateFin.month < 10) {\r\n m2 = '0' + this.reportAux.dateFin.month;\r\n } else {\r\n m2 = this.reportAux.dateFin.month;\r\n }\r\n var dateFin = d2 + '-' + m2 + '-' + this.reportAux.dateFin.year + ' ' + this.reportAux.timeFin;\r\n dateIni = dateIni.replace(':', '_');\r\n dateFin = dateFin.replace(':', '_');\r\n //console.log(dateIni);\r\n //console.log(dateFin);\r\n //if (this.imeiVei == undefined) {\r\n $('.tbodyTable').empty();\r\n //var dateIni = $('#dateIni').val().replace(':', '_');\r\n //var dateFin = $('#dateFin').val().replace(':', '_');\r\n //console.log(dateIni);\r\n var imeis = this.selectedPlates.map(({ sn_imei_id }) => \"'\" + sn_imei_id + \"'\").toString();\r\n var driversId = this.selectedDrivers.map(({ id }) => \"'\" + id + \"'\").toString();\r\n this.spinner.show();\r\n if(imeis == \"\"){\r\n swal({\r\n title: 'Debe seleccionar al menos una Placa',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n this.spinner.hide();\r\n return\r\n }\r\n if (dateIni && dateFin) {\r\n //var rfidOnly = this.reportAux.rfidOnly == true ? \"1\": \"0\"\r\n this.consolidatedByPlateService.liquidationReport(imeis, dateIni, dateFin,\r\n this.reportAux.rfidOnly, driversId)\r\n .then(data => {\r\n console.log('data : ', data)\r\n this.dataReport = [];\r\n // $('.tbodyTable').empty();\r\n this.spinner.hide();\r\n this.report = data;\r\n\r\n // const dateValidate = new Date('2018-01-01 00:00:00.00');\r\n // const dateValidateSum = new Date('2018-01-01 00:00:00.00');\r\n // let trip = 0;\r\n // let totalIn = 0;\r\n // let totalOut = 0;\r\n // let promTot = 0;\r\n\r\n\r\n const quant = parseInt(data.length);\r\n if (quant > 0) {\r\n // $('.tbodyTable').empty();\r\n // for (let i = 0; i < data.length; i++) {\r\n // data[i].trip = trip\r\n // // data[i].plate = this.imeiVei.tracker_name;\r\n // const dateArray = new Date(data[i].startdate);\r\n // if (dateArray < dateValidate || dateArray > dateValidateSum) {\r\n // var it = {};\r\n // trip = trip + 1\r\n // data[i].trip = trip\r\n // it[\"Viaje\"] = trip;\r\n // it[\"Placa\"] = data[i].plate;\r\n // it[\"Ruta\"] = data[i].route;\r\n // it[\"Fecha\"] = data[i].registerTime;\r\n // it[\"Bloqueos\"] = data[i].countBlock;\r\n // it[\"Kms recorridos\"] = data[i].journey;\r\n // it[\"Velocidad máxima\"] = data[i].speed;\r\n // it[\"Hora inicio\"] = data[i].startTime;\r\n // it[\"Hora fin\"] = data[i].endTime;\r\n // it[\"Ingresos puerta trasera\"] = data[i].backdoorin;\r\n // console.log('backdoorin : ', data[i].backdoorin)\r\n // it[\"Pasajeros movilizados\"] = data[i].totalProm;\r\n // console.log('totalProm : ', data[i].totalProm)\r\n // it[\"Tiempo de viaje\"] = data[i].time;\r\n // console.log('time : ', data[i].time)\r\n // console.log('dataaaaa : ', data[i])\r\n // this.dataReport.push(data[i]);\r\n // this.dataObj.push(it);\r\n // }\r\n // console.log('this.dataObj : ', this.dataObj)\r\n // dateValidateSum.setMinutes(dateValidateSum.getMinutes() + 10);\r\n // event.preventDefault();\r\n // totalIn = totalIn + parseInt(data[i]['totalInPass']);\r\n // totalOut = totalOut + parseInt(data[i]['totalOutPass']);\r\n // }\r\n // this.totalIn = totalIn;\r\n // console.log('this.totalIn : ', this.totalIn)\r\n // this.totalOut = totalOut;\r\n // console.log('this.totalOut : ', this.totalOut)\r\n // this.totalProm = Math.round((this.totalIn + this.totalOut) / 2);\r\n\r\n this.setTable(data)\r\n } else {\r\n $('.tbodyTable').empty();\r\n swal({\r\n title: 'No existen datos para este rango de fechas',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n })\r\n .catch(error => {\r\n this.spinner.hide();\r\n console.log(error)\r\n // console.log('vpcReport.component.error');\r\n swal({\r\n title: 'No es posible realizar la consulta, comuníquese con el administrador del sistema',\r\n text: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n });\r\n } else {\r\n this.spinner.hide();\r\n swal({\r\n title: 'Ingresa Todos los campos solicitados',\r\n text: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n // } else {\r\n\r\n // }\r\n }\r\n\r\n setTable(data) {\r\n // this.displayedColumns = [\"Viaje\",\r\n // \"Placa\",\r\n // \"Dispatcher\",\r\n // \"Route\",\r\n // \"Driver\",\r\n // \"inicio\",\r\n // \"fin\",\r\n // \"tarifaType\",\r\n // \"passengers\",\r\n // \"tarifaProm\",\r\n // \"Liquidation\",\r\n // ];\r\n\r\n this.displayedColumns = [\"Viaje\",\r\n \"Placa\",\r\n \"Driver\",\r\n \"inicio\",\r\n \"fin\",\r\n \"Trips\",\r\n \"Despacho\",\r\n \"Passengers\",\r\n \"tarifaProm\",\r\n \"Liquidation\",\r\n ];\r\n\r\n this.totalProm = 0\r\n this.dataObj = []\r\n console.log(data)\r\n var totalPassengers = 0\r\n var totalLiquidation = 0\r\n for (var i in data) {\r\n\r\n data[i].trip = +i + 1\r\n\r\n if(data[i].realTotalPassengers > 0){\r\n totalPassengers += data[i].realTotalPassengers\r\n }\r\n\r\n if(data[i].liquidation > 0){\r\n totalLiquidation += data[i].liquidation\r\n }\r\n\r\n data[i].startdate = new Date(data[i].startdate)\r\n data[i].endingdate = new Date(data[i].endTime)\r\n\r\n // data[i].startdate = data[i].startdate\r\n // data[i].startTime = data[i].startdate.toLocaleTimeString('es-CO', { hour12: true, hour: '2-digit', minute:'2-digit' })\r\n\r\n data[i].endingTime = data[i].endingdate.toLocaleString('es-CO', { hour12: true })\r\n // data[i].endingTime = data[i].endingTime.split(\",\")[1]\r\n\r\n data[i].startdate = data[i].startdate.toLocaleString('es-CO', { hour12: true })\r\n\r\n // data[i].startdate = new Date(data[i].startdate)\r\n // data[i].endingdate = new Date(data[i].endTime)\r\n\r\n // data[i].startdate = data[i].startdate\r\n // data[i].startTime = data[i].startdate.toLocaleTimeString('es-CO', { hour12: true, hour: '2-digit', minute:'2-digit' })\r\n\r\n //data[i].endingTime = data[i].endingdate.toLocaleString('es-CO', { hour12: true })\r\n // data[i].endingTime = data[i].endingTime.split(\",\")[1]\r\n\r\n //data[i].startdate = data[i].startdate.toLocaleString('es-CO', { hour12: true })\r\n // data[i].startdate = data[i].startdate.split(\",\")[0]\r\n\r\n //this.totalProm += data[i].fixRatePassengers\r\n // data[i].countBlock = data[i].tripsAmount\r\n this.setExcelData(data[i])\r\n }\r\n\r\n this.totalProm = totalPassengers\r\n\r\n // totalLiquidation = totalLiquidation * \r\n this.settlement = (totalLiquidation)\r\n //this.settlement = +this.settlement.ToString(\"C0\")\r\n\r\n var formatter = new Intl.NumberFormat('es-CO', {\r\n style: 'currency',\r\n currency: 'COP',\r\n });\r\n \r\n this.settlement = formatter.format(this.settlement).replace(\",00\",\"\");\r\n\r\n this.dataReport2 = new MatTableDataSource(data);\r\n\r\n setTimeout(() => {\r\n this.forceTablePaginator()\r\n },\r\n 500);\r\n\r\n this.dataReport2.sort = this.sort;\r\n\r\n // Esconde el paginador porque no es posible cambair la paginación por problemas con el componente\r\n }\r\n\r\n setFilterstData() {\r\n var now = new Date(); //currentDate\r\n this.reportAux.dateIni = { year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate() };\r\n this.reportAux.dateFin = { year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate() };\r\n this.reportAux.timeIni = '00:00';\r\n this.reportAux.timeFin = '23:59';\r\n this.reportAux.rfidOnly = 1\r\n }\r\n\r\n getDrivers(): void {\r\n\r\n this.driversSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'name',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n this.driversService.getDrivers_rol(this.commonService.getUserName())\r\n .then(response => {\r\n console.log(response)\r\n this.drivers = response\r\n });\r\n }\r\n\r\n getPlates(): void {\r\n\r\n this.platesSettings = {\r\n singleSelection: false,\r\n idField: 'sn_imei_id',\r\n textField: 'tracker_name',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n this.spinner.show();\r\n this.vpcReportService.getPlates(this.commonService.getUserName()).then(response => {\r\n console.log(response)\r\n this.plates = response;\r\n this.plates.sort(function (a, b) {\r\n if (a.tracker_name > b.tracker_name) {\r\n return 1;\r\n }\r\n if (a.tracker_name < b.tracker_name) {\r\n return -1;\r\n }\r\n // a must be equal to b\r\n return 0;\r\n });\r\n\r\n for (var i in this.plates) {\r\n this.plates[i].tracker_name = this.plates[i].tracker_name + \" - \" + this.plates[i].license_plate\r\n }\r\n console.log('response : : : ', this.plates)\r\n // this.platesBuffer = this.plates.slice(0, this.bufferSize);\r\n this.user_account = this.plates.user_account;\r\n this.imeiVei = this.plates.sn_imei_id;\r\n });\r\n this.spinner.hide();\r\n }\r\n\r\n setExcelData(data){\r\n \r\n let item = {}\r\n item[\"Viaje\"] = data.trip\r\n item[\"Placa\"] = data.plate\r\n item[\"Conductor\"] = data.driver\r\n item[\"Ruta\" ] = data.route\r\n item[\"Fecha Registro\" ] = data.startdate\r\n item[\"Bloqueos\" ] = data.countBlock\r\n item[\"Kms recorridos\"] = data.journey\r\n item[\"Velocidad maxima<\"] = data.max_speed\r\n item[\"Hora inicio\"] = data.startTime\r\n item[\"Hora fin\"] = data.endingTime\r\n item[\"Ingresos puerta trasera\"] = data.backdoorin\r\n item[\"Pasajeros movilizados\"] = data.totalProm\r\n item[\"Tiempo de viaje\"] = data.time\r\n\r\n this.dataObj.push(item)\r\n console.log(this.dataObj)\r\n \r\n }\r\n\r\n toggleFilterMenu() {\r\n this.filterMenuVisible = !this.filterMenuVisible;\r\n }\r\n\r\n forceTablePaginator() {\r\n try {\r\n // this.dataReport2.paginator = this.paginator;\r\n this.dataReport2.paginator._intl.itemsPerPageLabel = \"Filas por Página:\"\r\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\r\n } catch (error) {\r\n try {\r\n this.dataReport2.paginator = this.paginator;\r\n this.dataReport2.paginator._intl.itemsPerPageLabel = \"Filas por Página:\"\r\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/settlement/settlement.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".multiselect-style{\\r\\n width: 500px;\\r\\n height: auto;\\r\\n}\\r\\n.ng-select.custom {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n width: 1%;\\r\\n}\\r\\n.ng-select.custom .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n}\\r\\n.ng-select.custom_1 {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n}\\r\\n.ng-select.custom_1 .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n}\\r\\n\\r\\nng-select.ng-invalid.ng-touched .ng-select-container {\\r\\n border-color: #dc3545;\\r\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px #fde6e8;\\r\\n}\\r\\n\\r\\n\\r\\ntable {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.mat-form-field {\\r\\n font-size: 14px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\ntd, th {\\r\\n width: 25%;\\r\\n padding-left: 1%;\\r\\n}\\r\\n.cdk-visually-hidden{\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n#filter-panel{\\r\\n border: solid;\\r\\n background:#4c6c8b;\\r\\n color: #fff;\\r\\n padding: 10px;\\r\\n padding-bottom: 0px;\\r\\n}\\r\\n\\r\\nmat-row{\\r\\n min-width: 170% !important;\\r\\n}\\r\\n\\r\\nmat-header-row{\\r\\n min-width: 170% !important;\\r\\n}\\r\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/time-report/time-report.component.css\n// module id = ../../../../../src/app/components/time-report/time-report.component.css\n// module chunks = main","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n

     

    \\r\\n

     

    \\r\\n

     

    \\r\\n

    Cargando...

    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    Reporte de tiempos

    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Búsqueda Avanzada

    \\r\\n
    Realizar una búsqueda avanzada de Reporte de Tiempos
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n

     

    \\r\\n\\r\\n
    {{ plates.user_account}}
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    {{totalMas}}

    \\r\\n
    Total Depués
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    {{totalMenos}}

    \\r\\n
    Total Antes
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n Placa\\r\\n

    {{element.Plate}}

    \\r\\n
    \\r\\n\\r\\n \\r\\n Conductor\\r\\n

    {{element.Driver}}

    \\r\\n
    \\r\\n\\r\\n \\r\\n Nombre de Ruta\\r\\n {{element.RouteName}} \\r\\n \\r\\n\\r\\n \\r\\n Fecha\\r\\n {{element.StartDate}} \\r\\n \\r\\n\\r\\n \\r\\n Hora inicio\\r\\n {{element.StartTime}}\\r\\n \\r\\n\\r\\n \\r\\n Hora fin\\r\\n {{element.EndingDate}} \\r\\n \\r\\n\\r\\n \\r\\n Tipo de Hora\\r\\n {{element.TimeType}} \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n {{point.name}}\\r\\n\\r\\n \\r\\n \\r\\n {{element[point.name]}}\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n Total Antes\\r\\n {{element.totalBefore}} \\r\\n \\r\\n\\r\\n \\r\\n Total Después\\r\\n {{element.totalAfter}} \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/time-report/time-report.component.html\n// module id = ../../../../../src/app/components/time-report/time-report.component.html\n// module chunks = main","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport * as $ from 'jquery';\r\nimport { PassengersReportService } from '../../services/passengers-report.service';\r\nimport { CommonService } from '../../services/common.service' ;\r\nimport { PointsService} from '../../services/points.service';\r\nimport { ExcelService} from '../../services/excel.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgSelectOption } from '@angular/forms';\r\nimport {Observable} from 'rxjs/Rx';\r\nimport 'rxjs/add/operator/map';\r\n\r\nimport swal from 'sweetalert2';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport {MatPaginator} from '@angular/material/paginator';\r\n\r\nimport { MatTableModule } from '@angular/material' \r\n\r\nimport {MatSort} from '@angular/material/sort';\r\nimport { DriversService } from '../../services/drivers.service';\r\nimport { throwMatDialogContentAlreadyAttachedError } from '@angular/material';\r\n//declare var $: any;\r\nvar s='';\r\n//declare var $ :any;\r\n@Component({\r\n selector: 'app-time-report',\r\n templateUrl: './time-report.component.html',\r\n styleUrls: ['./time-report.component.css']\r\n})\r\nexport class TimeReportComponent implements OnInit {\r\n platesBuffer = [];\r\n loading1 = false;\r\n bufferSize = 50;\r\n imeiVei: any= {};\r\n vehiculo: any= {};\r\n plates: any = [];\r\n user_account: any;\r\n dataObj: any = [];\r\n data: any = [];\r\n cols: any = [];\r\n checkingPoints: any = [];\r\n placas: any = [];\r\n report: any = [];\r\n reportAux: any = [];\r\n model: any = {};\r\n returnUrl: string;\r\n isSubmitted: any = false;\r\n dataReport: any = [];\r\n dataReport2: any = [];\r\n totalIn: any;\r\n totalOut: any;\r\n totalAfter: any;\r\n totalBefore: any;\r\n\r\n promTot: any;\r\n totalProm: any;\r\n dateNowInit: any;\r\n dateNowEnd: any;\r\n public loading = false;\r\n dIni: any;\r\n dFin: any;\r\n filterMenuVisible: boolean = false;\r\n displayedColumns: string[];\r\n\r\n selectedCity: any;\r\n controlPoints: any = [];\r\n\r\n platesSettings = {};\r\n selectedPlates = [];\r\n\r\n pointsSettings = {};\r\n selectedPoints = [];\r\n\r\n drivers = []\r\n driversSettings = {};\r\n selectedDrivers = [];\r\n\r\n totalMas = 0\r\n totalMenos = 0\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private vpcReportService: PassengersReportService,\r\n private pointsService: PointsService,\r\n private excelService: ExcelService,\r\n private commonService: CommonService,\r\n private spinner: NgxSpinnerService,\r\n private driversService: DriversService,\r\n ) { }\r\n\r\n ngAfterViewInit(){\r\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\r\n }\r\n\r\n ngOnInit() {\r\n \r\n var now = new Date(); //currentDate\r\n this.reportAux.dateIni = {year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate()};\r\n this.reportAux.dateFin = {year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate()};\r\n this.reportAux.timeIni = '00:00';\r\n this.reportAux.timeFin = '23:59';\r\n\r\n\r\n this.platesSettings = {\r\n singleSelection: false,\r\n idField: 'sn_imei_id',\r\n textField: 'tracker_name',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n this.pointsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'name',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n this.getPlates();\r\n this.getCheckingType();\r\n this.getDrivers();\r\n \r\n }\r\n\r\n getDrivers(): void {\r\n\r\n this.driversSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'name',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n this.driversService.getDrivers_rol(this.commonService.getUserName())\r\n .then(response => {\r\n console.log(response)\r\n this.drivers = response\r\n });\r\n }\r\n \r\n getCheckingType():void{\r\n this.pointsService.getTypeCheckingPoint_rol(this.commonService.getUserName()).then(response => {\r\n if(response){\r\n this.checkingPoints = response;\r\n this.checkRepeatedControlPoints();\r\n\r\n\r\n this.selectedPoints = this.checkingPoints \r\n }\r\n });\r\n }\r\n\r\n checkRepeatedControlPoints(){\r\n // Revisa si existe un punto de control con el mismo nombre\r\n for (let i = 0; i < this.checkingPoints.length; i++) {\r\n for (let j = 0; j < this.checkingPoints.length; j++) {\r\n \r\n if(this.checkingPoints[i].id != this.checkingPoints[j].id\r\n && this.checkingPoints[i].name == this.checkingPoints[j].name){\r\n this.checkingPoints[j].name = this.checkingPoints[j].name + \"2\"\r\n\r\n }\r\n \r\n }\r\n \r\n }\r\n }\r\n\r\n\r\n loadReport(): void {\r\n console.log(s);\r\n this.dataObj = [];\r\n var d1, m1, d2, m2;\r\n if (this.reportAux.dateIni.day < 10) {\r\n d1 = '0' + this.reportAux.dateIni.day;\r\n }else{\r\n d1 = this.reportAux.dateIni.day;\r\n }\r\n if (this.reportAux.dateIni.month < 10) {\r\n m1 = '0' + this.reportAux.dateIni.month;\r\n }else{\r\n m1 = this.reportAux.dateIni.month;\r\n }\r\n var dateIni = d1 + '-' + m1 + '-' + this.reportAux.dateIni.year + ' ' + this.reportAux.timeIni;\r\n\r\n if (this.reportAux.dateFin.day < 10) {\r\n d2 = '0' + this.reportAux.dateFin.day;\r\n }else{\r\n d2 = this.reportAux.dateFin.day;\r\n }\r\n if (this.reportAux.dateFin.month < 10) {\r\n m2 = '0' + this.reportAux.dateFin.month;\r\n }else{\r\n m2 = this.reportAux.dateFin.month;\r\n }\r\n var dateFin = d2 + '-' + m2 + '-' + this.reportAux.dateFin.year + ' ' + this.reportAux.timeFin;\r\n dateIni = dateIni.replace(':', '_');\r\n dateFin = dateFin.replace(':', '_');\r\n console.log('dateIni : ', dateIni);\r\n console.log('dateFin : ', dateFin);\r\n this.spinner.show();\r\n\r\n this.imeiVei = this.selectedPlates.map(({ sn_imei_id }) => \"'\" + sn_imei_id + \"'\").toString();\r\n var points = this.selectedPoints.map(({ id }) => \"'\" + id + \"'\").toString();\r\n var driversId = this.selectedDrivers.map(({ id }) => \"'\" + id + \"'\").toString();\r\n\r\n //if(this.imeiVei!=undefined){\r\n $('.tbodyTable').empty();\r\n //var dateIni = $('#dateIni').val().replace(':', '_');\r\n //var dateFin = $('#dateFin').val().replace(':', '_');\r\n if (dateIni && dateFin) {\r\n console.log('iniciando')\r\n this.vpcReportService.vpcReportTime_new(this.imeiVei, dateIni, dateFin, points, driversId)\r\n .then(data => {\r\n this.spinner.hide();\r\n this.controlPoints = this.checkingPoints\r\n //this.controlPoints = data.controlPoints\r\n \r\n \r\n for(var i in data.trips){\r\n // Limpia la fecha de inicio para usarla como id\r\n var id = data.trips[i].StartDate.replace(/[^0-9\\.]+/g, '');\r\n data.trips[i].id = id\r\n data.trips[i].totalAfter = 0 \r\n data.trips[i].totalBefore = 0\r\n\r\n // Setea la fecha y las hroas\r\n data.trips[i].StartDate = new Date(data.trips[i].StartDate)\r\n data.trips[i].StartTime = data.trips[i].StartDate\r\n .toLocaleString('es-CO', { hour12: true })\r\n .split(\",\")[1]\r\n \r\n data.trips[i].EndingDate = new Date(data.trips[i].EndingDate)\r\n data.trips[i].EndingDate = data.trips[i].EndingDate\r\n .toLocaleString('es-CO', { hour12: true })\r\n .split(\",\")[1]\r\n\r\n data.trips[i].StartDate = data.trips[i].StartDate\r\n .toLocaleString('es-CO', { hour12: true })\r\n .split(\",\")[0]\r\n\r\n // Setea las cantidades \r\n console.log(this.controlPoints)\r\n for(var j in this.controlPoints){\r\n for(var k in data.trips[i].caidas){\r\n var currentCaida = data.trips[i].caidas[k]\r\n \r\n if(this.controlPoints[j].id == currentCaida.ControlPointId){\r\n data.trips[i][this.controlPoints[j].name] = currentCaida.diference\r\n \r\n // Setea la cantidad total\r\n if(+currentCaida.diference < 0){\r\n data.trips[i].totalBefore += currentCaida.diference\r\n this.totalMenos += currentCaida.diference\r\n }else{\r\n data.trips[i].totalAfter += currentCaida.diference\r\n this.totalMas += currentCaida.diference\r\n }\r\n\r\n }else if(data.trips[i][this.controlPoints[j].name] == undefined){// pasó a tiempo por el punto\r\n data.trips[i][this.controlPoints[j].name] = 0\r\n }\r\n\r\n }\r\n\r\n // La ruta no tiene caidas, le pone 0 en cada punto\r\n if(data.trips[i].caidas.length == 0){\r\n data.trips[i][this.controlPoints[j].name] = 0\r\n }\r\n\r\n \r\n }\r\n \r\n }\r\n this.setTable(data.trips, points)\r\n this.setExcelData(data.trips)\r\n console.log(data)\r\n })\r\n .catch(error => {\r\n console.log(error)\r\n this.spinner.hide();\r\n swal({\r\n title: 'No es posible realizar la consulta, comuníquese con el administrador del sistema',\r\n text: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n });\r\n }else {\r\n this.spinner.hide();\r\n swal({\r\n title: 'Ingresa Todos los campos solicitados',\r\n text: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n //}\r\n }\r\n\r\n \r\n\r\n // loadReportOld(): void {\r\n // console.log(s);\r\n // this.dataObj = [];\r\n // console.log('this.imeiVei : ', this.imeiVei)\r\n // console.log('fecha inicial :', this.reportAux.dateIni)\r\n // var d1, m1, d2, m2;\r\n // if (this.reportAux.dateIni.day < 10) {\r\n // d1 = '0' + this.reportAux.dateIni.day;\r\n // }else{\r\n // d1 = this.reportAux.dateIni.day;\r\n // }\r\n // if (this.reportAux.dateIni.month < 10) {\r\n // m1 = '0' + this.reportAux.dateIni.month;\r\n // }else{\r\n // m1 = this.reportAux.dateIni.month;\r\n // }\r\n // var dateIni = d1 + '-' + m1 + '-' + this.reportAux.dateIni.year + ' ' + this.reportAux.timeIni;\r\n\r\n // if (this.reportAux.dateFin.day < 10) {\r\n // d2 = '0' + this.reportAux.dateFin.day;\r\n // }else{\r\n // d2 = this.reportAux.dateFin.day;\r\n // }\r\n // if (this.reportAux.dateFin.month < 10) {\r\n // m2 = '0' + this.reportAux.dateFin.month;\r\n // }else{\r\n // m2 = this.reportAux.dateFin.month;\r\n // }\r\n // var dateFin = d2 + '-' + m2 + '-' + this.reportAux.dateFin.year + ' ' + this.reportAux.timeFin;\r\n // dateIni = dateIni.replace(':', '_');\r\n // dateFin = dateFin.replace(':', '_');\r\n // console.log(dateIni);\r\n // console.log(dateFin);\r\n // this.spinner.show();\r\n // if(this.imeiVei!=undefined){\r\n // $('.tbodyTable').empty();\r\n // //var dateIni = $('#dateIni').val().replace(':', '_');\r\n // //var dateFin = $('#dateFin').val().replace(':', '_');\r\n // if (dateIni && dateFin && this.imeiVei) {\r\n // this.vpcReportService.vpcReportTime(this.imeiVei.sn_imei_id, dateIni, dateFin)\r\n // .then(data => {\r\n // //$('#headTable').html(s);\r\n\r\n // console.log('data : ', data)\r\n // this.dataReport = [];\r\n // //$('.tbodyTable').empty();\r\n // this.spinner.hide();\r\n // this.report = data;\r\n // const dateValidate = new Date('2018-01-01 00:00:00.00');\r\n // const dateValidateSum = new Date('2018-01-01 00:00:00.00');\r\n // let trip = 0;\r\n // let totalIn = 0;\r\n // let totalOut = 0;\r\n // let promTot = 0;\r\n // // const quant = parseInt(data.length) - 1;\r\n // const quant = parseInt(data.length);\r\n // if (quant > 0) {\r\n // $('.tbodyTable').empty();\r\n // //$('#tbodyTable').append('00000000000');\r\n // for (let i = 0; i < data.length; i++) {\r\n // data[i].trip = trip;\r\n // data[i].plate = this.imeiVei.tracker_name;\r\n // const dateArray = new Date(data[i].startdate);\r\n // if (dateArray < dateValidate || dateArray > dateValidateSum){\r\n // var it = {};\r\n // trip = trip + 1;\r\n // data[i].trip = trip;\r\n // it[\"Viaje\"] = trip;\r\n // it[\"Placa\"] = data[i].plate;\r\n // it[\"Ruta\"] = data[i].route;\r\n // it[\"Fecha\"] = data[i].registerTime;\r\n // it[\"Hora inicio\"] = data[i].startTime;\r\n // it[\"Hora fin\"] = data[i].endTime;\r\n // var j=0;\r\n // var jsonObj = []; //definición objeto json\r\n // var jsonAuxObj = [];\r\n // if(data[i].controlPoints!=\"\"){\r\n // var res= data[i].controlPoints.split(':');\r\n // console.log('puntos tamaño', res.length);\r\n // while(j {\r\n // this.spinner.hide();\r\n // // console.log('vpcReport.component.error');\r\n // swal({\r\n // title: 'No es posible realizar la consulta, comuníquese con el administrador del sistema',\r\n // text: '',\r\n // type: 'error',\r\n // showCancelButton: false,\r\n // confirmButtonColor: '#3085d6',\r\n // cancelButtonColor: '#ff5370',\r\n // confirmButtonText: 'Volver',\r\n // // cancelButtonText: 'No'\r\n // }).catch(swal.noop);\r\n // });\r\n // }else {\r\n // this.spinner.hide();\r\n // swal({\r\n // title: 'Ingresa Todos los campos solicitados',\r\n // text: '',\r\n // type: 'error',\r\n // showCancelButton: false,\r\n // confirmButtonColor: '#3085d6',\r\n // cancelButtonColor: '#ff5370',\r\n // confirmButtonText: 'Volver',\r\n // // cancelButtonText: 'No'\r\n // }).catch(swal.noop);\r\n // }\r\n // }else{\r\n // //console.log('todos');\r\n // //var dateIni = $('#dateIni').val().replace(':', '_');\r\n // //var dateFin = $('#dateFin').val().replace(':', '_');\r\n // if (dateIni && dateFin) {\r\n // this.vpcReportService.vpcReportTimeAll(this.commonService.getUserName(), dateIni, dateFin)\r\n // .then(data => {\r\n // //$('#headTable').html(s);\r\n\r\n // console.log('data : ', data)\r\n // this.dataReport = [];\r\n // //$('.tbodyTable').empty();\r\n // this.spinner.hide();\r\n // this.report = data;\r\n // const dateValidate = new Date('2018-01-01 00:00:00.00');\r\n // const dateValidateSum = new Date('2018-01-01 00:00:00.00');\r\n // let trip = 0;\r\n // let totalIn = 0;\r\n // let totalOut = 0;\r\n // let promTot = 0;\r\n // // const quant = parseInt(data.length) - 1;\r\n // const quant = parseInt(data.length);\r\n // if (quant > 0) {\r\n // for (let i = 0; i < data.length; i++) {\r\n // data[i].trip = trip;\r\n // //data[i].plate = this.imeiVei.tracker_name;\r\n // const dateArray = new Date(data[i].startdate);\r\n // if (dateArray < dateValidate || dateArray > dateValidateSum){\r\n // var it = {};\r\n // trip = trip + 1;\r\n // data[i].trip = trip;\r\n // it[\"Viaje\"] = trip;\r\n // it[\"Placa\"] = data[i].plate;\r\n // it[\"Ruta\"] = data[i].route;\r\n // it[\"Fecha\"] = data[i].registerTime;\r\n // it[\"Hora inicio\"] = data[i].startTime;\r\n // it[\"Hora fin\"] = data[i].endTime;\r\n // var j=0;\r\n // var jsonObj = []; //definición objeto json\r\n // var jsonAuxObj = [];\r\n // if(data[i].controlPoints!=\"\"){\r\n // var res= data[i].controlPoints.split(':');\r\n // console.log('puntos tamaño', res.length);\r\n // while(j {\r\n // console.log(error);\r\n // this.spinner.hide();\r\n // // console.log('vpcReport.component.error');\r\n // swal({\r\n // title: 'No es posible realizar la consulta, comuníquese con el administrador del sistema',\r\n // text: '',\r\n // type: 'error',\r\n // showCancelButton: false,\r\n // confirmButtonColor: '#3085d6',\r\n // cancelButtonColor: '#ff5370',\r\n // confirmButtonText: 'Volver',\r\n // // cancelButtonText: 'No'\r\n // }).catch(swal.noop);\r\n // });\r\n // }else {\r\n // this.spinner.hide();\r\n // swal({\r\n // title: 'Ingresa Todos los campos solicitados',\r\n // text: '',\r\n // type: 'error',\r\n // showCancelButton: false,\r\n // confirmButtonColor: '#3085d6',\r\n // cancelButtonColor: '#ff5370',\r\n // confirmButtonText: 'Volver',\r\n // // cancelButtonText: 'No'\r\n // }).catch(swal.noop);\r\n // }\r\n // }\r\n // }\r\n\r\n\r\n\r\n //Método para obtener todos los puntos de chequeo por donde paso el bus según el número de viaje si se llega a necesitar\r\n /*getCheckingPoints(trip): void{\r\n for (let i = 0; i < this.dataReport.length; i++) {\r\n if(this.dataReport[i].trip==trip){\r\n this.checkingPoints = this.dataReport[i].points;\r\n break;\r\n }\r\n }\r\n console.log('checking points:',this.checkingPoints);\r\n }*/\r\n\r\n getPlates(): void {\r\n console.log('getPlates')\r\n this.spinner.show();\r\n this.vpcReportService.getPlates(this.commonService.getUserName()).then(response => {\r\n this.plates = response;\r\n this.plates.sort(function (a, b) {\r\n if (a.tracker_name > b.tracker_name) {\r\n return 1;\r\n }\r\n if (a.tracker_name < b.tracker_name) {\r\n return -1;\r\n }\r\n // a must be equal to b\r\n return 0;\r\n });\r\n \r\n for (var i in this.plates) {\r\n this.plates[i].tracker_name = this.plates[i].tracker_name + \" - \" + this.plates[i].license_plate\r\n }\r\n console.log('response : : : ', this.plates)\r\n this.platesBuffer = this.plates.slice(0, this.bufferSize);\r\n this.user_account = this.plates.user_account;\r\n this.imeiVei = this.plates.sn_imei_id;\r\n });\r\n this.spinner.hide();\r\n }\r\n\r\n fetchMorePlate() {\r\n const len = this.platesBuffer.length;\r\n const more = this.plates.slice(len, this.bufferSize + len);\r\n this.loading1 = true;\r\n // using timeout here to simulate backend API delay\r\n setTimeout(() => {\r\n this.loading1 = false;\r\n this.platesBuffer = this.platesBuffer.concat(more);\r\n }, 200);\r\n }\r\n exportToExcel() {\r\n if(this.dataObj.length>0){\r\n this.excelService.exportAsExcelFile(this.dataObj, 'archivo_caidas');\r\n }else{\r\n swal({\r\n title: 'No hay datos para exportar',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n\r\n toggleFilterMenu() {\r\n this.filterMenuVisible = !this.filterMenuVisible;\r\n }\r\n\r\n setTable(data, selectedPoints){\r\n this.displayedColumns = [\r\n //\"Viaje\",\r\n \"Placa\",\r\n \"Driver\",\r\n \"Ruta\",\r\n \"Fecha\" ,\r\n \"Hora inicio\" ,\r\n \"Hora fin\" ,\r\n \"Tipo Hora\",\r\n ];\r\n // Agrega las columnas correpondientes a los puntos de control seleccionados\r\n console.log(this.controlPoints)\r\n for(var i in this.controlPoints){\r\n if(selectedPoints.includes(this.controlPoints[i].id))\r\n this.displayedColumns.push(this.controlPoints[i].name)\r\n } \r\n this.displayedColumns.push(\"Total Antes\")\r\n this.displayedColumns.push(\"Total Despues\")\r\n \r\n this.dataReport2 = new MatTableDataSource(data);\r\n this.dataReport2.sort = this.sort;\r\n // Esconde el paginador porque no es posible cambair la paginación por problemas con el componente\r\n\r\n setTimeout(() => \r\n {\r\n try {\r\n this.dataReport2.paginator = this.paginator;\r\n this.dataReport2.paginator._intl.itemsPerPageLabel = \"Filas por Página:\"\r\n } catch (error) {\r\n }\r\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\r\n },\r\n 500);\r\n }\r\n\r\n setExcelData(data){\r\n this.dataObj = []\r\n for(var i in data){\r\n let item = {}\r\n item[\"Placa\"] = data[i].Plate\r\n item[\"Conductor\"] = data[i].Driver\r\n item[\"Ruta\"] = data[i].RouteName\r\n item[\"Fecha\" ] = data[i].StartDate\r\n item[\"Hora inicio\" ] = data[i].StartTime\r\n item[\"Hora fin\" ] = data[i].EndingDate\r\n item[\"Tipo Hora\"] = data[i].TimeType\r\n\r\n // Agrega las columnas correpondientes a los puntos de control seleccionados\r\n for(var j in this.controlPoints){\r\n item[this.controlPoints[j].name] = data[i][this.controlPoints[j].name]\r\n } \r\n item[\"Total Antes\"] = data[i].totalBefore\r\n item[\"Total Despues\"] = data[i].totalAfter\r\n\r\n this.dataObj.push(item)\r\n }\r\n console.log(this.dataObj)\r\n \r\n }\r\n\r\n applyFilter(filterValue: string) {\r\n this.dataReport2.filter = filterValue.trim().toLowerCase();\r\n if (this.dataReport2.paginator) {\r\n this.dataReport2.paginator.firstPage();\r\n }\r\n }\r\n\r\n sortData(e){\r\n console.log(e)\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/time-report/time-report.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".multiselect-style{\\r\\n width: 500px;\\r\\n height: auto;\\r\\n}\\r\\n.ng-select.custom {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n width: 1%;\\r\\n}\\r\\n.ng-select.custom .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n}\\r\\n.ng-select.custom_1 {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n}\\r\\n.ng-select.custom_1 .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n}\\r\\n\\r\\nng-select.ng-invalid.ng-touched .ng-select-container {\\r\\n border-color: #dc3545;\\r\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px #fde6e8;\\r\\n}\\r\\n\\r\\n \\r\\ntable {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.mat-form-field {\\r\\n font-size: 14px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\ntd, th {\\r\\n width: 25%;\\r\\n padding-left: 1%;\\r\\n}\\r\\n.cdk-visually-hidden{\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n#filter-panel{\\r\\n border: solid; \\r\\n background:#4c6c8b; \\r\\n color: #fff;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n\\r\\n#select{\\r\\n border: 1px solid #adadad;\\r\\n background :inherit;\\r\\n color : #fff;\\r\\n \\r\\n}\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/timereportconsolidate/timereportconsolidate.component.css\n// module id = ../../../../../src/app/components/timereportconsolidate/timereportconsolidate.component.css\n// module chunks = main","module.exports = \"
    \\n
    \\n
    \\n \\n

     

    \\n

     

    \\n

     

    \\n

    Cargando...

    \\n
    \\n\\n
    \\n
    \\n

    Reporte consolidado de caidas

    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \\n

    Búsqueda Avanzada

    \\n
    Realice una búsqueda avanzada de sus transacciones
    \\n
    \\n
    \\n
    \\n
    \\n

    \\n
    \\n
    \\n\\n\\n\\n\\n

     

    \\n\\n
    {{ plates.user_account}}
    \\n \\n
    \\n \\n
    \\n \\n
    \\n \\n
    \\n \\n \\n \\n\\n
    \\n
    \\n\\n
    \\n \\n
    \\n \\n \\n \\n\\n
    \\n
    \\n\\n \\n \\n \\n
    \\n \\n\\n
    \\n
    \\n \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n\\n
    \\n \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n\\n
    \\n \\n \\n
    \\n
    \\n \\n
    \\n \\n
    \\n \\n
    \\n\\n\\n\\n\\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n

    {{ totalPromOuitTime }}

    \\n
    Minutos caidos
    \\n
    \\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n

    {{ totalPromInTime }}

    \\n
    Minutos Adelantados
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n\\n\\n
    \\n \\n
    \\n
    \\n \\n \\n \\n \\n
    \\n
    \\n
    \\n\\n \\n\\n \\n Viaje\\n {{element.trip}} \\n \\n\\n \\n Placa\\n {{element.plate}} \\n \\n\\n \\n Conductor\\n {{element.driver}} \\n \\n\\n \\n Inicio\\n {{ element.startdate }} \\n \\n\\n \\n Fin\\n {{ element.endingTime }} \\n \\n\\n \\n Cantidad viajes\\n {{ element.tripsAmount }} \\n \\n\\n \\n Total minutos caidos\\n {{ element.outTimeValue }} \\n \\n\\n \\n Total minutos adelantado\\n {{ element.onTimeValue }}\\n \\n\\n \\n \\n \\n\\n \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n
    \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/timereportconsolidate/timereportconsolidate.component.html\n// module id = ../../../../../src/app/components/timereportconsolidate/timereportconsolidate.component.html\n// module chunks = main","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { PassengersReportService } from '../../services/passengers-report.service';\nimport { CommonService } from '../../services/common.service';\nimport { ExcelService } from '../../services/excel.service';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { FormsModule } from '@angular/forms';\nimport { NgSelectOption } from '@angular/forms';\nimport { Observable } from 'rxjs/Rx';\nimport 'rxjs/add/operator/map';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { DriversService } from '../../services/drivers.service';\nimport * as $ from 'jquery';\nimport swal from 'sweetalert2';\nimport { UsersService } from '../../services/users.services';\nimport { delay } from 'rxjs/operator/delay';\nimport { RoutesService } from '../../services/routes.service';\nimport { ConsolidatedByPlateService } from '../../services/consolidated-by-plate.service';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-timereportconsolidate',\n templateUrl: './timereportconsolidate.component.html',\n styleUrls: ['./timereportconsolidate.component.css']\n})\nexport class TimereportconsolidateComponent implements OnInit {\n\n\tplatesBuffer = [];\n\tloading1 = false;\n\tbufferSize = 50;\n\timeiVei: any = {};\n\tvehiculo: any = {};\n\tdataObj: any = [];\n\tuser_account: any;\n\tdata: any = [];\n\tplacas: any = [];\n\treport: any = [];\n\treportAux: any = [];\n\tmodel: any = {};\n\treturnUrl: string;\n\tisSubmitted: any = false;\n\tdataReport: any = [];\n\tdataReport2: any = [];\n\ttotalIn: any;\n\ttotalOut: any;\n\tpromTot: any;\n\ttotalProm: any;\n\ttotalPromInTime: any;\n\ttotalPromOuitTime: any;\n\tdateNowInit: any;\n\tdateNowEnd: any;\n\tpublic loading = false\n\tselectedCity: any;\n\tfilterMenuVisible: boolean = false;\n\tdisplayedColumns: string[];\n\n\n\tplates: any = [];\n\tplatesSettings = {};\n\tselectedPlates = [];\n\n\tdrivers = []\n\tdriversSettings = {};\n\tselectedDrivers = [];\n\n\tdispatchers = []\n\tdispatchersSettings = {};\n\tselectedDispatchers = [];\n\n\troutes = []\n\troutesSettings = {};\n\tselectedRoutes = [];\n\n\t@ViewChild(MatPaginator) paginator: MatPaginator;\n \t@ViewChild(MatSort) sort: MatSort;\n\n\tconstructor(\n\t\tprivate route: ActivatedRoute,\n\t private router: Router,\n\t private vpcReportService: PassengersReportService,\n\t private consolidatedByPlateService: ConsolidatedByPlateService,\n\t private excelService: ExcelService,\n\t private commonService: CommonService,\n\t private spinner: NgxSpinnerService,\n\t private driversService: DriversService,\n\t private routesService: RoutesService,\n \t) { }\n\n \tngOnInit() {\n \t\tthis.getPlates();\n\t this.getDrivers();\n\t this.setFilterstData();\n \t}\n\n \t setFilterstData() {\n var now = new Date(); //currentDate\n this.reportAux.dateIni = { year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate() };\n this.reportAux.dateFin = { year: now.getFullYear(), month: now.getMonth() + 1, day: now.getDate() };\n this.reportAux.timeIni = '00:00';\n this.reportAux.timeFin = '23:59';\n this.reportAux.rfidOnly = 1\n }\n\n getDrivers(): void {\n\n this.driversSettings = {\n singleSelection: false,\n idField: 'id',\n textField: 'name',\n selectAllText: 'Todos',\n unSelectAllText: 'Deseleccionar Todos',\n itemsShowLimit: 1,\n allowSearchFilter: true,\n searchPlaceholderText: \"Buscar\"\n };\n\n this.driversService.getDrivers_rol(this.commonService.getUserName())\n .then(response => {\n console.log(response)\n this.drivers = response\n });\n }\n\n loadReport(): void {\n console.log(this.reportAux)\n this.dataObj = [];\n //console.log('this.imeiVei : ', this.imeiVei.sn_imei_id)\n var d1, m1, d2, m2;\n if (this.reportAux.dateIni.day < 10) {\n d1 = '0' + this.reportAux.dateIni.day;\n } else {\n d1 = this.reportAux.dateIni.day;\n }\n if (this.reportAux.dateIni.month < 10) {\n m1 = '0' + this.reportAux.dateIni.month;\n } else {\n m1 = this.reportAux.dateIni.month;\n }\n var dateIni = d1 + '-' + m1 + '-' + this.reportAux.dateIni.year + ' ' + this.reportAux.timeIni;\n\n if (this.reportAux.dateFin.day < 10) {\n d2 = '0' + this.reportAux.dateFin.day;\n } else {\n d2 = this.reportAux.dateFin.day;\n }\n if (this.reportAux.dateFin.month < 10) {\n m2 = '0' + this.reportAux.dateFin.month;\n } else {\n m2 = this.reportAux.dateFin.month;\n }\n var dateFin = d2 + '-' + m2 + '-' + this.reportAux.dateFin.year + ' ' + this.reportAux.timeFin;\n dateIni = dateIni.replace(':', '_');\n dateFin = dateFin.replace(':', '_');\n //console.log(dateIni);\n //console.log(dateFin);\n //if (this.imeiVei == undefined) {\n $('.tbodyTable').empty();\n //var dateIni = $('#dateIni').val().replace(':', '_');\n //var dateFin = $('#dateFin').val().replace(':', '_');\n //console.log(dateIni);\n var imeis = this.selectedPlates.map(({ sn_imei_id }) => \"'\" + sn_imei_id + \"'\").toString();\n\n console.log(imeis)\n if(imeis == \"\"){\n swal({\n title: 'Debe seleccionar al menos una Placa',\n text: '',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#3085d6',\n cancelButtonColor: '#ff5370',\n confirmButtonText: 'Volver',\n // cancelButtonText: 'No'\n }).catch(swal.noop);\n return\n }\n\n var driversId = this.selectedDrivers.map(({ id }) => \"'\" + id + \"'\").toString();\n this.spinner.show();\n if (dateIni && dateFin) {\n //var rfidOnly = this.reportAux.rfidOnly == true ? \"1\": \"0\"\n this.consolidatedByPlateService.timeReportConsolidate(imeis, dateIni, dateFin,\n this.reportAux.rfidOnly, driversId)\n .then(data => {\n console.log('data dataaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa : ', data)\n this.dataReport = [];\n // $('.tbodyTable').empty();\n this.spinner.hide();\n this.report = data;\n\n // const dateValidate = new Date('2018-01-01 00:00:00.00');\n // const dateValidateSum = new Date('2018-01-01 00:00:00.00');\n // let trip = 0;\n // let totalIn = 0;\n // let totalOut = 0;\n // let promTot = 0;\n\n\n const quant = parseInt(data.length);\n if (quant > 0) {\n // $('.tbodyTable').empty();\n // for (let i = 0; i < data.length; i++) {\n // data[i].trip = trip\n // // data[i].plate = this.imeiVei.tracker_name;\n // const dateArray = new Date(data[i].startdate);\n // if (dateArray < dateValidate || dateArray > dateValidateSum) {\n // var it = {};\n // trip = trip + 1\n // data[i].trip = trip\n // it[\"Viaje\"] = trip;\n // it[\"Placa\"] = data[i].plate;\n // it[\"Ruta\"] = data[i].route;\n // it[\"Fecha\"] = data[i].registerTime;\n // it[\"Bloqueos\"] = data[i].countBlock;\n // it[\"Kms recorridos\"] = data[i].journey;\n // it[\"Velocidad máxima\"] = data[i].speed;\n // it[\"Hora inicio\"] = data[i].startTime;\n // it[\"Hora fin\"] = data[i].endTime;\n // it[\"Ingresos puerta trasera\"] = data[i].backdoorin;\n // console.log('backdoorin : ', data[i].backdoorin)\n // it[\"Pasajeros movilizados\"] = data[i].totalProm;\n // console.log('totalProm : ', data[i].totalProm)\n // it[\"Tiempo de viaje\"] = data[i].time;\n // console.log('time : ', data[i].time)\n // console.log('dataaaaa : ', data[i])\n // this.dataReport.push(data[i]);\n // this.dataObj.push(it);\n // }\n // console.log('this.dataObj : ', this.dataObj)\n // dateValidateSum.setMinutes(dateValidateSum.getMinutes() + 10);\n // event.preventDefault();\n // totalIn = totalIn + parseInt(data[i]['totalInPass']);\n // totalOut = totalOut + parseInt(data[i]['totalOutPass']);\n // }\n // this.totalIn = totalIn;\n // console.log('this.totalIn : ', this.totalIn)\n // this.totalOut = totalOut;\n // console.log('this.totalOut : ', this.totalOut)\n // this.totalProm = Math.round((this.totalIn + this.totalOut) / 2);\n\n this.setTable(data)\n } else {\n $('.tbodyTable').empty();\n swal({\n title: 'No existen datos para este rango de fechas',\n text: '',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#3085d6',\n cancelButtonColor: '#ff5370',\n confirmButtonText: 'Volver',\n // cancelButtonText: 'No'\n }).catch(swal.noop);\n }\n })\n .catch(error => {\n this.spinner.hide();\n console.log(error)\n // console.log('vpcReport.component.error');\n swal({\n title: 'No es posible realizar la consulta, comuníquese con el administrador del sistema',\n text: '',\n type: 'error',\n showCancelButton: false,\n confirmButtonColor: '#3085d6',\n cancelButtonColor: '#ff5370',\n confirmButtonText: 'Volver',\n // cancelButtonText: 'No'\n }).catch(swal.noop);\n });\n } else {\n this.spinner.hide();\n swal({\n title: 'Ingresa Todos los campos solicitados',\n text: '',\n type: 'error',\n showCancelButton: false,\n confirmButtonColor: '#3085d6',\n cancelButtonColor: '#ff5370',\n confirmButtonText: 'Volver',\n // cancelButtonText: 'No'\n }).catch(swal.noop);\n }\n // } else {\n\n // }\n }\n\n getPlates(): void {\n\n this.platesSettings = {\n singleSelection: false,\n idField: 'sn_imei_id',\n textField: 'tracker_name',\n selectAllText: 'Todos',\n unSelectAllText: 'Deseleccionar Todos',\n itemsShowLimit: 1,\n allowSearchFilter: true,\n searchPlaceholderText: \"Buscar\"\n };\n\n this.spinner.show();\n this.vpcReportService.getPlates(this.commonService.getUserName()).then(response => {\n console.log(response)\n this.plates = response;\n this.plates.sort(function (a, b) {\n if (a.tracker_name > b.tracker_name) {\n return 1;\n }\n if (a.tracker_name < b.tracker_name) {\n return -1;\n }\n // a must be equal to b\n return 0;\n });\n\n for (var i in this.plates) {\n this.plates[i].tracker_name = this.plates[i].tracker_name + \" - \" + this.plates[i].license_plate\n }\n console.log('response : : : ', this.plates)\n this.platesBuffer = this.plates.slice(0, this.bufferSize);\n this.user_account = this.plates.user_account;\n this.imeiVei = this.plates.sn_imei_id;\n });\n this.spinner.hide();\n }\n\n fetchMorePlate() {\n const len = this.platesBuffer.length;\n const more = this.plates.slice(len, this.bufferSize + len);\n this.loading1 = true;\n // using timeout here to simulate backend API delay\n setTimeout(() => {\n this.loading1 = false;\n this.platesBuffer = this.platesBuffer.concat(more);\n }, 200);\n }\n exportToExcel() {\n if (this.dataObj.length > 0) {\n this.excelService.exportAsExcelFile(this.dataObj, 'archivo_conteo_pasajeros');\n } else {\n swal({\n title: 'No hay datos para exportar',\n text: '',\n type: 'warning',\n showCancelButton: false,\n confirmButtonColor: '#3085d6',\n cancelButtonColor: '#ff5370',\n confirmButtonText: 'Volver',\n // cancelButtonText: 'No'\n }).catch(swal.noop);\n }\n }\n\n setTable(data) {\n this.displayedColumns = [\"Viaje\",\n \"Placa\",\n \"Driver\",\n \"inicio\",\n \"fin\",\n \"Trips\",\n \"TripsOutTime\",\n \"TripsOnTime\",\n ];\n\n this.totalPromInTime = 0\n this.totalPromOuitTime = 0\n this.dataObj = []\n for (var i in data) {\n \tconsole.log('datadatadatadatadatadatadata : ', data)\n console.log(data[i].registerTime)\n\n data[i].trip = +i + 1\n\n data[i].startdate = new Date(data[i].startdate)\n data[i].endingdate = new Date(data[i].endTime)\n\n // data[i].startdate = data[i].startdate\n // data[i].startTime = data[i].startdate.toLocaleTimeString('es-CO', { hour12: true, hour: '2-digit', minute:'2-digit' })\n\n data[i].endingTime = data[i].endingdate.toLocaleString('es-CO', { hour12: true })\n // data[i].endingTime = data[i].endingTime.split(\",\")[1]\n\n data[i].startdate = data[i].startdate.toLocaleString('es-CO', { hour12: true })\n // data[i].startdate = data[i].startdate.split(\",\")[0]\n\n this.totalProm += data[i].passengerAmount\n\n this.totalPromInTime += data[i].onTimeValue\n this.totalPromOuitTime += data[i].outTimeValue\n\n\n // data[i].countBlock = data[i].tripsAmount\n this.setExcelData(data[i])\n }\n\n this.dataReport2 = new MatTableDataSource(data);\n\n setTimeout(() => {\n this.forceTablePaginator()\n },\n 500);\n\n this.dataReport2.sort = this.sort;\n\n // Esconde el paginador porque no es posible cambair la paginación por problemas con el componente\n }\n\n forceTablePaginator() {\n try {\n // this.dataReport2.paginator = this.paginator;\n this.dataReport2.paginator._intl.itemsPerPageLabel = \"Filas por Página:\"\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\n } catch (error) {\n try {\n this.dataReport2.paginator = this.paginator;\n this.dataReport2.paginator._intl.itemsPerPageLabel = \"Filas por Página:\"\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\n } catch (error) {\n console.log(error)\n }\n }\n }\n\n toggleFilterMenu() {\n this.filterMenuVisible = !this.filterMenuVisible;\n }\n applyFilter(filterValue: string) {\n this.dataReport2.filter = filterValue.trim().toLowerCase();\n if (this.dataReport2.paginator) {\n this.dataReport2.paginator.firstPage();\n }\n }\n\n setExcelData(data){\n \n let item = {}\n item[\"Viaje\"] = data.trip\n item[\"Placa\"] = data.plate\n item[\"Conductor\"] = data.driver\n item[\"inicio\" ] = data.startdate\n item[\"fin\" ] = data.endingTime\n item[\"Ctdad viajes\" ] = data.tripsAmount\n \n\n this.dataObj.push(item)\n console.log(this.dataObj)\n \n }\n }\n\n \n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/timereportconsolidate/timereportconsolidate.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/transmission-vehicles/transmission-vehicles.component.css\n// module id = ../../../../../src/app/components/transmission-vehicles/transmission-vehicles.component.css\n// module chunks = main","module.exports = \"\\r\\n
    \\r\\n
    \\r\\n

    Agregar Vehiculo para transmisión

    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Vehiculos para transmision en línea
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    PlacaEliminar
    {{e.plate}}
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/transmission-vehicles/transmission-vehicles.component.html\n// module id = ../../../../../src/app/components/transmission-vehicles/transmission-vehicles.component.html\n// module chunks = main","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap, Router } from '@angular/router';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { AlertService} from '../../services/alert.service';\r\nimport { NgbActiveModal, NgbModal} from '@ng-bootstrap/ng-bootstrap';\r\nimport { PassengersReportService } from '../../services/passengers-report.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { Observable} from 'rxjs/Observable';\r\nimport {any} from \"codelyzer/util/function\";\r\nimport swal from 'sweetalert2';\r\nimport { VehiclesServiceService } from '../../services/vehicles-service.service'\r\n\r\n@Component({\r\n selector: 'app-transmission-vehicles',\r\n templateUrl: './transmission-vehicles.component.html',\r\n styleUrls: ['./transmission-vehicles.component.css']\r\n})\r\nexport class TransmissionVehiclesComponent implements OnInit {\r\n modalVehicle: any;\r\n imeiVei: any= {};\r\n plates: any = [];\r\n platesBuffer = [];\r\n bufferSize = 50;\r\n user_account: any;\r\n vehicleSave: any= {};\r\n vehicles: any;\r\n\r\n plate:any;\r\n\r\n\r\n @ViewChild('modalAddVehicle') modalAddVehicle: HTMLElement;\r\n constructor(\r\n private commonService: CommonService,\r\n private alertService: AlertService,\r\n private modalService: NgbModal,\r\n private vpcReportService: PassengersReportService,\r\n private spinner: NgxSpinnerService,\r\n private vehiclesServiceService : VehiclesServiceService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getPlates();\r\n this.getVehiclesTransmission();\r\n }\r\n\r\n getPlates(): void {\r\n this.spinner.show();\r\n this.vpcReportService.getPlates(this.commonService.getUserName()).then(response => {\r\n this.plates = response;\r\n console.log('response : : : ', this.plates)\r\n this.platesBuffer = this.plates.slice(0, this.bufferSize);\r\n this.user_account = this.commonService.getUserName();\r\n this.imeiVei = this.plates.sn_imei_id;\r\n });\r\n this.spinner.hide();\r\n }\r\n\r\n openModalVehicle(): void {\r\n console.log('ingresando al modal ')\r\n let that = this;\r\n this.modalVehicle = this.modalService.open(this.modalAddVehicle, {size: 'lg'});\r\n this.modalVehicle.result.then(value => {\r\n console.log('component.abrirDialogovehiculo.modalRef.result.then', value);\r\n\r\n }).catch(reason => {\r\n console.log('component.abrirDialogovehiculo.modalRef.result.catch', reason);\r\n });\r\n }\r\n\r\n getVehiclesTransmission(): void {\r\n console.log('this.user_account en get veh : ', this.commonService.getUserName())\r\n this.vehiclesServiceService.getVehiclesTransmission(this.commonService.getUserName()).then(response => {\r\n this.vehicles = response\r\n console.log('response in component : ', response[0].plate);\r\n });\r\n }\r\n removeVh(id): void{\r\n let that = this;\r\n console.log('i i i i i i : ', id)\r\n swal({\r\n title: '¿Esta seguro de eliminar el vehiculo para la transmision en linea?',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Sí',\r\n cancelButtonText: 'No'\r\n }).then(function (s) {\r\n if(s.dismiss !== undefined) {\r\n if (s.dismiss.toString() === 'cancel') {\r\n }\r\n }else {\r\n console.log('Eliminar placa');\r\n that.vehiclesServiceService.deleteVehiclesTrans(id)\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n console.log('response response responseresponse responseresponseresponse vvv : ', response[0])\r\n if (response.status === 'EXITO') {\r\n that.getVehiclesTransmission();\r\n that.router.navigate(['/home/transmissionVehicles']);\r\n swal({\r\n title: response.message,\r\n text: '',\r\n type: 'success',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n } else {\r\n swal({\r\n title: response.message,\r\n text: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n addVehicle(): void {\r\n let that = this;\r\n console.log('imeiVei :', this.imeiVei)\r\n if(this.imeiVei) {\r\n this.vehicleSave.User_account = this.commonService.getUserName();\r\n this.vehicleSave.Imei = this.imeiVei.sn_imei_id\r\n this.vehicleSave.Plate = this.imeiVei.tracker_name\r\n swal({\r\n title: '¿Esta seguro de adicionar el vehículo a la transmisión en linea?',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Sí',\r\n cancelButtonText: 'No'\r\n }).then(function (s) {\r\n if(s.dismiss !== undefined) {\r\n if (s.dismiss.toString() === 'cancel') {\r\n }\r\n }else {\r\n that.vehiclesServiceService.saveVehiclesTransmission(that.vehicleSave)\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n if (response.status === 'EXITO') {\r\n that.getVehiclesTransmission();\r\n that.router.navigate(['/home/transmissionVehicles']);\r\n swal({\r\n title: response.message,\r\n text: '',\r\n type: 'success',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n } else {\r\n swal({\r\n title: response.message,\r\n text: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n });\r\n }\r\n });\r\n }else {\r\n swal({\r\n title: 'Debe seleccionar una placa.',\r\n text: '',\r\n type: 'warning'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/transmission-vehicles/transmission-vehicles.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/user/user.component.css\n// module id = ../../../../../src/app/components/user/user.component.css\n// module chunks = main","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    Creación de usuarios
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n La cédula es requerida.\\r\\n
    \\r\\n
    \\r\\n La cédula no es correcta.\\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Nombre(s) y Apellido(s) son requeridos\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n El email es requerida.\\r\\n
    \\r\\n
    \\r\\n El valor email no es correcto.\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n El password es requerido.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n Cancelar\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/user/user.component.html\n// module id = ../../../../../src/app/components/user/user.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { PassengersReportService } from '../../services/passengers-report.service';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { UserService } from '../../services/user.service';\r\nimport swal from 'sweetalert2';\r\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport * as AWS from 'aws-sdk/global';\r\nimport * as S3 from 'aws-sdk/clients/s3';\r\n\r\n@Component({\r\n selector: 'app-user',\r\n templateUrl: './user.component.html',\r\n styleUrls: ['./user.component.css']\r\n})\r\nexport class UserComponent implements OnInit {\r\n plates: any = [];\r\n user_account: any;\r\n imeiVei: any = {};\r\n userById: any= {};\r\n FOLDER = 'passengerControl/';\r\n accessKey = 'AKIAJBSEKUWJ6JUFUTIA';\r\n secretKey = '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';\r\n bucketName = 'upload';\r\n imgName= '';\r\n driverImg: any = null;\r\n isSubmitted_1: any = false;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private passengersReportService: PassengersReportService,\r\n private commonService: CommonService,\r\n private userService: UserService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getUser();\r\n }\r\n\r\n getUser(): void {\r\n this.route.paramMap.switchMap((params: ParamMap) => this.userService.getUser(params.get('idUser')))\r\n .subscribe(response => {\r\n if (response.length > 0) {\r\n this.userById.Identification = response[0].identification;\r\n this.userById.Name = response[0].name;\r\n this.userById.Email = response[0].email; \r\n this.userById.Password = response[0].password;\r\n this.userById.User_account = response[0].user_account;\r\n this.userById.Id = response[0].id; \r\n this.userById.Status = response[0].status; \r\n }\r\n });\r\n }\r\n\r\n \r\n\r\n sendMail(): void {\r\n this.userService.sendMail(this.userById).then(response => {\r\n debugger;\r\n });\r\n }\r\n\r\n saveUser(): void {\r\n console.log('this.commonService.getUserName() ; ', this.commonService.getUserName())\r\n let that = this\r\n this.userById.User_account = this.commonService.getUserName();\r\n this.userService.saveUser(this.userById)\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n if (response) {\r\n console.log('response : ', response)\r\n this.router.navigate(['/home/users']);\r\n if (response.status === 'EXITO') {\r\n swal({\r\n title: response.message,\r\n text: '',\r\n type: 'success',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n this.sendMail();\r\n } else {\r\n swal({\r\n title: response.message,\r\n text: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/user/user.component.ts","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"table {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.mat-form-field {\\r\\n font-size: 14px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\ntd, th {\\r\\n width: 25%;\\r\\n padding-left: 1%;\\r\\n padding-right: 1%;\\r\\n}\\r\\n.cdk-visually-hidden{\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.mat-column-email{\\r\\n -ms-flex: 0 0 1000px;\\r\\n flex: 0 0 1000px;\\r\\n}\\r\\n\\r\\n.mat-paginator-page-size{\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.multiselect-style{\\r\\n width: 500px;\\r\\n height: auto;\\r\\n}\\r\\n.ng-select.custom {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n width: 1%;\\r\\n}\\r\\n.ng-select.custom .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n}\\r\\n.ng-select.custom_1 {\\r\\n min-height: 0px;\\r\\n position: relative;\\r\\n -ms-flex: 1 1 auto;\\r\\n flex: 1 1 auto;\\r\\n}\\r\\n.ng-select.custom_1 .ng-select-container {\\r\\n min-height: 0px;\\r\\n border-radius: 0;\\r\\n}\\r\\n\\r\\nng-select.ng-invalid.ng-touched .ng-select-container {\\r\\n border-color: #dc3545;\\r\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 3px #fde6e8;\\r\\n}\\r\\n\\r\\n#filter-panel{\\r\\n border: solid; \\r\\n background:#4c6c8b; \\r\\n color: #fff;\\r\\n padding: 10px;\\r\\n}\\r\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/users/users.component.css\n// module id = ../../../../../src/app/components/users/users.component.css\n// module chunks = main","module.exports = \"
    \\r\\n \\r\\n

     

    \\r\\n

     

    \\r\\n

     

    \\r\\n

    Cargando...

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    Usuarios
    \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n


    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n \\r\\n Documento\\r\\n {{element.identification}} \\r\\n \\r\\n\\r\\n \\r\\n Nombre\\r\\n {{element.name}} \\r\\n \\r\\n\\r\\n \\r\\n Email\\r\\n {{element.email}} \\r\\n \\r\\n\\r\\n \\r\\n Estado\\r\\n \\r\\n
    \\r\\n \\r\\n Activo\\r\\n \\r\\n \\r\\n Inactivo\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n Editar\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/users/users.component.html\n// module id = ../../../../../src/app/components/users/users.component.html\n// module chunks = main","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { UsersService } from '../../services/users.services';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\ndeclare var $: any;\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ExcelService } from '../../services/excel.service';\r\nimport swal from 'sweetalert2';\r\n\r\n\r\n@Component({\r\n selector: 'app-users',\r\n templateUrl: './users.component.html',\r\n styleUrls: ['./users.component.css']\r\n})\r\nexport class UsersComponent implements OnInit {\r\n\r\n users: MatTableDataSource;\r\n displayedColumns: string[];\r\n user_account: any;\r\n filterMenuVisible: boolean = false;\r\n\r\n driverIdentifications = [];\r\n selectedDriverIdentifications = [];\r\n driverIdentificationsSettings = {};\r\n\r\n driverNames: any[] = [];\r\n selectedDriverNames = [];\r\n driverNamesSettings = {};\r\n reportData: any = []\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private usersService: UsersService,\r\n private commonService: CommonService,\r\n private excelService: ExcelService,\r\n private spinner: NgxSpinnerService,\r\n\r\n ) { }\r\n\r\n\r\n toggleFilterMenu() {\r\n this.filterMenuVisible = !this.filterMenuVisible;\r\n }\r\n\r\n ngOnInit() {\r\n this.displayedColumns = [\"document\", \"name\", \"email\", \"status\", \"edit\"];\r\n this.getUsers();\r\n this.setSpinnersSettings()\r\n }\r\n\r\n toEdit(id) {\r\n this.router.navigate(['/home/user/' + id])\r\n }\r\n\r\n setSpinnersSettings() {\r\n this.driverIdentificationsSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'identification',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n this.driverNamesSettings = {\r\n singleSelection: false,\r\n idField: 'id',\r\n textField: 'name',\r\n selectAllText: 'Todos',\r\n unSelectAllText: 'Deseleccionar Todos',\r\n itemsShowLimit: 1,\r\n allowSearchFilter: true,\r\n searchPlaceholderText: \"Buscar\"\r\n };\r\n\r\n }\r\n\r\n filterDrivers(): void {\r\n this.spinner.show();\r\n var identifications = this.selectedDriverIdentifications.map(({ identification }) => \"'\" + identification + \"'\").toString();\r\n var names = this.selectedDriverNames.map(({ name }) => \"'\" + name + \"'\").toString();\r\n console.log(identifications)\r\n console.log(names)\r\n\r\n this.usersService.filterUsers(this.commonService.getUserName(), identifications, names)\r\n .then(response => {\r\n this.spinner.hide()\r\n this.users = response;\r\n this.user_account = response.user_account;\r\n\r\n this.users = new MatTableDataSource(response);\r\n this.users.paginator = this.paginator;\r\n this.users.paginator._intl.itemsPerPageLabel = \"Filas por Página:\"\r\n this.users.sort = this.sort;\r\n \r\n\r\n this.reportData = []\r\n for(var i in response){\r\n var obj = response[i]\r\n this.setReportData(obj)\r\n }\r\n // Esconde el paginador porque no es posible cambair la paginación por problemas con el componente\r\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\r\n });\r\n }\r\n\r\n getUsers(): void {\r\n let that = this;\r\n this.usersService.getUsers(this.commonService.getUserName())\r\n .then(response => {\r\n this.reportData = []\r\n for(var i in response){\r\n var obj = response[i]\r\n this.driverIdentifications.push({ id: obj.id, identification: obj.identification })\r\n this.driverNames.push({ id: obj.id, name: obj.name })\r\n this.setReportData(obj)\r\n }\r\n\r\n console.log(this.driverNames)\r\n\r\n this.users = response;\r\n \r\n this.user_account = response.user_account;\r\n\r\n this.users = new MatTableDataSource(response);\r\n this.users.paginator = this.paginator;\r\n this.users.paginator._intl.itemsPerPageLabel = \"Filas por Página:\"\r\n this.users.sort = this.sort;\r\n \r\n // Esconde el paginador porque no es posible cambair la paginación por problemas con el componente\r\n $(\".mat-paginator-page-size\").css(\"display\", \"none\")\r\n });\r\n\r\n }\r\n applyFilter(filterValue: string) {\r\n this.users.filter = filterValue.trim().toLowerCase();\r\n if (this.users.paginator) {\r\n this.users.paginator.firstPage();\r\n }\r\n }\r\n\r\n\r\n exportToExcel() {\r\n\r\n if (this.reportData.length > 0) {\r\n this.excelService.exportAsExcelFile(this.reportData, 'Lista de Conductores');\r\n } else {\r\n swal({\r\n title: 'No hay datos para exportar',\r\n text: '',\r\n type: 'warning',\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#ff5370',\r\n confirmButtonText: 'Volver',\r\n // cancelButtonText: 'No'\r\n }).catch(swal.noop);\r\n }\r\n }\r\n setReportData(driverObject) {\r\n this.reportData.push({\r\n Nombre: driverObject.name,\r\n Identificacion: driverObject.identification,\r\n Email: driverObject.email,\r\n })\r\n }\r\n\r\n // ngAfterViewInit(){\r\n // this.users.paginator = this.paginator;\r\n // console.log(this.users.paginator)\r\n // this.users.sort = this.sort;\r\n // }\r\n _updatePaginator(filteredDataLength: number) {\r\n Promise.resolve().then(() => {\r\n if (!this.paginator) { return; }\r\n \r\n this.paginator.length = filteredDataLength;\r\n console.log(this.paginator)\r\n\r\n // If the page index is set beyond the page, reduce it to the last page.\r\n console.log(this.paginator.pageIndex)\r\n if (this.paginator.pageIndex > 0) {\r\n const lastPageIndex = Math.ceil(this.paginator.length / this.paginator.pageSize) - 1 || 0;\r\n this.paginator.pageIndex = Math.min(this.paginator.pageIndex, lastPageIndex);\r\n }\r\n });\r\n }\r\n\r\n onIdentificationSelect(item: any) {\r\n console.log(this.selectedDriverIdentifications)\r\n }\r\n onDeSelectIdentification(items: any) {\r\n console.log(this.selectedDriverIdentifications)\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/components/users/users.component.ts","export enum AlertType {\r\n Success,\r\n Error,\r\n Info,\r\n Warning\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/enum/alert-type.enum.ts","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n\r\n constructor(private router: Router) {}\r\n\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean {\r\n\r\n // if ( localStorage.getItem('currentUser')) {\r\n // logged in so return true\r\n return true;\r\n // }\r\n\r\n // not logged in so redirect to login page with the return url\r\n // this.router.navigate(['/login'], {queryParams: {returnUrl: state.url}});\r\n // return false;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/guards/guards.component.ts","declare var toastr: any;\r\ndeclare var jQuery:any;\r\ndeclare var $:any;\r\ndeclare var Clipboard:any;\r\n\r\nexport class Helpers {\r\n\tstatic setLoading(loading) {\r\n\t\tlet body = $('body');\r\n\t\tif (loading) {\r\n\t\t\t$('.preloader-backdrop').fadeIn(200);\r\n\t\t} else {\r\n\t\t\t$('.preloader-backdrop').fadeOut(200);\r\n\t\t}\r\n\t}\r\n\r\n\tstatic bodyClass(Class) {\r\n\t\t$('body').attr('class', Class);\r\n\t}\r\n\r\n\tstatic initLayout() {\r\n\t // SIDEBAR ACTIVATE METISMENU\r\n\t\t$(\".metismenu\").metisMenu();\r\n\r\n\t\t// SIDEBAR TOGGLE ACTION\r\n\t $('.js-sidebar-toggler').click(function() {\r\n\t if( $('body').hasClass('drawer-sidebar') ) {\r\n\t $('#sidebar').backdrop();\r\n\t } else {\r\n\t $('body').toggleClass('sidebar-mini');\r\n\t if(! $('body').hasClass('sidebar-mini') ) {\r\n\t $('#sidebar-collapse').hide();\r\n\t setTimeout(function () {\r\n\t $('#sidebar-collapse').fadeIn(300);\r\n\t }, 200);\r\n\t }\r\n\t }\r\n\t });\r\n\r\n\t // QUICK SIDEBAR TOGGLE ACTION\r\n\t $('.quick-sidebar-toggler').click(function(){\r\n\t $('.quick-sidebar').backdrop();\r\n\t });\r\n\r\n\t // SEARCH BAR ACTION\r\n\t $('.js-search-toggler').click(function() {\r\n\t $('.search-top-bar').backdrop().find('.search-input').focus();\r\n\t });\r\n\r\n\t // Session timeout\r\n\t \r\n\t var idle_timer;\r\n\t (function(){\r\n\t $('#timeout-activate').click(function(){\r\n\t if(+$('#timeout-count').val()) {\r\n\t activate(+$('#timeout-count').val());\r\n\t }\r\n\t });\r\n\r\n\t $('#timeout-reset').click(function(){\r\n\t reset();\r\n\t });\r\n\r\n\t function reset(){\r\n\t $( document ).idleTimer(\"destroy\");\r\n\t if(idle_timer) clearTimeout(idle_timer);\r\n\t $('#session-dialog').modal('hide');\r\n\t $('.timeout-toggler').removeClass('active');\r\n\t $('#timeout-reset-box').hide();\r\n\t $('#timeout-activate-box').show();\r\n\t }\r\n\r\n\t function activate(count){\r\n\t $('#session-dialog').modal('hide');\r\n\t $('#timeout-reset-box').show();\r\n\t $('#timeout-activate-box').hide();\r\n\t $( document ).idleTimer( count * 60000 );\r\n\t \r\n\t setTimeout(function(){\r\n\t $('.timeout-toggler').addClass('active');\r\n\t },(count-1) * 60000);\r\n\r\n\t $( document ).on( \"idle.idleTimer\", function(event, elem, obj){\r\n\t // function you want to fire when the user goes idle\r\n\t toastr.warning('Your session is about to expire. The page will redirect after 15 seconds with no activity.','Session Timeout Notification',{\r\n\t \"progressBar\": true,\r\n\t \"timeOut\": 5000,\r\n\t });\r\n\t idle_timer = setTimeout(timeOutHandler,5000);\r\n\t });\r\n\r\n\t $( document ).on( \"active.idleTimer\", function(event, elem, obj, triggerevent){\r\n\t // function you want to fire when the user becomes active again\r\n\t clearTimeout(idle_timer);\r\n\t $( document ).idleTimer(\"reset\");\r\n\t toastr.clear();\r\n\t toastr.success('You returned to the active mode.','You are back.');\r\n\t });\r\n\r\n\t function timeOutHandler() {\r\n\t reset();\r\n\t alert('Your session has expired. You can redirect this page or logout.');\r\n\t }\r\n\t }\r\n\t })();\r\n\t}\r\n\r\n\tstatic initPage() {\r\n\r\n\t // Activate bootstrap select\r\n\t if($(\".selectpicker\").length>0) {\r\n\t $('.selectpicker').selectpicker();\r\n\t }\r\n\r\n\t // Activate Tooltips\r\n\t $('[data-toggle=\"tooltip\"]').tooltip();\r\n\r\n\t // Activate Popovers\r\n\t $('[data-toggle=\"popover\"]').popover();\r\n\r\n\t // Activate slimscroll\r\n\t $('.scroller').each(function(){\r\n\t $(this).slimScroll({\r\n\t height: $(this).attr('data-height') || '100%',\r\n\t color: $(this).attr('data-color') || '#71808f',\r\n\t railOpacity: '0.9',\r\n\t size: '4px',\r\n\t });\r\n\t });\r\n\r\n\t $('.slimScrollBar').hide();\r\n\r\n\t \r\n\t // Pre Copy to clipboard\r\n\r\n\t if($(\".clipboard-copy\").length>0) {\r\n\t new Clipboard('.clipboard-copy', {\r\n\t target: function (t) {\r\n\t return t.nextElementSibling;\r\n\t }\r\n\t }).on('success', function (e) {\r\n\t e.clearSelection();\r\n\t e.trigger.textContent = 'Copied';\r\n\t window.setTimeout(function () {\r\n\t e.trigger.textContent = 'Copy';\r\n\t }, 2000);\r\n\t });\r\n\t }\r\n\r\n\t\t// PANEL ACTIONS\r\n\t // ======================\r\n\r\n\t $('.ibox-collapse').click(function(){\r\n\t \tvar ibox = $(this).closest('div.ibox');\r\n\t \tibox.toggleClass('collapsed-mode').children('.ibox-body').slideToggle(200);\r\n\t });\r\n\t $('.ibox-remove').click(function(){\r\n\t \t$(this).closest('div.ibox').remove();\r\n\t });\r\n\t $('.fullscreen-link').click(function(){\r\n\t if($('body').hasClass('fullscreen-mode')) {\r\n\t $('body').removeClass('fullscreen-mode');\r\n\t $(this).closest('div.ibox').removeClass('ibox-fullscreen');\r\n\t $(window).off('keydown',toggleFullscreen);\r\n\t } else {\r\n\t $('body').addClass('fullscreen-mode');\r\n\t $(this).closest('div.ibox').addClass('ibox-fullscreen');\r\n\t $(window).on('keydown', toggleFullscreen);\r\n\t }\r\n\t });\r\n\t function toggleFullscreen(e) {\r\n\t // pressing the ESC key - KEY_ESC = 27 \r\n\t if(e.which == 27) {\r\n\t $('body').removeClass('fullscreen-mode');\r\n\t $('.ibox-fullscreen').removeClass('ibox-fullscreen');\r\n\t $(window).off('keydown',toggleFullscreen);\r\n\t }\r\n\t }\r\n\r\n\t}\r\n}\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/helpers.ts","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/menu/menu.component.css\n// module id = ../../../../../src/app/menu/menu.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// D:/projects/passengerControlFront/passengerControlApp/src/app/menu/menu.component.html\n// module id = ../../../../../src/app/menu/menu.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\nimport { CommonService } from '../services/common.service';\r\ndeclare var $: any;\r\n\r\nvar role: any;\r\n@Component({\r\n selector: 'app-menu',\r\n templateUrl: './menu.component.html',\r\n styleUrls: ['./menu.component.css']\r\n})\r\nexport class MenuComponent implements OnInit {\r\n role = this.commonService.getUserRole();\r\n constructor(\r\n private commonService: CommonService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit(){\r\n var bodyHeight = $(\".pcoded-main-container\").height()\r\n $(\"#sidebar\").css(\"height\", bodyHeight)\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/menu/menu.component.ts","import { Injectable } from '@angular/core';\r\nimport { NavigationStart, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Subject } from 'rxjs/Subject';\r\nimport { Alert } from '../classes/alert';\r\nimport { AlertType } from '../enum/alert-type.enum';\r\n\r\n\r\n\r\n@Injectable()\r\nexport class AlertService {\r\n\r\n private subject = new Subject();\r\n private keepAfterRouteChange = false;\r\n\r\n constructor(private router: Router) {\r\n this.router.events.subscribe(event =>{\r\n if (event instanceof NavigationStart) {\r\n if (this.keepAfterRouteChange) {\r\n this.keepAfterRouteChange = false;\r\n } else {\r\n // clear alert messages\r\n this.clear();\r\n }\r\n }\r\n });\r\n }\r\n\r\n getAlert(): Observable {\r\n return this.subject.asObservable();\r\n }\r\n\r\n success(message: string, keepAfterRouteChange = false) {\r\n console.log('succes message')\r\n this.alert(AlertType.Success, message, keepAfterRouteChange);\r\n }\r\n\r\n error(message: string, keepAfterRouteChange = false) {\r\n console.log('alert.service.error.message: ', message);\r\n this.alert(AlertType.Error, message, keepAfterRouteChange);\r\n }\r\n\r\n info(message: string, keepAfterRouteChange = false) {\r\n this.alert(AlertType.Info, message, keepAfterRouteChange);\r\n }\r\n\r\n warn(message: string, keepAfterRouteChange = false) {\r\n this.alert(AlertType.Warning, message, keepAfterRouteChange);\r\n }\r\n\r\n alert(type: AlertType, message: string, keepAfterRouteChange = false) {\r\n this.keepAfterRouteChange = keepAfterRouteChange;\r\n this.subject.next({ type: type, message: message });\r\n }\r\n\r\n clear() {\r\n // clear alerts\r\n this.subject.next();\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/services/alert.service.ts","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { CommonService } from './common.service';\r\nimport 'rxjs/add/operator/toPromise';\r\n\r\n@Injectable()\r\nexport class Alertreportservice {\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private commonService: CommonService,\r\n ) { }\r\n\r\n\r\n\r\n\r\n getAlarmTypes(userAccount): Promise {\r\n // const idPlate = '861693033912148';\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getAlarmTypes/';\r\n return this.http.get(url, { headers: { 'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8' } })\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n getDrivers(): Promise {\r\n // const idPlate = '861693033912148';\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getDriversList/' + this.commonService.getUserName();\r\n return this.http.get(url, { headers: { 'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8' } })\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n getDrivers_rol(): Promise {\r\n // const idPlate = '861693033912148';\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getDriversList_rol/' + this.commonService.getUserName() + \"/\" +this.commonService.getUserRole();\r\n return this.http.get(url, { headers: { 'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8' } })\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n getReport(plates, alarmTypes, drivers, dateIni, dateFin): Promise {\r\n dateFin = dateFin.toString().replace('T', ' ')\r\n // const url = this.commonService.getPrefixUrlService() + 'Service.svc/getAlarmReport/' + plates + '/' + alarmTypes + '/' + drivers + '/' + dateIni + '/' + dateFin;\r\n // this.http.get(url, { headers: { 'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8' } })\r\n // .toPromise()\r\n // .then(obj => {\r\n // const response = JSON.parse(obj.toString());\r\n // return response;\r\n // });\r\n var data = {\r\n user_account : this.commonService.getUserName(),\r\n plates : plates, \r\n alarmTypes : alarmTypes, \r\n drivers : drivers, \r\n dateIni : dateIni, \r\n dateFin : dateFin\r\n }\r\n return this.http.post(this.commonService.getPrefixUrlService() + 'Service.svc/getAlarmReport',\r\n JSON.stringify(data), {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/services/alertreport.service.ts","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class CommonService {\r\n developmentPort = '4200';\r\n servicesPort = '8080';\r\n developmentProtocol = 'http';\r\n contextName = 'cela/';\r\n\r\n\r\n gmailUserName= '';\r\n gmailUserPassword= '';\r\n body= 'Su contraseña asignada es ';\r\n subject= 'Contraseña del sistema';\r\n isBodyHtml = 'false';\r\n\r\n public getDataEmail(): any {\r\n const dataMail ={\r\n GmailUserAddress: this.gmailUserName,\r\n GmailUserPassword:this.gmailUserPassword,\r\n Body: this.body,\r\n Subject: this.subject,\r\n IsBodyHtml: this.isBodyHtml,\r\n EmailTo:[],\r\n CcTo:[]\r\n }\r\n return dataMail;\r\n }\r\n\r\n constructor() { }\r\n\r\n public getPrefixUrlService(): string {\r\n\r\n //const prefix = 'http://localhost:57960/';\r\n const prefix = 'http://www.trackingarea.com:8081/';\r\n return prefix;\r\n }\r\n\r\n private getCurrentUser(): any {\r\n const currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n return currentUser;\r\n }\r\n\r\n public getUserName(): string {\r\n const currentUser = this.getCurrentUser();\r\n if (currentUser) {\r\n return currentUser.userAccount;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n public getUserPass(): string {\r\n const currentUser = this.getCurrentUser();\r\n if (currentUser) {\r\n return currentUser.totalInPass;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n public getUserRole(): string {\r\n const currentUser = this.getCurrentUser();\r\n if (currentUser) {\r\n return currentUser.userRole;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n getNameUser(): string {\r\n return this.getCurrentUser().user_account;\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/services/common.service.ts","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { CommonService } from './common.service';\r\nimport 'rxjs/add/operator/toPromise';\r\n\r\n@Injectable()\r\nexport class CompaniesService {\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private httpClient: HttpClient,\r\n private commonService: CommonService,\r\n ) { }\r\n\r\n getCompanies(): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getCompanies';\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n console.log('response service company :', response);\r\n return response;\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/services/companies.service.ts","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { CommonService } from './common.service';\r\nimport 'rxjs/add/operator/toPromise';\r\n\r\n@Injectable()\r\nexport class ConsolidatedByPlateService {\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private commonService: CommonService\r\n ) { }\r\n\r\n timeReportConsolidate(imeis, dateIni, dateFin, rfidOnly, drivers): Promise {\r\n console.log('service consolidate')\r\n dateFin = dateFin.toString().replace('T', ' ')\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/timeReportConsolidate';\r\n\r\n var data = {\r\n imeis : imeis,\r\n dateIni : dateIni,\r\n dateFin : dateFin,\r\n user_account : this.commonService.getUserName(),\r\n rfid_only : rfidOnly,\r\n drivers:drivers\r\n }\r\n\r\n return this.http.post(url, data, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n console.log('dataaaaaaaaaaaaaaaaaa : ', response)\r\n return response;\r\n });\r\n }\r\n\r\n consolidateReport(imeis, dateIni, dateFin, rfidOnly, drivers): Promise {\r\n console.log('service consolidate')\r\n dateFin = dateFin.toString().replace('T', ' ')\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/consolidateReport';\r\n\r\n var data = {\r\n imeis : imeis,\r\n dateIni : dateIni,\r\n dateFin : dateFin,\r\n user_account : this.commonService.getUserName(),\r\n rfid_only : rfidOnly,\r\n drivers:drivers\r\n }\r\n\r\n return this.http.post(url, data, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n liquidationReport(imeis, dateIni, dateFin, rfidOnly, drivers): Promise {\r\n console.log('service consolidate')\r\n dateFin = dateFin.toString().replace('T', ' ')\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/liquidationReport';\r\n\r\n var data = {\r\n imeis : imeis,\r\n dateIni : dateIni,\r\n dateFin : dateFin,\r\n user_account : this.commonService.getUserName(),\r\n rfid_only : rfidOnly,\r\n drivers:drivers\r\n }\r\n\r\n return this.http.post(url, data, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/services/consolidated-by-plate.service.ts","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { CommonService } from './common.service';\r\n\r\n@Injectable()\r\nexport class DashboardService {\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private commonService: CommonService\r\n ) { }\r\n\r\n locationVehicle(userAccount, userPass): Promise {\r\n // console.log('ingresando al servicio : , userAccount : ', userAccount, ' userPass : ', userPass);\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getVehicleLocation/' + userAccount + '/' + userPass;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n return obj;\r\n });\r\n }\r\n\r\n getVehiclesByrute(userAccount, routesId): Promise {\r\n // console.log('ingresando al servicio : , userAccount : ', userAccount, ' userPass : ', userPass);\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getVehiclesInTrasitByRoute/' + userAccount + '/' + routesId;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n return obj;\r\n });\r\n }\r\n\r\n getParkingWorShop(userAccount): Promise {\r\n console.log('ingresando al servicio : , getParkingWorShop : ', userAccount);\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getDataVehiclesParking/' + userAccount + \"/\" + this.commonService.getUserRole();\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n // console.log('obj : : : : ', obj)\r\n const response = JSON.parse(obj.toString());\r\n // console.log('response : : : : ', response)\r\n return response;\r\n });\r\n }\r\n \r\n\r\n getAlertVehicles(userAccount): Promise {\r\n console.log('ingresando al servicio : , getAlertVehicles : ', userAccount);\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getAlertVehicles/' + userAccount;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n // console.log('obj : : : : ', obj)\r\n const response = JSON.parse(obj.toString());\r\n // console.log('response : : : : ', response)\r\n return response;\r\n });\r\n }\r\n\r\n getAlertVehicles_rol(userAccount): Promise {\r\n console.log('ingresando al servicio : , getAlertVehicles : ', userAccount);\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getAlertVehicles_rol/' + userAccount + \"/\" + this.commonService.getUserRole();\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n // console.log('obj : : : : ', obj)\r\n const response = JSON.parse(obj.toString());\r\n // console.log('response : : : : ', response)\r\n return response;\r\n });\r\n }\r\n\r\n getLastAlertVehicles(userAccount): Promise {\r\n console.log('ingresando al servicio : , getAlertVehicles : ', userAccount);\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getLastAlertVehicles/' + userAccount;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n // console.log('obj : : : : ', obj)\r\n const response = JSON.parse(obj.toString());\r\n // console.log('response : : : : ', response)\r\n return response;\r\n });\r\n }\r\n\r\n getLastAlertVehicles_rol(userAccount): Promise {\r\n console.log('ingresando al servicio : , getAlertVehicles : ', userAccount);\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getLastAlertVehicles_rol/' + userAccount + \"/\" + this.commonService.getUserRole();\r\n console.log(url)\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n // console.log('obj : : : : ', obj)\r\n const response = JSON.parse(obj.toString());\r\n // console.log('response : : : : ', response)\r\n return response;\r\n });\r\n }\r\n\r\n getVehiclesTransit(userAccount): Promise {\r\n console.log('ingresando al servicio : , getVehiclesTransit : ', userAccount);\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getVehiclesTransitCompany/' + userAccount;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n //const response = JSON.parse(obj.toString());\r\n // console.log('response : : : : ', response)\r\n return response;\r\n });\r\n }\r\n\r\n getTripsInformation(userAccount): Promise {\r\n console.log('ingresando al servicio : , getVehiclesTransit : ', userAccount);\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getTotalPassengers/' + userAccount;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n //const response = JSON.parse(obj.toString());\r\n // console.log('response : : : : ', response)\r\n return response;\r\n });\r\n }\r\n\r\n getCaidasInformation(userAccount): Promise {\r\n console.log('ingresando al servicio : , getVehiclesTransit : ', userAccount);\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getTotalCaidas/' + userAccount + \"/\" + this.commonService.getUserRole();\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n //const response = JSON.parse(obj.toString());\r\n // console.log('response : : : : ', response)\r\n return response;\r\n });\r\n }\r\n\r\n getSingleVehicleLocation(plate): Promise {\r\n // console.log('ingresando al servicio : , userAccount : ', userAccount, ' userPass : ', userPass);\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getVehicleLocationByPlate/' + this.commonService.getUserName() + '/' + this.commonService.getUserPass() + \"/\" + plate;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n return obj;\r\n });\r\n }\r\n\r\n getSingleVehicleLocation_inTransit(plate): Promise {\r\n // console.log('ingresando al servicio : , userAccount : ', userAccount, ' userPass : ', userPass);\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getVehicleLocationByPlate_InTransit_gps/' + this.commonService.getUserName() + '/' + this.commonService.getUserPass() + \"/\" + plate;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n return obj;\r\n });\r\n }\r\n\r\n getOutOfTransitVehicles(): Promise {\r\n // console.log('ingresando al servicio : , userAccount : ', userAccount, ' userPass : ', userPass);\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getVehiclesOutOfRoute/' + this.commonService.getUserName()+ \"/\" + this.commonService.getUserRole(); \r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n return obj;\r\n });\r\n }\r\n\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/services/dashboard.service.ts","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { CommonService } from './common.service';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport swal from 'sweetalert2';\r\n\r\n@Injectable()\r\nexport class DriverService {\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private httpClient: HttpClient,\r\n private commonService: CommonService,\r\n ) { }\r\n\r\n\r\n getDriver(id): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getDriver/' + id;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n \r\n\r\n saveDriver(driver: any): Promise {\r\n console.log('conductor.service.crearActualizarConductor.conductor:', driver);\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/insertDriver';\r\n console.log('url : ', url)\r\n return this.http.post(url, driver)\r\n .toPromise()\r\n .then(response => {\r\n console.log('usuario.service.crearActualizarConductor:', response);\r\n return response;\r\n });\r\n // .catch((err) => this.commonService.handlePromiseError(err));\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/services/driver.service.ts","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { CommonService} from './common.service';\r\n\r\n@Injectable()\r\nexport class DriversService {\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private commonService: CommonService\r\n ) { }\r\n\r\n getDrivers_withFilters(userAccount, identifications, names, rfids): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getDrivers_filters';\r\n\r\n var data = {\r\n user_account : userAccount, \r\n identifications : identifications, \r\n names : names, \r\n rfids : rfids, \r\n }\r\n\r\n return this.http.post(url, data\r\n ,{headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n deleteDriver(id): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/deleteDriver/' + id;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = obj.toString();\r\n return response;\r\n });\r\n }\r\n\r\n getDrivers(userAccount): Promise {\r\n console.log('get drivers service : ');\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getDrivers/' + userAccount;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n getDrivers_rol(userAccount): Promise {\r\n console.log('get drivers service : ');\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getDrivers/' + userAccount + \"/\" + this.commonService.getUserRole();\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/services/drivers.service.ts","import { Injectable } from '@angular/core';\r\n//import * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\nconst EXCEL_EXTENSION = '.xlsx';\r\n@Injectable()\r\nexport class ExcelService {\r\n\r\n constructor() { }\r\n public exportAsExcelFile(json: any[], fileName: string): void {\r\n //const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);\r\n //const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };\r\n //const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n //this.saveAsExcelFile(excelBuffer, excelFileName);\r\n\r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);\r\n const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };\r\n XLSX.writeFile(workbook, fileName + '_' + new Date().getTime() + EXCEL_EXTENSION, { bookType: 'xlsx', type: 'buffer' });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/services/excel.service.ts","import { Injectable } from '@angular/core';\r\nimport { CommonService } from './common.service';\r\nimport { AlertService } from './alert.service';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport {HttpClient} from '@angular/common/http';\r\n\r\n\r\n@Injectable()\r\nexport class HolidayCalendarService {\r\n\r\n constructor(\r\n \tprivate http: HttpClient,\r\n private httpClient: HttpClient,\r\n private commonService: CommonService,\r\n private alertService: AlertService,\r\n ) { }\r\n\r\n saveHolidays(holidays:any): Promise{\r\n return this.http.post(this.commonService.getPrefixUrlService() + 'Service.svc/saveHoliday',\r\n JSON.stringify(holidays), {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n if (response) {\r\n \tconsole.log('response : ', response)\r\n //this.alertService.success(response['message']);\r\n } else {\r\n //this.alertService.error('error')\r\n }\r\n return response;\r\n });\r\n }\r\n\r\n getHolidaysByCompany(company): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getHolidaysByCompany/' + company;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n deleteHolidays(holidays:any): Promise{\r\n \tconsole.log('ingresando al servicio')\r\n return this.http.post(this.commonService.getPrefixUrlService() + 'Service.svc/deleteHoliday',\r\n JSON.stringify(holidays), {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n if (response) {\r\n \tconsole.log('response : ', response)\r\n //this.alertService.success(response['message']);\r\n } else {\r\n //this.alertService.error('error')\r\n }\r\n return response;\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/services/holiday-calendar.service.ts","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { CommonService } from './common.service';\r\nimport { Credential } from '../classes/credential';\r\nimport { AlertService } from './alert.service';\r\n\r\n@Injectable()\r\nexport class LoginService {\r\n constructor(\r\n private http: HttpClient,\r\n private alertService: AlertService,\r\n private commonService: CommonService\r\n ) { }\r\n\r\n login(UserName: string, Password: string): Promise {\r\n const credential: Credential = new Credential(UserName, Password);\r\n // var param = { 'UserName' : UserName, 'Password' : Password };\r\n return this.http.post(this.commonService.getPrefixUrlService() + 'Service.svc/validateUser',\r\n JSON.stringify(credential), {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n console.log('response response response : ', response)\r\n if ( response && response['status'] && response['status'] === 'EXITO' ) {\r\n console.log('login.service.then.exito: ', response['mensaje']);\r\n localStorage.setItem('currentUser', JSON.stringify(response));\r\n } else {\r\n if (response && response['message']) {\r\n this.alertService.error(response['message']);\r\n console.log('login.service.then.error: ', response['message']);\r\n } else {\r\n this.alertService.error('error')\r\n console.log('error ');\r\n }\r\n }\r\n return response;\r\n });\r\n }\r\n\r\n logout() {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem('currentUser');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/services/login.service.ts","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { CommonService } from './common.service';\r\nimport 'rxjs/add/operator/toPromise';\r\n\r\n@Injectable()\r\nexport class PassengersReportService {\r\n constructor(\r\n private http: HttpClient,\r\n private commonService: CommonService\r\n ) { }\r\n\r\n vpcReport(imeis, dateIni, dateFin, rfidOnly, drivers, routes): Promise {\r\n\r\n dateFin = dateFin.toString().replace('T', ' ')\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/vpcReport';\r\n var data = {\r\n imeis : imeis,\r\n dateIni : dateIni,\r\n dateFin : dateFin,\r\n user_account : this.commonService.getUserName(),\r\n rfid_only : rfidOnly,\r\n drivers:drivers,\r\n routesId : routes\r\n }\r\n\r\n return this.http.post(url, data, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n driverReport(imeis, drivers, dateIni, dateFin): Promise {\r\n\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/driverReport';\r\n var data = {\r\n imeis : imeis,\r\n drivers:drivers,\r\n dateIni : dateIni,\r\n dateFin : dateFin,\r\n user_account : this.commonService.getUserName(),\r\n }\r\n\r\n return this.http.post(url, data, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n \r\n\r\n dispatcherReport(imeis, dateIni, dateFin, rfidOnly, drivers, dispatchersId, dispatcherType, id_route): Promise {\r\n\r\n dateFin = dateFin.toString().replace('T', ' ')\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/dispatcherReport';\r\n var data = {\r\n imeis : imeis,\r\n dateIni : dateIni,\r\n dateFin : dateFin,\r\n user_account : this.commonService.getUserName(),\r\n rfid_only : rfidOnly,\r\n drivers:drivers,\r\n dispatchersId: dispatchersId,\r\n dispatcherTypeId : dispatcherType,\r\n routesId : id_route\r\n }\r\n\r\n return this.http.post(url, data, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n vpcReportOld(imeis, dateIni, dateFin): Promise {\r\n\r\n dateFin = dateFin.toString().replace('T', ' ')\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/vpcReportOld/' + imeis + \"/\" + dateIni + \"/\" + dateFin;\r\n\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n vpcReportTime(imei, dateIni, dateFin): Promise {\r\n\r\n dateFin = dateFin.toString().replace('T', ' ')\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/vpcReportTime/' + imei + '/' + dateIni + '/' + dateFin;\r\n console.log('vpcReportTime service ' , url)\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n\r\n vpcReportTime_new(imeis, dateIni, dateFin, pointsId, driversId): Promise{\r\n var data = {\r\n imeis : imeis,\r\n dateIni : dateIni,\r\n dateFin : dateFin,\r\n user_account : this.commonService.getUserName(),\r\n points : pointsId,\r\n drivers : driversId\r\n }\r\n return this.http.post(this.commonService.getPrefixUrlService() + 'Service.svc/vpcReportTime',\r\n JSON.stringify(data), {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n if (response && response['message']) {\r\n //this.alertService.success(response['message']);\r\n } else {\r\n //this.alertService.error('error')\r\n }\r\n return response;\r\n });\r\n }\r\n\r\n\r\n vpcReportTimeAll(userAccount, dateIni, dateFin): Promise {\r\n\r\n dateFin = dateFin.toString().replace('T', ' ')\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/vpcReportTimeAll/' + userAccount + '/' + dateIni + '/' + dateFin;\r\n console.log('vpcReportTime service ' , url)\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n vpcReportAll(userAccount, dateIni, dateFin): Promise {\r\n\r\n dateFin = dateFin.toString().replace('T', ' ')\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/vpcReportAll/' + userAccount + '/' + dateIni + '/' + dateFin;\r\n console.log('vpcReportTime service ' , url)\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n getPlates(userAccount): Promise {\r\n // const idPlate = '861693033912148';\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getPlates/' + userAccount;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n vpcReport1(plate): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/vpcReport';\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/services/passengers-report.service.ts","import { Injectable } from '@angular/core';\r\nimport { CommonService } from './common.service';\r\nimport { AlertService } from './alert.service';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport {HttpClient} from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class PointsService {\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private httpClient: HttpClient,\r\n private commonService: CommonService,\r\n private alertService: AlertService\r\n ) { }\r\n\r\n getPointById(idPoint): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getPointById/' + idPoint;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n getPointByUser(userAccount): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getCtrlPointByUser/' + userAccount;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n getPointByUser_filtered(userAccount, typesId): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getCtrlPointByUser_filtered/' + userAccount + \"/\" + typesId;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n getCtrlPointTypes(): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getCtrlPointTypes';\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n getPoints(idRoute): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getCtrlPts/' + idRoute;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n saveUpdatePoint(point:any): Promise{\r\n return this.http.post(this.commonService.getPrefixUrlService() + 'Service.svc/saveCtrlPt',\r\n JSON.stringify(point), {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n if (response && response['message']) {\r\n //this.alertService.success(response['message']);\r\n } else {\r\n //this.alertService.error('error')\r\n }\r\n return response;\r\n });\r\n }\r\n deletePoint(id: any): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/deleteCtrlPt';\r\n var param = { \"Id\" : id };\r\n return this.http.post(url, JSON.stringify(param), {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json; ; charset=UTF-8'\r\n }\r\n }).toPromise().then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n console.log('response delete : ', response)\r\n return response;\r\n });\r\n }\r\n getTypePoint(): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getTypePt/';\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n saveUpdateCheckingPoint(point:any): Promise{\r\n return this.http.post(this.commonService.getPrefixUrlService() + 'Service.svc/saveRouteCtrlPtWithTimes',\r\n JSON.stringify(point), {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n if (response && response['message']) {\r\n //this.alertService.success(response['message']);\r\n } else {\r\n //this.alertService.error('error')\r\n }\r\n return response;\r\n });\r\n }\r\n\r\n\r\n savePicoTime(picoTime:any): Promise{\r\n return this.http.post(this.commonService.getPrefixUrlService() + 'Service.svc/savePicoTime',\r\n JSON.stringify(picoTime), {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n console.log(obj)\r\n return response;\r\n });\r\n }\r\n\r\n deleteCheckingPoint(id: any): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/deleteRouteCtrlPt';\r\n var param = {\r\n \"Id\" : id\r\n };\r\n return this.http.post(url, JSON.stringify(param), {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json; ; charset=UTF-8'\r\n }\r\n }).toPromise().then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n console.log('response delete : ', response)\r\n return response;\r\n });\r\n }\r\n getCheckingPoints(idRoute): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getRouteCtrlPt/' + idRoute;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n getTypeCheckingPoint(userAccount): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getTypeChecking/'+userAccount;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n getTypeCheckingPoint_rol(userAccount): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getTypeChecking_rol/'+userAccount + \"/\" + this.commonService.getUserRole();;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n getCheckingPoint(id): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getCheckingPoint/' + id;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n\r\n getPicoTimes(userAccount): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getPicotimes/' + userAccount;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n deletePicoTime(id): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/deletePicoTime/' + id;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n console.log(obj)\r\n return obj;\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/services/points.service.ts","import { Injectable } from '@angular/core';\r\nimport { CommonService } from './common.service';\r\nimport { AlertService } from './alert.service';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport {HttpClient} from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class RateService {\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private httpClient: HttpClient,\r\n private commonService: CommonService,\r\n private alertService: AlertService\r\n ) { }\r\n\r\n getRates(idRoute): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getRates/' + idRoute;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n saveUpdateRate(rate:any): Promise{\r\n return this.http.post(this.commonService.getPrefixUrlService() + 'Service.svc/saveUpdateRate',\r\n JSON.stringify(rate), {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n if (response && response['message']) {\r\n console.log(response['message']);\r\n } else {\r\n console.log('error')\r\n }\r\n return response;\r\n });\r\n }\r\n deleteRate(id: any): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/deleteRate';\r\n var param = {\r\n \"Id\" : id\r\n };\r\n return this.http.post(url, JSON.stringify(param), {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json; ; charset=UTF-8'\r\n }\r\n }).toPromise().then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n console.log('response delete : ', response)\r\n return response;\r\n });\r\n }\r\n\r\n updateRate(data: any): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/UpdateRate';\r\n \r\n return this.http.post(url, JSON.stringify(data), {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json; ; charset=UTF-8'\r\n }\r\n }).toPromise().then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n console.log('response delete : ', response)\r\n return response;\r\n });\r\n }\r\n\r\n deleteRatesByRoute(idroute: any): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/deleteRatesByRoute';\r\n var param = {\r\n \"Id_Route\" : idroute\r\n };\r\n return this.http.post(url, JSON.stringify(param), {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json; ; charset=UTF-8'\r\n }\r\n }).toPromise().then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n console.log('response delete : ', response)\r\n return response;\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/services/rate.service.ts","import { Injectable } from '@angular/core';\r\nimport { CommonService } from './common.service';\r\nimport { AlertService } from './alert.service';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport {HttpClient} from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class RouteService {\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private httpClient: HttpClient,\r\n private commonService: CommonService,\r\n private alertService: AlertService\r\n ) { }\r\n\r\n getRoute(idRoute): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getRoute/' + idRoute;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n getRfids(id_route): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getRfids/' + id_route;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n \r\n}\r\n\r\nupdateRoute(routeById: any): Promise {\r\n console.log('routeById : : : ', routeById)\r\n return this.http.post(this.commonService.getPrefixUrlService() + 'Service.svc/updateRouteInformation',\r\n JSON.stringify(routeById), {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n if (response && response['message']) {\r\n this.alertService.success(response['message']);\r\n } else {\r\n this.alertService.error('error')\r\n }\r\n return response;\r\n });\r\n }\r\n \r\n updateRouteData(route: any): Promise {\r\n return this.http.post(this.commonService.getPrefixUrlService() + 'Service.svc/updateRouteData',\r\n JSON.stringify(route), {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n if (response && response['message']) {\r\n this.alertService.success(response['message']);\r\n } else {\r\n this.alertService.error('error')\r\n }\r\n return response;\r\n });\r\n }\r\n\r\n updateRouteDistance(route: any): Promise {\r\n return this.http.post(this.commonService.getPrefixUrlService() + 'Service.svc/updateRouteDistance',\r\n JSON.stringify(route), {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(response => {\r\n \r\n return response;\r\n });\r\n}\r\n\r\n saveInterestPoint(interestPoint): Promise {\r\n return this.http.post(this.commonService.getPrefixUrlService() + 'Service.svc/SaveInterestPoint',\r\n interestPoint, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n // const response = JSON.parse(obj.toString());\r\n // if (response && response['message']) {\r\n // this.alertService.success(response['message']);\r\n // } else {\r\n // this.alertService.error('error')\r\n // }\r\n return 1;\r\n });\r\n }\r\n\r\n\r\n getInterestPoints(idRoute): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getRouteInterestPoints/' + idRoute;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n deleteInterestPoints(id): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/deleteRouteInterestPoints/' + id;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/services/route.service.ts","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { CommonService } from './common.service';\r\nimport { AlertService } from './alert.service';\r\nimport 'rxjs/add/operator/toPromise';\r\nimport 'rxjs/add/operator/switchMap';\r\n\r\n@Injectable()\r\nexport class RoutesService {\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private commonService: CommonService,\r\n private alertService: AlertService\r\n ) { }\r\n\r\n getRoutes_rol(userName): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getRoutes/' + userName + '/' + this.commonService.getUserRole();\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(response => {\r\n // console.log('response : ', response)\r\n // const response = JSON.parse(obj.toString());\r\n return response;\r\n // if ( response && response['status'] && response['status'] === 'EXITO' ) {\r\n // console.log('response : ', response)\r\n // return response;\r\n // } else {\r\n // if (response && response['status'] === 'ERROR') {\r\n // this.alertService.error(response['message']);\r\n // }\r\n });\r\n }\r\n\r\n getRoutes(userName): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getRoutes/' + userName\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(response => {\r\n // console.log('response : ', response)\r\n // const response = JSON.parse(obj.toString());\r\n return response;\r\n // if ( response && response['status'] && response['status'] === 'EXITO' ) {\r\n // console.log('response : ', response)\r\n // return response;\r\n // } else {\r\n // if (response && response['status'] === 'ERROR') {\r\n // this.alertService.error(response['message']);\r\n // }\r\n });\r\n }\r\n\r\n getAllRfids(): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getRfids_account/' + this.commonService.getUserName();\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n console.log(response)\r\n return response;\r\n });\r\n }\r\n\r\n getRoutesByUsername(userName): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getRoutes1_rol/' + userName + \"/\" + this.commonService.getUserRole();\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n getRoutesInformation(routesId): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getRouteInformation/' + routesId;\r\n return this.http.get(url, {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = JSON.parse(obj.toString());\r\n return response;\r\n });\r\n }\r\n\r\n saveRoutesService(name, description, code, time, Distance, Forward_or_Back, username): Promise {\r\n const values = new Object({\r\n 'Name': name,\r\n 'Description': description, \r\n 'Divipol_code': code, \r\n \"Time\" : time, \r\n 'User_account': username, \r\n \"Distance\" : Distance,\r\n \"Forward_or_back\" : Forward_or_Back\r\n });\r\n return this.http.post(this.commonService.getPrefixUrlService() + 'Service.svc/insertRoute',\r\n JSON.stringify(values), {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(response => {\r\n return response;\r\n });\r\n }\r\n\r\n saveRfids(paramsRfid): Promise {\r\n return this.http.post(this.commonService.getPrefixUrlService() + 'Service.svc/insertRfid',\r\n JSON.stringify(paramsRfid), {headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(response => {\r\n return response;\r\n });\r\n }\r\n\r\n deleteRfid(idRfid: any): Promise {\r\n console.log('eliminando rfid');\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/deleteRfids/' + idRfid;\r\n return this.http.get(url, {\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json; ; charset=UTF-8'\r\n }\r\n })\r\n .toPromise()\r\n .then(response => {\r\n console.log('response delete : ', response)\r\n /*if (response && response['message']) {\r\n this.alertService.success(response['message']);\r\n } else {\r\n this.alertService.error('error');\r\n }*/\r\n return response;\r\n });\r\n }\r\n\r\n getDrivers_withFilters(userAccount, codes, names, status, rfids, dispatchers): Promise {\r\n const url = this.commonService.getPrefixUrlService() + 'Service.svc/getRoutes_filters';\r\n\r\n var data = {\r\n user_account : userAccount, \r\n codes : codes, \r\n names : names, \r\n status : status, \r\n rfids : rfids, \r\n dispatchers : dispatchers\r\n }\r\n\r\n return this.http.post(url, data\r\n ,{headers: {'Accept': 'application/json', 'Content-Type': 'application/json; ; charset=UTF-8'}})\r\n .toPromise()\r\n .then(obj => {\r\n const response = obj;\r\n return response;\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// D:/projects/passengerControlFront/passengerControlApp/src/app/services/routes.service.ts","import {Injectable} from \"@angular/core\";\r\nimport * as $ from 'jquery';\r\n\r\ndeclare let document: any;\r\n\r\ninterface Script {\r\n\tsrc: string;\r\n\tloaded: boolean;\r\n}\r\n\r\n@Injectable()\r\nexport class ScriptLoaderService {\r\n\tprivate _scripts: Script[] = [];\r\n\r\n\tload(...scripts: string[]) {\r\n\t\tscripts.forEach((script: string) => this._scripts[script] = {src: script, loaded: false});\r\n\r\n\t\tlet promises: any[] = [];\r\n\t\tscripts.forEach((script) => promises.push(this.loadScript(script)));\r\n\t\treturn Promise.all(promises);\r\n\t}\r\n\r\n\tloadScript(src: string) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\r\n\t\t\t//resolve if already loaded\r\n\t\t\tif (this._scripts[src].loaded) {\r\n\t\t\t\tresolve({script: src, loaded: true, status: 'Already Loaded'});\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t//load script\r\n\t\t\t\tlet script = $('