{"version":3,"sources":["./src/app/app-header/app-header.component.html","./src/app/driver-appointment-summary/driver-appointment-summary.component.ts","./src/core-lib/dp-modaldialog.component.ts","./src/app/appointment-details-reefer/appointment-details-reefer.component.html","./src/app/appointment-details/appointment-details.component.html","./src/app/container-enquiry/container-enquiry.component.html","./src/core-lib/index.ts","./src/core-lib/dp-jsonerrors.component.ts","./src/app/app-home/app-home.component.ts","./src/app/invoice-detail/invoice-detail.component.ts","./src/app/quote-details/quote-details.component.html","./src/core-lib/dp-upload.component.ts","./src/core-lib/dp-dropdown-base.component.ts","./src/app/appointment-details-reefer/appointment-details-reefer.component.ts","./src/app/faqs/faqs.component.html","./src/core-lib/dp.classes.ts","./src/core-lib/dp.component.ts","./src/app/holds-notifications/holds-notifications.component.html","./src/app/reefer-dispatch-details/reefer-dispatch-details.component.ts","./src/app/quote-summary/quote-summary.component.ts","./src/environments/environment.ts","./src/core-lib/value-accessor.ts","./src/app/app-home/app-home.component.html","./src/app/invoice-payment/invoice-payment.component.ts","./src/core-lib/dp-searchedit.component.ts","./src/app/app-footer/app-footer.component.ts","./src/app/holds-notifications-details/holds-notifications-details.component.html","./src/app/vbs-payment-listing/vbs-payment-listing.component.ts","./src/app/container-vgm-details/container-vgm-details.component.ts","./src/app/vessel-booking-details/vessel-booking-details.component.css","./src/app/container-yard-summary/container-yard-summary.component.html","./src/app/holds-history/holds-history.component.html","./src/app/terminal-services-details/terminal-services-details.component.html","./src/app/appointment-details/appointment-details.component.ts","./src/core-lib/dp-label.component.ts","./src/core-lib/dp-spinner.component.ts","./src/app/vessel-schedule-summary/vessel-schedule-summary.component.html","./src/core-lib/dp-dateedit.component.ts","./src/app/holds-customs/holds-customs.component.ts","./src/app/invoice-payment/invoice-payment.component.html","./src/app/quote-details/quote-details.component.ts","./src/core-lib/dp.services.ts","./src/app/container-vgm-listing/container-vgm-listing.component.ts","./src/app/app-header/app-header.component.ts","./src/app/container-enquiry/container-enquiry.component.ts","./src/app/vessel-schedule-details/vessel-schedule-details.component.ts","./src/app/vessel-gate-summary/vessel-gate-summary.component.ts","./src/app/app.routes.ts","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/holds-notifications/holds-notifications.component.ts","./src/app/app.component.ts","./src/app/reefer-dispatch-summary/reefer-dispatch-summary.component.ts","./src/app/app-sidebar/app-sidebar.component.html","./src/app/vessel-gate-summary/vessel-gate-summary.component.html","./src/app/quote-detail/quote-detail.component.ts","./src/app/app-contacts/app-contacts.component.ts","./src/app/app.component.html","./src/app/holds-history/holds-history.component.ts","./src/app/vessel-booking-details/vessel-booking-details.component.ts","./src/app/faqs/faqs.component.ts","./src/app/holds-notifications-details/holds-notifications-details.component.ts","./src/app/app-home/app-home.component.css","./src/app/app.module.ts","./src/core-lib/dp-dropdown.component.ts","./src/app/vessel-booking-listing/vessel-booking-listing.component.ts","./src/app/container-vgm-details/container-vgm-details.component.html","./src/app/holds-summary/holds-summary.component.ts","./src/app/terminal-services-summary/terminal-services-summary.component.html","./src/app/reefer-dispatch-summary/reefer-dispatch-summary.component.html","./src/app/quote-summary/quote-summary.component.css","./src/polyfills.ts","./src/core-lib/dp-textarea.component.ts","./src/core-lib/dp-edit.component.ts","./src/core-lib/dp.component-base.ts","./src/app/appointment-summary/appointment-summary.component.ts","./src/app/vessel-booking-summary/vessel-booking-summary.component.html","./src/app/driver-appointment-summary/driver-appointment-summary.component.html","./src/app/vessel-booking-details/vessel-booking-details.component.html","./src/core-lib/dp-paging.component.ts","./src/app/vbs-payment-listing/vbs-payment-listing.component.html","./src/app/quote-detail/quote-detail.component.html","./src/app/vessel-schedule-summary/vessel-schedule-summary.component.ts","./src/app/settings-customer-details/settings-customer-details.component.ts","./src/app/terminal-services-details/terminal-services-details.component.ts","./src/app/quote-summary/quote-summary.component.html","./src/app/reefer-dispatch-details/reefer-dispatch-details.component.html","./src/core-lib/public_api.ts","./src/app/app-footer/app-footer.component.html","./src/app/vessel-schedule-details/vessel-schedule-details.component.html","./src/app/invoice-detail/invoice-detail.component.html","./src/app/settings-customer-details/settings-customer-details.component.html","./src/app/sharedlib.ts","./src/app/terminal-services-summary/terminal-services-summary.component.ts","./src/app/vbs-payment-details/vbs-payment-details.component.ts","./src/app/vessel-booking-summary/vessel-booking-summary.component.ts","./src/app/app-contacts/app-contacts.component.html","./src/app/holds-summary/holds-summary.component.html","./src/app/vbs-payment-details/vbs-payment-details.component.html","./src/app/vessel-booking-listing/vessel-booking-listing.component.html","./src/app/container-yard-summary/container-yard-summary.component.ts","./src/core-lib/element-base.ts","./src/app/app-sidebar/app-sidebar.component.ts","./src/app/container-vgm-listing/container-vgm-listing.component.html","./src/app/appointment-summary/appointment-summary.component.html","./src/main.ts","./src/app/holds-customs/holds-customs.component.html","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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A;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;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2B;;;;;;;;;;;;;;;;;;;;;ACnRkD;AACwB;AACpB;IAKzC,2BAA2B,SAA3B,2BAA4B,SAAQ,oDAAW;IAG1D,YAAmB,OAAuB,EAAS,SAA2B,EAAS,kBAA4C;QACjI,KAAK,CAAC,OAAO,CAAC,CAAC;QADE,YAAO,GAAP,OAAO,CAAgB;QAAS,cAAS,GAAT,SAAS,CAAkB;QAA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","file":"main-es2015.js","sourcesContent":["export default \"\\r\\n
0\\\"\\r\\n [class.navbar-fixed-top]=\\\"SharedLib.GetTruckDriverID() > 0\\\">\\r\\n
\\r\\n
0)\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
0)\\\">\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n User: \\r\\n Usuario: \\r\\n {{GetSessionStorageData('USERNAME')}}\\r\\n \\r\\n Company: \\r\\n Compania: \\r\\n {{GetSessionStorageData('CUSTOMER_NAME')}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
0\\\">\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Card No: \\r\\n Carnet: \\r\\n \\r\\n {{GetSessionStorageData('TRUCK_DRIVER_CARD_NO')}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Name: \\r\\n Nombre: \\r\\n \\r\\n {{GetSessionStorageData('TRUCK_DRIVER_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
\";","import {Component, OnInit } from '@angular/core';\r\nimport {SharedLibService, GlobalSearchParamService} from '../sharedlib'; //import user service\r\nimport { DPComponent, CoreLibService} from 'core-lib';\r\n\r\n@Component({\r\n selector: 'app-driver-appointment-summary',\r\n templateUrl: './driver-appointment-summary.component.html'\r\n})\r\nexport class DriverAppointmentSummaryComponent extends DPComponent implements OnInit {\r\n public DriverAppointmentObject: Array = [];\r\n public VBSPaymentObject: Array = [];\r\n public CurrentTabSelected: string = '';\r\n public TmpQueryType: string;\r\n public TmpRequestID: string;\r\n public TmpTruckDriverCardNoEdit: string = '';\r\n\r\n constructor(public CoreLib: CoreLibService, public GlobalSearchParams: GlobalSearchParamService, public SharedLib: SharedLibService) {\r\n super(CoreLib);\r\n }\r\n\r\n ngOnInit() {\r\n this.ClearSearchFilters();\r\n if (this.GetSessionStorageData('CurrentTabSelected') == \"\" || this.GetSessionStorageData('CurrentTabSelected') == null) {\r\n this.SetSessionStorageItem(\"CurrentTabSelected\", \"AppointmentList\");\r\n }\r\n this.CurrentTabSelected = this.GetSessionStorageData(\"CurrentTabSelected\");\r\n this.DoSearch();\r\n //this.SetModalSecondaryFormRecID(-1);\r\n }\r\n\r\n DoSearch() {\r\n this.CurrentTabSelected = this.GetSessionStorageData(\"CurrentTabSelected\");\r\n if (this.CurrentTabSelected == 'AppointmentList') {\r\n this.TmpRequestID = 'ProcessGetSharedQueryData';\r\n this.TmpQueryType = 'GetAppointmentList';\r\n } else if (this.CurrentTabSelected == 'Transactions') {\r\n this.TmpRequestID = 'ProcessGetVBSQueryData';\r\n this.TmpQueryType = 'GetVBSPaymentData';\r\n }\r\n let DataObject = {\r\n EXTERNAL_WEB_USER_ID: this.SharedLib.GetExternalWebUserID(),\r\n FROM_DATE: undefined,\r\n TO_DATE: undefined,\r\n TRUCK_DRIVER_CARD_NO:'',\r\n TRUCK_DRIVER_CARD_RECORD_ID:0\r\n };\r\n\r\n /* Driver (Has in memory) or Union (needs to search) */\r\n if (this.SharedLib.GetTruckDriverID() > 0) {\r\n DataObject.TRUCK_DRIVER_CARD_NO = this.GetSessionStorageData('TRUCK_DRIVER_CARD_NO');\r\n DataObject.TRUCK_DRIVER_CARD_RECORD_ID = this.SharedLib.GetTruckDriverID();\r\n DataObject.FROM_DATE = undefined;\r\n DataObject.TO_DATE = undefined;\r\n } else {\r\n DataObject.TRUCK_DRIVER_CARD_NO = this.TmpTruckDriverCardNoEdit;\r\n DataObject.FROM_DATE = this.GlobalSearchParams.FROM_DATE;\r\n DataObject.TO_DATE = this.GlobalSearchParams.TO_DATE;\r\n }\r\n\r\n if ((this.CurrentTabSelected == 'AppointmentList') || (this.CurrentTabSelected == 'Transactions')) {\r\n this.CoreLib.ProcessWebRequest(this.TmpRequestID, this.TmpQueryType, 0, DataObject, false).subscribe(\r\n Result => {\r\n if (this.CurrentTabSelected == 'AppointmentList') {\r\n this.DriverAppointmentObject = Result.JSONData;\r\n } else if (this.CurrentTabSelected == 'Transactions') {\r\n this.VBSPaymentObject = Result.JSONData;\r\n }\r\n }\r\n );\r\n } else if (this.CurrentTabSelected == 'NewAppointment') {\r\n this.SetModalFormRecID(-1);\r\n }\r\n\r\n\r\n }\r\n\r\n ClearSearchFilters() {\r\n this.GlobalSearchParams.ClearGlobalSearchParams();\r\n this.GlobalSearchParams.FROM_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate() - 1);\r\n this.GlobalSearchParams.FROM_DATE.setHours(1);\r\n this.GlobalSearchParams.TO_DATE.setDate(this.GlobalSearchParams.TO_DATE.getDate());\r\n this.GlobalSearchParams.TO_DATE.setHours(1);\r\n }\r\n\r\n TabBtnClick(InCurrentTabSelected) {\r\n if (InCurrentTabSelected == 'NewAppointment' && this.SharedLib.TRUCK_DRIVER_BALANCE <= -100) {\r\n this.CoreLib.DPModalDialog('Alert', 'Balance is low', 'You cannot create, or edit appointments, you must have a balance of over -100 DOP', 'fa-exclamation-triangle text-danger');\r\n } else {\r\n this.CurrentTabSelected = InCurrentTabSelected;\r\n this.SetSessionStorageItem(\"CurrentTabSelected\", InCurrentTabSelected);\r\n this.DoSearch();\r\n }\r\n }\r\n\r\n EditAppointment(InAppointmentID) {\r\n if (this.SharedLib.TRUCK_DRIVER_BALANCE < -100) {\r\n this.CoreLib.DPModalDialog('Alert', 'Balance is low', 'You cannot create, or edit appointments, you must have a balance of over -100 DOP', 'fa-exclamation-triangle text-danger');\r\n } else {\r\n this.SetModalFormRecID(InAppointmentID);\r\n\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { Deferred, CommonVars } from './dp.classes';\r\n\r\n@Component({\r\n selector: 'modal-content',\r\n template: `\r\n
\r\n

\r\n \r\n {{Title}} \r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n `\r\n})\r\nexport class DPModalDialog {\r\n Title: string;\r\n Content: string;\r\n DialogType: number = 0; // 0 = Alert (just OK button), 1 = OKCancel, 2 = YesNo, 3 = YesNoCancel\r\n IconClass: string = 'fa-info-circle';\r\n OKCaption: string = 'Cerrar';\r\n YesCaption: string = 'Yes';\r\n NoCaption: string = 'No';\r\n CancelCaption: string = 'Cancel';\r\n Dialog: DPModalDialog;\r\n \r\n private ModalDeferred = new Deferred();\r\n ModalResult: Promise = this.ModalDeferred.promise;\r\n\r\n constructor(public bsModalRef: BsModalRef) {\r\n this.Dialog = this;\r\n }\r\n\r\n IsWarning() {\r\n return (this.DialogType == 2) || (this.DialogType == 3);\r\n }\r\n\r\n CancelClick() {\r\n this.ModalDeferred.resolve(0);\r\n this.bsModalRef.hide();\r\n CommonVars.ClearModalDialogContent(this.Content);\r\n }\r\n\r\n ConfirmClick() {\r\n this.ModalDeferred.resolve(1);\r\n this.bsModalRef.hide();\r\n CommonVars.ClearModalDialogContent(this.Content);\r\n }\r\n\r\n DenyClick() {\r\n this.ModalDeferred.resolve(-1);\r\n this.bsModalRef.hide();\r\n CommonVars.ClearModalDialogContent(this.Content);\r\n }\r\n\r\n GetConfirmCaption() {\r\n if ((this.DialogType == 2) || (this.DialogType == 3))\r\n return this.YesCaption\r\n else \r\n return this.OKCaption;\r\n }\r\n\r\n GetCancelCaption() {\r\n if (this.DialogType == 2)\r\n return this.NoCaption\r\n else \r\n return this.CancelCaption;\r\n }\r\n\r\n HasCancelButton() {\r\n return (this.DialogType >= 1) && (this.DialogType <= 3);\r\n }\r\n\r\n HasDenyButton() {\r\n return (this.DialogType == 3);\r\n }\r\n \r\n}","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

0\\\">\\r\\n Edit:\\r\\n Editar:\\r\\n {{AppointmentTypeLabel}}: {{GetModalFormRecID()}}\\r\\n

\\r\\n

\\r\\n Create New Appointment Of Reefer\\r\\n Crear Nueva Cita De Reefer\\r\\n

\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
{{ErrorMessage}}
\\r\\n
{{TimeErrorMessage}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n 0 || GetModalSecondaryFormRecID() > 0\\\"\\r\\n [LabelCaption]=\\\"'Fecha de la Cita'\\\" [Language]=\\\"'es'\\\" dateFormat=\\\"dd/mm/yy\\\" [ShowIcon]=\\\"true\\\"\\r\\n [ShowTime]=\\\"false\\\" [required]=\\\"true\\\" [(ngModel)]=\\\"AppointmentObject.APPOINTMENT_DATE\\\"\\r\\n (ngModelChange)=\\\"ChangeTime()\\\">\\r\\n
\\r\\n
\\r\\n 0 || GetModalSecondaryFormRecID() > 0\\\"\\r\\n [LabelCaption]=\\\"'Hora de la Cita'\\\" [Items]=\\\"AppointmentTimeSlotArrayPIR\\\" [ValueProp]=\\\"'Value'\\\"\\r\\n [DisplayProp]=\\\"'Option'\\\" [required]=\\\"true\\\" [(ngModel)]=\\\"AppointmentObject.AppointmentTimeSlot\\\"\\r\\n (change)=\\\"ChangeTime()\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n 0\\\"\\r\\n [required]=\\\"false\\\" [(ngModel)]=\\\"AppointmentObject.BILL_OF_LADING\\\" [UpperCase]=\\\"true\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n 0) || (GetModalSecondaryFormRecID() > 0)) || (SharedLib.GetTruckDriverID() > 0))\\\"\\r\\n [LabelCaption]=\\\"'ID del Chofer'\\\" [required]=\\\"true\\\" [(ngModel)]=\\\"AppointmentObject.DRIVER_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
\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

0\\\">\\r\\n Edit:\\r\\n Editar:\\r\\n {{AppointmentTypeLabel}}: {{GetModalFormRecID()}}\\r\\n

\\r\\n

\\r\\n Create New Appointment\\r\\n Crear Nueva Cita\\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
{{ErrorMessage}}
\\r\\n
{{TimeErrorMessage}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{TypeContainer}}\\r\\n
\\r\\n
\\r\\n 0 || GetModalSecondaryFormRecID() > 0) || !isContainerChecked\\\"\\r\\n [LabelCaption]=\\\"'Fecha de la Cita'\\\" [Language]=\\\"'es'\\\" dateFormat=\\\"dd/mm/yy\\\" [ShowIcon]=\\\"true\\\"\\r\\n [ShowTime]=\\\"false\\\" [required]=\\\"true\\\" [(ngModel)]=\\\"AppointmentObject.APPOINTMENT_DATE\\\"\\r\\n (ngModelChange)=\\\"ChangeTimeDateSlot()\\\">\\r\\n 0 || GetModalSecondaryFormRecID() > 0\\\"\\r\\n [LabelCaption]=\\\"'Fecha de la Cita'\\\" [Language]=\\\"'es'\\\" dateFormat=\\\"dd/mm/yy\\\" [ShowIcon]=\\\"true\\\"\\r\\n [ShowTime]=\\\"false\\\" [required]=\\\"true\\\" [(ngModel)]=\\\"AppointmentObject.APPOINTMENT_DATE\\\"\\r\\n (ngModelChange)=\\\"ChangeTimeDate()\\\">\\r\\n
\\r\\n
\\r\\n 0 || GetModalSecondaryFormRecID() > 0\\\"\\r\\n [LabelCaption]=\\\"'Hora de la Cita'\\\" [Items]=\\\"AppointmentTimeSlotArrayShowNormal\\\" [ValueProp]=\\\"'Value'\\\"\\r\\n [DisplayProp]=\\\"'Option'\\\" [required]=\\\"true\\\" [(ngModel)]=\\\"AppointmentObject.AppointmentTimeSlot\\\"\\r\\n (change)=\\\"ChangeTime()\\\">\\r\\n 0 || GetModalSecondaryFormRecID() > 0) || !isContainerChecked\\\"\\r\\n [LabelCaption]=\\\"'Hora de la Cita'\\\" [Items]=\\\"AppointmentTimeSlotArrayShow\\\" [ValueProp]=\\\"'Value'\\\"\\r\\n [DisplayProp]=\\\"'Option'\\\" [required]=\\\"true\\\" [(ngModel)]=\\\"AppointmentObject.AppointmentTimeSlot\\\"\\r\\n (change)=\\\"ChangeTime()\\\">\\r\\n 0 || GetModalSecondaryFormRecID() > 0\\\"\\r\\n [LabelCaption]=\\\"'Hora de la Cita'\\\" [Items]=\\\"AppointmentTimeSlotArrayPIR\\\" [ValueProp]=\\\"'Value'\\\"\\r\\n [DisplayProp]=\\\"'Option'\\\" [required]=\\\"true\\\" [(ngModel)]=\\\"AppointmentObject.AppointmentTimeSlot\\\"\\r\\n (change)=\\\"ChangeTime()\\\">\\r\\n
\\r\\n \\r\\n
\\r\\n 0\\\"\\r\\n [required]=\\\"false\\\" [(ngModel)]=\\\"AppointmentObject.BILL_OF_LADING\\\" [UpperCase]=\\\"true\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n 0) || (GetModalSecondaryFormRecID() > 0)) || (SharedLib.GetTruckDriverID() > 0))\\\"\\r\\n [LabelCaption]=\\\"'ID del Chofer'\\\" [required]=\\\"true\\\" [(ngModel)]=\\\"AppointmentObject.DRIVER_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
\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Search for Container

\\r\\n

Consultar Contenedor

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Por Favor introduzca el número de Contenedor que desea consultar\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\" class=\\\"btn-group btn-group-justified\\\">\\r\\n General Info\\r\\n Temperature History\\r\\n Documents\\r\\n
\\r\\n\\r\\n
\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
CategoríaEstadoServicios de TerminalDía de EjecuciónDescripciónCambiosNotas
{{Data.CATEGORY}}{{Data.FREIGHT_KIND}}{{Data.TSERV_ID}}{{FormatDateTimeExt(Data.PERFORMED, 'DD/MM/YYYY HH:mm:ss A')}}{{Data.DESCRIPTION}}{{Data.CHANGES}}\\r\\n
Total: {{ContainerHistoryDataArray.length}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n 0\\\"\\r\\n [options]=\\\"TemperatureChartOptions\\\" [data]=\\\"ChartData\\\">\\r\\n
\\r\\n
\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Date RecordedTemp Value
{{Data.XValue}}{{Data.YValue}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
DateFile NameDownload
{{FormatDateTimeExt(Data.DATECREATED, 'DD/MM/YYYY HH:mm:ss A')}}{{Data.DOCUMENTFILENAME}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n No Documents Found\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\";","import { NgModule, ModuleWithProviders, /* APP_INITIALIZER, */ ErrorHandler } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { DPComponentBase } from './dp.component-base'\r\nimport { DPComponent } from './dp.component'\r\nimport { CoreLibService, AppReadyEvent, LoggedInGuard, IdleService, GlobalErrorHandler } from './dp.services';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { NgIdleKeepaliveModule } from '@ng-idle/keepalive';\r\nimport { ModalModule, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { FileUploadModule } from 'ng2-file-upload';\r\nimport moment from 'moment';\r\nimport {DPSpinnerComponent} from './dp-spinner.component';\r\nimport {DPJSONErrorsComponent} from \"./dp-jsonerrors.component\";\r\nimport {DPDateEditComponent} from \"./dp-dateedit.component\";\r\nimport {DPSelectDropdownComponent} from \"./dp-dropdown.component\";\r\nimport {DPEditComponent} from \"./dp-edit.component\";\r\nimport {DPLabelComponent} from \"./dp-label.component\";\r\nimport {DPSearchEditComponent} from \"./dp-searchedit.component\";\r\nimport {DPTextAreaComponent} from \"./dp-textarea.component\";\r\nimport {DPUploadComponent} from \"./dp-upload.component\";\r\nimport {DPPagingComponent} from \"./dp-paging.component\";\r\nimport {DPModalDialog} from \"./dp-modaldialog.component\";\r\n\r\ndeclare global {\r\n interface Array {\r\n GetArrayData(PropName, PropValue): T\r\n }\r\n}\r\n\r\nif (!Array.prototype.GetArrayData) {\r\n Array.prototype.GetArrayData = function(PropName, PropValue) {\r\n return this[this.map(function(el) {\r\n return el[PropName];\r\n }).indexOf(PropValue)];\r\n }\r\n}\r\n\r\nexport function AppInit() {\r\n // Patch the JSON formatting for Date, removing the trailing \"Z\"\r\n Date.prototype.toJSON = function(){\r\n return moment(this).utcOffset(0, true).format().slice(0, -1);\r\n }\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CalendarModule,\r\n FileUploadModule,\r\n NgIdleKeepaliveModule.forRoot(),\r\n ModalModule\r\n ],\r\n declarations: [\r\n DPComponentBase,\r\n DPComponent,\r\n DPSpinnerComponent,\r\n DPJSONErrorsComponent,\r\n DPDateEditComponent,\r\n DPSelectDropdownComponent,\r\n DPEditComponent,\r\n DPLabelComponent,\r\n DPSearchEditComponent,\r\n DPTextAreaComponent,\r\n DPUploadComponent,\r\n DPPagingComponent,\r\n DPModalDialog\r\n ],\r\n exports: [\r\n DPComponentBase,\r\n DPComponent,\r\n DPSpinnerComponent,\r\n DPSelectDropdownComponent,\r\n DPJSONErrorsComponent,\r\n DPDateEditComponent,\r\n DPEditComponent,\r\n DPLabelComponent,\r\n DPSearchEditComponent,\r\n DPTextAreaComponent,\r\n DPUploadComponent,\r\n DPPagingComponent,\r\n DPModalDialog\r\n ],\r\n entryComponents: [DPModalDialog]\r\n})\r\nexport class DPCommonModule {\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: DPCommonModule,\r\n providers: [CoreLibService, AppReadyEvent, LoggedInGuard, IdleService, BsModalService, // Modal,\r\n { provide: ErrorHandler, useClass: GlobalErrorHandler }\r\n ]\r\n };\r\n }\r\n}\r\n\r\nAppInit();","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n\r\n selector: 'dp-jsonerrors',\r\n styles: [`\r\n .modal-sm {\r\n width:280px;\r\n }\r\n `],\r\n template: `\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n {{Errors.StatusCode}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n `\r\n})\r\nexport class DPJSONErrorsComponent {\r\n @Input() Errors: any;\r\n @Output() Close: EventEmitter = new EventEmitter();\r\n\r\n IsError() {\r\n return this.Errors.StatusCode == 'ERROR';\r\n }\r\n\r\n IsWarning() {\r\n return this.Errors.StatusCode == 'WARNING';\r\n }\r\n}","import {ChangeDetectorRef, Component, OnInit, ViewChild} from '@angular/core';\r\nimport {SharedLibService, GlobalSearchParamService} from '../sharedlib'; //import user service\r\nimport { DPComponent } from '../../core-lib/dp.component';\r\nimport {CoreLibService} from '../../core-lib/dp.services';\r\nimport {Router, NavigationEnd} from '@angular/router';\r\nimport {OverlayPanel} from 'primeng/overlaypanel';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: 'app-home.component.html',\r\n styleUrls : ['./app-home.component.css']\r\n})\r\n\r\nexport class AppHomeComponent extends DPComponent implements OnInit {\r\n public WebLink: String;\r\n public GeneralMessage: String;\r\n public DashboardDataArray: any = {};\r\n public QuoteData: any = {};\r\n public CurrencyDropDownArray: Array = [\r\n {Value:'DOP', Option:'DOP'},\r\n {Value:'US$', Option:'US$'}\r\n ];\r\n @ViewChild('UploadPanel', {static: false}) UploadPanel: OverlayPanel;\r\n\r\n constructor(public CoreLib: CoreLibService, public GlobalSearchParams: GlobalSearchParamService, public SharedLib: SharedLibService, public Router: Router, public Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.CDRef = Detector;\r\n this.Detach();\r\n Router.events.subscribe((val) => {\r\n if (this.IsLeftSidebarOpened() && val instanceof NavigationEnd) {\r\n this.ToggleSidebar();\r\n }\r\n });\r\n\r\n if (DPComponent.RequestPath.includes('test')) {\r\n this.WebLink = 'http://192.168.6.136/DPWCMSWebApp';\r\n } else {\r\n this.WebLink = 'http://webaccess.caucedo.com:9500'\r\n }\r\n\r\n if (!this.SharedLib.IsUserLoggedIn()) {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSysSettings', '', 0, '', false).subscribe(Result => {\r\n if (Result.StatusCode == 'SUCCESS' && Result.JSONData[0]) {\r\n this.SetModalSecondaryFormRecID(-1);\r\n this.GeneralMessage = Result.JSONData[0].GENERAL_POPUP_MESSAGE;\r\n this.SharedLib.CustomMessagePopup = Result.JSONData[0].GENERAL_POPUP_MESSAGE;\r\n this.SetSessionStorageItem('TerminalServiceCutOff', Result.JSONData[0].TERMINAL_SERVICE_CUTOFF)\r\n this.SetSessionStorageItem('ReeferDispatchCutOff', Result.JSONData[0].TERMINAL_SERVICE_REEFER_CUTOFF)\r\n this.SetSessionStorageItem('ApptHourRule', Result.JSONData[0].APPT_HOUR_RULE)\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.DashboardDataArray = {\r\n labels: ['06','07','08','09','10','11','12','13','14','15','16','17','18','Other'],\r\n datasets: [\r\n {\r\n label: 'Hourly Utilisztion %',\r\n data: [22, 0, 65, 80, 100, 55, 23, 56, 9, 93, 58, 103, 46, 96, 83, 4]\r\n }\r\n ]\r\n };\r\n this.QuoteData.QUOTE_DATETIME = new Date();\r\n this.QuoteData.QUOTE_TYPE = 1;\r\n this.QuoteData.CONTAINER_NO = '';\r\n this.QuoteData.BILL_OF_LADING_NO = '';\r\n this.QuoteData.FORM_NO = '';\r\n }\r\n\r\n\r\n SetUploadData(e) {\r\n this.UploadPanel.show(e);\r\n this.DetectChanges();\r\n }\r\n\r\n ClearMessage() {\r\n this.RemoveSessionStorageItem('PasswordMessage');\r\n this.DetectChanges();\r\n }\r\n\r\n RNCLookup(RNCNo) {\r\n this.QuoteData.RNCVALID = 0;\r\n if (RNCNo.length > 8) {\r\n this.SharedLib.IsLoadingRNC = true;\r\n clearTimeout(this.SharedLib.Timer);\r\n var self = this;\r\n this.SharedLib.Timer = setTimeout(function () {\r\n if (RNCNo) {\r\n self.CoreLib.ProcessWebRequest('ProcessGetPublicQueryData', 'LookupRNC', 0, {RNC_NO: RNCNo}, true).subscribe(Result => {\r\n if (Result && Result.JSONData.length > 0) {\r\n self.QuoteData.RNC_NO = Result.JSONData[0].RNC_TAX_NO;\r\n self.QuoteData.CUSTOMER_NAME = Result.JSONData[0].CUSTOMER_NAME;\r\n self.QuoteData.CUSTOMER_ID = Result.JSONData[0].RECORD_ID;\r\n self.SetSessionStorageItem('CUSTOMER_ID', Result.JSONData[0].RECORD_ID);\r\n self.QuoteData.RNCVALID = 1;\r\n } else {\r\n self.QuoteData.RNCVALID = 3;\r\n let ErrorMessage;\r\n if (self.DefaultLanguage == 'ES') {\r\n ErrorMessage = 'El contenedor no puede ser cotizado!
';\r\n ErrorMessage = ErrorMessage + '
Si su contenedor no está a nombre del consignatario debe contactar a Servicios de Terminal.
';\r\n ErrorMessage = ErrorMessage + 'terminalsvcdl.cau@dpworld.com
';\r\n ErrorMessage = ErrorMessage + '809-373-7300 Opción 1
';\r\n } else if (self.DefaultLanguage == 'EN') {\r\n ErrorMessage = 'The container in not allowed to be quoted!
';\r\n ErrorMessage = ErrorMessage + '
If your container is not in the name of the consignee you should contact Terminal Services.
';\r\n ErrorMessage = ErrorMessage + 'terminalsvcdl.cau@dpworld.com
';\r\n ErrorMessage = ErrorMessage + '809-373-7300 Option 1
';\r\n }\r\n ErrorMessage = ErrorMessage + '
809-373-7682
';\r\n ErrorMessage = ErrorMessage + '809-373-7687
';\r\n ErrorMessage = ErrorMessage + '809-373-7688
';\r\n ErrorMessage = ErrorMessage + '809-373-7689
';\r\n ErrorMessage = ErrorMessage + '809-373-7611
';\r\n DPComponent.Errors = {StatusCode: 'ERROR', StatusDescription: ErrorMessage};\r\n }\r\n self.SharedLib.IsLoadingRNC = false;\r\n });\r\n }\r\n }, 5000);\r\n }\r\n }\r\n\r\n ExchangeRateLookup() {\r\n this.CoreLib.ProcessWebRequest('ProcessGetExchangeRate', '', 0, '', true).subscribe(Result => {\r\n if (Result && Result.StatusCode == 'SUCCESS') {\r\n if (this.QuoteData.QUOTE_CURRENCY_CODE == 'DOP') {\r\n this.QuoteData.EXCHANGE_RATE = Result.EXCHANGE_RATE;\r\n } else {\r\n this.QuoteData.EXCHANGE_RATE = 1;\r\n }\r\n }\r\n });\r\n }\r\n\r\n SubmitQuote() {\r\n if (this.QuoteData.QUOTE_TYPE == 1) {\r\n this.QuoteData.CEDULA_PASSPORT_NO = '';\r\n }\r\n this.QuoteData.USERNAME = '1 TIME CUSTOMER';\r\n this.QuoteData.SESSION_ID = this.GetSessionStorageData('SESSION_ID');\r\n this.CoreLib.ProcessWebRequest('ProcessOneClickQuote', '', 0, this.QuoteData, false).subscribe(Result => {\r\n if (Result && Result.StatusCode && Result.StatusCode == 'SUCCESS') {\r\n this.SharedLib.PrintQuoteOrInvoice(Result.QUOTE_ID, 'PrintQuote', this.QuoteData.CEDULA_PASSPORT_NO);\r\n this.QuoteData = {};\r\n this.QuoteData.QUOTE_DATETIME = new Date();\r\n this.QuoteData.QUOTE_TYPE = 1;\r\n this.QuoteData.BILL_OF_LADING_NO = '';\r\n this.QuoteData.CONTAINER_NO = '';\r\n this.QuoteData.FORM_NO = '';\r\n this.DetectChanges();\r\n }\r\n });\r\n }\r\n\r\n}\r\n","import { Component, OnInit, ViewChild, ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent, CoreLibService } from 'core-lib';\r\nimport { Router } from '@angular/router';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@Component({\r\n templateUrl: './invoice-detail.component.html',\r\n selector: 'invoice-detail'\r\n})\r\nexport class InvoiceDetailComponent extends DPComponent implements OnInit {\r\n public CurrencyArrayDropDownArray: Array = [\r\n { Value: 'DOP', Option: 'DOP' },\r\n { Value: 'US$', Option: 'US$' }\r\n ];\r\n\r\n public InvoiceData: any = {};\r\n\r\n // Form elements\r\n @ViewChild('PaymentForm', { static: false }) PaymentForm: ElementRef;\r\n @ViewChild('AuthHash', { static: false }) AuthHash: ElementRef;\r\n\r\n constructor(public CoreLib: CoreLibService, public Route: ActivatedRoute, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, public Router: Router, public Detector: ChangeDetectorRef,\r\n public datepipe: DatePipe) {\r\n super(CoreLib);\r\n this.CDRef = Detector;\r\n this.Detach();\r\n let URL = document.location.href;\r\n }\r\n\r\n ngOnInit() {\r\n this.DetectChanges();\r\n this.DoSearch();\r\n }\r\n\r\n DoSearch() {\r\n //console.log(this.InvoiceData);\r\n this.Route.params.subscribe(params => {\r\n let Data = {\r\n CONTAINER_NO: this.GlobalSearchParams.CONTAINER_NO,\r\n CUSTOMER_NAME: this.GetSessionStorageData('CUSTOMER_NAME'),\r\n CUSTOMER_ID: this.GetSessionStorageData('CUSTOMER_ID'),\r\n INVOICE_NO: params['id'],\r\n SYSTEM_ROLE: this.GetSessionStorageData('SYSTEM_ROLE')\r\n }\r\n this.CoreLib.ProcessWebRequest('ProcessGetBillingQueryData', 'GetInvoiceList', 0, Data, false).subscribe(\r\n Result => {\r\n if (Result.JSONData.length > 0) {\r\n this.InvoiceData = Result.JSONData[0];\r\n this.InvoiceData.INVOICE_DATE = this.datepipe.transform(Date.parse(this.InvoiceData.INVOICE_DATE), 'dd-MM-yyyy hh:mm');\r\n this.InvoiceData.PAID_TO_DATETIME = this.datepipe.transform(Date.parse(this.InvoiceData.PAID_TO_DATETIME), 'dd-MM-yyyy');\r\n //console.log(this.InvoiceData);\r\n } else {\r\n console.log(`No Invoice Found With: ${Data.INVOICE_NO}`);\r\n //console.log(this.InvoiceData);\r\n }\r\n });\r\n });\r\n }\r\n}","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Create New Quote\\r\\n Crear Nueva Cotización\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Search Options\\r\\n Opciones de búsqueda\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Date to QuoteFecha de pago'\\\" [(ngModel)]=\\\"QUOTE_DATETIME\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n CurrencyMoneda'\\\"\\r\\n [Items]=\\\"CurrencyArrayDropDownArray\\\" [ValueProp]=\\\"'Value'\\\" [DisplayProp]=\\\"'Option'\\\"\\r\\n [required]=\\\"true\\\" [(ngModel)]=\\\"QUOTE_CURRENCY\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Current Quote ID: {{GetSessionStorageData('CURRENT_QUOTE_ID')}}\\r\\n /\\r\\n Currency: {{GetSessionStorageData('CURRENT_QUOTE_CURRENCY_CODE')}}\\r\\n Cotización Actual ID:\\r\\n {{GetSessionStorageData('CURRENT_QUOTE_ID')}}\\r\\n /\\r\\n Moneda: {{GetSessionStorageData('CURRENT_QUOTE_CURRENCY_CODE')}}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n Date to QuoteFecha de pago'\\\" [(ngModel)]=\\\"CURRENT_QUOTE_DATETIME\\\"\\r\\n (ngModelChange)=\\\"UpdateQuoteDateTime()\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
0) && (!(GetSessionStorageData('CURRENT_QUOTE_COMPLETE') == '1'))\\\">\\r\\n
\\r\\n Search Options\\r\\n Opciones de búsqueda\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Container ## de Contenedor'\\\"\\r\\n [disabled]=\\\"GlobalSearchParams.IMPORTED_CAR_FORM_NO !== ''\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.CONTAINER_NO\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n Bill of Lading #Número de BL'\\\"\\r\\n [disabled]=\\\"GlobalSearchParams.IMPORTED_CAR_FORM_NO !== ''\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.BILL_OF_LADING_NO\\\">\\r\\n
\\r\\n
\\r\\n Form #Número de Form'\\\"\\r\\n [disabled]=\\\"GlobalSearchParams.CONTAINER_NO !== '' || GlobalSearchParams.BILL_OF_LADING_NO !== ''\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.IMPORTED_CAR_FORM_NO\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

No Search Results Found

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n 0) && (!(GetSessionStorageData('CURRENT_QUOTE_COMPLETE') == '1')))\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Consignee
{{Data.EQ_NBR}}{{Data.LINE_ID}}{{Data.BL_NBR}}{{Data.EQSZ_ID}}{{Data.CATEGORY}}{{Data.STATUS}}Agregar\\r\\n a cotización{{Data.CONSIGNEE}}\\r\\n {{Data.LINE_HOLD}}
{{Data.FORM_TRACKING_NO}}{{Data.CHASSIS_NO}}{{Data.MAKE_MODEL}}{{Data.CONTAINER_NO}}Agregar\\r\\n a cotización
\\r\\n {{ContainerDataArray.length}}
\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n

\\r\\n {{ContainerDataArray.length}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ContenedorDescripciónCantidadPrecio USDTotal USDPrecio RDTotal RDAcción
{{Data.CONTAINER_NO}}{{Data.LINE_DESCRIPTION}}{{Data.BILLABLE_QTY}}\\r\\n {{Data.UNIT_PRICE}}\\r\\n {{FormatNumberExt(Data.BILLABLE_QTY * Data.UNIT_PRICE, 2)}}\\r\\n {{FormatNumberExt(Data.UNIT_PRICE * Data.CONVERSION_FACTOR, 2)}}\\r\\n {{FormatNumberExt(Data.BILLABLE_QTY * (Data.UNIT_PRICE * Data.CONVERSION_FACTOR).toFixed(2), 2)}}Remove Container
\\r\\n
\\r\\n Sub Total USD: {{FormatNumberExt(SubTotalUSD, 2)}}
\\r\\n Tax USD: {{FormatNumberExt(TaxUSD, 2)}}
\\r\\n Total USD: {{FormatNumberExt(SubTotalUSD + TaxUSD, 2)}}
\\r\\n
\\r\\n
\\r\\n Sub Total DOP: {{FormatNumberExt(SubTotalRD, 2)}}
\\r\\n Tax DOP: {{FormatNumberExt(TaxRD, 2)}}
\\r\\n Total DOP: {{FormatNumberExt(SubTotalRD + TaxRD, 2)}}
\\r\\n
\\r\\n
\\r\\n
0 && GetSessionStorageData('CURRENT_QUOTE_COMPLETE') == '1'\\\">\\r\\n Cotización Completa. Por favor acceder aquí\\r\\n para ver cotización
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n 0 && !GetSessionStorageData('CURRENT_QUOTE_COMPLETE')\\\"\\r\\n class=\\\"btn btn-action btn-success\\\" type=\\\"button\\\" (click)=\\\"CompleteQuote()\\\"> Completar Cotización \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\";","// From here:\r\n// http://stackoverflow.com/questions/39272970/angular-2-encode-image-to-base64\r\n\r\nimport { Component, Input, Output, EventEmitter, ViewChild, ElementRef, OnInit, SimpleChanges } from '@angular/core';\r\nimport { ElementBase } from './element-base';\r\nimport { DPModalDialog } from './dp-modaldialog.component';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { FileUploader } from 'ng2-file-upload';\r\n\r\n@Component({\r\n selector: 'dp-upload',\r\n styles: [`\r\n dp-upload div {\r\n position: relative;\r\n }\r\n\r\n .drag-drop {\r\n border: 3px dashed transparent;\r\n position: relative;\r\n left: 0px;\r\n padding: 2px;\r\n bottom: 5px;\r\n }\r\n \r\n .drag-drop-hover {\r\n border: 3px dashed #59a8ff;\r\n }\r\n\r\n .drag-drop:hover {\r\n border: 3px dashed #7693c7 !important;\r\n }\r\n \r\n .drag-drop-overlay {\r\n position: absolute;\r\n left: 0px;\r\n bottom: 0px;\r\n background: rgba(112, 162, 255, 0.4);\r\n z-index: 3;\r\n width: 100%;\r\n height: 100%;\r\n pointer-events:none;\r\n text-align: center;\r\n }\r\n\r\n .drag-drop-overlay i {\r\n font-size: 24px;\r\n padding-top: 7px;\r\n color: #468ded;\r\n }\r\n\r\n .margin-top-10 {\r\n margin-top: 10px;\r\n }\r\n\r\n .fileUpload {\r\n position: relative;\r\n overflow: hidden;\r\n }\r\n\r\n .fileUpload input.upload {\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n margin: 0;\r\n padding: 0;\r\n font-size: 20px;\r\n cursor: pointer;\r\n opacity: 0;\r\n filter: alpha(opacity=0);\r\n }\r\n\r\n .upload-file {\r\n &.form-control {\r\n width: auto;\r\n display: inherit;\r\n }\r\n }\r\n .btn {\r\n margin-bottom:0px;\r\n }\r\n .upload-btn {\r\n border-left: 1px solid #79a5d6;\r\n }\r\n\r\n .select-file-loaded {\r\n background-color: #93c6ff;\r\n }\r\n `],\r\n template: `\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {{ValidationMessage}}\r\n
\r\n
\r\n `,\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: DPUploadComponent,\r\n multi: true,\r\n }]\r\n})\r\n// Probably should change the type from \"any\" to a predefined type\r\nexport class DPUploadComponent extends ElementBase implements OnInit {\r\n public Info = {\r\n Filename: '',\r\n Data: '',\r\n Type: ''\r\n };\r\n\r\n @Input() FileTypeDisplayProp = '';\r\n @Input() FileTypes;\r\n @Input() AllowedTypes;\r\n @Input() SelectOnly = false;\r\n @Input() DataLoaded = false;\r\n @Output() Upload: EventEmitter = new EventEmitter();\r\n @ViewChild('FileInput', {static: false}) FileInput: ElementRef;\r\n @ViewChild('UploadInput', {static: false}) UploadInput: ElementRef;\r\n public Uploader: FileUploader = new FileUploader({url: ''});\r\n public FileOverDropZone = null;\r\n\r\n constructor(private BsModal: BsModalService, private Element: ElementRef) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.UpdateFileInput();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.UpdateFileInput();\r\n }\r\n\r\n public get IsDisabled(): boolean {\r\n if (!this.disabled) {\r\n let Parent = this.Element.nativeElement.parentNode;\r\n while (Parent && !Parent.disabled) {\r\n Parent = Parent.parentNode;\r\n }\r\n return (Parent && Parent.disabled);\r\n }\r\n else\r\n return true;\r\n }\r\n\r\n public FileOver(e: any) {\r\n if (!this.IsDisabled && e)\r\n this.FileOverDropZone = true; // for changing the class to indicate a file is over the drop zone\r\n else\r\n this.FileOverDropZone = null; \r\n }\r\n\r\n public FileDropped(files) {\r\n if (!this.IsDisabled && (files.length > 0))\r\n this.DoReadFile(files[0]);\r\n }\r\n\r\n SelectCaption() {\r\n if (this.DataLoaded)\r\n return 'Uploaded'\r\n else\r\n return 'Select a file';\r\n }\r\n\r\n FilenameValue = '';\r\n @Output() FilenameChange = new EventEmitter();\r\n\r\n @Input()\r\n get Filename() {\r\n return this.FilenameValue;\r\n }\r\n\r\n set Filename(val) {\r\n this.FilenameValue = val;\r\n this.FilenameChange.emit(this.FilenameValue);\r\n }\r\n\r\n get CanUpload(): Boolean {\r\n return (this.Info.Filename !== '') && (!this.FileTypes || (this.Info.Type !== ''));\r\n }\r\n\r\n UpdateFileInput() {\r\n if (this.DataLoaded) {\r\n if (this.Filename) {\r\n this.Info.Filename = this.Filename;\r\n } else {\r\n this.Info.Filename = 'Doc.pdf';\r\n }\r\n this.CheckValue();\r\n }\r\n }\r\n\r\n CheckValue() {\r\n setTimeout(() => {\r\n if (!this.value)\r\n this.value = 'X';\r\n }, 10);\r\n }\r\n\r\n ClickUploadInput() {\r\n this.UploadInput.nativeElement.click(); // This does\r\n }\r\n\r\n SelectFileClick() {\r\n if (this.DataLoaded) {\r\n this.ModalDlg('Confirm overwrite', 'File has already been uploaded. Overwrite?', 1).then(Result => {\r\n if (Result === 1) {\r\n this.ClickUploadInput();\r\n }\r\n });\r\n } else {\r\n this.ClickUploadInput();\r\n }\r\n }\r\n\r\n UploadClick() {\r\n this.Upload.emit(this.Info);\r\n this.Info.Filename = '';\r\n this.Info.Type = '';\r\n // this.UploadInput.nativeElement.value = '';\r\n this.FileInput.nativeElement.value = '';\r\n }\r\n\r\n ModalDlg(TitleText, Content, Type) {\r\n let ModalRef = this.BsModal.show(DPModalDialog, {class: 'modal-med'});\r\n ModalRef.content.DialogType = Type;\r\n ModalRef.content.IconClass = 'fa-exclamation-circle text-warning';\r\n ModalRef.content.Title = TitleText;\r\n ModalRef.content.Content = Content;\r\n return ModalRef.content.ModalResult;\r\n }\r\n\r\n InputFilenameChanged($event): void {\r\n this.ReadFile($event.target);\r\n }\r\n\r\n CheckFile(file: File) {\r\n if (this.AllowedTypes) {\r\n let FileTypes = this.AllowedTypes.toUpperCase().split(',');\r\n for (let i = 0; i < FileTypes.length; i++) {\r\n if (file.name.toUpperCase().endsWith(FileTypes[i].trim())) {\r\n return true;\r\n }\r\n }\r\n this.ModalDlg('Invalid file type', 'Valid types are: ' + FileTypes.join(', '), 0);\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n private DoReadFile(file: File) {\r\n if (file && this.CheckFile(file)) {\r\n let Reader: FileReader = new FileReader();\r\n Reader.onloadend = (e) => {\r\n this.Info.Filename = file.name;\r\n this.Info.Data = Reader.result as string;\r\n this.Filename = this.Info.Filename;\r\n this.value = this.Info.Data;\r\n }\r\n Reader.readAsDataURL(file);\r\n }\r\n }\r\n\r\n ReadFile(inputValue: any): void {\r\n let file: File = inputValue.files[0];\r\n this.DoReadFile(file);\r\n }\r\n}\r\n","import { Component, Input, OnInit, OnChanges, SimpleChanges, DoCheck } from '@angular/core';\r\nimport { ElementBase } from './element-base';\r\nimport { DPComponent } from './dp.component';\r\nimport moment from 'moment'\r\nexport type SelectOption = {\r\n Key: string,\r\n Value: string\r\n}\r\n@Component({\r\n selector: 'dropdownbase',\r\n template: ''\r\n})\r\nexport class DPDropdownBaseComponent extends ElementBase implements OnInit, OnChanges, DoCheck {\r\n @Input() ShowLabel: boolean = true;\r\n\r\n _Items: any = [];\r\n @Input('Items') set Items(Value : any) {\r\n this._Items = Value;\r\n this.UpdateItems();\r\n }\r\n get Items(): any {\r\n return this._Items;\r\n }\r\n\r\n @Input() ValueProp: string = '';\r\n @Input() DisplayProp: string = '';\r\n @Input() Dynamic: Boolean = false;\r\n StoredValue: string = '';\r\n HasSelection: Boolean = false;\r\n\r\n public Options: SelectOption[] = [];\r\n\r\n constructor() {\r\n super();\r\n DPComponent.GlobalChange.subscribe(() => {\r\n this.UpdateItems();\r\n }\r\n )\r\n }\r\n\r\n ngOnInit() {\r\n // this.UpdateItems();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n // Dynamic attribute allows reloading of the combo when the data changes\r\n if (this.Dynamic) {\r\n this.UpdateItems();\r\n }\r\n // this.HasSelection = !this.InvalidValue(this.value);\r\n this.CheckDropdownValue();\r\n }\r\n\r\n ngDoCheck() {\r\n this.CheckDropdownValue();\r\n }\r\n\r\n CheckDropdownValue() {\r\n if (this.InvalidValue(this.value)) { // || !this.value\r\n if (this.value) {\r\n //console.log('Storing value: ' + this.value);\r\n this.StoredValue = this.value;\r\n }\r\n this.value = '';\r\n }\r\n if (!this.InvalidValue(this.StoredValue)) { // || !this.StoredValue\r\n //console.log('Using StoredValue of: ' + this.StoredValue + ' instead of: ' + this.value);\r\n this.value = this.StoredValue;\r\n this.StoredValue = null;\r\n }\r\n this.HasSelection = !this.InvalidValue(this.value);\r\n }\r\n\r\n InvalidValue(Value) {\r\n if ((Value == null) || (typeof Value == 'undefined'))\r\n return true;\r\n if (this._Items && (this._Items.length > 0)) {\r\n for (let i = 0; i < this._Items.length; i++) {\r\n if (this.GetValue(this._Items[i]) == Value)\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n CheckValueProp(Item, PropName) {\r\n if (Item.hasOwnProperty(PropName)) {\r\n this.ValueProp = PropName;\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n UpdateItems() {\r\n if (this._Items && (this._Items.length > 0)) {\r\n let Item = this._Items[0];\r\n if (typeof Item === 'string') {\r\n // Convert array of strings into array of objects\r\n for (let i = 0; i < this._Items.length; i++) {\r\n this._Items[i] = {RecordID: i, DisplayValue: this._Items[i]};\r\n }\r\n this.ValueProp = 'RecordID';\r\n this.DisplayProp = 'DisplayValue';\r\n }\r\n if (!this.CheckValueProp(Item, this.ValueProp) && !this.CheckValueProp(Item, 'RecordID') && !this.CheckValueProp(Item, 'RECORD_ID'))\r\n this.ValueProp = Object.keys(Item)[0];\r\n }\r\n if (this._Items && (this._Items.length > 0)) {\r\n this.Options = [];\r\n for (let i = 0; i < this._Items.length; i++) {\r\n let Option = {\r\n Key: this.GetValue(this._Items[i]),\r\n Value: this.GetOption(this._Items[i])\r\n }\r\n this.Options.push(Option);\r\n }\r\n }\r\n // this.HasSelection = !this.InvalidValue(this.value);\r\n this.CheckDropdownValue();\r\n }\r\n\r\n GetValue(Item) {\r\n if (Item.hasOwnProperty(this.ValueProp)) {\r\n return Item[this.ValueProp];\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n\r\n FormatDateTimeExt(value, args) {\r\n if (value) {\r\n if (moment(value).isValid) {\r\n if ((moment(value, 'YYYY').year() === 3000) || (moment(value, 'YYYY').year() < 1900)) {\r\n return '';\r\n } else {\r\n return moment(value).format(args);\r\n }\r\n } else {\r\n return 'N/A';\r\n }\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n FormatToken(Token: string, Item: any) {\r\n // In this routine, the token being passed is either a property name, or a property name plus a format string, e.g:\r\n // SomeField or SomeField:dd/mm/yy\r\n // In the latter case, the value is split into the property name and the format string, and the return value is the formatted property value\r\n if (Item.hasOwnProperty(Token)) {\r\n return DPComponent.Translate(Item[Token]);\r\n } else {\r\n let Parts = Token.split(':');\r\n if ((Parts.length > 1) && (Item.hasOwnProperty(Parts[0]))) {\r\n // For now, just assume it's a date format. In future, detect format type\r\n return this.FormatDateTimeExt(Item[Parts[0]], Parts[1]);\r\n } else\r\n return '';\r\n }\r\n }\r\n\r\n FormatOption(Item: any) {\r\n // DisplayProp can be in a format, e.g: '{SomeField}-{AnotherField:dd/mm/yy}' etc\r\n // This routine parses each element and replaces it with the property value, or the formatted property value\r\n let Result = '';\r\n let InToken = false;\r\n let Token = '';\r\n let S = this.DisplayProp;\r\n for (let I = 0; I < S.length; I++) {\r\n if (!InToken && (S[I] == '{')) {\r\n InToken = true;\r\n } else if (InToken && (S[I] == '}')) {\r\n Result = Result + this.FormatToken(Token, Item);\r\n Token = '';\r\n InToken = false;\r\n } else if (InToken) {\r\n Token = Token + S[I];\r\n } else\r\n Result = Result + S[I];\r\n\r\n }\r\n return Result;\r\n }\r\n\r\n GetOption(Item) {\r\n if (Item.hasOwnProperty(this.DisplayProp)) {\r\n return DPComponent.Translate(Item[this.DisplayProp]);\r\n } else {\r\n return this.FormatOption(Item);\r\n }\r\n }\r\n\r\n GetOptionFromValue(Value) {\r\n if (this._Items && (this._Items.length > 0)) {\r\n for (let i = 0; i < this._Items.length; i++) {\r\n if (this.GetValue(this._Items[i]) == Value)\r\n return this.GetOption(this._Items[i]);\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n writeValue(value: string) {\r\n if ((value == null) || (value == undefined))\r\n this.value = ''\r\n else\r\n this.value = value;\r\n\r\n }\r\n}\r\n","import { ChangeDetectorRef, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib'; //import user service\r\nimport { DPComponent, CoreLibService } from 'core-lib';\r\nimport { Router } from '@angular/router';\r\nimport {OverlayPanel} from 'primeng/overlaypanel';\r\n\r\n@Component({\r\n selector: 'appointment-details-reefer',\r\n templateUrl: 'appointment-details-reefer.component.html'\r\n})\r\nexport class AppointmentDetailsReeferComponent extends DPComponent implements OnInit {\r\n public AppointmentTypeLabel: string = '';\r\n public ErrorMessage: string = '';\r\n public TimeErrorMessage: string = '';\r\n public ContainerErrorMessage: string;\r\n public ContainerISOCodeObject: Array;\r\n public ConsigneeObject: any;\r\n public Timer: any;\r\n public AppointmentObject: any = {};\r\n public RECORD_ID: string = '';\r\n public AppointmentTimeSlotArray: Array = [\r\n { Value: '00:00', Option: '12:00-12:59 AM' },\r\n { Value: '01:00', Option: '01:00-01:59 AM' },\r\n { Value: '02:00', Option: '02:00-02:59 AM' },\r\n { Value: '03:00', Option: '03:00-03:59 AM' },\r\n { Value: '04:00', Option: '04:00-04:59 AM' },\r\n { Value: '05:00', Option: '05:00-05:59 AM' },\r\n { Value: '06:00', Option: '06:00-06:59 AM' },\r\n { Value: '07:00', Option: '07:00-07:59 AM' },\r\n { Value: '08:00', Option: '08:00-08:59 AM' },\r\n { Value: '09:00', Option: '09:00-09:59 AM' },\r\n { Value: '10:00', Option: '10:00-10:59 AM' },\r\n { Value: '11:00', Option: '11:00-11:59 AM' },\r\n { Value: '12:00', Option: '12:00-12:59 PM' },\r\n { Value: '13:00', Option: '01:00-1:59 PM' },\r\n { Value: '14:00', Option: '02:00-2:59 PM' },\r\n { Value: '15:00', Option: '03:00-3:59 PM' },\r\n { Value: '16:00', Option: '04:00-4:59 PM' },\r\n { Value: '17:00', Option: '05:00-5:59 PM' },\r\n { Value: '18:00', Option: '06:00-6:59 PM' },\r\n { Value: '19:00', Option: '07:00-7:59 PM' },\r\n { Value: '20:00', Option: '08:00-8:59 PM' },\r\n { Value: '21:00', Option: '09:00-9:59 PM' },\r\n { Value: '22:00', Option: '10:00-10:59 PM' },\r\n { Value: '23:00', Option: '11:00-11:59 PM' }\r\n ];\r\n \r\n public AppointmentTimeSlotArrayPIR: Array = [\r\n { Value: '08:00', Option: '08:00-08:59 AM' },\r\n { Value: '09:00', Option: '09:00-09:59 AM' },\r\n { Value: '10:00', Option: '10:00-10:59 AM' },\r\n { Value: '11:00', Option: '11:00-11:59 AM' },\r\n { Value: '12:00', Option: '12:00-12:59 PM' },\r\n { Value: '13:00', Option: '01:00-1:59 PM' },\r\n { Value: '14:00', Option: '02:00-2:59 PM' },\r\n { Value: '15:00', Option: '03:00-3:59 PM' },\r\n ];\r\n\r\n @ViewChild('OverlayPanel', {static: false}) OverlayPanel: OverlayPanel;\r\n\r\n constructor(public CoreLib: CoreLibService, public Router: Router, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, public Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.CDRef = Detector;\r\n this.Detach(true);\r\n }\r\n\r\n ngOnInit() {\r\n this.AppointmentObject.APPOINTMENT_DATE = new Date();\r\n this.AppointmentObject.APPOINTMENT_DATE.setHours(0, 0, 0);\r\n this.AppointmentObject.DOUBLE_MISSION = 1;\r\n this.AppointmentObject.AppointmentTimeSlot = '00:00';\r\n this.AppointmentObject.WebRequestType = 'WEB';\r\n this.AppointmentObject.APP_TYPE = '';\r\n if (this.GetModalFormRecID() > 0) {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetAppointmentList', this.GetModalFormRecID(), { RECORD_ID: this.GetModalFormRecID() }, false).subscribe(\r\n Result => {\r\n this.AppointmentObject = Result.JSONData[0]; //Set All Fields\r\n this.AppointmentTypeBtnClick(this.AppointmentObject.APP_TYPE); //Change Appointment Type\r\n /* Stringify the DateTime and extract the substring of the hours to set the Time Slot Dropdown - must do this first before Date object */\r\n let JSONTimeSlot = JSON.stringify(this.AppointmentObject.APPOINTMENT_DATE);\r\n JSONTimeSlot = JSONTimeSlot.substring(JSONTimeSlot.indexOf(\"T\") + 1, JSONTimeSlot.indexOf(\":\") + 3);\r\n this.AppointmentObject.AppointmentTimeSlot = JSONTimeSlot;\r\n var DateString = Result.JSONData[0].APPOINTMENT_DATE;\r\n DateString = DateString.replace(/-/, '/').replace(/-/, '/');\r\n this.AppointmentObject.APPOINTMENT_DATE = new Date(DateString.substring(0, 10));\r\n if (this.AppointmentObject.CONTAINER_NO) {\r\n this.ContainerNumberChange(this.AppointmentObject.CONTAINER_NO);\r\n }\r\n if (this.AppointmentObject.BOOKING_NO) {\r\n this.SearchBookingNo();\r\n }\r\n this.AppointmentObject.ConsigneeSearch = this.AppointmentObject.CONSIGNEE;\r\n if (this.AppointmentObject.ConsigneeSearch) {\r\n this.SearchConsignee();\r\n }\r\n });\r\n }\r\n if (this.SharedLib.GetTruckDriverID() > 0) {\r\n this.AppointmentObject.USERNAME = 'TRUCKER - ' + this.GetSessionStorageData('TRUCK_DRIVER_NAME');\r\n } else {\r\n this.AppointmentObject.USERNAME = 'WEBUSER - ' + this.GetSessionStorageData('USERNAME');\r\n }\r\n this.AppointmentObject.DRIVER_ID = this.GetSessionStorageData('TRUCK_DRIVER_CARD_NO');\r\n }\r\n\r\n ChangeTime() {\r\n let TimeSlot = parseInt(this.AppointmentObject.AppointmentTimeSlot.substr(0, this.AppointmentObject.AppointmentTimeSlot.indexOf(':')));\r\n\r\n if(!TimeSlot)\r\n {\r\n return;\r\n }\r\n\r\n this.AppointmentObject.APPOINTMENT_DATE.setHours(TimeSlot, 0, 0);\r\n console.warn('date: ' + this.AppointmentObject.APPOINTMENT_DATE);\r\n let CheckDate = new Date(this.AppointmentObject.APPOINTMENT_DATE);\r\n if (TimeSlot == 23) {\r\n CheckDate.setDate(CheckDate.getDate() + 1);\r\n TimeSlot = -1;\r\n }\r\n CheckDate.setHours(TimeSlot + 1, 0, 0);\r\n if (CheckDate < new Date()) {\r\n this.TimeErrorMessage = 'La fecha / hora elegida ya ha pasado';\r\n } else {\r\n this.TimeErrorMessage = '';\r\n }\r\n }\r\n\r\n\r\n SearchConsignee() {\r\n\r\n }\r\n\r\n ConsigneeChange(InConsignee) {\r\n /* Do Not Search for Customer ID */\r\n // if ((this.GetSessionStorageData(\"CUSTOMER_ID\") > 0) && (( this.AppointmentObject.APP_TYPE == 'PUI' || this.AppointmentObject.APP_TYPE == 'PUM'))) {\r\n this.ConsigneeObject = Array[0];\r\n this.AppointmentObject.CONSIGNEE = \"\";\r\n clearTimeout(this.Timer);\r\n var self = this;\r\n this.Timer = setTimeout(function () {\r\n if (InConsignee.length > 2) {\r\n self.SearchConsignee();\r\n }\r\n }, 700);\r\n }\r\n\r\n SearchContainerNumber() {\r\n if (this.AppointmentObject.CONTAINER_NO !== '') {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'AppointmentSearchContainerNo', 0, { APP_TYPE: this.AppointmentObject.APP_TYPE, CONTAINER_NO: this.AppointmentObject.CONTAINER_NO }, true).subscribe(\r\n Result => {\r\n Result = Result.JSONData;\r\n if (Result && (Result.length > 0)) {\r\n this.AppointmentObject.LINE_OPERATOR = Result[0].LINE_OPERATOR;\r\n /* Possibly only for DOM we want to prefix BOOKING_NO with 'ERO' stuff */\r\n\r\n /* VGM Weight Module 27-07-2017 */\r\n\r\n this.ContainerISOCodeObject = Result;\r\n\r\n this.RECORD_ID = Result[0].RECORD_ID;\r\n\r\n if (this.ContainerISOCodeObject) {\r\n this.AppointmentObject.ISO_CODE = Result[0].ISO_CODE;\r\n }\r\n if (Result[0].CONSIGNEE && Result[0].CONSIGNEE.length > 0) {\r\n this.AppointmentObject.CONSIGNEE = Result[0].CONSIGNEE;\r\n this.AppointmentObject.ConsigneeSearch = this.AppointmentObject.CONSIGNEE;\r\n if (this.AppointmentObject.ConsigneeSearch) {\r\n this.SearchConsignee();\r\n }\r\n }\r\n this.AppointmentObject.REMARKS = Result[0].REMARKS;\r\n }\r\n }\r\n );\r\n\r\n }\r\n }\r\n\r\n ContainerNumberChange(InContainerNumber) {\r\n this.ContainerISOCodeObject = Array[0];\r\n this.RECORD_ID = '';\r\n this.AppointmentObject.LINE_OPERATOR = '';\r\n this.AppointmentObject.WEIGHT = '';\r\n this.ContainerErrorMessage = '';\r\n this['ContValidationStatus'] = 0;\r\n clearTimeout(this.Timer);\r\n var self = this;\r\n this.Timer = setTimeout(function () {\r\n if (InContainerNumber.length > 10) {\r\n self.SearchContainerNumber();\r\n }\r\n }, 700);\r\n }\r\n\r\n SearchBookingNo() {\r\n if (this.AppointmentObject.BOOKING_NO !== '') {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'AppointmentSearchBookingNo', 0, { BOOKING_NO: this.AppointmentObject.BOOKING_NO, ISO_CODE: this.AppointmentObject.ISO_CODE }, true).subscribe(\r\n Result => {\r\n Result = Result.JSONData;\r\n if (Result.length > 0) {\r\n this.AppointmentObject.LINE_OPERATOR = Result[0].LINE_OPERATOR;\r\n if (Result[0].ISO_CODE) {\r\n this.ContainerISOCodeObject = Result;\r\n this.RECORD_ID = Result[0].RECORD_ID;\r\n }\r\n if (Result.length == 1) {\r\n this.AppointmentObject.ISO_CODE = Result[0].ISO_CODE;\r\n }\r\n //}\r\n this.ErrorMessage = '';\r\n } else {\r\n this.ErrorMessage = 'Did not find booking: (' + this.AppointmentObject.BOOKING_NO + ')';\r\n }\r\n });\r\n }\r\n }\r\n\r\n AppointmentTypeBtnClick(AppType) {\r\n this.AppointmentObject.WEIGHT = '';\r\n this.AppointmentObject.APP_TYPE = AppType;\r\n this.CDRef.detectChanges();\r\n this.AppointmentTypeLabel = 'Cita para Despacho de Reefer';\r\n this.AppointmentObject.APP_TYPE_INDEX = 4;\r\n }\r\n\r\n SubmitAppointmentForm() {\r\n let Data = {\r\n WEB_USER_ID:this.GetSessionStorageData('WEB_USER_ID'),\r\n EXTERNAL_WEB_USER_ID:this.GetSessionStorageData('EXTERNAL_WEB_USER_ID'),\r\n RECORD_ID: this.RECORD_ID,\r\n CONTAINER_NO: this.AppointmentObject.CONTAINER_NO,\r\n N4_APPOINTMENT_NO: 0\r\n }\r\n\r\n this.AppointmentObject.CONSIGNEE = this.AppointmentObject.ConsigneeSearch;\r\n if (this.AppointmentObject.DRIVER_ID && this.AppointmentObject.DRIVER_ID.length == 4) {\r\n this.AppointmentObject.DRIVER_ID = '0' + this.AppointmentObject.DRIVER_ID;\r\n }\r\n if (this.SharedLib.TRUCK_DRIVER_BALANCE <= -100) {\r\n this.CoreLib.DPModalDialog('Alert', 'El balance esta bajo', 'No puede crear ni editar citas, debe tener un balance de más de -100 pesos', 'fa-exclamation-triangle text-danger');\r\n } else {\r\n this.ErrorMessage = '';\r\n let TimeSlot = this.AppointmentObject.AppointmentTimeSlot.substr(0, this.AppointmentObject.AppointmentTimeSlot.indexOf(':'));\r\n this.AppointmentObject.APPOINTMENT_DATE.setHours(parseInt(TimeSlot), 0, 0);\r\n this.AppointmentObject.WebRequestType = 'WEB';\r\n this.AppointmentObject.WEB_USER_ID = this.SharedLib.GetWebUserID();\r\n this.AppointmentObject.EXTERNAL_WEB_USER_ID = this.SharedLib.GetExternalWebUserID();\r\n const offset = new Date().getTimezoneOffset();\r\n this.AppointmentObject.TIME_ZONE_OFFSET = offset;\r\n this.CoreLib.ProcessWebRequest('ProcessInsertUpdateTruckDriverAppointment', '', this.GetModalFormRecID(), this.AppointmentObject, false, true).subscribe(Result => {\r\n this.SetSessionStorageItem(\"CurrentTabSelected\", \"AppointmentList\");\r\n //Replaces the first Error: with blank a string and all the rest with a new line break.\r\n if (this.JSONErrors && typeof this.JSONErrors.StatusDescription !== 'undefined') {\r\n this.JSONErrors.StatusDescription = this.JSONErrors.StatusDescription.replace('ERROR: ', '');\r\n this.JSONErrors.StatusDescription = this.JSONErrors.StatusDescription.replace(/ERROR: /g, '
');\r\n if (this.JSONErrors.StatusDescription.includes(\"EQUIP_GRADE_REQUIRED\")) {\r\n this.JSONErrors.StatusDescription = `El booking numero (${this.AppointmentObject.BOOKING_NO}) para la linea (${this.AppointmentObject.LINE_OPERATOR}) no tiene grado, favor de comunicarse con su agencia o linea operadora`;\r\n console.log(\"message-id = EQUIP_GRADE_REQUIRED message-text = EQUIP_GRADE_REQUIRED\");\r\n }\r\n console.log(\"****\");\r\n console.log(this.JSONErrors.StatusDescription);\r\n } else {\r\n Data.N4_APPOINTMENT_NO = Result.AppointmentID;\r\n this.SaveDischargeAppointment(Data);\r\n\r\n if (this.Router.url.includes('container-vgm-listing')) {\r\n this.Router.navigate(['/appointment-summary']);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n SaveDischargeAppointment(Data) {\r\n this.CoreLib.ProcessWebRequest('ProcessSaveDischargeSlotReefer', '', 0, Data, false, true, 500).subscribe( Result => {\r\n });\r\n this.SetModalFormRecID(0); \r\n this.SetModalSecondaryFormRecID(0);\r\n }\r\n\r\n}\r\n","export default \"
\\r\\n
\\r\\n\\r\\n

FAQs - Preguntas Frecuentes

\\r\\n

FAQs - Preguntas Frecuentes

\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n ¿Cómo puedo tener acceso a la plataforma de citas?\\r\\n \\r\\n\\r\\n
    \\r\\n
  • Debe realizar una solicitud via correo a: Experiencias@dpworld.com
  • \\r\\n
  • De lunes a viernes 08:00 am hasta 05:00 pm
  • \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n ¿Cuáles son los tipos de citas?\\r\\n \\r\\n\\r\\n
    \\r\\n
  • Despacho de cargado
  • \\r\\n
  • Despacho de vacío
  • \\r\\n
  • Retorno de cargado
  • \\r\\n
  • Retorno de vacío
  • \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n ¿Cuáles son los horarios para crear citas?\\r\\n \\r\\n\\r\\n 24 horas los 7 dias de la semana para:\\r\\n
    \\r\\n
  • Retorno vacío
  • \\r\\n
  • Retorno cargado
  • \\r\\n
  • Despacho vacío
  • \\r\\n
\\r\\n\\r\\n De lunes a sábado sujeto al horario designado por la DGA\\r\\n
    \\r\\n
  • Despachos de importación
  • \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n ¿Cómo crear una cita para despachos de importación?\\r\\n \\r\\n\\r\\n
    \\r\\n
  • Debe tener usuario creado
  • \\r\\n
  • Accesar a https://webapp.caucedo.com
  • \\r\\n
\\r\\n\\r\\n \\\"...\\\"\\r\\n\\r\\n
    \\r\\n
  • Seleccionar la opción CITA
  • \\r\\n
  • CREAR CITA
  • \\r\\n
  • Seleccionar DESPACHO DE CARGADO
  • \\r\\n
  • Digitar número de contenedor, ID del chofer y hora deseada.
  • \\r\\n
  • Haga click en PROCEDER
  • \\r\\n
\\r\\n\\r\\n \\\"...\\\"\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n ¿Cómo crear una cita para despachos vacíos? \\r\\n \\r\\n\\r\\n
    \\r\\n
  • Debe tener usuario creado
  • \\r\\n
  • Accesar a https://webapp.caucedo.com
  • \\r\\n
\\r\\n\\r\\n \\\"...\\\"\\r\\n\\r\\n
    \\r\\n
  • Seleccionar la opción CITA
  • \\r\\n
  • CREAR CITA
  • \\r\\n
  • Seleccionar DESPACHO DE VACIO
  • \\r\\n
  • Digitar número Booking, ID del chofer y hora deseada
  • \\r\\n
  • Haga click en PROCEDER
  • \\r\\n
\\r\\n\\r\\n \\\"...\\\"\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n ¿Cómo crear una cita para retornar un contenedor vacío?\\r\\n \\r\\n\\r\\n
    \\r\\n
  • Debe tener usuario creado
  • \\r\\n
  • Accesar a https://webapp.caucedo.com
  • \\r\\n
\\r\\n\\r\\n \\\"...\\\"\\r\\n\\r\\n
    \\r\\n
  • Seleccionar la opción CITA
  • \\r\\n
  • CREAR CITA
  • \\r\\n
  • Seleccionar RETORNO DE VACIO
  • \\r\\n
  • Digitar número de contenedor, ID del chofer y hora deseada
  • \\r\\n
  • Haga click en PROCEDER
  • \\r\\n
\\r\\n\\r\\n \\\"...\\\"\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n ¿Cómo crear una cita para retornar un contenedor cargado?\\r\\n \\r\\n\\r\\n
    \\r\\n
  • Debe tener usuario creado
  • \\r\\n
  • Accesar a https://webapp.caucedo.com
  • \\r\\n
\\r\\n\\r\\n \\\"...\\\"\\r\\n\\r\\n
    \\r\\n
  • Debe realizar primero el reporte de VGM
  • \\r\\n
  • Luego de crear el reporte seguir estos pasos:
  • \\r\\n
  • Seleccionar la opción CITA
  • \\r\\n
  • CREAR CITA
  • \\r\\n
  • Seleccionar RETORNO DE CARGADO
  • \\r\\n
  • Digitar número de contenedor, ID del chofer y hora deseada
  • \\r\\n
  • Haga click en PROCEDER
  • \\r\\n
\\r\\n\\r\\n \\\"...\\\"\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n ¿Qué es el VGM?\\r\\n \\r\\n\\r\\n Es el reporte del peso de la carga más el peso de tara del contenedor.\\r\\n Puede realizarlo de dos formas:\\r\\n\\r\\n
    \\r\\n
  • Declarando el peso de la carga +la tara del contenedor
  • \\r\\n
  • Declarando en cero (0) indica al sistema que desea certificar en puerto.
  • \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n ¿Cómo reportar un VGM en la web?\\r\\n \\r\\n
\\r\\n
    \\r\\n
  • Debe tener usuario creado
  • \\r\\n
  • Accesar a https://webapp.caucedo.com
  • \\r\\n
\\r\\n\\r\\n
\\r\\n 1. Ir a Reporte VGM\\r\\n
\\r\\n \\\"...\\\"\\r\\n\\r\\n
\\r\\n 2. Crear Reporte VGM\\r\\n
\\r\\n \\\"...\\\"\\r\\n\\r\\n
\\r\\n 3. Completar los campos con requeridos (*)\\r\\n
\\r\\n \\\"...\\\"\\r\\n\\r\\n
\\r\\n \\r\\n Nota: Si declara peso en \\\"0\\\" (Peso en Terminal), se creará automáticamente una cotización, que deber ser\\r\\n pagada antes, para poder crear su cita.\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n ¿Cómo registrar un carné de RNTT?\\r\\n \\r\\n
\\r\\n Se realiza presencial 24 horas al día, los 7 días de la semana. En el área de Pre-Gate.\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n ¿Si pierdo mi ticket (retorno o despacho), como puedo solicitar un du-plicado?\\r\\n \\r\\n\\r\\n
\\r\\n \\\"...\\\"\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n ¿Qué pasa si deseo cambiar un ID RNTT a una cita ya creada?\\r\\n \\r\\n\\r\\n
\\r\\n \\\"...\\\"\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n ¿Cómo actualizar un VGM?\\r\\n \\r\\n\\r\\n

Si la unidad aún no tiene cita creada y peso declarado

\\r\\n
    \\r\\n
  • Dar doble clic donde aparece el número de contenedor
  • \\r\\n
\\r\\n
\\r\\n \\\"...\\\"\\r\\n
\\r\\n\\r\\n
    \\r\\n
  • Volverá a visualizar el modulo de reporte
  • \\r\\n
  • Puede modificar la información deseada
  • \\r\\n
  • Click en proceder
  • \\r\\n
\\r\\n
\\r\\n \\\"...\\\"\\r\\n
\\r\\n\\r\\n

Si la unidad ya tiene cita, peso declarado y no ha retornado al puerto

\\r\\n
    \\r\\n
  • Debe enviar un correo a Cau.Pregate@dpworld.com
  • \\r\\n
  • Los datos para corregir (Peso, booking)
  • \\r\\n
  • El personal de turno le brindara asistencia inmediata
  • \\r\\n
\\r\\n\\r\\n

Si Declaro en cero (0) y desea realizar alguna modificación

\\r\\n
    \\r\\n
  • No puede realizar modificaciones desde su usuario tenga cita o no
  • \\r\\n
  • Debe enviar un correo a Cau.Pregate@dpworld.com
  • \\r\\n
  • Comunicarse al 809-373-7626 / 7693 / 7630
  • \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n ¿Cómo se realiza un Dry off ? (Contenedor de exportación que necesita ser devuelto al\\r\\n cliente)\\r\\n \\r\\n\\r\\n
    \\r\\n
  • El cliente realiza solicitud a la línea
  • \\r\\n
  • La línea realiza solicitud vía web
  • \\r\\n
  • El cliente envía la documentación y pago al equipo de Experiencias@dpworld.com
  • \\r\\n
  • Luego de completar estos procesos el cliente puede solicitar la cita via co-rreo o presencial
  • \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n ¿Cuál es el máximo de peso que puedo reportar?\\r\\n \\r\\n\\r\\n
El sistema solo admite valores entre los 2,000 kgs y 40,000 kgs y cuando\\r\\n se requiera un pesaje en puerto deberá colocar cero(0).El pesaje en puerto es un evento facturable.
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n ¿Cuál es el costo por concepto de pesaje en puerto?\\r\\n \\r\\n
\\r\\n El costo por servicio de pesaje es de US$50.00\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\";","// From https://stackoverflow.com/questions/36609998/angular-2-and-typescript-promises\r\nexport class Deferred {\r\n\r\n promise: Promise;\r\n resolve: (value?: T | PromiseLike) => void;\r\n reject: (reason?: any) => void;\r\n\r\n constructor() {\r\n this.promise = new Promise((resolve, reject) => {\r\n this.resolve = resolve;\r\n this.reject = reject;\r\n });\r\n }\r\n}\r\n\r\nexport class CommonVars {\r\n public static ModalDialogContent: string = '';\r\n public static ClearModalDialogContent(Content: string) {\r\n if (Content === CommonVars.ModalDialogContent)\r\n CommonVars.ModalDialogContent = '';\r\n }\r\n\r\n}\r\n","import { Component, HostListener, OnDestroy, AfterViewInit, ViewChildren, QueryList, AfterViewChecked } from '@angular/core';\r\nimport { CoreLibService } from './dp.services';\r\nimport { DPComponentBase } from './dp.component-base';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/throttle';\r\nimport moment from 'moment';\r\nimport Bowser from 'bowser';\r\nimport { OverlayPanel } from 'primeng/overlaypanel';\r\n\r\n@Component({\r\n selector: 'dp',\r\n template: '',\r\n providers: [CoreLibService]\r\n})\r\nexport class DPComponent extends DPComponentBase implements OnDestroy, AfterViewInit, AfterViewChecked {\r\n public static MainMenuCode = '';\r\n public static CurrentPageLabel = '';\r\n public static SiteLayout = '';\r\n public static CompanyID = 0;\r\n public static SystemModeID = 0;\r\n public static ModalSecondaryFormRecID = 0;\r\n public static ModalContainerRecID = 0;\r\n public static ModalBookingRecID = 0;\r\n public static ModalReleaseRecID = 0;\r\n public static LeftSideBarOpened = false;\r\n public static HelpModalOpened = false;\r\n public static BaseRef = '';\r\n private static F5Disabled = false;\r\n private CurrentModalFormRecID = 0;\r\n private IsMonitoringIsLoading: Boolean = false;\r\n private Checked: number[] = [];\r\n @ViewChildren(OverlayPanel) Panels: QueryList;\r\n OnDocumentClick() {\r\n this.DetectChanges();\r\n }\r\n\r\n private ClosePanels() {\r\n this.Panels.forEach(function(item: any) {\r\n item.hide();\r\n });\r\n }\r\n\r\n\r\n constructor(public CoreLib: CoreLibService) {\r\n super();\r\n this.SetCoreLibComponent();\r\n this.AddListeners();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.SetBodyModalOpen(false);\r\n }\r\n\r\n ngAfterViewChecked() {\r\n if (DPComponent.PerfDebug) {\r\n let Now = new Date().getTime();\r\n this.Checked.push(Now);\r\n // Remove all checks > 1000 milliseconds old\r\n for (let I = this.Checked.length - 1; I >= 0; I--) {\r\n if ((Now - this.Checked[I]) > 1000)\r\n this.Checked.splice(I, 1);\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.IsDetached) {\r\n this.DetectChanges();\r\n }\r\n }\r\n\r\n private AddListeners() {\r\n let self = this;\r\n window.addEventListener('keydown', function(event) { self.DocumentKeyDown(event) });\r\n }\r\n\r\n @HostListener('window:scroll', [])\r\n onWindowScroll() {\r\n this.CheckTableFooter(0);\r\n }\r\n private DocumentKeyDown(E: KeyboardEvent) {\r\n if (DPComponent.F5Disabled && !E.ctrlKey && (E.code === 'F5')) {\r\n if (this.CurrentModalFormRecID == 0) {\r\n this.DoSearch();\r\n }\r\n E.preventDefault();\r\n }\r\n }\r\n\r\n public ClearErrors() {\r\n DPComponentBase.Errors = null;\r\n }\r\n\r\n public get JSONErrors() {\r\n return DPComponentBase.Errors;\r\n }\r\n\r\n public get IsBusy(): Boolean {\r\n return this.CoreLib.IsBusy();\r\n }\r\n\r\n public SetActiveComponent(Component) {\r\n DPComponentBase.ActiveComponent = Component;\r\n }\r\n public SetCoreLibComponent() {\r\n this.CoreLib.Component = this;\r\n }\r\n private StopMonitoringIsLoading(NoDetect?: Boolean) {\r\n let WasMonitoring = this.IsMonitoringIsLoading;\r\n this.IsMonitoringIsLoading = false;\r\n // If it was monitoring, call DetectChanges\r\n if (WasMonitoring && !NoDetect) {\r\n this.DetectChanges();\r\n }\r\n }\r\n\r\n private InternalMonitorIsLoading() {\r\n if (!this.IsMonitoringIsLoading) {\r\n return;\r\n }\r\n if (this.IsLoading) {\r\n setTimeout(() => {\r\n if (this.IsLoading && this.IsBusy) {\r\n this.InternalMonitorIsLoading()\r\n } else {\r\n this.StopMonitoringIsLoading();\r\n }\r\n }, 100);\r\n } else {\r\n this.StopMonitoringIsLoading();\r\n }\r\n }\r\n\r\n public Detach(IsModal?: Boolean) {\r\n this.CDRef.detach()\r\n this.IsDetached = true;\r\n if (IsModal) {\r\n this.SetBodyModalOpen(true);\r\n }\r\n }\r\n\r\n public GetBrowserVersion() {\r\n const browserDetails = Bowser.getParser(window.navigator.userAgent).getBrowser();\r\n return browserDetails.name + ' (' + browserDetails.version + ')';\r\n }\r\n\r\n public SetMainMenuCode(Code: string) {\r\n DPComponent.MainMenuCode = Code;\r\n this.SetSessionStorageItem('MainMenuCode', DPComponent.MainMenuCode);\r\n this.DetectChanges();\r\n }\r\n\r\n public GetMainMenuCode(): string {\r\n return DPComponent.MainMenuCode;\r\n }\r\n\r\n public ToggleSidebar() {\r\n DPComponent.LeftSideBarOpened = !DPComponent.LeftSideBarOpened;\r\n }\r\n\r\n public IsLeftSidebarOpened(): Boolean {\r\n return DPComponent.LeftSideBarOpened;\r\n }\r\n\r\n public SetHelpModal(boolean: boolean) {\r\n DPComponent.HelpModalOpened = boolean;\r\n this.DetectChanges(true);\r\n }\r\n\r\n public IsHelpModalOpened(): Boolean {\r\n return DPComponent.HelpModalOpened;\r\n }\r\n\r\n public SetModalSecondaryFormRecID(ID: number) {\r\n DPComponent.ModalSecondaryFormRecID = ID;\r\n this.SetBodyModalOpen(ID !== 0);\r\n this.DetectChanges(false, ID == 0);\r\n }\r\n\r\n public GetModalSecondaryFormRecID(): number {\r\n return DPComponent.ModalSecondaryFormRecID;\r\n }\r\n\r\n public SetModalContainerRecID(ID: number) {\r\n DPComponent.ModalContainerRecID = ID;\r\n this.SetBodyModalOpen(ID !== 0);\r\n this.DetectChanges(false, ID == 0);\r\n }\r\n\r\n public GetModalContainerRecID(): number {\r\n return DPComponent.ModalContainerRecID;\r\n }\r\n\r\n\r\n public GetModalBookingRecID(): number {\r\n return DPComponent.ModalBookingRecID;\r\n }\r\n\r\n public SetModalReleaseRecID(ID: number) {\r\n DPComponent.ModalReleaseRecID = ID;\r\n this.SetBodyModalOpen(ID !== 0);\r\n this.DetectChanges(false, ID == 0);\r\n }\r\n\r\n public GetModalReleaseRecID(): number {\r\n return DPComponent.ModalReleaseRecID;\r\n }\r\n\r\n public LoadSysDefaults(InSystemModeID, InCompanyID) {\r\n DPComponent.SystemModeID = InSystemModeID;\r\n DPComponent.CompanyID = InCompanyID;\r\n }\r\n\r\n public CheckSystemMode(InSystemModeID, InCompanyIDs: Array = []) {\r\n let Result = false;\r\n if (InCompanyIDs && InCompanyIDs.length > 0) {\r\n for (let i = 0; i < InCompanyIDs.length; i++) {\r\n if (DPComponent.CompanyID == InCompanyIDs[i]) {\r\n Result = true;\r\n }\r\n }\r\n return Result && (DPComponent.SystemModeID == InSystemModeID);\r\n } else {\r\n return (DPComponent.SystemModeID == InSystemModeID);\r\n }\r\n }\r\n\r\n public CalcColumnSum(Items: any, ColumnName: string, IncludesColumnName = '', IncludesData = '') {\r\n let Result = 0;\r\n for (let Item of Items) {\r\n if ((IncludesColumnName !== '') && (IncludesData !== '')) {\r\n if (Item.hasOwnProperty(ColumnName) && Item[IncludesColumnName].includes(IncludesData)) {\r\n Result = Result + this.ValidNumber(Item[ColumnName]);\r\n }\r\n } else {\r\n if (Item.hasOwnProperty(ColumnName)) {\r\n Result = Result + this.ValidNumber(Item[ColumnName]);\r\n }\r\n }\r\n }\r\n return Result;\r\n }\r\n\r\n private IncludesAny(Data: any, IncludesData) {\r\n if (!IncludesData) {\r\n return true;\r\n }\r\n if (!Array.isArray(IncludesData)) {\r\n IncludesData = [IncludesData];\r\n }\r\n if (IncludesData.length == 0) {\r\n return true;\r\n }\r\n for (let i = 0; i < IncludesData.length; i++) {\r\n if (Data.includes(IncludesData[i])) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n public CountColumnData(Items: any, ColumnName: string, IncludesData = null, Distinct = false) {\r\n let Result = 0;\r\n let Counted = [];\r\n for (let Item of Items) {\r\n // Column exists, and data is not null or undefined\r\n if (Item.hasOwnProperty(ColumnName) && Item[ColumnName]) {\r\n let Data = Item[ColumnName];\r\n // Either IncludesData is empty, or the data is included\r\n if (this.IncludesAny(Data, IncludesData)) {\r\n let Exists = Counted.indexOf(Data) > -1;\r\n // Either not distinct or it doesn't exist in the counted list, raise the count\r\n if (!Distinct || !Exists) {\r\n ++Result;\r\n }\r\n // If distinct and does not exist, push it into the counted list\r\n if (Distinct && !Exists) {\r\n Counted.push(Data);\r\n }\r\n }\r\n }\r\n }\r\n return Result;\r\n }\r\n\r\n public ColorToHex(n) {\r\n let swap = n & 0xFF;\r\n swap = swap << 16 | (n >>> 16 & 0xFF);\r\n n = n & 0xFF00FF00 | swap;\r\n if (n < 0) {\r\n n = 0xFFFFFFFF + n + 1;\r\n }\r\n return '#' + ('000000' + n.toString(16).toUpperCase()).substr(-6);\r\n\r\n }\r\n\r\n public ToggleShowElement(InElement) {\r\n if (document.getElementById(InElement).style.display !== 'none') {\r\n document.getElementById(InElement).style.display = 'none';\r\n return true;\r\n } else if (document.getElementById(InElement).style.display == 'none') {\r\n document.getElementById(InElement).style.display = 'inline-block';\r\n return false;\r\n }\r\n };\r\n\r\n public CheckVisibility(InElement) {\r\n let element = document.getElementById(InElement);\r\n return element && element.classList.contains('showme');\r\n }\r\n\r\n public ToggleVisibility(InElement) {\r\n let element = document.getElementById(InElement);\r\n if (element.classList.contains('hideme')) {\r\n element.classList.remove('hideme');\r\n element.classList.add('showme');\r\n this.CheckChanges();\r\n return true;\r\n } else {\r\n element.classList.remove('showme');\r\n element.classList.add('hideme');\r\n this.CheckChanges();\r\n return false;\r\n }\r\n };\r\n\r\n /*\r\n * Use this function to return true or false if a Date is valid or not.\r\n */\r\n public IsValidDate(value) {\r\n if (value) {\r\n if (moment(value).isValid) {\r\n if ((moment(value, 'YYYY').year() === 3000) || (moment(value, 'YYYY').year() < 1901)) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n\r\n\r\n /*\r\n * Use this function only to turn numbers into zero where the value is null or undefined.\r\n * Use a format function to turn it into something else\r\n */\r\n public ValidNumber(value) {\r\n // Going by the accepted answer, here: http://stackoverflow.com/questions/38648087/checking-for-null-or-undefined\r\n if (value == null) {\r\n return 0;\r\n } else {\r\n return +value;\r\n }\r\n }\r\n\r\n public FormatNumberExt(InValue, InDecimalPlaces, InPad = 0, InCurrency = '', InThousandSeparator: Boolean = false) {\r\n if (InValue) {\r\n /* Format to X decimal places */\r\n let FormattedNumber = (Math.round(InValue * 100) / 100).toFixed(InDecimalPlaces);\r\n /* adds 0 padding in front of number e.g. Job #: 0000004242 */\r\n if (InPad > 0) {\r\n while ((FormattedNumber.split('.')[0]).length < InPad) {\r\n FormattedNumber = '0' + FormattedNumber;\r\n }\r\n }\r\n // Split thousands\r\n if (InPad == 0 && InThousandSeparator) {\r\n let Parts = FormattedNumber.split('.', 2);\r\n let IntPart = parseInt(Parts[0]);\r\n let Minus = (IntPart < 0) ? '-' : '';\r\n IntPart = Math.abs(IntPart);\r\n let ThousandParts = [];\r\n let IntPartStr = new String(IntPart);\r\n while (IntPartStr.length > 3) {\r\n // Get the last 3 chars\r\n let ThousandPart = IntPartStr.substr(IntPartStr.length - 3);\r\n // Add to parts\r\n ThousandParts.unshift(ThousandPart);\r\n // Lop off those chars\r\n IntPartStr = IntPartStr.substr(0, IntPartStr.length - 3);\r\n }\r\n if (IntPartStr.length > 0) {\r\n ThousandParts.unshift(IntPartStr);\r\n }\r\n IntPartStr = ThousandParts.join(',');\r\n FormattedNumber = Minus + (Parts[1] ? IntPartStr + '.' + Parts[1] : IntPartStr);\r\n }\r\n /* Puts a currency symbol infront e.g. $48.00 */\r\n if (InCurrency !== '') {\r\n FormattedNumber = InCurrency + FormattedNumber;\r\n } else {\r\n FormattedNumber = FormattedNumber;\r\n }\r\n return FormattedNumber;\r\n }\r\n }\r\n\r\n /*\r\n * Used to return color to white or black depending on background color\r\n */\r\n public GetColorByBgColor(BGColor) {\r\n if (!BGColor) { return ''; }\r\n let ConvertedBGColor = BGColor.replace('#', '');\r\n let red = parseInt(ConvertedBGColor.substr(0, 2), 16);\r\n let green = parseInt(ConvertedBGColor.substr(2, 2), 16);\r\n let blue = parseInt(ConvertedBGColor.substr(4, 2), 16);\r\n return ((red * 0.299 + green * 0.587 + blue * 0.114) > 127) ? '#000000' : '#ffffff';\r\n }\r\n\r\n public GetScreenWidth() {\r\n return window.innerWidth;\r\n }\r\n\r\n public GetOperatingSystem() {\r\n let os = '';\r\n let clientStrings = [\r\n { s: 'Windows 10', r: /(Windows 10.0|Windows NT 10.0)/ },\r\n { s: 'Windows 8.1', r: /(Windows 8.1|Windows NT 6.3)/ },\r\n { s: 'Windows 8', r: /(Windows 8|Windows NT 6.2)/ },\r\n { s: 'Windows 7', r: /(Windows 7|Windows NT 6.1)/ },\r\n { s: 'Windows Vista', r: /Windows NT 6.0/ },\r\n { s: 'Windows Server 2003', r: /Windows NT 5.2/ },\r\n { s: 'Windows XP', r: /(Windows NT 5.1|Windows XP)/ },\r\n { s: 'Windows 2000', r: /(Windows NT 5.0|Windows 2000)/ },\r\n { s: 'Windows ME', r: /(Win 9x 4.90|Windows ME)/ },\r\n { s: 'Windows 98', r: /(Windows 98|Win98)/ },\r\n { s: 'Windows 95', r: /(Windows 95|Win95|Windows_95)/ },\r\n { s: 'Windows NT 4.0', r: /(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/ },\r\n { s: 'Windows CE', r: /Windows CE/ },\r\n { s: 'Windows 3.11', r: /Win16/ },\r\n { s: 'Android', r: /Android/ },\r\n { s: 'Open BSD', r: /OpenBSD/ },\r\n { s: 'Sun OS', r: /SunOS/ },\r\n { s: 'Linux', r: /(Linux|X11)/ },\r\n { s: 'iOS', r: /(iPhone|iPad|iPod)/ },\r\n { s: 'Mac OS X', r: /Mac OS X/ },\r\n { s: 'Mac OS', r: /(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/ },\r\n { s: 'QNX', r: /QNX/ },\r\n { s: 'UNIX', r: /UNIX/ },\r\n { s: 'BeOS', r: /BeOS/ },\r\n { s: 'OS/2', r: /OS\\/2/ },\r\n { s: 'Search Bot', r: /(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\\/Teoma|ia_archiver)/ }\r\n ];\r\n for (let id in clientStrings) {\r\n let cs = clientStrings[id];\r\n if (cs.r.test(navigator.userAgent)) {\r\n os = cs.s;\r\n break;\r\n }\r\n }\r\n return os;\r\n }\r\n\r\n public IsMobile() {\r\n let os = this.GetOperatingSystem();\r\n return ((os == 'iOS') || (os == 'Android'));\r\n }\r\n\r\n public UpperCase(value) {\r\n if (value) {\r\n return value.charAt(0).toUpperCase() + value.slice(1);\r\n }\r\n return value;\r\n }\r\n\r\n public EscapeSpecialChars(InString) {\r\n return InString.replace(/\\\\n/g, '\\\\n')\r\n .replace(/\\\\'/g, '\\\\\\'')\r\n .replace(/\\\\\"/g, '\\\\\"')\r\n .replace(/\\\\&/g, '\\\\&')\r\n .replace(/\\\\r/g, '\\\\r')\r\n .replace(/\\\\t/g, '\\\\t')\r\n .replace(/\\\\b/g, '\\\\b')\r\n .replace(/\\\\f/g, '\\\\f');\r\n };\r\n\r\n public ConvertAnyToStr(InValue: any): string {\r\n if ((InValue === null) || (typeof InValue === 'undefined')) {\r\n return '';\r\n } else {\r\n return InValue.toString();\r\n }\r\n }\r\n\r\n public ConvertAnyToInt(InValue: any): number {\r\n if ((InValue === null) || (typeof InValue === 'undefined')) {\r\n return 0;\r\n } else {\r\n return parseInt(InValue);\r\n }\r\n }\r\n\r\n public ConvertAnyToFloat(InValue: any): number {\r\n if ((InValue === null) || (typeof InValue === 'undefined')) {\r\n return 0;\r\n } else {\r\n return parseFloat(InValue);\r\n }\r\n }\r\n\r\n /* This is only ever used with field SYSTEM_ROLE in DPWCMSWebApp or CategoryID in TMSProWebApp.\r\n The SystemRole is an Array of Number, so indexOf always needs to be forced as a number */\r\n public UserCanAccess(SystemRoleArray: number[], FieldName: string): boolean {\r\n if (SystemRoleArray.indexOf(+this.GetSessionStorageData(FieldName)) >= 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n\r\n\r\n private ParseValue(Value: any) {\r\n let Parsed = Number(parseFloat(Value));\r\n if (!isNaN(Parsed) && (Parsed == Value)) {\r\n return Parsed;\r\n }\r\n Parsed = Date.parse(Value);\r\n if (!isNaN(Parsed)) {\r\n return Parsed;\r\n }\r\n return Value;\r\n }\r\n\r\n public SortComplete() {\r\n // \"Override\" this in descendants\r\n }\r\n\r\n public SortData(Data: any[], Header: any) {\r\n while ((Header !== null) && (Header.tagName.toLowerCase() !== 'th')) {\r\n Header = Header.parentElement;\r\n }\r\n if (Header == null) {\r\n return;\r\n }\r\n let Key = Header.getAttribute('data-key');\r\n if (Key == null) {\r\n return;\r\n }\r\n let Order = Header.getAttribute('data-order');\r\n if (Order !== null) {\r\n if (Order == 0) { // ascending\r\n Order = 1\r\n } else {\r\n Order = 0;\r\n }\r\n } else {\r\n Order = 0;\r\n } // default to ascending\r\n // Reset the other columns\r\n let Nodes = Header.parentNode.children;\r\n for (let i = 0; i < Nodes.length; i++) {\r\n Nodes[i].setAttribute('data-order', null);\r\n }\r\n // Set the order on this one\r\n Header.setAttribute('data-order', Order);\r\n let Self = this;\r\n Data.sort(\r\n function(A, B) {\r\n let X = null; let Y = null;\r\n if (A.hasOwnProperty(Key)) {\r\n X = Self.ParseValue(A[Key]);\r\n }\r\n if (B.hasOwnProperty(Key)) {\r\n Y = Self.ParseValue(B[Key]);\r\n }\r\n if (Order == 0) {\r\n if (((X < Y) && (Y != null)) || (X == null)) {\r\n return -1\r\n } else if (((X > Y) && (X != null)) || (Y == null)) {\r\n return 1\r\n } else {\r\n return 0;\r\n }\r\n } else {\r\n if (((X > Y) && (X != null)) || (Y == null)) {\r\n return -1\r\n } else if (((X < Y) && (Y != null)) || (X == null)) {\r\n return 1\r\n } else {\r\n return 0;\r\n }\r\n }\r\n }\r\n );\r\n if (this.IsDetached) {\r\n this.DetectChanges();\r\n }\r\n this.SortComplete();\r\n }\r\n}\r\n","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Government Customs Container Notifications

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

Lista de todos los notificaciones de contenedores. Se puede buscar por Número de Contenedor

\\r\\n

Search by Container No to see list of all containers currently in the yard, with current Government Customs Notifications
\\r\\n

You do not have sufficient permissions to view this data

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Search Options\\r\\n Opciones de búsqueda\\r\\n
\\r\\n
\\r\\n Container #Número de Contenedor'\\\" [UpperCase]=\\\"true\\\" [(ngModel)]=\\\"GlobalSearchParams.CONTAINER_NO\\\">\\r\\n Bill of Lading #Número de BL'\\\" [UpperCase]=\\\"true\\\" [(ngModel)]=\\\"GlobalSearchParams.BILL_OF_LADING_NO\\\">\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
0) && UserCanAccess([1, 4], 'SYSTEM_ROLE')\\\" class=\\\"row\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Cont #Event TypeDescciptionEmailOption
{{Data.CONTAINER_NO}}{{Data.EVENT_TYPE}}{{Data.DESCRIPTION}}{{Data.EMAIL_ADDRESS}}
Total notifications: {{HoldsDataArray.length}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\";","import { Component, ChangeDetectorRef, OnInit } from '@angular/core';\r\nimport {SharedLibService, GlobalSearchParamService} from '../sharedlib'; //import user service\r\nimport { DPComponent, CoreLibService} from 'core-lib';\r\n\r\n@Component({\r\n selector: 'reefer-dispatch-details',\r\n templateUrl: './reefer-dispatch-details.component.html'\r\n})\r\nexport class ReeferDispatchDetailsComponent extends DPComponent implements OnInit {\r\n public ReeferDispatchContainerListDataArray: Array = [];\r\n public ReeferDispatchCodeDropDownArray: any;\r\n public CommodityCodesDropDownArray: Array = [];\r\n public ReeferDispatchEntryObject: any = {};\r\n public ReeferDispatchSearchObject: any = {};\r\n public CustomerDropDownArray: Array = [];\r\n public ContainerDocumentTypeDataArray: Array = [];\r\n public ErrorMessages: any = {};\r\n public ReeferDispatchErrorStatus: number;\r\n public ShowSecondCommodity: boolean = false;\r\n public ShowButtonSolicitarTodos: boolean = false;\r\n public EnabledSpanSolicitar: boolean = false;\r\n\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService, private Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.CDRef = Detector;\r\n this.Detach(true);\r\n }\r\n\r\n ngOnInit() {\r\n this.ReeferDispatchEntryObject.DATE_TIME = new Date();\r\n this.ReeferDispatchEntryObject.DATE_TIME.setHours(0, 0, 0);\r\n\r\n this.ReeferDispatchSearchObject.BILL_OF_LADING_NO = '';\r\n this.ReeferDispatchSearchObject.BOOKING_NO = '';\r\n this.ReeferDispatchSearchObject.CONTAINER_NO = '';\r\n \r\n if (this.UserCanAccess([1, 2, 4, 5], 'SYSTEM_ROLE')) {\r\n this.CustomerDropDownArray[0] = {'Value': 1, 'Option': this.GetSessionStorageData('COMPANY_NAME')};\r\n this.ReeferDispatchEntryObject.WEB_USER_ID = this.GetSessionStorageData('EXTERNAL_WEB_USER_ID');\r\n } else {\r\n if (this.GetSessionStorageData('CUSTOMER_ID') > 0) {\r\n this.CustomerDropDownArray[0] = {\r\n 'Value': this.GetSessionStorageData('CUSTOMER_ID'),\r\n 'Option': this.GetSessionStorageData('CUSTOMER_NAME')\r\n };\r\n this.ReeferDispatchEntryObject.WEB_USER_ID = this.GetSessionStorageData('WEB_USER_ID');\r\n }\r\n }\r\n this.ReeferDispatchEntryObject.CUSTOMS_AGENT_ID = this.GetSessionStorageData('CUSTOMS_AGENT_ID');\r\n this.ReeferDispatchEntryObject.SESSION_ID = this.GetSessionStorageData('SESSION_ID');\r\n this.ReeferDispatchEntryObject.SYSTEM_ROLE = this.GetSessionStorageData('SYSTEM_ROLE');\r\n this.LoadDropDowns();\r\n }\r\n AddCommodity() {\r\n this.ShowSecondCommodity = true;\r\n }\r\n DoSearch() {\r\n this.ShowButtonSolicitarTodos = false;\r\n if ((this.ReeferDispatchSearchObject.BOOKING_NO !== '') || (this.ReeferDispatchSearchObject.BILL_OF_LADING_NO !== '') || (this.ReeferDispatchSearchObject.CONTAINER_NO !== '')) {\r\n if (this.UserCanAccess([1, 2], 'SYSTEM_ROLE')) {\r\n this.ReeferDispatchSearchObject.CUSTOMER_ID = 1;\r\n } else {\r\n this.ReeferDispatchSearchObject.CUSTOMER_ID = this.GetSessionStorageData('CUSTOMER_ID')\r\n }\r\n const Data = {\r\n BOOKING_NO: this.ReeferDispatchSearchObject.BOOKING_NO,\r\n BILL_OF_LADING_NO: this.ReeferDispatchSearchObject.BILL_OF_LADING_NO,\r\n CONTAINER_NO: this.ReeferDispatchSearchObject.CONTAINER_NO,\r\n CUSTOMER_ID: this.ReeferDispatchSearchObject.CUSTOMER_ID,\r\n LINE_OP_SEARCH_CODE: this.GetSessionStorageData('LINE_OP_SEARCH_CODE'),\r\n CUSTOMS_AGENT_ID: this.GetSessionStorageData('CUSTOMS_AGENT_ID'),\r\n SESSION_ID: this.GetSessionStorageData('SESSION_ID'),\r\n SYSTEM_ROLE: this.GetSessionStorageData('SYSTEM_ROLE')\r\n }\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetTerminalServiceReeferContainerData', 0, Data, false).subscribe(Result => {\r\n this.ReeferDispatchContainerListDataArray = Result.JSONData;\r\n this.GetUploadDocumentTypes();\r\n });\r\n }\r\n }\r\n\r\n LoadDropDowns() {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetTerminalServiceReeferCodes', 0, {SYSTEM_ROLE: this.ReeferDispatchEntryObject.SYSTEM_ROLE}, false).subscribe(Result => {\r\n this.ReeferDispatchCodeDropDownArray = Result.JSONData;\r\n });\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetTerminalServiceCommodityCodes', 0, '', false).subscribe(Result => {\r\n this.CommodityCodesDropDownArray = Result.JSONData;\r\n });\r\n }\r\n\r\n CommodityChange() {\r\n this.DetectChanges();\r\n }\r\n NewReeferDispatch(InData, InTransType) {\r\n this.CheckQuota();\r\n if (this.UserCanAccess([1, 2], 'SYSTEM_ROLE')) {\r\n this.ReeferDispatchEntryObject.CUSTOMER_ID = 1;\r\n } else {\r\n this.ReeferDispatchEntryObject.CUSTOMER_ID = this.GetSessionStorageData('CUSTOMER_ID');\r\n }\r\n if (InTransType == 0) {\r\n this.ReeferDispatchEntryObject.CONTAINER_GKEY = InData.GKEY;\r\n this.ReeferDispatchEntryObject.CONTAINER_NO = InData.EQ_NBR;\r\n this.ReeferDispatchEntryObject.CATEGORY = InData.CATEGORY;\r\n this.ReeferDispatchEntryObject.BOOKING_NO = '';\r\n this.ReeferDispatchEntryObject.BILL_OF_LADING_NO = '';\r\n if (this.ReeferDispatchEntryObject && this.ReeferDispatchEntryObject.CONTAINER_GKEY > 0) {\r\n setTimeout(() => {\r\n let modal: HTMLElement = document.getElementsByClassName('modal')[0] as HTMLElement;\r\n modal.scrollTop = modal.scrollHeight;\r\n\r\n }, 10);\r\n }\r\n } else if (InTransType == 1) {\r\n this.ReeferDispatchEntryObject.CONTAINER_GKEY = 0;\r\n this.ReeferDispatchEntryObject.CONTAINER_NO = '';\r\n this.ReeferDispatchEntryObject.BOOKING_NO = this.ReeferDispatchSearchObject.BOOKING_NO;\r\n this.ReeferDispatchEntryObject.BILL_OF_LADING_NO = this.ReeferDispatchSearchObject.BILL_OF_LADING_NO;\r\n }\r\n this.DetectChanges();\r\n }\r\n\r\n CheckQuota() {\r\n this.ErrorMessages['ReeferDispatch'] = '';\r\n this.ReeferDispatchErrorStatus = 0;\r\n if (this.SharedLib.IsToday(this.ReeferDispatchEntryObject.DATE_TIME)) {\r\n if (this.ValidNumber(this.ReeferDispatchContainerListDataArray.length) >= this.ValidNumber(this.GetSessionStorageData('Reefer_Dispatch_QUOTA_TODAY'))) {\r\n this.ErrorMessages['ReerferDispatch'] = 'No tenemos espacio disponible para hoy';\r\n this.ReeferDispatchErrorStatus = 3;\r\n }\r\n } else if (this.SharedLib.IsToday(this.ReeferDispatchEntryObject.DATE_TIME, 1)) {\r\n if (this.ValidNumber(this.ReeferDispatchContainerListDataArray.length) >= this.ValidNumber(this.GetSessionStorageData('Reefer_Dispatch_QUOTA_TOMORROW'))) {\r\n this.ErrorMessages['ReerferDispatch'] = 'No tenemos espacio disponible para mañana';\r\n this.ReeferDispatchErrorStatus = 3;\r\n }\r\n }\r\n this.DetectChanges();\r\n }\r\n\r\n SubmitForm() {\r\n this.ReeferDispatchEntryObject.Reefer_Dispatch_QTY = this.ReeferDispatchContainerListDataArray.length;\r\n if (this.ReeferDispatchEntryObject.CATEGORY == 'EXPRT') {\r\n this.CoreLib.DPModalDialog('ConfirmYN', 'Despacha la unidad de exportacion', `Esta Seguro que desea despachar la unidad de exportacion?`, 'fa-info').then(Result => {\r\n if (Result == 1) {\r\n this.ReeferDispatchEntryObject.DATE_TIME.setHours(0, 0, 0);\r\n this.ProcessReeferDispatch();\r\n }\r\n });\r\n } else {\r\n this.ProcessReeferDispatch();\r\n }\r\n };\r\n\r\n GetUploadDocumentTypes() {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetContainerDocumentTypes', 0, '', false).subscribe(Result => {\r\n this.ContainerDocumentTypeDataArray = Result.JSONData;\r\n }); \r\n }\r\nClearSearchObject() {\r\n this.ReeferDispatchSearchObject = {};\r\n}\r\n ProcessReeferDispatch() {\r\n this.ReeferDispatchSearchObject = {};\r\n this.CoreLib.ProcessWebRequest('ProcessReeferDispatchEntry', '', this.GetModalFormRecID(), this.ReeferDispatchEntryObject, false, true).subscribe(Result => {\r\n if (Result.StatusCode == 'SUCCESS') {\r\n var self = this;\r\n setTimeout(function () {\r\n self.Parent.DetectChanges();\r\n self.Parent.DoSearch();\r\n }, 700);\r\n if (Result.QUOTE_ID > 0) {\r\n let QuoteID = Result.QUOTE_ID;\r\n this.CoreLib.DPModalDialog('Confirm', 'Cotización', 'Despues de completar este requerimiento, ' +\r\n 'será creado una cotización automática, que debe ser pagada ' +\r\n 'para continuar con el proceso de salida del contenedor ' +\r\n '

Cualquier duda favor de comunicarse con nuestro departamento de ' +\r\n 'servicio de terminal
809-373-7300 Opción 1', 'fa-file-signature text-success').then(Result => {\r\n if (Result == 1) {\r\n this.SharedLib.PrintQuoteOrInvoice(QuoteID, 'PrintQuote');\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n UploadFilenameChange() {\r\n this.DetectChanges();\r\n }\r\n\r\n Solicitar(CURRENT_HOLDS){\r\n \r\n switch(this.getStringValue(CURRENT_HOLDS))\r\n {\r\n case \"!BILLING,!DGA\":\r\n if(!this.ShowButtonSolicitarTodos)\r\n {\r\n this.ShowButtonSolicitarTodos = false;\r\n } \r\n return this.ShowButtonSolicitarTodos = false;\r\n case \"!DGA\":\r\n if(!this.ShowButtonSolicitarTodos)\r\n {\r\n this.ShowButtonSolicitarTodos = false;\r\n } \r\n return this.ShowButtonSolicitarTodos = false;\r\n case \"!BILLING\":\r\n if(!this.ShowButtonSolicitarTodos)\r\n {\r\n this.ShowButtonSolicitarTodos = false;\r\n } \r\n return this.ShowButtonSolicitarTodos = false;\r\n case \"\":\r\n if(!this.ShowButtonSolicitarTodos)\r\n {\r\n this.ShowButtonSolicitarTodos = false;\r\n } \r\n return this.ShowButtonSolicitarTodos = false;\r\n default:\r\n this.ShowButtonSolicitarTodos = true;\r\n return true;\r\n }\r\n }\r\n\r\n getStringValue(value: any): string {\r\n return value.toString(); \r\n }\r\n}\r\n\r\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent, CoreLibService, PagingController, DPSpinnerComponent } from 'core-lib';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\ndeclare var HKA_API;\r\n@Component({\r\n templateUrl: './quote-summary.component.html',\r\n selector: 'quote-summary',\r\n styleUrls : ['./quote-summary.component.css']\r\n})\r\nexport class QuoteSummaryComponent extends DPComponent implements OnInit {\r\n public MainDataArray: Array = [];\r\n public CurrentQueryType: string = 'GetQuoteList';\r\n public Pagination: PagingController = new PagingController();\r\n\r\n constructor(public http: HttpClient, public CoreLib: CoreLibService, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, public ActivatedRoute: ActivatedRoute, public Router: Router, public Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.Pagination.Component = this;\r\n this.CDRef = Detector;\r\n this.Detach();\r\n }\r\n\r\n ngOnInit() {\r\n //this.SetModalFormRecID(0);\r\n this.Pagination.RecordsPerPage = 500;this.SharedLib.CustomMessagePopup = \"\";\r\n this.ActivatedRoute.params.subscribe(params => {\r\n console.warn('cotizaciones DoSearch');\r\n this.ClearSearchFilters();\r\n if (params['type'] == 'cotizaciones') {\r\n this.CurrentQueryType = 'GetQuoteList';\r\n } else if (params['type'] == 'facturas') {\r\n this.CurrentQueryType = 'GetInvoiceList';\r\n };\r\n this.DoSearch();\r\n });\r\n }\r\n\r\n DoSearch() {\r\n this.CoreLib.ProcessWebRequest('ProcessGetBillingQueryData', this.CurrentQueryType, 0, this.GlobalSearchParams, false, true, 1000).subscribe(Result => {\r\n this.MainDataArray = Result.JSONData;\r\n this.Pagination.RecordCount = this.MainDataArray.length;\r\n this.ExportableData = this.MainDataArray;\r\n if (this.ValidNumber(this.GetSessionStorageData('WEB_USER_ID')) > 0) {\r\n this.CoreLib.ProcessWebRequest('ProcessGetCustomerInfo', '', this.GetSessionStorageData('CUSTOMER_ID'), '', false, false).subscribe(Result => {\r\n this.SetSessionStorageItem('DEFAULT_CURRENCY_CODE', Result.DEFAULT_CURRENCY_CODE);\r\n this.SetSessionStorageItem('CURRENT_REMAINING_BALANCE', this.FormatNumberExt(this.ValidNumber(Result.CREDIT_LIMIT) - this.ValidNumber(Result.CURRENT_OUTSTANDING_PAYMENTS), 2));\r\n });\r\n }\r\n });\r\n }\r\n OpenQuoteDetails() {\r\n this.RemoveSessionStorageItem(\"CURRENT_QUOTE_ID\");\r\n this.RemoveSessionStorageItem(\"CURRENT_QUOTE_DATETIME\");\r\n this.RemoveSessionStorageItem(\"CURRENT_QUOTE_COMPLETE\");\r\n this.RemoveSessionStorageItem(\"CURRENT_QUOTE_INVOICED\");\r\n this.Router.navigate(['/quote-details']);\r\n\r\n }\r\n\r\n GoToQuoteDetails(InQuoteID) {\r\n console.log('Get InQuoteID: ' + InQuoteID);\r\n this.SetSessionStorageItem(\"CURRENT_QUOTE_ID\", InQuoteID);\r\n this.Router.navigate(['/quote-detail']);\r\n }\r\n\r\n ClearSearchFilters() {\r\n this.GlobalSearchParams.ClearGlobalSearchParams();\r\n this.GlobalSearchParams.FROM_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate() - 30);\r\n this.GlobalSearchParams.TO_DATE.setDate(this.GlobalSearchParams.TO_DATE.getDate() + 1);\r\n this.DetectChanges();\r\n }\r\n\r\n GetInvoiceHKA(NCF) {\r\n console.log(NCF);\r\n return new Promise((resolve, reject) =>{\r\n this.http\r\n .get(HKA_API + NCF)\r\n .subscribe(res => {\r\n console.log(res);\r\n\r\n var blob = this.b64toBlob(res.archivo, \"application/pdf\");\r\n let a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n var url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.target = \"_blank\";\r\n // a.download = String(NCF+\".pdf\");\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n a.remove();\r\n\r\n resolve(res);\r\n },\r\n (err: any) => {\r\n reject(err);\r\n }\r\n )\r\n });\r\n\r\n }\r\n\r\n GetStatus(NCF) {\r\n\r\n this.CoreLib.GetStatusHKA(HKA_API + \"Status/\" + NCF).subscribe(Result => {\r\n if(Result == \"Documento Aceptado\"){\r\n this.GetInvoiceHKA(NCF);\r\n }else{\r\n this.SharedLib.CustomMessagePopup = Result;\r\n this.SetModalSecondaryFormRecID(-1);\r\n }\r\n });\r\n }\r\n\r\n public b64toBlob(b64Data, contentType) {\r\n contentType = contentType || '';\r\n let sliceSize = 512;\r\n \r\n var byteCharacters = atob(b64Data);\r\n var byteArrays = [];\r\n \r\n for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n var slice = byteCharacters.slice(offset, offset + sliceSize);\r\n \r\n var byteNumbers = new Array(slice.length);\r\n for (var i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n \r\n var byteArray = new Uint8Array(byteNumbers);\r\n \r\n byteArrays.push(byteArray);\r\n }\r\n \r\n var blob = new Blob(byteArrays, { type: contentType });\r\n return blob;\r\n }\r\n\r\n}\r\n\r\ninterface ResponseHKA {\r\n codigo: number;\r\n mensaje: string;\r\n archivo: string;\r\n procesado: boolean;\r\n}\r\n\r\ninterface ResponseStatusHKA {\r\n codigo: number;\r\n mensaje: string;\r\n userMessage: string;\r\n}\r\n","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n","import {ControlValueAccessor} from '@angular/forms';\r\n\r\nexport abstract class ValueAccessorBase implements ControlValueAccessor {\r\n private innerValue: T;\r\n\r\n private changed = new Array<(value: T) => void>();\r\n private touched = new Array<() => void>();\r\n\r\n get value(): T {\r\n return this.innerValue;\r\n }\r\n\r\n set value(value: T) {\r\n if (this.innerValue !== value) {\r\n this.innerValue = value;\r\n this.changed.forEach(f => f(value));\r\n }\r\n }\r\n\r\n writeValue(value: T) {\r\n this.innerValue = value;\r\n }\r\n\r\n registerOnChange(fn: (value: T) => void) {\r\n this.changed.push(fn);\r\n }\r\n\r\n registerOnTouched(fn: () => void) {\r\n this.touched.push(fn);\r\n }\r\n\r\n touch() {\r\n this.touched.forEach(f => f());\r\n }\r\n}","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

CUSTOMER LOGIN

\\r\\n

ACCESO USUARIO

\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{SharedLib.CUSTOMER_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 If you are not a user yet and will like to be registered, please contact us on experiencias@dpworld.com\\r\\n \\r\\n \\r\\n Si no es un usuario del sistema y desea registrarse, por favor contactarnos al experience@dpworld.com\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

One Click Quote

\\r\\n

Cotización en un Click

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Container NoNúmero de Contenedor'\\\"\\r\\n [disabled]=\\\"QuoteData.BILL_OF_LADING_NO !== '' || QuoteData.FORM_NO !== ''\\\"\\r\\n [(ngModel)]=\\\"QuoteData.CONTAINER_NO\\\">\\r\\n
\\r\\n
\\r\\n Bill of LadingNúmero de BL'\\\"\\r\\n [disabled]=\\\"QuoteData.CONTAINER_NO !== '' || QuoteData.FORM_NO !== ''\\\"\\r\\n [(ngModel)]=\\\"QuoteData.BILL_OF_LADING_NO\\\">\\r\\n
\\r\\n
\\r\\n Form # VehicleForm # Vehículo'\\\"\\r\\n [disabled]=\\\"QuoteData.CONTAINER_NO !== '' || QuoteData.BILL_OF_LADING_NO !== ''\\\"\\r\\n [(ngModel)]=\\\"QuoteData.FORM_NO\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n RNC / CEDULA / PASSPORTRNC / CEDULA / PASSPORTE'\\\"\\r\\n [(ngModel)]=\\\"QuoteData.RNC_NO\\\" (ngModelChange)=\\\"RNCLookup(QuoteData.RNC_NO)\\\">\\r\\n
\\r\\n
\\r\\n CustomerCliente'\\\"\\r\\n [(ngModel)]=\\\"QuoteData.CUSTOMER_NAME\\\" [disabled]=\\\"true\\\">\\r\\n
\\r\\n\\r\\n
\\r\\n CurrencyMoneda'\\\"\\r\\n [Items]=\\\"CurrencyDropDownArray\\\" [ValueProp]=\\\"'Value'\\\" [DisplayProp]=\\\"'Option'\\\" [required]=\\\"true\\\"\\r\\n [(ngModel)]=\\\"QuoteData.QUOTE_CURRENCY_CODE\\\" (ngModelChange)=\\\"ExchangeRateLookup()\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n Exchange RateTasa de Cambio'\\\"\\r\\n [(ngModel)]=\\\"QuoteData.EXCHANGE_RATE\\\" [disabled]=\\\"true\\\">\\r\\n
\\r\\n\\r\\n
\\r\\n Date to QuoteFecha de pago'\\\"\\r\\n [(ngModel)]=\\\"QuoteData.QUOTE_DATETIME\\\">\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

AVISO

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
0 && SharedLib.CustomerSelection\\\"\\r\\n class=\\\"modal\\\" [ngStyle]=\\\"{display:'bloc'}\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n

Customer Select

\\r\\n

Seleccionar Cliente

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

ONLINE SERVICES

\\r\\n

SERVICIOS EN LINEA

\\r\\n

\\r\\n Welcome to the DP World Caucedo – Online Services.
\\r\\n Depending on your level of access this site offers a range of different tools & reports relating your\\r\\n shipment.\\r\\n Any additional information on how to use this system, please send us an e-mail to: Commercial.CAU@DPworld.com \\r\\n

\\r\\n

FAQ's

\\r\\n

\\r\\n Bienvenidos a DP World Caucedo – Servicios en Línea.
\\r\\n Dependiendo de su nivel de acceso, este portal le ofrece distintas herramientas y reportes relacionados a\\r\\n su carga.\\r\\n Cualquier información adicional o interrogante referente a cómo utilizar el sistema, favor de enviarnos un\\r\\n correo a: Commercial.Cau@dpworld.com\\r\\n

\\r\\n

Preguntas Frecuentes

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

Conoce DR TRADE

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

DR TRADE es un sistema de comunidad logística que ofrece soluciones y servicios en línea que optimizan e\\r\\n integran los procedimientos involucrados en la cadena de suministro.\\r\\n Para más información, haz clic aquí.

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

Welcome to the DP World Caucedo Online Services.

\\r\\n

Bienvenidos a DP World Caucedo – Servicios en Línea

\\r\\n
\\r\\n
\\r\\n
*** ULTIMAS NOTICIAS/INFORMACION ***
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
FechaDescripción
\\r\\n \\r\\n \\r\\n \\r\\n
Total:\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

AVISO

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

Contrasena

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

{{GetSessionStorageData('PasswordMessage')}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\";","import { Component, OnInit, ViewChild, ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent, CoreLibService } from 'core-lib';\r\nimport { Router } from '@angular/router';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Console } from 'console';\r\ndeclare var PAYMENT_REQUEST_PATH;\r\ndeclare var BHD_BANK_ID;\r\ndeclare var BHD_PASSWORD;\r\ndeclare var BHD_BANK_ID;\r\ndeclare var BHD_PASSWORD;\r\n\r\n@Component({\r\n templateUrl: './invoice-payment.component.html',\r\n selector: 'invoice-payment'\r\n})\r\nexport class InvoicePaymentComponent extends DPComponent implements OnInit {\r\n public CurrencyArrayDropDownArray: Array = [\r\n { Value: 'DOP', Option: 'DOP' },\r\n { Value: 'US$', Option: 'US$' }\r\n ];\r\n\r\n public ContainerDataArray: Array = [];\r\n public QuoteContainerDataArray: Array = [];\r\n public QuoteContainerTaxDataArray: Array = [];\r\n public InvoiceDataArray: Array = [];\r\n public BankData: any = {};\r\n\r\n //Bank Responses Vars\r\n public reference: string;\r\n public transactionState: string;\r\n public processTransactionId: string;\r\n public IsInvoiceGenerating: string = \"\";\r\n public IsInvoiceGenerated: string;\r\n public result: String = \"\";\r\n public ErrorExtendedInfo: String = \"\";\r\n\r\n //Invoice Creation Vars\r\n public QueryPaymentResponse: any = {};\r\n public ProcessPaymentResponse: any = {};\r\n\r\n public SearchString: String;\r\n public QUOTE_DATETIME: Date = new Date();\r\n public CURRENT_QUOTE_DATETIME: Date = new Date();\r\n public CURRENT_QUOTE_ID: string;\r\n public QUOTE_CURRENCY: string;\r\n public SubTotalUSD: number = 0;\r\n public SubTotalRD: number = 0;\r\n public TaxUSD: number = 0;\r\n public TaxRD: number = 0;\r\n\r\n // Form elements\r\n @ViewChild('PaymentForm', { static: false }) PaymentForm: ElementRef;\r\n @ViewChild('AuthHash', { static: false }) AuthHash: ElementRef;\r\n\r\n constructor(public CoreLib: CoreLibService, public Route: ActivatedRoute, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, public Router: Router, public Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.CDRef = Detector;\r\n this.Detach();\r\n let URL = document.location.href;\r\n }\r\n\r\n ngOnInit() {\r\n this.ProcessInvoicePayment();\r\n }\r\n\r\n public GetBankData() {\r\n return new Promise((resolve) => {\r\n let Data = {\r\n BANK_ID: \"ZBHDCAU\",\r\n SYSTEM_ROLE: this.GetSessionStorageData('SYSTEM_ROLE')\r\n }\r\n this.CoreLib.ProcessWebRequest('ProcessGetBankInfo', '', 0, Data, false).subscribe(Result => {\r\n resolve(Result.JSONData[0]);\r\n });\r\n });\r\n }\r\n\r\n\r\n public QueryPaymentTransaction(BankId, BankPassword, QuoteId) {\r\n return new Promise((resolve) => {\r\n // Validate The Quote\r\n let ValidateRequestData = {\r\n BankID: BankId,\r\n Password: BankPassword,\r\n TransactionRefNo: \"0\",\r\n TransactionDate: new Date().toISOString(),\r\n //TransactionDate: \"2021-08-06T19:40:10.003Z\",\r\n PaymentRefNo: `Q${QuoteId}`\r\n }\r\n //console.log(ValidateRequestData);\r\n this.CoreLib.ProcessCustomWebRequest(`${PAYMENT_REQUEST_PATH}QueryPaymentTransaction`, ValidateRequestData).subscribe(Result => {\r\n console.log(Result.body);\r\n resolve(Result.body);\r\n });\r\n\r\n });\r\n }\r\n\r\n public ProcessPaymentTransaction(BankId, BankPassword, PaymentType, Request, QuoteId) {\r\n return new Promise((resolve) => {\r\n let ProcessRequestData = {\r\n BankID: BankId,\r\n Password: BankPassword,\r\n TransactionRefNo: QuoteId,\r\n TransactionDate: new Date().toISOString(),\r\n PaymentCategory: \"PAYMENT\",\r\n PaymentType: PaymentType,\r\n PaymentRefNo: `Q${QuoteId}`,\r\n CurrencyType: \"DOP\",\r\n TotalAmount: Request.QueryTotalAmount,\r\n AuthorizationNo: QuoteId,\r\n BankAccountNo: \"0000000000000\",\r\n CustomerName: Request.Customer,\r\n RNCNumber: Request.RNCNumber,\r\n ExtendedRefNo01: \"1014206\",\r\n ExtendedRefNo02: \"\",\r\n ExtendedRefNo03: \"\",\r\n ExtendedNote01: \"\",\r\n ExtendedNote02: \"\",\r\n ExtendedNote03: \"\"\r\n }\r\n //console.log(ProcessRequestData);\r\n //console.log(ProcessRequestData);\r\n this.CoreLib.ProcessCustomWebRequest(`${PAYMENT_REQUEST_PATH}ProcessPaymentTransaction`, ProcessRequestData).subscribe(Result => {\r\n console.log(Result.body);\r\n resolve(Result.body);\r\n });\r\n });\r\n }\r\n\r\n async ProcessInvoicePayment() {\r\n console.log(\"Starting Process Invoice Payment\");\r\n this.IsInvoiceGenerating = \"GENERATING\";\r\n\r\n this.Route.queryParams\r\n .subscribe(async params => {\r\n\r\n this.reference = params.reference;\r\n this.transactionState = params.transactionState;\r\n this.processTransactionId = params.processTransactionId;\r\n\r\n if (this.transactionState === \"\" || this.transactionState === undefined || this.transactionState === null) {\r\n console.log(\"No parameters returned from the bank : \" + this.transactionState);\r\n console.log(\"reference : \" + this.reference);\r\n console.log(\"transactionState : \" + this.transactionState);\r\n console.log(\"processTransactionId : \" + this.processTransactionId);\r\n }\r\n\r\n if (this.transactionState === \"Completada\" || this.transactionState === \"Sometido\") { // Pago Aplicado (Aplica para transacciones realizadas por usuarios personales).\r\n\r\n this.transactionState = \"Completada\";\r\n // Get Data Bank\r\n console.log(\"Getting Bank Data\");\r\n this.BankData = await this.GetBankData();\r\n\r\n // Validate Quote \r\n console.log(\"Querying Payment Transaction\");\r\n this.QueryPaymentResponse = await this.QueryPaymentTransaction(this.BankData.BANK_CODE, this.BankData.BANK_CODE2, this.reference);\r\n if (this.QueryPaymentResponse.HTTPStatusCode == \"200\") {\r\n\r\n // Process Payment \r\n console.log(\"Processing Payment Transaction\");\r\n this.ProcessPaymentResponse = await this.ProcessPaymentTransaction(this.BankData.BANK_CODE, this.BankData.BANK_CODE2, \"BHDBTN\", this.QueryPaymentResponse, this.reference);\r\n if (this.ProcessPaymentResponse.HTTPStatusCode == \"200\") {\r\n this.IsInvoiceGenerated = \"CREATED\";\r\n console.log(`Opening Invoice: ${this.ProcessPaymentResponse.InvoiceNo}`);\r\n this.IsInvoiceGenerating = \"\";\r\n this.Router.navigate([`invoice-detail/${this.ProcessPaymentResponse.InvoiceNo}`]);\r\n\r\n } else {\r\n console.log(\"Bank Payment Error Data\");\r\n console.log(this.ProcessPaymentResponse.HTTPStatusCode);\r\n this.IsInvoiceGenerating = \"\";\r\n this.IsInvoiceGenerated = \"NOT_CREATED\";\r\n }\r\n\r\n } else {\r\n console.log(\"Validate Quote Error Data\");\r\n console.log(this.QueryPaymentResponse.HTTPStatusCode);\r\n console.log(this.QueryPaymentResponse);\r\n this.IsInvoiceGenerating = \"\";\r\n this.IsInvoiceGenerated = \"NOT_CREATED\";\r\n this.DetectChanges();\r\n }\r\n\r\n this.result = \"Completada\";\r\n\r\n } else if (this.transactionState === \"Rechazado\") { // Pago Rechazado.\r\n this.result = \"Rechazado\";\r\n this.IsInvoiceGenerating = \"\";\r\n\r\n } else if (this.transactionState === \"Cancelado\") { // El cliente abortó la operación de pago.\r\n this.result = \"Cancelado\";\r\n this.IsInvoiceGenerating = \"\";\r\n\r\n } else if (this.transactionState === \"Error\") { // Error en el Proceso de Pago.\r\n this.result = \"Error\";\r\n this.IsInvoiceGenerating = \"\";\r\n\r\n } else {\r\n this.result = \"Empty\";\r\n this.IsInvoiceGenerating = \"\";\r\n }\r\n\r\n console.log(\"transactionState : \" + this.transactionState);\r\n console.log(\"result : \" + this.result);\r\n\r\n }\r\n );\r\n\r\n }\r\n\r\n BackToQuote() {\r\n this.Router.navigate(['quote-detail']);\r\n }\r\n}\r\n","import { Component, Input, Output, OnInit, OnChanges, SimpleChanges, EventEmitter, Attribute } from '@angular/core';\r\nimport { ElementBase } from './element-base';\r\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS, NG_ASYNC_VALIDATORS } from '@angular/forms';\r\n\r\n//
\r\n//\r\n@Component({\r\n selector: 'dp-searchedit',\r\n template: `\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n A valid {{LabelCaptionText}} is required!\r\n
\r\n
\r\n {{ValidationMessage}}\r\n
\r\n
\r\n `,\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: DPSearchEditComponent,\r\n multi: true,\r\n }]\r\n})\r\nexport class DPSearchEditComponent extends ElementBase implements OnInit, OnChanges {\r\n @Input() IsSearching: Boolean = false;\r\n @Input() MinSearchLength: number = 1;\r\n @Output() Search: EventEmitter = new EventEmitter();\r\n\r\n constructor(@Attribute('required') public required) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n //\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n //\r\n }\r\n\r\n DoSearch() {\r\n this.Search.emit();\r\n }\r\n\r\n IsSearchDisabled() {\r\n return (!this.value || (this.value.length < this.MinSearchLength)) && (this.MinSearchLength > 0);\r\n }\r\n\r\n CheckInput() {\r\n if (this.UpperCase) {\r\n this.value = this.value.toUpperCase();\r\n }\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport {SharedLibService} from '../sharedlib';\r\nimport { DPComponent, CoreLibService} from 'core-lib';\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: 'app-footer.component.html'\r\n})\r\nexport class AppFooterComponent extends DPComponent implements OnInit {\r\n private UATLabel: string = '';\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService) {\r\n super(CoreLib);\r\n }\r\n ngOnInit() {\r\n /* Refresh Driver Data every refresh */\r\n if (this.SharedLib.GetTruckDriverID() > 0) {\r\n this.CoreLib.ProcessWebRequest('ProcessGetPublicQueryData', 'GetTruckDriverData', 0, {TRUCK_DRIVER_RECORD_ID:this.SharedLib.GetTruckDriverID()}, false).subscribe(\r\n Result => {\r\n let TruckDriverObject: any;\r\n TruckDriverObject = JSON.parse('{\"TRUCK_DRIVER_RECORD_ID\":\"' + this.SharedLib.GetTruckDriverID() + '\",' + JSON.stringify(Result.JSONData[0]).replace(/[{}]/g, '') + '}');\r\n this.SharedLib.UserToStorage(TruckDriverObject);\r\n }\r\n );\r\n }\r\n if (DPComponent.RequestPath.includes('test') || DPComponent.RequestPath.includes('192.168.2.')) {\r\n this.UATLabel = 'UAT';\r\n } else {this.UATLabel = '';}\r\n }\r\n ShowVersion() {\r\n this.CoreLib.DPModalDialog('Alert', 'Application Version', this.SharedLib.AppVersion + ' ' + this.UATLabel, 'fa-exclamation-triangle text-danger')\r\n }\r\n\r\n}\r\n","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Notification Details

\\r\\n

Please enter the following information to enter a customs notification. Fields marked with * are compulsory.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Container No# Contenedor'\\\" [UpperCase]=\\\"true\\\" [(ngModel)]=\\\"NotificationObject.CONTAINER_NO\\\" [EditPlaceHolder]=\\\"'Separate the container numbers with semi-colon e.g. PONU1435323; PONU6363343'\\\" [required]=\\\"true\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","import { Component, OnInit } from '@angular/core';\r\nimport {SharedLibService, GlobalSearchParamService} from '../sharedlib'; //import user service\r\nimport { DPComponent, CoreLibService} from 'core-lib';\r\n@Component({\r\n selector: 'app-vbs-payment-listing',\r\n templateUrl: './vbs-payment-listing.component.html'\r\n})\r\nexport class VBSPaymentListingComponent extends DPComponent implements OnInit {\r\n public VBSPaymentID: number = 0;\r\n public VBSPaymentModalOpened: boolean = false;\r\n public VBSPaymentObject: any[];\r\n\r\n constructor(public CoreLib: CoreLibService, public GlobalSearchParams: GlobalSearchParamService, public SharedLib: SharedLibService) {\r\n super(CoreLib)\r\n }\r\n\r\n ngOnInit() {\r\n this.GlobalSearchParams.FROM_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate() - 30);\r\n this.GlobalSearchParams.FROM_DATE.setHours(1);\r\n this.DoSearch();\r\n }\r\n\r\n DoSearch() {\r\n if ((this.GetSessionStorageData('SYSTEM_ROLE') == 6) && (this.GlobalSearchParams.TRUCK_DRIVER_CARD_NO == '')) {\r\n } else {\r\n this.CoreLib.ProcessWebRequest('ProcessGetVBSQueryData', 'GetVBSPaymentData', 0, this.GlobalSearchParams, false).subscribe( Result => {this.VBSPaymentObject = Result.JSONData});\r\n }\r\n }\r\n\r\n PrintReceipt() {\r\n\r\n }\r\n\r\n ClearSearchFilters() {\r\n this.GlobalSearchParams.ClearGlobalSearchParams();\r\n this.GlobalSearchParams.FROM_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate());\r\n this.GlobalSearchParams.FROM_DATE.setHours(1);\r\n this.GlobalSearchParams.TO_DATE.setDate(this.GlobalSearchParams.TO_DATE.getDate() + 1);\r\n this.GlobalSearchParams.TO_DATE.setHours(1);\r\n }\r\n}\r\n","import { Component, OnInit, ChangeDetectorRef } from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent, CoreLibService} from 'core-lib';\r\nimport { Router } from '@angular/router';\r\n@Component({\r\n selector: 'container-vgm-details',\r\n templateUrl: './container-vgm-details.component.html',\r\n})\r\nexport class ContainerVGMDetailsComponent extends DPComponent implements OnInit {\r\n public ContainerVGMObject: any = {};\r\n public BookingErrorMessage: String = '';\r\n public ContainerErrorMessage: String = '';\r\n public VGMWeightErrorMessage: String = '';\r\n public ContValidationStatus: any;\r\n public BookValidationStatus: any;\r\n public VGMWeightValidationStatus: any;\r\n public Timer1: any;\r\n public Timer2: any;\r\n public Timer3: any;\r\n\r\n constructor(public CoreLib: CoreLibService, public Router:Router, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, public Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.CDRef = Detector;\r\n this.Detach(true);\r\n }\r\n\r\n ngOnInit() {\r\n this.DoSearch();\r\n }\r\n\r\n DoSearch() {\r\n if (this.GetModalFormRecID() > 0) {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetContainerVGMData', this.GetModalFormRecID(), '', true).subscribe(Result => {\r\n this.ContainerVGMObject = Result.JSONData[0];\r\n if (Result.JSONData[0].CONTAINER_NO) {\r\n this.ContainerNumberChange(this.ContainerVGMObject.CONTAINER_NO);\r\n }\r\n if (Result.JSONData[0].BOOKING_NO) {\r\n this.BookingNumberChange(this.ContainerVGMObject.BOOKING_NO);\r\n }\r\n if (Result.JSONData[0].VGM_WEIGHT) {\r\n this.VGMWeightChange(this.ContainerVGMObject.VGM_WEIGHT);\r\n }\r\n });\r\n }\r\n }\r\n\r\n ContainerNumberChange(InContainerNumber) {\r\n if (InContainerNumber.length > 9) {\r\n this.ContainerErrorMessage = '';\r\n this['ContValidationStatus'] = 0;\r\n clearTimeout(this.Timer1);\r\n var self = this;\r\n this.Timer1 = setTimeout(function() {\r\n self.SearchContainerNo();\r\n self['ContValidationStatus'] = 1;\r\n }, 1000);\r\n }\r\n }\r\n\r\n SearchContainerNo() {\r\n this['ContValidationStatus'] = 1;\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetContainerISOCode', 0, {CONTAINER_NO: this.ContainerVGMObject.CONTAINER_NO}, true).subscribe(Result => {\r\n Result = Result.JSONData;\r\n if ((Result.length > 0) && (Result[0].ISO_CODE)) {\r\n this.ContainerVGMObject.ISO_CODE = Result[0].ISO_CODE;\r\n } else {\r\n this['ContValidationStatus'] = 3;\r\n this.BookingErrorMessage = 'La unidad (' + this.ContainerVGMObject.CONTAINER_NO + ') no existe. Debe ser Preavisada. Favor comunicarse con la Agencia / Línea Naviera.';\r\n }\r\n });\r\n }\r\n\r\n SearchBookingNo() {\r\n if (this.ContainerVGMObject.BOOKING_NO !== '') {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'AppointmentSearchBookingNo', 0, {ISO_CODE: this.ContainerVGMObject.ISO_CODE, BOOKING_NO:this.ContainerVGMObject.BOOKING_NO}, true).subscribe(Result => {\r\n Result = Result.JSONData;\r\n if (Result && (Result.length > 0)) {\r\n if ((Result[0].VESSEL_PHASE == '70CLOSED') || (Result[0].VESSEL_PHASE == '80CANCELED')) {\r\n this['BookValidationStatus'] = 3;\r\n this.BookingErrorMessage = 'Reserva invalida (' + this.ContainerVGMObject.BOOKING_NO + ') - El Barco esta cerrado o ha zarpado!';\r\n } else if (Number(Result[0].TALLY_RECEIVE) >= Number(Result[0].QUANTITY)) {\r\n this['BookValidationStatus'] = 3;\r\n this.BookingErrorMessage = 'Reserva invalida (' + this.ContainerVGMObject.BOOKING_NO + ') - Su reservación no tiene espacio disponible!';\r\n } else {\r\n this['BookValidationStatus'] = 1;\r\n }\r\n } else {\r\n this['BookValidationStatus'] = 3;\r\n this.BookingErrorMessage = 'Reserva (' + this.ContainerVGMObject.BOOKING_NO + ') no se encuentra!';\r\n }\r\n });\r\n }\r\n }\r\n\r\n BookingNumberChange(InBookingNumber) {\r\n this.BookingErrorMessage = '';\r\n this['BookValidationStatus'] = 0;\r\n clearTimeout(this.Timer2);\r\n var self = this;\r\n this.Timer2 = setTimeout(function() {\r\n self.SearchBookingNo();\r\n }, 700);\r\n }\r\n\r\n VGMWeightChange(InWeight) {\r\n this.VGMWeightErrorMessage = '';\r\n this['VGMWeightValidationStatus'] = 0;\r\n clearTimeout(this.Timer3);\r\n var self = this;\r\n this.Timer3 = setTimeout(function() {\r\n if (((InWeight < 2000) || (InWeight > 40000)) && (InWeight != 0)) {\r\n self['VGMWeightValidationStatus'] = 3;\r\n self.VGMWeightErrorMessage = 'Peso debe ser 0 (Peso en Terminal) o 2000kg - 40,000KG!';\r\n } else {\r\n self['VGMWeightValidationStatus'] = 1;\r\n }\r\n }, 200);\r\n }\r\n\r\n SubmitContainerVGMForm() {\r\n this.ContainerVGMObject.WEB_USER_ID = this.GetSessionStorageData(\"WEB_USER_ID\");\r\n this.ContainerVGMObject.EXTERNAL_WEB_USER_ID = this.GetSessionStorageData(\"EXTERNAL_WEB_USER_ID\");\r\n this.ContainerVGMObject.SYSTEM_ROLE = this.GetSessionStorageData(\"SYSTEM_ROLE\");\r\n this.ContainerVGMObject.CUSTOMER_ID = this.GetSessionStorageData(\"CUSTOMER_ID\");\r\n this.ContainerVGMObject.SESSION_ID = this.GetSessionStorageData('SESSION_ID');\r\n this.ContainerVGMObject.USERNAME = this.GetSessionStorageData('USERNAME');\r\n this.ContainerVGMObject.VGM_DECLARED_DATETIME = new Date();\r\n this.CoreLib.ProcessWebRequest('ProcessInsertUpdateVGMDetails', '', this.GetModalFormRecID(), this.ContainerVGMObject, false, true).subscribe(Result => {\r\n if (Result.QUOTE_ID && Result.QUOTE_ID > 0) {\r\n this.SetModalSecondaryFormRecID(0);\r\n if (this.Router.url.includes('appointment-summary')) {\r\n this.Router.navigate(['/container-vgm-listing']);\r\n }\r\n this.SharedLib.PrintQuoteOrInvoice(Result.QUOTE_ID, 'PrintQuote');\r\n }\r\n });\r\n }\r\n}\r\n","export default \".hover-danger:hover, .hover-danger:hover * {\\r\\n color: #fff !important;\\r\\n background-color: #c82333 !important;\\r\\n border-color: #bd2130 !important;\\r\\n}\\r\\n\\r\\n.hover-danger-icon:hover, .hover-danger-icon * {\\r\\n color: #bd2130 !important;\\r\\n}\\r\\n\\r\\n.color-icon {\\r\\n color: #333333;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlc3NlbC1ib29raW5nLWRldGFpbHMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLHVCQUF1QjtJQUN2QixxQ0FBcUM7SUFDckMsaUNBQWlDO0NBQ3BDOztBQUVEO0lBQ0ksMEJBQTBCO0NBQzdCOztBQUVEO0lBQ0ksZUFBZTtDQUNsQiIsImZpbGUiOiJ2ZXNzZWwtYm9va2luZy1kZXRhaWxzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaG92ZXItZGFuZ2VyOmhvdmVyLCAuaG92ZXItZGFuZ2VyOmhvdmVyICoge1xyXG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjODIzMzMgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1jb2xvcjogI2JkMjEzMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaG92ZXItZGFuZ2VyLWljb246aG92ZXIsIC5ob3Zlci1kYW5nZXItaWNvbiAqIHtcclxuICAgIGNvbG9yOiAjYmQyMTMwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jb2xvci1pY29uIHtcclxuICAgIGNvbG9yOiAjMzMzMzMzO1xyXG59XHJcblxyXG4iXX0= */\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Inventario de Contenedores

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

A continuación se presentan los contenedores en inventario (Patio / Buque),\\r\\n incluyendo Importaciones, Exportaciones, transbordos, Re-estibas.\\r\\n Usted puede ordenar por número de contenedor, número Reserva / BL, operador de línea, estado o tipo de\\r\\n categoría.

\\r\\n

Below are all containers in yard, including Imports, Exports,\\r\\n Transhipments,\\r\\n Restows.\\r\\n You can sort by container number, Booking / BL number, Line Operator, status or category type

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Search Options\\r\\n Opciones de búsqueda\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Container ## de Contenedor'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.CONTAINER_NO\\\" [UpperCase]=\\\"true\\\">\\r\\n
\\r\\n
\\r\\n BL/Booking #Número de BL/Reserva'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.BILL_OF_LADING_NO\\\" [UpperCase]=\\\"true\\\">\\r\\n
\\r\\n
\\r\\n CustomerCliente'\\\" [(ngModel)]=\\\"GlobalSearchParams.CUSTOMER_NAME\\\"\\r\\n [UpperCase]=\\\"true\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ContISODwellCatF/EGradeWeightScaleVGMLineOpPOLPODGate InGrpReserva# BLEstadoPosicionDmgLineaDGAInspeccionNotasAccion
{{Data.CONTAINER_NO}}{{Data.ISO_CODE}}{{Data.DWELL}}{{Data.CAT}}{{Data.STATUS}}{{Data.GRADE}}{{FormatNumberExt(Data.WEIGHT, 0)}}\\r\\n KG\\r\\n {{FormatNumberExt(Data.SCALEWEIGHT,\\r\\n 0)}}\\r\\n KG{{FormatNumberExt(Data.VGMWEIGHT, 0)}}\\r\\n KG{{Data.LINE_OP}}{{Data.POL}}{{Data.POD}}{{FormatDateTimeExt(Data.YARD_IN_TIME, 'DD/MM/YY (HH:mm)')}}{{Data.GROUP_ID}}{{Data.BOOKING_NO}}{{Data.BL}}{{Data.TSTATE}}{{Data.YARD_POS}}\\r\\n {{Data.DAMAGE}}{{Data.LINE_HOLD}}{{Data.DGA_HOLD}}{{Data.TRANS_NOTE}}{{Data.REMARK}}\\r\\n \\r\\n
{{Pagination.CurrentPageInfo}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Yard Summary Help

\\r\\n
\\r\\n
\\r\\n Help is currently under development
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

Choose Customer

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Shipping Line Container Holds History

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

Only Internal Users can view Shipping Line Container Holds. Please contact office.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Search Options\\r\\n Opciones de búsqueda\\r\\n
\\r\\n
\\r\\n Search FromBuscar desde'\\\" [(ngModel)]=\\\"GlobalSearchParams.FROM_DATE\\\">\\r\\n ToHasta'\\\" [(ngModel)]=\\\"GlobalSearchParams.TO_DATE\\\">\\r\\n Container ## de Contenedor'\\\" [EditPlaceHolder]=\\\"'# Contenedor'\\\" [(ngModel)]=\\\"GlobalSearchParams.CONTAINER_NO\\\">\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Hold TipoNotasFechaCont #
{{Data.ID}}{{Data.NOTE}}{{FormatDateTimeExt(Data.PLACED_TIME, 'DD/MM/YYYY hh:mm:ss A')}}{{Data.APPLIED_TO_NATURAL_KEY}}
Total appointments: {{HoldsDataArray.length}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

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

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Booking ## de Reserva'\\\"\\r\\n [(ngModel)]=\\\"TerminalServiceSearchObject.BOOKING_NO\\\">\\r\\n
\\r\\n
\\r\\n Bill of Lading #Número de BL'\\\"\\r\\n [(ngModel)]=\\\"TerminalServiceSearchObject.BILL_OF_LADING_NO\\\">\\r\\n
\\r\\n
\\r\\n Container ## de Contenedor'\\\"\\r\\n [(ngModel)]=\\\"TerminalServiceSearchObject.CONTAINER_NO\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Search\\r\\n Buscar\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Unos o todos los contenedores presentan impedimentos para solicitar a verificación. Para más información, favor comunicarse con Experiencias DP World al 809-373-7300. Opción 1\\r\\n
\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{Data.EQ_NBR}}{{Data.CATEGORY}}{{Data.LINE_ID}}{{Data.HAZ_CLASS}}{{Data.EQSZ_ID}}{{Data.EXP_SERVICE_TYPE_CODE}}Solicitar\\r\\n
Total Encontrado: {{TerminalServicesContainerListDataArray.length}}
\\r\\n
\\r\\n 0) || (TerminalServiceEntryObject.BOOKING_NO && !TerminalServiceEntryObject.BOOKING_NO == '')|| (TerminalServiceEntryObject.BILL_OF_LADING_NO && !TerminalServiceEntryObject.BILL_OF_LADING_NO == ''))\\\">\\r\\n
\\r\\n
0\\\">\\r\\n

{{TerminalServiceEntryObject.CONTAINER_NO}}

\\r\\n

\\r\\n Solicitar {{TerminalServicesContainerListDataArray.length}} Contenedores

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

Complete your requests by selecting filling these 3 fields. We reserve\\r\\n the right to cancel your transactions.

\\r\\n

Complete su pedido selecionando llenando estos 3 campos. Nos reservamos\\r\\n el derecho cancelar su solicitud.

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n -1)\\\"\\r\\n [LabelCaption]=\\\"'Cantidad'\\\" [(ngModel)]=\\\"TerminalServiceEntryObject.COMMODITY_QTY\\\" [required]=\\\"true\\\">\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Agregar Mercancía
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n -1) && ShowSecondCommodity\\\"\\r\\n [LabelCaption]=\\\"'Cantidad 2'\\\" [(ngModel)]=\\\"TerminalServiceEntryObject.COMMODITY_QTY_02\\\"\\r\\n [required]=\\\"true\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{ErrorMessages['TerminalService']}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\";","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib'; //import user service\r\nimport { DPComponent, CoreLibService } from 'core-lib';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\ndeclare var APPOINTMENTS_API;\r\n@Component({\r\n selector: 'appointment-details',\r\n templateUrl: 'appointment-details.component.html'\r\n})\r\nexport class AppointmentDetailsComponent extends DPComponent implements OnInit {\r\n public AppointmentTypeLabel: string = '';\r\n public ErrorMessage: string = '';\r\n public TimeErrorMessage: string = '';\r\n public ContainerErrorMessage: string;\r\n public ContainerISOCodeObject: Array;\r\n public ConsigneeObject: any;\r\n public Timer: any;\r\n public AppointmentObject: any = {};\r\n public RECORD_ID: string = '';\r\n public ApptHourRule: any;\r\n isContainerChecked: boolean = false;\r\n TypeContainer: string;\r\n public AppointmentTimeSlotArray: Array = [\r\n { Value: '00:00', Option: '12:00-12:59 AM' },\r\n { Value: '01:00', Option: '01:00-01:59 AM' },\r\n { Value: '02:00', Option: '02:00-02:59 AM' },\r\n { Value: '03:00', Option: '03:00-03:59 AM' },\r\n { Value: '04:00', Option: '04:00-04:59 AM' },\r\n { Value: '05:00', Option: '05:00-05:59 AM' },\r\n { Value: '06:00', Option: '06:00-06:59 AM' },\r\n { Value: '07:00', Option: '07:00-07:59 AM' },\r\n { Value: '08:00', Option: '08:00-08:59 AM' },\r\n { Value: '09:00', Option: '09:00-09:59 AM' },\r\n { Value: '10:00', Option: '10:00-10:59 AM' },\r\n { Value: '11:00', Option: '11:00-11:59 AM' },\r\n { Value: '12:00', Option: '12:00-12:59 PM' },\r\n { Value: '13:00', Option: '01:00-1:59 PM' },\r\n { Value: '14:00', Option: '02:00-2:59 PM' },\r\n { Value: '15:00', Option: '03:00-3:59 PM' },\r\n { Value: '16:00', Option: '04:00-4:59 PM' },\r\n { Value: '17:00', Option: '05:00-5:59 PM' },\r\n { Value: '18:00', Option: '06:00-6:59 PM' },\r\n { Value: '19:00', Option: '07:00-7:59 PM' },\r\n { Value: '20:00', Option: '08:00-8:59 PM' },\r\n { Value: '21:00', Option: '09:00-9:59 PM' },\r\n { Value: '22:00', Option: '10:00-10:59 PM' },\r\n { Value: '23:00', Option: '11:00-11:59 PM' }\r\n ];\r\n public AppointmentTimeSlotArrayShow = [];\r\n public AppointmentTimeSlotArrayShowNormal = [];\r\n public AppointmentTimeSlotArray2 = [\r\n { Value: '00:00', Option: '12:00-12:59 AM' },\r\n { Value: '01:00', Option: '01:00-01:59 AM' },\r\n { Value: '02:00', Option: '02:00-02:59 AM' },\r\n { Value: '03:00', Option: '03:00-03:59 AM' },\r\n { Value: '04:00', Option: '04:00-04:59 AM' },\r\n { Value: '05:00', Option: '05:00-05:59 AM' },\r\n { Value: '06:00', Option: '06:00-06:59 AM' },\r\n { Value: '07:00', Option: '07:00-07:59 AM' },\r\n { Value: '08:00', Option: '08:00-08:59 AM' },\r\n { Value: '09:00', Option: '09:00-09:59 AM' },\r\n { Value: '10:00', Option: '10:00-10:59 AM' },\r\n { Value: '11:00', Option: '11:00-11:59 AM' },\r\n { Value: '12:00', Option: '12:00-12:59 PM' },\r\n { Value: '13:00', Option: '01:00-1:59 PM' },\r\n { Value: '14:00', Option: '02:00-2:59 PM' },\r\n { Value: '15:00', Option: '03:00-3:59 PM' },\r\n { Value: '16:00', Option: '04:00-4:59 PM' },\r\n { Value: '17:00', Option: '05:00-5:59 PM' },\r\n { Value: '18:00', Option: '06:00-6:59 PM' },\r\n { Value: '19:00', Option: '07:00-7:59 PM' },\r\n { Value: '20:00', Option: '08:00-8:59 PM' },\r\n { Value: '21:00', Option: '09:00-9:59 PM' },\r\n { Value: '22:00', Option: '10:00-10:59 PM' },\r\n { Value: '23:00', Option: '11:00-11:59 PM' }\r\n ];\r\n \r\n public AppointmentTimeSlotArrayPIR: Array = [\r\n { Value: '08:00', Option: '08:00-08:59 AM' },\r\n { Value: '09:00', Option: '09:00-09:59 AM' },\r\n { Value: '10:00', Option: '10:00-10:59 AM' },\r\n { Value: '11:00', Option: '11:00-11:59 AM' },\r\n { Value: '12:00', Option: '12:00-12:59 PM' },\r\n { Value: '13:00', Option: '01:00-1:59 PM' },\r\n { Value: '14:00', Option: '02:00-2:59 PM' },\r\n { Value: '15:00', Option: '03:00-3:59 PM' },\r\n ];\r\n\r\n public TodayFalse;\r\n constructor(public CoreLib: CoreLibService, public Router: Router, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, public Detector: ChangeDetectorRef,\r\n private http: HttpClient\r\n ) {\r\n super(CoreLib);\r\n this.CDRef = Detector;\r\n this.Detach(true);\r\n }\r\n\r\n ngOnInit() {\r\n this.ApptHourRule = this.GetSessionStorageData('ApptHourRule');\r\n if(this.ApptHourRule == ''){\r\n this.ApptHourRule = 0;\r\n }\r\n else{\r\n if(this.ApptHourRule < 1){\r\n this.ApptHourRule = 0;\r\n }\r\n }\r\n this.AppointmentObject.APPOINTMENT_DATE = new Date();\r\n\r\n this.AppointmentObject.APPOINTMENT_DATE.setHours(0, 0, 0);\r\n this.AppointmentObject.DOUBLE_MISSION = 1;\r\n this.AppointmentObject.AppointmentTimeSlot = '00:00';\r\n this.AppointmentObject.WebRequestType = 'WEB';\r\n this.AppointmentObject.APP_TYPE = '';\r\n\r\n //this.SlotsHours(this.AppointmentObject.APPOINTMENT_DATE);\r\n\r\n if (this.GetModalFormRecID() > 0) {\r\n \r\n console.log()\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetAppointmentList', this.GetModalFormRecID(), { RECORD_ID: this.GetModalFormRecID() }, false).subscribe(\r\n Result => {\r\n this.AppointmentObject = Result.JSONData[0]; //Set All Fields\r\n this.AppointmentTypeBtnClick(this.AppointmentObject.APP_TYPE); //Change Appointment Type\r\n /* Stringify the DateTime and extract the substring of the hours to set the Time Slot Dropdown - must do this first before Date object */\r\n let JSONTimeSlot = JSON.stringify(this.AppointmentObject.APPOINTMENT_DATE);\r\n JSONTimeSlot = JSONTimeSlot.substring(JSONTimeSlot.indexOf(\"T\") + 1, JSONTimeSlot.indexOf(\":\") + 3);\r\n this.AppointmentObject.AppointmentTimeSlot = JSONTimeSlot;\r\n var DateString = Result.JSONData[0].APPOINTMENT_DATE;\r\n DateString = DateString.replace(/-/, '/').replace(/-/, '/');\r\n this.AppointmentObject.APPOINTMENT_DATE = new Date(DateString.substring(0, 10));\r\n if (this.AppointmentObject.CONTAINER_NO) {\r\n this.ContainerNumberChange(this.AppointmentObject.CONTAINER_NO);\r\n }\r\n if (this.AppointmentObject.BOOKING_NO) {\r\n this.SearchBookingNo();\r\n }\r\n this.AppointmentObject.ConsigneeSearch = this.AppointmentObject.CONSIGNEE;\r\n if (this.AppointmentObject.ConsigneeSearch) {\r\n this.SearchConsignee();\r\n }\r\n });\r\n }\r\n if (this.SharedLib.GetTruckDriverID() > 0) {\r\n this.AppointmentObject.USERNAME = 'TRUCKER - ' + this.GetSessionStorageData('TRUCK_DRIVER_NAME');\r\n } else {\r\n this.AppointmentObject.USERNAME = 'WEBUSER - ' + this.GetSessionStorageData('USERNAME');\r\n }\r\n this.AppointmentObject.DRIVER_ID = this.GetSessionStorageData('TRUCK_DRIVER_CARD_NO');\r\n }\r\n\r\n SlotsHoursNormal(fechaSeleccionada){\r\n const ahora = this.TodayFalse;\r\n const fechaActual = new Date(ahora.toDateString());\r\n \r\n const fechaSeleccionadaSinHora = new Date(fechaSeleccionada.toDateString());\r\n\r\n // Calcular la hora límite para citas\r\n let horaLimite = new Date();\r\n const horaActual = horaLimite.getHours();\r\n horaLimite.setHours(horaActual -1);\r\n \r\n // Formatear la hora límite para que coincida con el formato de `value` en `horas`\r\n const horaLimiteFormateada = `${horaLimite.getHours().toString().padStart(2, '0')}:${horaLimite.getMinutes().toString().padStart(2, '0')}`; \r\n \r\n let horaLimiteNormal = new Date();\r\n const horaActualNormal = horaLimiteNormal.getHours();\r\n horaLimiteNormal.setHours(horaActualNormal - 1);\r\n const horaLimiteFormateadaNormal = `${horaLimiteNormal.getHours().toString().padStart(2, '0')}:${horaLimiteNormal.getMinutes().toString().padStart(2, '0')}`; \r\n\r\n if(fechaSeleccionadaSinHora.getTime() < fechaActual.getTime()){\r\n this.AppointmentTimeSlotArrayShowNormal = [];\r\n }else\r\n {\r\n if (fechaSeleccionadaSinHora.getTime() === fechaActual.getTime()) {\r\n this.AppointmentTimeSlotArrayShowNormal = this.AppointmentTimeSlotArray2.filter(hora => hora.Value >= horaLimiteFormateadaNormal);\r\n }\r\n else{\r\n \r\n this.AppointmentTimeSlotArrayShowNormal = this.AppointmentTimeSlotArray2;\r\n }\r\n } \r\n\r\n return this.AppointmentTimeSlotArrayShowNormal.length;\r\n }\r\n ChangeTime(){};\r\n SlotsHoursSlot(fechaSeleccionada){\r\n const ahora = this.TodayFalse;\r\n const fechaActual = new Date(ahora.toDateString());\r\n \r\n const fechaSeleccionadaSinHora = new Date(fechaSeleccionada.toDateString());\r\n\r\n // Calcular la hora límite para citas\r\n let horaLimite = new Date();\r\n const horaActual = horaLimite.getHours();\r\n horaLimite.setHours(horaActual + Number(this.ApptHourRule) -1);\r\n \r\n // Formatear la hora límite para que coincida con el formato de `value` en `horas`\r\n const horaLimiteFormateada = `${horaLimite.getHours().toString().padStart(2, '0')}:${horaLimite.getMinutes().toString().padStart(2, '0')}`; \r\n \r\n let horaLimiteNormal = new Date();\r\n const horaActualNormal = horaLimiteNormal.getHours();\r\n horaLimiteNormal.setHours(horaActualNormal - 1);\r\n const horaLimiteFormateadaNormal = `${horaLimiteNormal.getHours().toString().padStart(2, '0')}:${horaLimiteNormal.getMinutes().toString().padStart(2, '0')}`; \r\n\r\n if(fechaSeleccionadaSinHora.getTime() < fechaActual.getTime()){\r\n this.AppointmentTimeSlotArrayShow = [];\r\n\r\n }else\r\n {\r\n if (fechaSeleccionadaSinHora.getTime() === fechaActual.getTime()) {\r\n this.AppointmentTimeSlotArrayShow = this.AppointmentTimeSlotArray2.filter(hora => hora.Value >= horaLimiteFormateada);\r\n }\r\n else{\r\n \r\n this.AppointmentTimeSlotArrayShow = this.AppointmentTimeSlotArray2;\r\n }\r\n }\r\n return this.AppointmentTimeSlotArrayShow.length;\r\n}\r\n\r\n\r\n\r\nLoadAppointments(date: Date, type: string) {\r\n //CLEAR MSG\r\n this.TimeErrorMessage = '';\r\n this.Detector.detectChanges();\r\n // API Appointments\r\n interface Appointment {\r\n date: string;\r\n transactionType: string;\r\n startTime: string;\r\n endTime: string;\r\n appointmentsTotal: number;\r\n appointmentsAvailable: number;\r\n slotValue: string;\r\n slotOption: string;\r\n }\r\n \r\n let appointmentsArray: Appointment[] = [];\r\n let appointmentsFiltered: { Value: string; Option: string }[] = [];\r\n let CargoTypeRequestParamenter: string;\r\n try { \r\n if(this.AppointmentObject.APP_TYPE == \"PUI\")\r\n {\r\n CargoTypeRequestParamenter = '&CargoType=';\r\n if(this.AppointmentObject.REEFER_TEMPERATURE != null && this.AppointmentObject.REEFER_TEMPERATURE != '')\r\n {\r\n CargoTypeRequestParamenter = CargoTypeRequestParamenter+\"RF\";\r\n }else \r\n {\r\n CargoTypeRequestParamenter = CargoTypeRequestParamenter+\"DC\";\r\n }\r\n }else\r\n {\r\n CargoTypeRequestParamenter = '';\r\n }\r\n this.http.get(`${APPOINTMENTS_API}?TransactionType=${type}${CargoTypeRequestParamenter}&Date=${date.toISOString().slice(0, 10)}T00:00` )\r\n .subscribe(\r\n (data: any) => {\r\n appointmentsArray = data.body || [];\r\n appointmentsFiltered = appointmentsArray.map((item: Appointment) => {\r\n return {\r\n Value: item.slotValue,\r\n Option: (type === 'PUI' || type === 'PUM') ? item.slotOption + ' (' + item.appointmentsAvailable + ')' : item.slotOption,\r\n };\r\n });\r\n \r\n if (type === 'PUI') {\r\n this.AppointmentTimeSlotArrayShow = appointmentsFiltered;\r\n \r\n if (this.AppointmentTimeSlotArrayShow.length === 0) {\r\n this.TimeErrorMessage = 'No hay citas disponibles para la fecha seleccionada';\r\n }\r\n } else {\r\n this.AppointmentTimeSlotArrayShowNormal = appointmentsFiltered;\r\n \r\n if (this.AppointmentTimeSlotArrayShowNormal.length === 0) {\r\n this.TimeErrorMessage = 'No hay citas disponibles para la fecha seleccionada';\r\n }\r\n }\r\n \r\n this.Detector.detectChanges();\r\n },\r\n (error) => {\r\n //this.AppointmentObject.APPOINTMENT_DATE = new Date();\r\n this.AppointmentTimeSlotArrayShow = [];\r\n this.AppointmentTimeSlotArrayShowNormal = [];\r\n console.error('Error fetching appointments:', error);\r\n this.TimeErrorMessage = 'No hay citas disponibles para la fecha seleccionada';\r\n this.Detector.detectChanges();\r\n }\r\n );\r\n } catch (err) {\r\n this.AppointmentTimeSlotArrayShow = [];\r\n this.AppointmentTimeSlotArrayShowNormal = [];\r\n console.error('Unexpected error:', err);\r\n this.TimeErrorMessage = 'No hay citas disponibles para la fecha seleccionada';\r\n this.Detector.detectChanges();\r\n }\r\n}\r\n\r\n ChangeTimeDate() {\r\n this.AppointmentObject.APPOINTMENT_DATE\r\n this.AppointmentObject.APP_TYPE\r\n /*const ahora = new Date();\r\n const fechaActual = new Date(ahora.toDateString());*/\r\n const CheckDate = new Date(this.AppointmentObject.APPOINTMENT_DATE.toDateString());\r\n const type = this.AppointmentObject.APP_TYPE.toString();\r\n\r\n this.LoadAppointments(CheckDate, type);\r\n\r\n /*let countArray = this.SlotsHoursNormal(CheckDate);\r\n\r\n let horaLimite = new Date();\r\n const horaActual = horaLimite.getHours();\r\n horaLimite.setHours(horaActual + -1);\r\n const horaLimiteFormateada = `${horaLimite.getHours().toString().padStart(2, '0')}:${horaLimite.getMinutes().toString().padStart(2, '0')}`; \r\n\r\n\r\n if(CheckDate.getTime() < fechaActual.getTime()){\r\n this.TimeErrorMessage = 'No hay citas disponibles para la fecha seleccionada';\r\n }else\r\n {\r\n if (CheckDate.getTime() === fechaActual.getTime()) {\r\n if(countArray == 0){\r\n this.TimeErrorMessage = 'No hay citas disponibles para la fecha seleccionada';\r\n }\r\n }\r\n else{ \r\n this.TimeErrorMessage = '';\r\n }\r\n }*/\r\n }\r\n ChangeTimeDateSlot() {\r\n this.AppointmentObject.APPOINTMENT_DATE\r\n this.AppointmentObject.APP_TYPE\r\n /*const ahora = new Date();\r\n const fechaActual = new Date(ahora.toDateString());*/\r\n const CheckDate = new Date(this.AppointmentObject.APPOINTMENT_DATE.toDateString());\r\n const type = this.AppointmentObject.APP_TYPE.toString();\r\n\r\n this.LoadAppointments(CheckDate, type);\r\n\r\n /*let countArray = this.SlotsHoursSlot(CheckDate);\r\n\r\n let horaLimite = new Date();\r\n const horaActual = horaLimite.getHours();\r\n horaLimite.setHours(horaActual + Number(this.ApptHourRule) -1);\r\n const horaLimiteFormateada = `${horaLimite.getHours().toString().padStart(2, '0')}:${horaLimite.getMinutes().toString().padStart(2, '0')}`; \r\n\r\n\r\n if(CheckDate.getTime() < fechaActual.getTime()){\r\n this.TimeErrorMessage = 'No hay citas disponibles para la fecha seleccionada';\r\n }else\r\n {\r\n if (CheckDate.getTime() === fechaActual.getTime()) {\r\n if(countArray == 0){\r\n this.TimeErrorMessage = 'No hay citas disponibles para la fecha seleccionada';\r\n }\r\n }\r\n else{ \r\n this.TimeErrorMessage = '';\r\n }\r\n }*/\r\n }\r\n\r\n\r\n SearchConsignee() {\r\n\r\n }\r\n\r\n ConsigneeChange(InConsignee) {\r\n if ((this.GetSessionStorageData('CUSTOMER_ID') > 0) && ((this.AppointmentObject.APP_TYPE == 'DOE' || this.AppointmentObject.APP_TYPE == 'DOM'))) {\r\n //\r\n } else {\r\n /* Do Not Search for Customer ID */\r\n // if ((this.GetSessionStorageData(\"CUSTOMER_ID\") > 0) && (( this.AppointmentObject.APP_TYPE == 'PUI' || this.AppointmentObject.APP_TYPE == 'PUM'))) {\r\n this.ConsigneeObject = Array[0];\r\n this.AppointmentObject.CONSIGNEE = \"\";\r\n clearTimeout(this.Timer);\r\n var self = this;\r\n this.Timer = setTimeout(function () {\r\n if (InConsignee.length > 2) {\r\n self.SearchConsignee();\r\n }\r\n }, 700);\r\n }\r\n }\r\n\r\n SearchContainerNumber() {\r\n this.TypeContainer = '';\r\n if (this.AppointmentObject.CONTAINER_NO !== '') {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'AppointmentSearchContainerNo', 0, { APP_TYPE: this.AppointmentObject.APP_TYPE, CONTAINER_NO: this.AppointmentObject.CONTAINER_NO }, true).subscribe(\r\n Result => {\r\n Result = Result.JSONData;\r\n if (Result && (Result.length > 0)) {\r\n this.isContainerChecked = true;\r\n this.AppointmentObject.LINE_OPERATOR = Result[0].LINE_OPERATOR;\r\n this.AppointmentObject.REEFER_TEMPERATURE = Result[0].REEFER_TEMPERATURE;\r\n\r\n if (this.AppointmentObject.APP_TYPE == 'PUI') {\r\n this.LoadAppointments(new Date(this.AppointmentObject.APPOINTMENT_DATE.toDateString()), \"PUI\");\r\n if(this.AppointmentObject.REEFER_TEMPERATURE != null && this.AppointmentObject.REEFER_TEMPERATURE != '')\r\n {\r\n this.TypeContainer = \"Reefer Container\";\r\n }\r\n }\r\n \r\n /* Possibly only for DOM we want to prefix BOOKING_NO with 'ERO' stuff */\r\n if (this.AppointmentObject.APP_TYPE == 'DOM') {\r\n this.AppointmentObject.BOOKING_NO = 'ERO' + this.AppointmentObject.LINE_OPERATOR;\r\n }\r\n /* VGM Weight Module 27-07-2017 */\r\n if (this.AppointmentObject.APP_TYPE == 'DOE') {\r\n if (Result[0].VGM_WEIGHT_RECORD_ID) {\r\n this.AppointmentObject.VGM_WEIGHT_RECORD_ID = Result[0].VGM_WEIGHT_RECORD_ID;\r\n this.AppointmentObject.WEIGHT = Result[0].VGM_WEIGHT;\r\n this.AppointmentObject.BOOKING_NO = Result[0].BOOKING_NO;\r\n this.AppointmentObject.ISO_CODE = Result[0].ISO_CODE;\r\n /* 06-11-2017 - DOE Appointment Condition for MAEU / SEAU\r\n * 19-06-2018 - Email to add SUDU\r\n * */\r\n this.SearchBookingNo();\r\n if (!(this.AppointmentObject.LINE_OPERATOR == 'MAEU' || this.AppointmentObject.LINE_OPERATOR == 'SEAU' || this.AppointmentObject.LINE_OPERATOR == 'SUDU')) {\r\n this.AppointmentObject.LINE_OPERATOR = Result[0].LINE_OPERATOR;\r\n }\r\n /* ESmelin email 12-07-2018\r\n if (Result[0].RECORD_ID == 0) {\r\n this['ContValidationStatus'] = 2;\r\n this.ContainerErrorMessage = 'La unidad no existe en nuestro sistema debe ser preavisada, favor de contactar a CAU.Pregate@dpworld.com
';\r\n this.SearchBookingNo();\r\n } else {\r\n this['ContValidationStatus'] = 1;\r\n }*/\r\n\r\n this['ContValidationStatus'] = 1;\r\n } else {\r\n this['ContValidationStatus'] = 2;\r\n this.ContainerErrorMessage =\r\n 'Póngase en contacto con el exportador, debe ser obligatoria la declaración del peso VGM,
' +\r\n 'Para poder crear la cita de retorno de cargado.
' +\r\n 'Nota: Al declarar peso cero “0” indica Certificación por Dpworld/Unidad a ser pesada en Dpworld
';\r\n }\r\n }\r\n this.ContainerISOCodeObject = Result;\r\n\r\n this.RECORD_ID = Result[0].RECORD_ID;\r\n\r\n if (this.ContainerISOCodeObject) {\r\n this.AppointmentObject.ISO_CODE = Result[0].ISO_CODE;\r\n }\r\n\r\n if ((this.GetSessionStorageData('CUSTOMER_ID') > 0) && ((this.AppointmentObject.APP_TYPE == 'DOE' || this.AppointmentObject.APP_TYPE == 'DOM'))) {\r\n //\r\n } else {\r\n if (Result[0].CONSIGNEE && Result[0].CONSIGNEE.length > 0) {\r\n this.AppointmentObject.CONSIGNEE = Result[0].CONSIGNEE;\r\n this.AppointmentObject.ConsigneeSearch = this.AppointmentObject.CONSIGNEE;\r\n if (this.AppointmentObject.ConsigneeSearch) {\r\n this.SearchConsignee();\r\n }\r\n }\r\n }\r\n this.AppointmentObject.REMARKS = Result[0].REMARKS;\r\n } else { /*Only show as error for DOE container not found */\r\n if (this.AppointmentObject.APP_TYPE == 'DOE') {\r\n this['ContValidationStatus'] = 3;\r\n this.ContainerErrorMessage =\r\n 'Póngase en contacto con el exportador, debe ser obligatoria la declaración del peso VGM,
' +\r\n 'Para poder crear la cita de retorno de cargado.
' +\r\n 'Nota: Al declarar peso cero “0” indica Certificación por Dpworld/Unidad a ser pesada en Dpworld
';\r\n }\r\n this.isContainerChecked = false;\r\n }\r\n }\r\n \r\n );\r\n\r\n }\r\n }\r\n\r\n ContainerNumberChange(InContainerNumber) {\r\n\r\n this.ContainerISOCodeObject = Array[0];\r\n this.RECORD_ID = '';\r\n this.AppointmentObject.LINE_OPERATOR = '';\r\n this.AppointmentObject.WEIGHT = '';\r\n this.ContainerErrorMessage = '';\r\n this.isContainerChecked = false;\r\n this.TypeContainer = '';\r\n this['ContValidationStatus'] = 0;\r\n clearTimeout(this.Timer);\r\n var self = this;\r\n this.Timer = setTimeout(function () {\r\n if (InContainerNumber.length > 10) {\r\n self.SearchContainerNumber();\r\n } \r\n }, 700);\r\n }\r\n\r\n SearchBookingNo() {\r\n if (this.AppointmentObject.BOOKING_NO !== '') {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'AppointmentSearchBookingNo', 0, { BOOKING_NO: this.AppointmentObject.BOOKING_NO, ISO_CODE: this.AppointmentObject.ISO_CODE }, true).subscribe(\r\n Result => {\r\n Result = Result.JSONData;\r\n if (Result.length > 0) {\r\n this.AppointmentObject.LINE_OPERATOR = Result[0].LINE_OPERATOR;\r\n if (Result[0].ISO_CODE) {\r\n this.ContainerISOCodeObject = Result;\r\n this.RECORD_ID = Result[0].RECORD_ID;\r\n }\r\n if (Result.length == 1) {\r\n this.AppointmentObject.ISO_CODE = Result[0].ISO_CODE;\r\n }\r\n //}\r\n this.ErrorMessage = '';\r\n } else {\r\n this.ErrorMessage = 'Did not find booking: (' + this.AppointmentObject.BOOKING_NO + ')';\r\n }\r\n });\r\n }\r\n }\r\n\r\n AppointmentTypeBtnClick(AppType) {\r\n this.AppointmentObject.WEIGHT = '';\r\n this.AppointmentObject.APP_TYPE = AppType;\r\n this.AppointmentObject.APPOINTMENT_DATE = new Date();\r\n //this.AppointmentObject.APP_TYPE\r\n const CheckDate = new Date();\r\n const type = this.AppointmentObject.APP_TYPE.toString();\r\n this.LoadAppointments(CheckDate, type);\r\n this.CDRef.detectChanges();\r\n \r\n if (AppType == 'DOE') {\r\n this.AppointmentTypeLabel = 'Cita para Retorno de Cargado';\r\n this.AppointmentObject.APP_TYPE_INDEX = 0;\r\n this.AppointmentObject.APPOINTMENT_DATE = new Date();\r\n } else if (AppType == 'DOM') {\r\n this.AppointmentTypeLabel = 'Cita para Retorno de Vacio';\r\n this.AppointmentObject.APP_TYPE_INDEX = 1;\r\n this.AppointmentObject.APPOINTMENT_DATE = new Date();\r\n } else if (AppType == 'PUI') {\r\n this.AppointmentTypeLabel = 'Cita para Despacho de Cargado';\r\n this.AppointmentObject.APP_TYPE_INDEX = 2;\r\n\r\n /*\r\n const tomorrow = new Date();\r\n tomorrow.setDate(tomorrow.getDate() + 1);\r\n \r\n const ahora = new Date();\r\n ahora.setHours(ahora.getHours() + Number(this.ApptHourRule) -1);\r\n const fechaActual = new Date(ahora.toDateString());\r\n const fechaSeleccionadaSinHora = new Date(new Date().toDateString());\r\n \r\n // Determinar si la cita es para hoy\r\n this.AppointmentObject.APPOINTMENT_DATE = fechaActual.getTime() === fechaSeleccionadaSinHora.getTime()? new Date(): tomorrow;\r\n \r\n*/\r\n\r\n } else if (AppType == 'PUM') {\r\n this.AppointmentTypeLabel = 'Cita para Despacho de Vacio';\r\n this.AppointmentObject.APP_TYPE_INDEX = 3;\r\n this.AppointmentObject.APPOINTMENT_DATE = new Date();\r\n } else if (AppType == 'PIR') {\r\n this.AppointmentTypeLabel = 'Cita para Despacho de Reefer';\r\n this.AppointmentObject.APP_TYPE_INDEX = 4;\r\n this.AppointmentObject.APPOINTMENT_DATE = new Date();\r\n }\r\n \r\n /*this.TimeErrorMessage = '';\r\n this.TodayFalse = this.AppointmentObject.APPOINTMENT_DATE;\r\n this.SlotsHoursSlot(this.AppointmentObject.APPOINTMENT_DATE);\r\n this.SlotsHoursNormal(this.AppointmentObject.APPOINTMENT_DATE);*/\r\n if (this.GetSessionStorageData('CUSTOMER_ID') > 0) {\r\n if ((this.AppointmentObject.APP_TYPE == 'DOE') || (this.AppointmentObject.APP_TYPE == 'DOM')) {\r\n this.AppointmentObject.ConsigneeSearch = this.GetSessionStorageData('CUSTOMER_NAME');\r\n }\r\n }\r\n }\r\n\r\n SubmitAppointmentForm() {\r\n let Data = {\r\n WEB_USER_ID:this.GetSessionStorageData('WEB_USER_ID'),\r\n EXTERNAL_WEB_USER_ID:this.GetSessionStorageData('EXTERNAL_WEB_USER_ID'),\r\n RECORD_ID: this.RECORD_ID,\r\n CONTAINER_NO: this.AppointmentObject.CONTAINER_NO,\r\n N4_APPOINTMENT_NO: 10\r\n }\r\n\r\n //this.SaveDischargeAppointment(Data);\r\n /* Couldnt get this to work on the button click to asign the AppointmentObject.CONSIGNEE */\r\n if (this.GetSessionStorageData('CUSTOMER_ID') > 0) {\r\n if ((this.AppointmentObject.APP_TYPE == 'DOE') || (this.AppointmentObject.APP_TYPE == 'DOM')) {\r\n this.AppointmentObject.CONSIGNEE = this.AppointmentObject.ConsigneeSearch;\r\n }\r\n }\r\n this.AppointmentObject.CONSIGNEE = this.AppointmentObject.ConsigneeSearch;\r\n if (this.AppointmentObject.DRIVER_ID && this.AppointmentObject.DRIVER_ID.length == 4) {\r\n this.AppointmentObject.DRIVER_ID = '0' + this.AppointmentObject.DRIVER_ID;\r\n }\r\n if (this.SharedLib.TRUCK_DRIVER_BALANCE <= -100) {\r\n this.CoreLib.DPModalDialog('Alert', 'El balance esta bajo', 'No puede crear ni editar citas, debe tener un balance de más de -100 pesos', 'fa-exclamation-triangle text-danger');\r\n } else {\r\n this.ErrorMessage = '';\r\n let TimeSlot = this.AppointmentObject.AppointmentTimeSlot.substr(0, this.AppointmentObject.AppointmentTimeSlot.indexOf(':'));\r\n this.AppointmentObject.APPOINTMENT_DATE.setHours(parseInt(TimeSlot), 0, 0);\r\n this.AppointmentObject.WebRequestType = 'WEB';\r\n this.AppointmentObject.WEB_USER_ID = this.SharedLib.GetWebUserID();\r\n this.AppointmentObject.EXTERNAL_WEB_USER_ID = this.SharedLib.GetExternalWebUserID();\r\n const offset = new Date().getTimezoneOffset();\r\n this.AppointmentObject.TIME_ZONE_OFFSET = offset;\r\n this.CoreLib.ProcessWebRequest('ProcessInsertUpdateTruckDriverAppointment', '', this.GetModalFormRecID(), this.AppointmentObject, false, true).subscribe(Result => {\r\n this.SetSessionStorageItem(\"CurrentTabSelected\", \"AppointmentList\");\r\n //Replaces the first Error: with blank a string and all the rest with a new line break.\r\n if (this.JSONErrors && typeof this.JSONErrors.StatusDescription !== 'undefined') {\r\n this.JSONErrors.StatusDescription = this.JSONErrors.StatusDescription.replace('ERROR: ', '');\r\n this.JSONErrors.StatusDescription = this.JSONErrors.StatusDescription.replace(/ERROR: /g, '
');\r\n if (this.JSONErrors.StatusDescription.includes(\"EQUIP_GRADE_REQUIRED\")) {\r\n this.JSONErrors.StatusDescription = `El booking numero (${this.AppointmentObject.BOOKING_NO}) para la linea (${this.AppointmentObject.LINE_OPERATOR}) no tiene grado, favor de comunicarse con su agencia o linea operadora`;\r\n console.log(\"message-id = EQUIP_GRADE_REQUIRED message-text = EQUIP_GRADE_REQUIRED\");\r\n }\r\n console.log(\"****\");\r\n console.log(this.JSONErrors.StatusDescription);\r\n } else {\r\n if (this.AppointmentObject.APP_TYPE == 'PIR' && Result.AppointmentID > 0) {\r\n Data.N4_APPOINTMENT_NO = Result.AppointmentID;\r\n this.SaveDischargeAppointment(Data);\r\n }\r\n\r\n if (this.Router.url.includes('container-vgm-listing')) {\r\n this.Router.navigate(['/appointment-summary']);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n SaveDischargeAppointment(Data) {\r\n this.CoreLib.ProcessWebRequest('ProcessSaveDischargeSlotReefer', '', 0, Data, false, true, 500).subscribe( Result => {\r\n });\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ElementBase } from './element-base';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'dp-label',\r\n styles: [`.dp-label-caption {\r\n float: left;\r\n text-align: left;\r\n padding-right: 10px;\r\n font-weight: bold;\r\n font-size: 14px;\r\n }\r\n .dp-label-caption.right {\r\n text-align: right;\r\n }\r\n .dp-label-data {\r\n float: left;\r\n text-align: left;\r\n font-size: 14px;\r\n }\r\n .dp-label-data.right {\r\n text-align: right;\r\n }\r\n `],\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{LabelValue}}\r\n
\r\n
\r\n
\r\n `,\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: DPLabelComponent,\r\n multi: true,\r\n }]\r\n})\r\nexport class DPLabelComponent extends ElementBase /* ControlComponent */ implements OnInit {\r\n\r\n @Input() LabelValue: string = '';\r\n \r\n ngOnInit() {}\r\n\r\n}","import { Component } from '@angular/core';\r\nimport { CoreLibService } from './dp.services';\r\n\r\n@Component({\r\n selector: 'dp-spinner',\r\n styles: [`\r\n .spinner {\r\n margin: 100px auto;\r\n width: 50px;\r\n height: 40px;\r\n text-align: center;\r\n font-size: 14px;\r\n color: #fff;\r\n text-shadow: 0px 1px 5px rgba(0, 0, 0, 1);\r\n }\r\n\r\n .spinner > div {\r\n background-color: #fff;\r\n height: 100%;\r\n width: 3px;\r\n margin-left: 4px;\r\n display: inline-block;\r\n -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;\r\n animation: sk-stretchdelay 1.2s infinite ease-in-out;\r\n -webkit-box-shadow: 0px 0px 6px 0px rgba(0,0,0,1);\r\n -moz-box-shadow: 0px 0px 6px 0px rgba(0,0,0,1);\r\n box-shadow: 0px 0px 6px 0px rgba(0,0,0,1);\r\n }\r\n\r\n .spinner .rect2 {\r\n -webkit-animation-delay: -1.1s;\r\n animation-delay: -1.1s;\r\n }\r\n\r\n .spinner .rect3 {\r\n -webkit-animation-delay: -1.0s;\r\n animation-delay: -1.0s;\r\n }\r\n\r\n .spinner .rect4 {\r\n -webkit-animation-delay: -0.9s;\r\n animation-delay: -0.9s;\r\n }\r\n\r\n .spinner .rect5 {\r\n -webkit-animation-delay: -0.8s;\r\n animation-delay: -0.8s;\r\n }\r\n\r\n @-webkit-keyframes sk-stretchdelay {\r\n 0%, 40%, 100% { -webkit-transform: scaleY(0.4) }\r\n 20% { -webkit-transform: scaleY(1.0) }\r\n }\r\n\r\n @keyframes sk-stretchdelay {\r\n 0%, 40%, 100% {\r\n transform: scaleY(0.4);\r\n -webkit-transform: scaleY(0.4);\r\n } \r\n 20% {\r\n transform: scaleY(1.0);\r\n -webkit-transform: scaleY(1.0);\r\n }\r\n }\r\n `],\r\n template: `\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Loading...\r\n
\r\n
\r\n `\r\n})\r\nexport class DPSpinnerComponent {\r\n\r\n public IsBusy() {\r\n return CoreLibService.Busy();\r\n }\r\n\r\n}","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Itinerario de Buques

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

Seleccione un buque con el fin de acceder a una serie de informes en relación con este barco. Lista\\r\\n Importación, Lista Exportación, Validación lista de carga / descarga y reservas.

\\r\\n

Select a vessel in order to access a range of reports in relation to this ship. Import\\r\\n List,\\r\\n Export List, Load List and Discharge List Validation & Bookings.

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Search Options\\r\\n Opciones de búsqueda\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Search FromBuscar desde'\\\" [Language]=\\\"'es'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.FROM_DATE\\\">\\r\\n
\\r\\n
\\r\\n ToHasta'\\\" [Language]=\\\"'es'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.TO_DATE\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ETA DateVoyageLine OperatorNamePhaseETDCut-OffLloyds No
{{FormatDateTimeExt(Data.ETA, 'DD/MM/YY\\r\\n (HH:mm)')}}\\r\\n {{FormatDateTimeExt(Data.PUBLISHED_ETA,\\r\\n 'DD/MM/YY\\r\\n (HH:mm)')}}{{Data.VOYAGE_REF_NO}}{{Data.LINEOP}}\\r\\n 0\\\" class=\\\"table-link\\\"\\r\\n [routerLink]=\\\"['/vessel-schedule-details', Data.RECORD_ID]\\\"\\r\\n role=\\\"button\\\">{{Data.VESSEL_NAME}}\\r\\n 0\\\">{{Data.VESSEL_NAME}}\\r\\n {{Data.PHASE}}{{FormatDateTimeExt(Data.ETD, 'DD/MM/YY\\r\\n (HH:mm)')}}\\r\\n {{FormatDateTimeExt(Data.PUBLISHED_ETD,\\r\\n 'DD/MM/YY\\r\\n (HH:mm)')}}{{FormatDateTimeExt(Data.END_DRY_RECEIVING_DATETIME, 'DD/MM/YY (HH:mm)')}}\\r\\n {{Data.LLOYDS_NO}}
Encontrado: {{Pagination.CurrentPageInfo}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Empty Park Yard Listing Help

\\r\\n
\\r\\n
\\r\\n Help currently under development
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","import { Component, Input, Output, OnInit, OnChanges, SimpleChanges, EventEmitter, ViewChild, ChangeDetectorRef } from '@angular/core';\r\nimport { ElementBase } from './element-base';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { DPComponent } from 'core-lib';\r\nimport { Calendar } from 'primeng/calendar';\r\n\r\n@Component({\r\n selector: 'dp-dateedit',\r\n template: `\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n `,\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: DPDateEditComponent,\r\n multi: true,\r\n }]\r\n})\r\nexport class DPDateEditComponent extends ElementBase implements OnInit, OnChanges {\r\n @Input() DateFormat = 'dd/mm/yy';\r\n @Input() ShowTime = false;\r\n @Input() HideOnDateTimeSelect = true;\r\n @Input() ShowIcon = true;\r\n @Input() ShowYear = false;\r\n @Input() TouchUI = false;\r\n @Input() YearRange = '2000:2030';\r\n @Input() Language = 'EN';\r\n @Output() OnBlur: EventEmitter = new EventEmitter();\r\n @Input() AllowPast = true;\r\n @Input() MaxDate: Date;\r\n @Input() MinDate: Date;\r\n @Input() DisabledDates: Array = []; // Specific Dates Disabled\r\n @Input() DisabledDays: Array = []; // Days of each week 1-7 disabled\r\n @ViewChild('calendar', { static: false }) PCalendar: Calendar;\r\n TimeValue: string = '';\r\n public CDRef: ChangeDetectorRef;\r\n Locale: any;\r\n PastDate: Date;\r\n\r\n constructor(private Detector: ChangeDetectorRef) {\r\n super();\r\n this.CDRef = Detector;\r\n }\r\n\r\n ngOnInit() {\r\n this.UpdatePastDate();\r\n this.UpdateCaptions();\r\n DPComponent.GlobalChange.subscribe(\r\n () => {\r\n this.UpdateCaptions();\r\n }\r\n );\r\n }\r\n\r\n OnShow() {\r\n const InputMaskElement = document.getElementById('ws-time-input');\r\n const TimePickerElement = document.getElementsByClassName('ui-timepicker')[0];\r\n if (TimePickerElement) {\r\n TimePickerElement.appendChild(InputMaskElement);\r\n if (this.value) {\r\n this.TimeValue = String(this.value.getHours()).padStart(2, '0') + ':' + String(this.value.getMinutes()).padStart(2, '0');\r\n this.CDRef.detectChanges();\r\n }\r\n }\r\n }\r\n\r\n NeedsDetectChanges(event, EventName) {\r\n console.log('Event ' + EventName + ' (' + event.type + ') show time: ' + this.ShowTime);\r\n if (EventName === 'onFocus') {\r\n console.warn('focus - open calendar');\r\n this.CDRef.detectChanges();\r\n }\r\n if ((EventName === 'onYearChange') || (EventName === 'onMonthChange') || (EventName === 'onClickOutside')) {\r\n setTimeout(() => {\r\n this.CDRef.detectChanges();\r\n DPComponent.ActiveComponent.DetectChanges();\r\n }, 100);\r\n }\r\n if ((EventName === 'onSelect') && (!this.ShowTime)) {\r\n if (this.PCalendar) {\r\n console.log('Toggle Calendar!');\r\n this.PCalendar.toggle();\r\n }\r\n this.OnBlur.emit(event);\r\n }\r\n /* Changes the Time Input */\r\n if (EventName === 'onSelect') {\r\n if (this.value === undefined) {\r\n console.log('Undefined Date, create new!');\r\n this.value = new Date();\r\n }\r\n this.TimeValue = String(this.value.getHours()).padStart(2, '0') + ':' + String(this.value.getMinutes()).padStart(2, '0');\r\n this.CDRef.detectChanges();\r\n }\r\n }\r\n\r\n SetTime() {\r\n /* this.value Needs to be a new date each time or else front end doesnt update properly */\r\n if (this.value === undefined) {\r\n this.value = new Date();\r\n } else {\r\n this.value = new Date(this.value);\r\n }\r\n const TimeString = this.TimeValue.split(':');\r\n const Hour = +TimeString[0].trim();\r\n const Minute = +TimeString[1].trim();\r\n console.log('Set time Minute = ' + Minute);\r\n this.value.setHours(Hour, Minute);\r\n\r\n //console.log('Set time value = ' + this.value + ' from string = ' + this.TimeValue);\r\n setTimeout(() => {\r\n this.PCalendar.updateInputfield();\r\n\r\n console.log(this.value);\r\n }, 20);\r\n\r\n }\r\n\r\n UpdatePastDate() {\r\n if (this.MinDate) {\r\n this.PastDate = this.MinDate;\r\n } else if (this.AllowPast) {\r\n this.PastDate = new Date(0, 0, 0);\r\n } else {\r\n this.PastDate = new Date(new Date().setHours(0, 0, 0));\r\n }\r\n }\r\n\r\n UpdateCaptions() {\r\n if (!DPComponent.DefaultLanguage || (DPComponent.DefaultLanguage === 'EN')) {\r\n this.Locale = {\r\n firstDayOfWeek: 0,\r\n dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\r\n dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\r\n dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\r\n monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\r\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\r\n };\r\n } else if (DPComponent.DefaultLanguage === 'ES') {\r\n this.Locale = {\r\n firstDayOfWeek: 1,\r\n dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],\r\n dayNamesShort: ['Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sáb'],\r\n dayNamesMin: ['D', 'L', 'M', 'X', 'J', 'V', 'S'],\r\n monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],\r\n monthNamesShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic']\r\n };\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.UpdatePastDate();\r\n }\r\n\r\n}\r\n","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent, CoreLibService} from 'core-lib';\r\nimport {NavigationEnd, Router} from \"@angular/router\";\r\n\r\n@Component({\r\n templateUrl: './holds-customs.component.html'\r\n})\r\nexport class HoldsCustomsComponent extends DPComponent implements OnInit {\r\n public HoldsDataArray: Array = [];\r\n public CheckedContainers: any = [];\r\n\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, public Router:Router, public Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.CDRef = Detector;\r\n this.Detach();\r\n\r\n this.Router.events.subscribe((val) => {\r\n if (val instanceof NavigationEnd) {\r\n this.DoSearch();\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.ClearSearchFilters();\r\n this.DoSearch();\r\n }\r\n\r\n DoSearch() {\r\n this.GlobalSearchParams.SEARCH_BY_TYPE = this.GetSessionStorageData('CustomsSearchType');\r\n if (((this.GlobalSearchParams.CONTAINER_NO.length > 3) || (this.GlobalSearchParams.BILL_OF_LADING_NO.length > 3) || (this.GlobalSearchParams.VESSEL_NAME)) /*|| (this.GlobalSearchParams.SEARCH_BY_TYPE == 2)*/) {\r\n this.CoreLib.ProcessWebRequest('ProcessGetVesselQueryData', 'GovernmentCustomsHoldsList', 0, this.GlobalSearchParams, false).subscribe(Result => {\r\n this.HoldsDataArray = Result.JSONData;\r\n });\r\n }\r\n }\r\n\r\n ClearSearchFilters() {\r\n this.GlobalSearchParams.ClearGlobalSearchParams();\r\n }\r\n\r\n UpdateCheckedOptions(ID, CheckedValues, Checked) {\r\n if (Checked) {\r\n CheckedValues.push(ID);\r\n } else {\r\n CheckedValues.splice(CheckedValues.indexOf(ID), 1);\r\n }\r\n return CheckedValues;\r\n }\r\n\r\n}\r\n","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Payment Process\\r\\n Proceso de Pago\\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
Pago No Realizado
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
El pago fue procesado por el banco
\\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 pago no fue procesado por el banco
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
Generando factura...
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
Factura generada. Espere un momento
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
Factura no pudo ser generada...
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{QueryPaymentResponse.ErrorExtendedInfo}}\\r\\n
\\r\\n El pago fue procesado por el banco, pero no pudimos crear la factura.
\\r\\n No pague nuevamente. Favor contactar a nuestro equipo de Caja y/o Cuentas por Pagar\\r\\n para asistirles\\r\\n inmediatamente.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Es posible que hayas cancelado el proceso de pago o no recibimos la respuesta\\r\\n del banco.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\";","import { Component, OnInit, ViewChild, ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent, CoreLibService } from 'core-lib';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n templateUrl: './quote-details.component.html',\r\n selector: 'quote-details'\r\n})\r\nexport class QuoteDetailsComponent extends DPComponent implements OnInit {\r\n public CurrencyArrayDropDownArray: Array = [\r\n { Value: 'DOP', Option: 'DOP' },\r\n { Value: 'US$', Option: 'US$' }\r\n ];\r\n\r\n public ContainerDataArray: Array = [];\r\n public QuoteContainerDataArray: Array = [];\r\n public QuoteContainerTaxDataArray: Array = [];\r\n\r\n public SearchString: String;\r\n public QUOTE_DATETIME: Date = new Date();\r\n public CURRENT_QUOTE_DATETIME: Date = new Date();\r\n public QUOTE_CURRENCY: string;\r\n public SubTotalUSD: number = 0;\r\n public SubTotalRD: number = 0;\r\n public TaxUSD: number = 0;\r\n public TaxRD: number = 0;\r\n // *** Payment variables ***\r\n // Data to be sent to AZUL\r\n public PaymentData = {\r\n MerchantId: '999999',\r\n MerchantName: 'DPW Caucedo',\r\n MerchantType: '1',\r\n OrderNumber: '123456',\r\n Amount: 12345, // No decimal point!!\r\n CurrencyCode: '$',\r\n AuthHash: '',\r\n ApprovedURL: '',\r\n DeclinedURL: '',\r\n CancelURL: '',\r\n PostURL: '',\r\n UseCustomField1: 0,\r\n UseCustomField2: 0\r\n }\r\n\r\n public BHDPaymentData = {\r\n clientId: 'd27c707a-f66f-4635-9ffa-07e25c5e7fa3',\r\n clientSecret: '910828cf-b569-4e4e-bc71-99cf159882dd',\r\n billingNumber: '65489456',\r\n currency: 'RD',\r\n amount: 105642.25,\r\n creditHold: 'Y',\r\n returnedURL: 'https://www.domain.com/transaction.html',\r\n cancelledURL: 'https://www. domain.com/transaction.html',\r\n transactionId: '1c09dc77-8c2a-4f01-a3c8-ff3cc10ad0a9',\r\n scope: 'login',\r\n description: 'Descripcion'\r\n }\r\n BHDAuthenticationURL = 'https://api-sqa.bhdleon.com.do/bhdleon/boton/v2/proveedores/autenticacion';\r\n\r\n\r\n // Form elements\r\n @ViewChild('PaymentForm', { static: false }) PaymentForm: ElementRef;\r\n @ViewChild('AuthHash', { static: false }) AuthHash: ElementRef;\r\n // Production = 'https://pagos.azul.com.do/PaymentPage/'\r\n // Alternate - 'https://contpagos.azul.com.do/PaymentPage/'\r\n // TEST:\r\n AZULPaymentURL = 'https://pruebas.azul.com.do/PaymentPage/';\r\n\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, public Router: Router, public Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.CDRef = Detector;\r\n this.Detach();\r\n let URL = document.location.href;\r\n this.PaymentData.ApprovedURL = URL;\r\n this.PaymentData.DeclinedURL = URL;\r\n this.PaymentData.CancelURL = URL;\r\n this.PaymentData.PostURL = URL;\r\n }\r\n\r\n ngOnInit() {\r\n this.ClearSearchFilters();\r\n if (this.IsValidDate(this.GetSessionStorageData('CURRENT_QUOTE_DATETIME'))) {\r\n this.QUOTE_DATETIME = new Date(this.GetSessionStorageData('CURRENT_QUOTE_DATETIME'));\r\n this.CURRENT_QUOTE_DATETIME = new Date(this.GetSessionStorageData('CURRENT_QUOTE_DATETIME'));\r\n } else {\r\n this.QUOTE_DATETIME = new Date();\r\n this.CURRENT_QUOTE_DATETIME = new Date();\r\n }\r\n this.DetectChanges();\r\n this.DoSearch();\r\n }\r\n\r\n CreateNewQuote(InTaxClass) {\r\n if (InTaxClass !== '') {\r\n this.SetSessionStorageItem('CURRENT_QUOTE_TAX_CLASS', InTaxClass);\r\n }\r\n this.SetSessionStorageItem('CURRENT_QUOTE_CURRENCY_CODE', this.QUOTE_CURRENCY);\r\n this.InsertUpdateQuote();\r\n }\r\n\r\n UpdateQuoteDateTime() {\r\n this.QUOTE_DATETIME = new Date(this.CURRENT_QUOTE_DATETIME);\r\n this.DetectChanges();\r\n this.InsertUpdateQuote();\r\n\r\n }\r\n\r\n InsertUpdateQuote() {\r\n let Data = {\r\n USERNAME: this.GetSessionStorageData('USERNAME'),\r\n CUSTOMER_ID: this.GetSessionStorageData('CUSTOMER_ID'),\r\n QUOTE_ID: this.GetSessionStorageData('CURRENT_QUOTE_ID'),\r\n QUOTE_TAX_CLASS: this.GetSessionStorageData('CURRENT_QUOTE_TAX_CLASS'),\r\n QUOTE_CURRENCY_CODE: this.GetSessionStorageData('CURRENT_QUOTE_CURRENCY_CODE'),\r\n QUOTE_DATETIME: this.QUOTE_DATETIME\r\n }\r\n if ((this.GetSessionStorageData('CURRENT_QUOTE_CURRENCY_CODE') == 'DOP') || (this.GetSessionStorageData('CURRENT_QUOTE_CURRENCY_CODE') == 'US$')) {\r\n this.CoreLib.ProcessWebRequest('ProcessCreatePayquoteRecord', '', 0, Data, false).subscribe(Result => {\r\n if (Result.StatusCode !== 'ERROR') {\r\n this.SetSessionStorageItem(\"CURRENT_QUOTE_ID\", Result.CURRENT_QUOTE_ID);\r\n this.SetSessionStorageItem(\"CURRENT_QUOTE_DATETIME\", Result.CURRENT_QUOTE_DATETIME);\r\n this.SetSessionStorageItem(\"CURRENT_QUOTE_CURRENCY_CODE\", Result.CURRENT_QUOTE_CURRENCY_CODE);\r\n this.SetSessionStorageItem(\"CURRENT_QUOTE_TAX_CLASS\", Result.CURRENT_QUOTE_TAX_CLASS);\r\n this.CURRENT_QUOTE_DATETIME = new Date();\r\n this.CURRENT_QUOTE_DATETIME = new Date(Result.CURRENT_QUOTE_DATETIME);\r\n console.log('current date: ' + this.CURRENT_QUOTE_DATETIME);\r\n this.DetectChanges();\r\n if (Result.StatusDescription) {\r\n this.CoreLib.DPModalDialog('Alert', 'Attencion', Result.StatusDescription, 'exclamation-triangle text-warning');\r\n this.SetSessionStorageItem(\"TAX_CLASS\", Result.TaxClass);\r\n }\r\n } else {\r\n this.CURRENT_QUOTE_DATETIME = new Date(this.GetSessionStorageData('CURRENT_QUOTE_DATETIME'));\r\n this.DetectChanges();\r\n this.DoSearch();\r\n }\r\n });\r\n } else {\r\n this.CoreLib.DPModalDialog('Alert', 'Choose Currency', 'You Must Select A Currency!', 'exclamation-triangle text-warning');\r\n }\r\n }\r\n\r\n StartOver() {\r\n this.CoreLib.DPModalDialog('ConfirmYN', `Cancel Quote`, `Are You Sure You Want Cancel/Close the Current Quote and start a new one?`, 'times-circle text-danger').then(Result => {\r\n if (Result == 1) {\r\n this.ClearSearchFilters();\r\n this.QuoteContainerDataArray = [];\r\n this.RemoveSessionStorageItem(\"CURRENT_QUOTE_ID\");\r\n this.RemoveSessionStorageItem(\"CURRENT_QUOTE_DATETIME\");\r\n this.RemoveSessionStorageItem(\"CURRENT_QUOTE_CURRENCY_CODE\");\r\n this.RemoveSessionStorageItem(\"CURRENT_QUOTE_COMPLETE\");\r\n this.RemoveSessionStorageItem(\"CURRENT_QUOTE_TAX_CLASS\");\r\n this.QUOTE_DATETIME = new Date();\r\n this.CURRENT_QUOTE_DATETIME = new Date();\r\n this.DetectChanges();\r\n }\r\n });\r\n }\r\n\r\n AddContainerToQuote(InContainerID, InType) {\r\n let Data = {};\r\n let TransType = 'ProcessAddContainerToQuote';\r\n if (InType == 1) {\r\n TransType = 'ProcessAddContainerToQuote';\r\n Data = {\r\n QUOTE_ID: this.GetSessionStorageData('CURRENT_QUOTE_ID'),\r\n CONTAINER_ID: InContainerID\r\n }\r\n } else if (InType = 2) {\r\n TransType = 'ProcessAddImportedCarToQuote';\r\n Data = {\r\n QUOTE_ID: this.GetSessionStorageData('CURRENT_QUOTE_ID'),\r\n IMPORTED_CAR_ID: InContainerID\r\n }\r\n }\r\n this.CoreLib.ProcessWebRequest(TransType, '', 0, Data, false).subscribe(Result => {\r\n if (Result.StatusCode == 'SUCCESS') {\r\n this.DoSearch();\r\n }\r\n });\r\n }\r\n\r\n RemoveContainerFromQuote(InContainerID) {\r\n this.CoreLib.ProcessWebRequest('ProcessRemoveContainerFromQuote', '', 0, { CONTAINER_ID: InContainerID }, false).subscribe(Result => {\r\n if (Result.StatusCode == 'SUCCESS') {\r\n this.DoSearch();\r\n }\r\n });\r\n }\r\n\r\n CompleteQuote() {\r\n this.CoreLib.ProcessWebRequest('ProcessCompleteQuote', '', 0, { QUOTE_ID: this.GetSessionStorageData('CURRENT_QUOTE_ID'), SESSION_ID: this.GetSessionStorageData('SESSION_ID'), USERNAME: this.GetSessionStorageData('USERNAME') }, false).subscribe(Result => {\r\n if (Result.StatusCode == 'SUCCESS') {\r\n this.SetSessionStorageItem(\"CURRENT_QUOTE_COMPLETE\", '1');\r\n //this.DoSearch();\r\n this.Router.navigate(['quote-detail']);\r\n }\r\n });\r\n }\r\n\r\n DoSearch() {\r\n if (this.GlobalSearchParams.BILL_OF_LADING_NO !== '' || this.GlobalSearchParams.CONTAINER_NO !== '' || this.GlobalSearchParams.IMPORTED_CAR_FORM_NO !== '') {\r\n this.SearchString = '';\r\n let Data = {\r\n CONTAINER_NO: this.GlobalSearchParams.CONTAINER_NO,\r\n BILL_OF_LADING_NO: this.GlobalSearchParams.BILL_OF_LADING_NO,\r\n IMPORTED_CAR_FORM_NO: this.GlobalSearchParams.IMPORTED_CAR_FORM_NO,\r\n QUOTE_ID: this.GetSessionStorageData('CURRENT_QUOTE_ID'),\r\n CUSTOMER_NAME: this.GetSessionStorageData('CUSTOMER_NAME'),\r\n ACCOUNT_TYPE: this.GetSessionStorageData('ACCOUNT_TYPE'),\r\n CUSTOMER_ID: this.GetSessionStorageData('CUSTOMER_ID'),\r\n SYSTEM_ROLE: this.GetSessionStorageData('SYSTEM_ROLE')\r\n }\r\n this.CoreLib.ProcessWebRequest('ProcessGetBillingQueryData', 'GetBillingContainerList', 0, Data, false).subscribe(Result => {\r\n this.SearchString = this.GlobalSearchParams.CONTAINER_NO + this.GlobalSearchParams.BILL_OF_LADING_NO + this.GlobalSearchParams.IMPORTED_CAR_FORM_NO;\r\n this.ContainerDataArray = Result.JSONData\r\n });\r\n }\r\n\r\n if (this.GetSessionStorageData('CURRENT_QUOTE_ID') > 0) {\r\n this.CoreLib.ProcessWebRequest('ProcessGetBillingQueryData', 'GetPayquoteContainerItemList', 0, { QUOTE_ID: this.GetSessionStorageData('CURRENT_QUOTE_ID'), IMPORTED_CAR_FORM_NO: this.GlobalSearchParams.IMPORTED_CAR_FORM_NO }, false).subscribe(Result => {\r\n this.QuoteContainerDataArray = Result.JSONData;\r\n this.SubTotalUSD = 0;\r\n this.SubTotalRD = 0;\r\n this.QuoteContainerDataArray.forEach(\r\n (item) => {\r\n this.SubTotalUSD = this.SubTotalUSD + (this.ValidNumber(item.BILLABLE_QTY) * this.ValidNumber(item.UNIT_PRICE));\r\n this.SubTotalRD = this.SubTotalRD + (item.BILLABLE_QTY * Number((item.UNIT_PRICE * item.CONVERSION_FACTOR).toFixed(2)));\r\n }\r\n );\r\n this.CoreLib.ProcessWebRequest('ProcessGetBillingQueryData', 'GetPayquoteContainerItemTaxList', 0, { QUOTE_ID: this.GetSessionStorageData('CURRENT_QUOTE_ID') }, false).subscribe(Result => {\r\n this.QuoteContainerTaxDataArray = Result.JSONData;\r\n this.TaxUSD = 0;\r\n this.TaxRD = 0;\r\n this.QuoteContainerTaxDataArray.forEach(\r\n (item) => {\r\n this.TaxUSD = this.TaxUSD + this.ValidNumber(item.TOTAL_TAX_USD);\r\n this.TaxRD = this.TaxRD + this.ValidNumber(item.TOTAL_TAX_RD);\r\n }\r\n );\r\n });\r\n });\r\n }\r\n this.DetectChanges();\r\n }\r\n\r\n ClearSearchFilters() {\r\n this.SearchString = '';\r\n this.GlobalSearchParams.ClearGlobalSearchParams();\r\n }\r\n\r\n public SubmitPaymentForm() {\r\n // Send off request to hash the fields\r\n // When the response is received, do the real form submit\r\n this.CoreLib.ProcessWebRequest('ProcessGetAZULAuthHash', '', '0', this.PaymentData, false).subscribe(\r\n Result => {\r\n if (Result.StatusCode == 'SUCCESS') {\r\n // Update the AuthHash field on the form with Result.AuthHash, and submit it\r\n // Using nativeElement is apparently not advisable - may need to work out an alternative\r\n this.AuthHash.nativeElement.value = Result.AuthHash;\r\n this.PaymentForm.nativeElement.submit();\r\n }\r\n }\r\n );\r\n }\r\n\r\n}\r\n","import { Injectable, Inject, ErrorHandler } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Router, CanActivate, ActivatedRoute } from '@angular/router';\r\nimport { Observable, Observer } from 'rxjs';\r\nimport { DOCUMENT } from \"@angular/common\";\r\nimport { Idle, DEFAULT_INTERRUPTSOURCES } from '@ng-idle/core';\r\nimport { Keepalive } from '@ng-idle/keepalive';\r\nimport { DPModalDialog } from './dp-modaldialog.component';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { DPComponentBase } from './dp.component-base';\r\nimport { map, timeout, catchError } from 'rxjs/operators';\r\nimport { CommonVars } from './dp.classes';\r\nimport { Console } from 'console';\r\n\r\nexport type DownloadFileParams = {\r\n RequestID: string,\r\n RecordID: number,\r\n TableName: string,\r\n FieldName: string,\r\n FileName: string\r\n}\r\n\r\n@Injectable()\r\nexport class GlobalErrorHandler implements ErrorHandler {\r\n public static Enabled = true;\r\n handleError(error) {\r\n let ErrorString = error.toString();\r\n if (GlobalErrorHandler.Enabled && !ErrorString.toLowerCase().includes('timeout'))\r\n alert('A startup error has occurred. Please report the following message to support: \\n' + ErrorString);\r\n throw error;\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class IdleService {\r\n idleState = 'Not started';\r\n timedOut = false;\r\n private PausedTimeout: number = 0;\r\n constructor(private idle: Idle, private keepalive: Keepalive) {\r\n idle.setIdle(5);\r\n idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\r\n idle.onIdleEnd.subscribe(() => {\r\n this.idleState = 'Not Idle';\r\n });\r\n idle.onTimeout.subscribe(() => {\r\n this.idleState = 'Timed out';\r\n this.timedOut = true;\r\n });\r\n idle.onIdleStart.subscribe(() => {\r\n this.idleState = 'Idle';\r\n });\r\n this.Reset();\r\n }\r\n\r\n public SetTimeout(Timeout) {\r\n this.idle.setTimeout(Timeout * 60);\r\n console.log('Timeout: ' + Timeout * 60 + ' seconds');\r\n this.Reset();\r\n }\r\n\r\n public get OnTimeout() {\r\n return this.idle.onTimeout;\r\n }\r\n\r\n public Pause() {\r\n this.PausedTimeout = this.idle.getTimeout();\r\n this.idle.setTimeout(0);\r\n this.idleState = 'Stopped';\r\n }\r\n\r\n public Resume() {\r\n if ((this.PausedTimeout > 0) && (this.idle.getTimeout() == 0)) {\r\n this.idle.setTimeout(this.PausedTimeout);\r\n this.Reset();\r\n }\r\n this.PausedTimeout = 0;\r\n }\r\n\r\n public Reset() {\r\n this.idle.watch();\r\n this.idleState = 'Started';\r\n this.timedOut = false;\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class CoreLibService {\r\n private static RequestCount = 0;\r\n private static ModalDialogContent: string = '';\r\n public Component: DPComponentBase;\r\n public RouteComponent: DPComponentBase;\r\n public ClientIP: string = '';\r\n public static UnexpectedErrorMessage = 'An unexpected error occurred. Please try again. If the problem continues, Please contact technical support';\r\n public static Busy() {\r\n return CoreLibService.RequestCount > 0;\r\n }\r\n\r\n constructor(public http: HttpClient, public Idle: IdleService, private BsModal: BsModalService, public ActiveRoute: ActivatedRoute) {\r\n //\r\n }\r\n\r\n public static ClearModalDialogContent(Content: string) {\r\n if (Content == CoreLibService.ModalDialogContent)\r\n CoreLibService.ModalDialogContent = '';\r\n }\r\n\r\n public IsBusy() {\r\n return CoreLibService.RequestCount > 0;\r\n }\r\n\r\n public DetectChanges() {\r\n if (this.Component) {\r\n this.Component.DetectChanges();\r\n }\r\n }\r\n\r\n public HandleRequestError(Request, error) {\r\n let ErrorString: string = error.toString();\r\n let Index = ErrorString.indexOf('Error:');\r\n if (Index > -1) {\r\n ErrorString = ErrorString.substr(Index + 6).trim();\r\n }\r\n DPComponentBase.Errors = {\r\n StatusCode: 'ERROR',\r\n StatusDescription: CoreLibService.UnexpectedErrorMessage + '
Error Details:' + ErrorString\r\n };\r\n }\r\n\r\n private UpdateRequestCount(Requester: DPComponentBase, Increment: boolean, Ignore: Boolean) {\r\n Requester.UpdateRequestCount(Increment);\r\n if (!Ignore) {\r\n if (Increment) {\r\n CoreLibService.RequestCount = CoreLibService.RequestCount + 1;\r\n if (CoreLibService.RequestCount === 1) {\r\n this.Idle.Pause();\r\n }\r\n } else {\r\n if (CoreLibService.RequestCount > 0) {\r\n CoreLibService.RequestCount = CoreLibService.RequestCount - 1;\r\n }\r\n if (CoreLibService.RequestCount === 0) {\r\n this.Idle.Resume();\r\n Requester.CheckTableFooter(200);\r\n }\r\n }\r\n }\r\n }\r\n\r\n public HandleRequestComplete(Request) {\r\n const RequestInfo = Request.RequestID + (Request.QueryType ? ' - ' + Request.QueryType : '');\r\n this.DetectChanges();\r\n }\r\n\r\n public StripChars(Key, Value) {\r\n if (typeof Value == 'string' || Value instanceof String)\r\n return Value.trim(); // Removes: all the whitespace characters (space, tab, no-break space, etc.) and all the line terminator characters (LF, CR, etc.)\r\n else\r\n return Value;\r\n }\r\n\r\n public ProcessWebRequest(RequestID, QueryType, RecordID, RequestData, IgnoreCount, CloseModal = false, MaxRecordCount = 0): Observable {\r\n let observer: Observer;\r\n let observable = new Observable(obs => observer = obs);\r\n let RequestJSON: string = '\"RequestID\":\"' + RequestID + '\",\"QueryType\":\"' + QueryType + '\",\"RecordID\":\"' + RecordID + '\",\"RECORD_ID\":\"' + RecordID + '\",\"MaxRecordCount\":\"' + MaxRecordCount + '\",\"ClientVersion\":\"' +\r\n DPComponentBase.ClientVersion + '\", \"Browser\":\"' + DPComponentBase.BrowserVersion + '\", \"ClientIP\":\"' + this.ClientIP + '\", \"SecurityTokenData\":\"' + this.Component.GetSessionStorageData('SessionData') + '\"';\r\n\r\n if (RequestData !== '') {\r\n RequestJSON = RequestJSON + ',' + JSON.stringify(RequestData, this.StripChars).replace(/[{}]/g, '');\r\n }\r\n const Request = JSON.parse('{' + RequestJSON + '}');\r\n let Success = false;\r\n let Requester = this.RouteComponent;\r\n if (!Requester || this.Component.Parent)\r\n Requester = this.Component;\r\n this.UpdateRequestCount(Requester, true, IgnoreCount);\r\n this.http.post(Requester.WebRequestPath, Request, {}).pipe(\r\n timeout(DPComponentBase.RequestTimeout),\r\n map(\r\n res => {\r\n this.UpdateRequestCount(Requester, false, IgnoreCount);\r\n let ResultJSONObject: any = res;\r\n if (ResultJSONObject.StatusCode) {\r\n // Anything other than success returns a message in Errors\r\n if (ResultJSONObject.StatusCode === 'SUCCESS') {\r\n Success = true;\r\n } else if ((ResultJSONObject.StatusCode === 'ERROR') || (ResultJSONObject.StatusCode === 'WARNING')) {\r\n DPComponentBase.Errors = ResultJSONObject;\r\n DPComponentBase.Errors.StatusDescription = DPComponentBase.Translate(DPComponentBase.Errors.StatusDescription);\r\n } else {\r\n DPComponentBase.Errors = { StatusCode: 'ERROR', StatusDescription: CoreLibService.UnexpectedErrorMessage };\r\n }\r\n // Always return the result, as the caller may do additional handling\r\n return ResultJSONObject;\r\n } else {\r\n DPComponentBase.Errors = { StatusCode: 'ERROR', StatusDescription: CoreLibService.UnexpectedErrorMessage };\r\n }\r\n }\r\n )).subscribe(\r\n res => {\r\n observer.next(res);\r\n Requester.DetectChanges();\r\n if (Success) {\r\n this.Component.RequestSuccessful(CloseModal); /* Only pass back SUCCESS to close modals e.g. after submitting */\r\n }\r\n },\r\n error => {\r\n this.UpdateRequestCount(Requester, false, IgnoreCount);\r\n this.HandleRequestError(Request, error);\r\n observer.error(error);\r\n Requester.DetectChanges();\r\n },\r\n () => {\r\n Requester.DetectChanges();\r\n }\r\n );\r\n return observable;\r\n }\r\n\r\n public ProcessCustomWebRequest(URL: string, Request: any): Observable {\r\n let observer: Observer;\r\n let observable = new Observable(obs => observer = obs);\r\n\r\n this.http.post(URL, Request, {observe : 'response'}).pipe(\r\n timeout(DPComponentBase.RequestTimeout),\r\n map(\r\n res => {\r\n //this.UpdateRequestCount(Requester, false, IgnoreCount);\r\n let ResultJSONObject: any = res;\r\n return ResultJSONObject;\r\n }\r\n )).subscribe(\r\n res => {\r\n observer.next(res);\r\n //console.log(\"ResultJSONObject2\");\r\n //console.log(\"1 \" + res.responseStatus);\r\n //console.log(\"2 \" + res.status);\r\n //Requester.DetectChanges();\r\n //if (Success) {\r\n // this.Component.RequestSuccessful(CloseModal); /* Only pass back SUCCESS to close modals e.g. after submitting */\r\n // }\r\n },\r\n error => {\r\n //this.UpdateRequestCount(Requester, false, IgnoreCount);\r\n this.HandleRequestError(Request, error);\r\n observer.error(error);\r\n //console.log(\"ResultJSONObject3\");\r\n //console.log(error);\r\n //Requester.DetectChanges();\r\n },\r\n () => {\r\n //Requester.DetectChanges();\r\n }\r\n );\r\n return observable;\r\n }\r\n\r\n public SaveFileAs(Obj, Filename: string) {\r\n console.log('OpenFile using SaveFileAs');\r\n let Anchor = document.createElement('a');\r\n document.body.appendChild(Anchor);\r\n Anchor.style.display = 'none';\r\n let Url = window.URL.createObjectURL(Obj);\r\n Anchor.href = Url;\r\n Anchor.download = Filename;\r\n Anchor.click();\r\n window.URL.revokeObjectURL(Url);\r\n this.DetectChanges();\r\n }\r\n\r\n public OpenBlob(Obj, Filename: string) {\r\n if (window.navigator.msSaveOrOpenBlob) {\r\n console.log('OpenBlob using msSaveOrOpenBlob');\r\n window.navigator.msSaveOrOpenBlob(Obj, Filename);\r\n } else {\r\n console.log('OpenBlob using window.open');\r\n let url = URL.createObjectURL(Obj);\r\n if (this.IsIOS())\r\n window.location.href = url;\r\n else\r\n window.open(url); // iOS does not allow opening files in a separate tab :-(\r\n }\r\n this.DetectChanges();\r\n }\r\n\r\n public IsIE() {\r\n let agent = navigator.userAgent;\r\n return (agent.indexOf(\"MSIE\") != -1) || (agent.indexOf(\"Trident\") != -1) || (agent.indexOf(\"Edge\") != -1);\r\n }\r\n\r\n public IsIOS() {\r\n let agent = navigator.userAgent;\r\n return (agent.match(/iPad/i) || agent.match(/iPhone/i));\r\n }\r\n\r\n public OpenFile(Params: DownloadFileParams, Filename: string, ShowInTab = true) {\r\n this.DownloadFile(Params).subscribe(res => {\r\n if (!this.IsIE() && !this.IsIOS() && (!ShowInTab || !res.type.toUpperCase().endsWith('PDF'))) {\r\n this.SaveFileAs(res, Filename);\r\n } else {\r\n this.OpenBlob(res, Filename);\r\n };\r\n });\r\n }\r\n\r\n public DownloadFile(Params: DownloadFileParams): Observable {\r\n const Requester = this.Component;\r\n this.UpdateRequestCount(Requester, true, false);\r\n return this.http.post(DPComponentBase.RequestPath, JSON.stringify(Params), { responseType: 'blob' }).pipe(map(\r\n res => {\r\n this.UpdateRequestCount(Requester, false, false);\r\n return res;\r\n }\r\n ));\r\n }\r\n\r\n public OpenFileFromURL(InFileType, URL): any {\r\n let Type = '';\r\n if (InFileType === 'PDF') {\r\n Type = 'application/pdf';\r\n }\r\n const Requester = this.Component;\r\n this.UpdateRequestCount(Requester, true, false);\r\n return this.http.get(URL, { responseType: 'blob' }).pipe(map(\r\n res => {\r\n this.UpdateRequestCount(Requester, false, false);\r\n this.DetectChanges();\r\n return new Blob([res], { type: Type });\r\n }\r\n ),\r\n catchError((err: any) => {\r\n this.UpdateRequestCount(Requester, false, false);\r\n this.DetectChanges();\r\n return Observable.throw(err);\r\n }));\r\n }\r\n\r\n public GetStatusHKA(URL): any {\r\n const Requester = this.Component;\r\n this.UpdateRequestCount(Requester, true, false);\r\n return this.http.get(URL).pipe(map(\r\n res => {\r\n console.log(res);\r\n this.UpdateRequestCount(Requester, false, false);\r\n this.DetectChanges();\r\n return res.userMessage;\r\n }\r\n ),\r\n catchError((err: any) => {\r\n this.UpdateRequestCount(Requester, false, false);\r\n this.DetectChanges();\r\n return Observable.throw(err);\r\n }));\r\n }\r\n\r\n public DPModalDialog(DialogType, TitleText, Content, IconClass) {\r\n if (Content == CommonVars.ModalDialogContent)\r\n return;\r\n CommonVars.ModalDialogContent = Content;\r\n const ModalRef = this.BsModal.show(DPModalDialog, { class: 'modal-med', backdrop: false, ignoreBackdropClick: true });\r\n if (DialogType === 'Confirm') {\r\n ModalRef.content.DialogType = 1;\r\n } else if (DialogType === 'Alert') {\r\n ModalRef.content.DialogType = 0;\r\n } else if (DialogType === 'ConfirmYN') {\r\n ModalRef.content.DialogType = 2;\r\n } else if (DialogType === 'ConfirmYNC') {\r\n ModalRef.content.DialogType = 3;\r\n }\r\n if (IconClass !== '') {\r\n ModalRef.content.IconClass = IconClass;\r\n }\r\n ModalRef.content.Title = DPComponentBase.Translate(TitleText);\r\n ModalRef.content.Content = DPComponentBase.Translate(Content);\r\n return ModalRef.content.ModalResult;\r\n }\r\n\r\n // Show and return just the dialog itself, so that the properties can be tweaked\r\n public DPShowDlg() {\r\n return this.BsModal.show(DPModalDialog).content.Dialog;\r\n }\r\n}\r\n\r\ninterface ResponseStatusHKA {\r\n codigo: number;\r\n mensaje: string;\r\n userMessage: string;\r\n}\r\n\r\n\r\n/*\r\n * CUSTOM PRE BOOTSTRAP LOADING SCREEN\r\n * https://www.bennadel.com/blog/3147-creating-an-event-driven-pre-bootstrap-loading-screen-in-angular-2-0-0.htm\r\n * https://www.bennadel.com/blog/3151-revisited-creating-an-event-driven-pre-bootstrap-loading-screen-in-angular-2-0-0.htm\r\n */\r\n@Injectable()\r\nexport class AppReadyEvent {\r\n\r\n private doc: Document;\r\n private isAppReady: boolean;\r\n\r\n constructor(@Inject(DOCUMENT) doc: any) {\r\n this.doc = doc;\r\n this.isAppReady = false;\r\n }\r\n\r\n public trigger(): void {\r\n if (this.isAppReady) {\r\n return;\r\n }\r\n let bubbles = true;\r\n let bubbles2 = true;\r\n let cancelable = false;\r\n this.doc.dispatchEvent(this.createEvent('appready', bubbles, cancelable, bubbles2));\r\n this.isAppReady = true;\r\n }\r\n\r\n private createEvent(eventType: string, bubbles: boolean, cancelable: boolean, bubbles2: boolean): Event {\r\n try {\r\n var customEvent: any = new CustomEvent(\r\n eventType,\r\n {\r\n bubbles: bubbles,\r\n cancelable: cancelable\r\n }\r\n );\r\n } catch (error) {\r\n var customEvent: any = this.doc.createEvent('CustomEvent');\r\n customEvent.initCustomEvent(eventType, bubbles, cancelable, bubbles2);\r\n }\r\n return (customEvent);\r\n }\r\n}\r\n\r\n/*\r\n * This is how to access the data passed in to the rotuer config. the key here is that it is in the children object\r\n * thing to note is that the data can not be present when the component is navigated via a url\r\n * therefore we have to check if data property exists first, and if not, navigate to the home page\r\n * else check the property and navigate accordingly.\r\n */\r\n@Injectable()\r\nexport class LoggedInGuard implements CanActivate {\r\n constructor(private router: Router) { }\r\n canActivate() {\r\n if (sessionStorage.getItem('WebUserID') || sessionStorage.getItem('WEB_USER_ID') || sessionStorage.getItem('EXTERNAL_WEB_USER_ID')) {\r\n return true;\r\n }\r\n this.router.navigate(['/home']);\r\n }\r\n}\r\n","import { Component, OnInit, ChangeDetectorRef } from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { PagingController, DPComponent, CoreLibService} from 'core-lib';\r\n\r\n@Component({\r\n templateUrl: './container-vgm-listing.component.html'\r\n})\r\nexport class ContainerVGMListingComponent extends DPComponent implements OnInit {\r\n public ContainerVGMDataArray: Array = [];\r\n public Pagination: PagingController = new PagingController();\r\n\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, public Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.Pagination.Component = this;\r\n this.CDRef = Detector;\r\n this.Detach();\r\n }\r\n\r\n ngOnInit() {\r\n this.ClearSearchFilters();\r\n this.DoSearch();\r\n this.Pagination.RecordsPerPage = 1000;\r\n }\r\n\r\n DoSearch() {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetContainerVGMData', 0, this.GlobalSearchParams, false, false, 500).subscribe(Result => {\r\n this.ContainerVGMDataArray = Result.JSONData;\r\n this.Pagination.RecordCount = this.ContainerVGMDataArray.length;\r\n this.ExportableData = this.ContainerVGMDataArray;\r\n });\r\n }\r\n\r\n ClearSearchFilters() {\r\n this.GlobalSearchParams.ClearGlobalSearchParams();\r\n this.GlobalSearchParams.FROM_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate() - 1);\r\n this.GlobalSearchParams.FROM_DATE.setHours(0, 0, 0);\r\n this.GlobalSearchParams.TO_DATE.setDate(this.GlobalSearchParams.TO_DATE.getDate() + 1);\r\n this.GlobalSearchParams.TO_DATE.setHours(0, 0, 0);\r\n }\r\n\r\n CreateVGMQuote(InWeight, InRecordID) {\r\n if (InWeight !== '0') {\r\n this.CoreLib.DPModalDialog('Alert', `VGM Quote`, `A weight has been declared, you cannot create VGM Quote`, 'fa-exclamation-triangle text-danger');\r\n } else {\r\n this.CoreLib.DPModalDialog('ConfirmYN', `Create VGM Quote?`, `Are You Sure You Want To Create VGM Quote?`, 'fa-exclamation-triangle text-danger').then(Result => {\r\n if (Result == 1) {\r\n let Data = 'CreateQuote';\r\n this.CoreLib.ProcessWebRequest('ProcessInsertUpdateVGMDetails', Data, InRecordID, {SESSION_ID: this.GetSessionStorageData('SESSION_ID')}, false, true).subscribe(Result => {\r\n if (Result.QUOTE_ID && Result.QUOTE_ID > 0) {\r\n this.SharedLib.PrintQuoteOrInvoice(Result.QUOTE_ID, 'PrintQuote');\r\n this.DoSearch();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n GenerateVGMInvoice(InQuoteID, InVGMCustomerID) {\r\n this.SetSessionStorageItem(\"VGM_DECLARED_CUSTOMER_ID\", InVGMCustomerID);\r\n this.SharedLib.GenerateInvoice(InQuoteID, this, true);\r\n };\r\n\r\n DeleteVGM(RecordID) {\r\n this.CoreLib.DPModalDialog('ConfirmYN', `Delete VGM?`, `Are You Sure You Want To Delete VGM?`, 'fa-trash-alt text-danger').then(Result => {\r\n if (Result == 1) {\r\n this.CoreLib.ProcessWebRequest('ProcessInsertUpdateVGMDetails', 'RemoveVGM', RecordID, '', false, false).subscribe(Result => {\r\n this.DoSearch();\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import {Component, OnInit, DoCheck, ChangeDetectorRef} from '@angular/core';\r\nimport {SharedLibService} from '../sharedlib';\r\nimport { DPComponent, CoreLibService} from 'core-lib';\r\nimport {Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: 'app-header.component.html'\r\n})\r\nexport class AppHeaderComponent extends DPComponent implements OnInit, DoCheck {\r\n private RequestPath: String;\r\n public ShowExport: Boolean = false;\r\n public ShowHelp: Boolean = false;\r\n\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService, public Router: Router, public CDRef: ChangeDetectorRef) {\r\n super(CoreLib)\r\n }\r\n\r\n ngOnInit() {\r\n this.RequestPath = DPComponent.RequestPath;\r\n }\r\n\r\n ngDoCheck() {\r\n this.CheckExportLinks();\r\n }\r\n\r\n CheckExportLinks() {\r\n this.ShowExport = DPComponent.ActiveComponent && DPComponent.ActiveComponent.CanExport;\r\n this.ShowHelp = this.ElementExists('Help');\r\n }\r\n\r\n\r\n ExportToExcel(Filename: string) {\r\n DPComponent.ActiveComponent.ExportDataToExcel(Filename);\r\n }\r\n\r\n ChangeLanguage(Language) {\r\n this.DefaultLanguage = Language;\r\n this.DetectChanges();\r\n }\r\n\r\n GoToDriverLoyaltySite() {\r\n let DriverCardNo = this.GetSessionStorageData('TRUCK_DRIVER_CARD_NO');\r\n DriverCardNo = Number(DriverCardNo).toString();\r\n window.location.href = 'https://services.caucedo.com/loyaltymovil/Chofer/' + DriverCardNo;\r\n }\r\n\r\n}\r\n","import {ChangeDetectorRef, Component, OnInit, ViewChild} from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent } from '../../core-lib/dp.component';\r\nimport {CoreLibService} from '../../core-lib/dp.services';\r\nimport {OverlayPanel} from \"primeng/overlaypanel\";\r\n\r\n@Component({\r\n selector: 'container-enquiry',\r\n templateUrl: './container-enquiry.component.html',\r\n providers: [GlobalSearchParamService, CoreLibService]\r\n})\r\nexport class ContainerEnquiryComponent extends DPComponent implements OnInit {\r\n public ContainerInfoData: any = {};\r\n public ContainerHistoryDataArray: Array = [];\r\n public DocumentsData: any = {};\r\n public QueryType;\r\n public CONTAINER_NO: String;\r\n public ContainerTemperatureHistoryData: any = {};\r\n public ChartData: any = {};\r\n public TemperatureChartOptions: any = {};\r\n public ContainerDocumentTypeDataArray: Array = [];\r\n public MinValue: number;\r\n public MaxValue: number;\r\n public test: number;\r\n public IsSearching: boolean;\r\n public ValidTemps: boolean;\r\n @ViewChild('UploadPanelContainer', {static: false}) UploadPanelContainer: OverlayPanel;\r\n\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, public Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.CDRef = Detector;\r\n this.Detach(true);\r\n }\r\n\r\n ngOnInit() {\r\n this.InitialiseChartData();\r\n this.QueryType = 'GetContainerInfoData';\r\n if (this.SharedLib.CONTAINER_NO !== '') {\r\n this.CONTAINER_NO = this.SharedLib.CONTAINER_NO;\r\n this.SearchContainer(this.SharedLib.CONTAINER_NO);\r\n }\r\n }\r\n\r\n SearchContainer(InContainer) {\r\n this.SharedLib.CONTAINER_NO = InContainer;\r\n this.QueryType = 'GetContainerInfoData';\r\n this.DoSearch();\r\n }\r\n\r\n DoSearch() {\r\n this.IsSearching = true;\r\n this.DetectChanges();\r\n let Data = {\r\n CONTAINER_NO:this.SharedLib.CONTAINER_NO,\r\n LINE_OP_SEARCH_CODE:this.GetSessionStorageData('LINE_OP_SEARCH_CODE'),\r\n CUSTOMER_NAME:this.GetSessionStorageData('CUSTOMER_NAME'),\r\n CUSTOMER_ID: this.GetSessionStorageData('CUSTOMER_ID'),\r\n SYSTEM_ROLE: this.GetSessionStorageData('SYSTEM_ROLE')\r\n }\r\n this.CoreLib.ProcessWebRequest('ProcessGetContainerPublicInfo', '', 0, Data, true).subscribe(Result => {\r\n if (this.QueryType == 'GetContainerInfoData') {\r\n this.ContainerInfoData = Result.JSONData[0];\r\n this.SetModalContainerRecID(this.ContainerInfoData.ContainerGKEY);\r\n if (this.ContainerInfoData.ContainerNo) {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetContainerHistoryData', 0, {CONTAINER_NO: this.ContainerInfoData.ContainerNo}, false).subscribe(Result => {\r\n this.ContainerHistoryDataArray = Result.JSONData;\r\n this.ValidTemps = this.ContainerInfoData.CurrentTemp || this.ContainerInfoData.TempReq;\r\n });\r\n }\r\n } else if (this.QueryType == 'GetContainerDocuments') {\r\n\r\n this.GetUploadDocumentTypes();\r\n this.CoreLib.ProcessWebRequest('ProcessGetContainerInfo', 'GetContainerDocuments', this.GetModalContainerRecID(), '', false).subscribe(Result => {\r\n if (Result.JSONDocumentsData) {\r\n this.DocumentsData = Result.JSONDocumentsData;\r\n }\r\n });\r\n } else if (this.QueryType == 'GetContainerTemperatureHistory') {\r\n this.ChartData.labels = []; /* Must Clear all data or compounds each time you load screen */\r\n this.ChartData.datasets[0].data = []; /* Must Clear all data or compounds each time you load screen */\r\n this.CoreLib.ProcessWebRequest('ProcessGetContainerInfo', 'GetTemperatureHistoryData', 0, Data, false).subscribe(Result => {\r\n this.ContainerTemperatureHistoryData = Result.JSONTempData; /* Get the temperature readings and Min / Max readings */\r\n if (this.ContainerTemperatureHistoryData && this.ContainerTemperatureHistoryData.length > 0) {\r\n for (var i = 0, len = this.ContainerTemperatureHistoryData.length; i < len; i++) {\r\n if (this.ContainerTemperatureHistoryData[i].XValue || this.ContainerTemperatureHistoryData[i].YValue) {\r\n this.ChartData.labels.push(this.ContainerTemperatureHistoryData[i].XValue); /* Set all the XValues */\r\n this.ChartData.datasets[0].data.push(this.ContainerTemperatureHistoryData[i].YValue); /* Set all the YValues */\r\n } else if (this.ContainerTemperatureHistoryData[i].MinValue) {\r\n this.MinValue = this.ContainerTemperatureHistoryData[i].MinValue; /* Set the Min Value */\r\n } else if (this.ContainerTemperatureHistoryData[i].MaxValue) {\r\n this.MaxValue = this.ContainerTemperatureHistoryData[i].MaxValue; /* Set the Max Value */\r\n }\r\n }\r\n this.TemperatureChartOptions.scales.yAxes[0].ticks.suggestedMax = this.MaxValue; /* Set Min and Max values for Y axis */\r\n this.TemperatureChartOptions.scales.yAxes[0].ticks.suggestedMin = this.MinValue;\r\n this.DetectChanges();\r\n setTimeout(() => {\r\n this.SimulateResize();\r\n }, 2000);\r\n }\r\n });\r\n }\r\n this.IsSearching = false;\r\n });\r\n }\r\n\r\n SimulateResize() {\r\n console.warn('Simulate a window resize event');\r\n var resizeEvent = new Event('resize');\r\n window.dispatchEvent(resizeEvent);\r\n }\r\n\r\n GetUploadDocumentTypes() {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetContainerDocumentTypes', 0, '', false, false).subscribe( Result => {\r\n this.ContainerDocumentTypeDataArray = Result.JSONData;\r\n });\r\n }\r\n\r\n InitialiseChartData() {\r\n this.ChartData.labels = [];\r\n this.ChartData.datasets = [{}];\r\n this.ChartData.datasets[0].data = [];\r\n this.ChartData.datasets[0].label = 'Temperature';\r\n this.ChartData.datasets[0].fill = false;\r\n this.ChartData.datasets[0].borderColor = '#4bc0c0';\r\n this.TemperatureChartOptions = {\r\n legend: {\r\n display: false\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: function(tooltipItem) {\r\n return tooltipItem.yLabel + '°C';\r\n },\r\n title: function(tooltipItem) {\r\n return tooltipItem[0].xLabel;\r\n }\r\n }\r\n },\r\n scales: {\r\n yAxes: [{\r\n scaleLabel: {\r\n display: true,\r\n labelString: \"Temp (°C)\"\r\n },\r\n ticks: {\r\n fontColor: 'red'\r\n }\r\n }],\r\n xAxes: [{\r\n scaleLabel: {\r\n display: true,\r\n labelString: \"Date Recorded\"\r\n },\r\n ticks: {\r\n fontColor: 'green'\r\n }\r\n }]\r\n }\r\n };\r\n }\r\n\r\n SetUploadData(e) {\r\n this.DocumentsData.UploadDataRecordID = 0;\r\n if (this.ContainerInfoData.ContainerGKEY > 0) {\r\n this.DocumentsData.UploadDataRecordID = this.ContainerInfoData.ContainerGKEY;\r\n }\r\n this.UploadPanelContainer.show(e);\r\n this.DetectChanges();\r\n }\r\n\r\n UploadFilenameChange() {\r\n this.DetectChanges();\r\n }\r\n}\r\n","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent, CoreLibService, PagingController } from 'core-lib';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n templateUrl: './vessel-schedule-details.component.html'\r\n})\r\nexport class VesselScheduleDetailsComponent extends DPComponent implements OnInit {\r\n public VesselDetailsData: any = {};\r\n public VesselScheduleDetailsDataArray: Array = [];\r\n public QueryType: string = 'VesselDetailsImportList';\r\n public ViewTypeDropDownArray: Array = [\r\n {Value:'1', Option:'ALL'},\r\n {Value:'2', Option:'ERRORS'}\r\n ];\r\n public Pagination: PagingController = new PagingController();\r\n constructor(public CoreLib: CoreLibService, public Route: ActivatedRoute, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, public Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.Pagination.Component = this;\r\n this.CDRef = Detector;\r\n this.Detach();\r\n }\r\n\r\n ngOnInit() {\r\n this.ClearSearchFilters();\r\n if (!this.GetSessionStorageData(\"VesselDetailsTab\")) {\r\n this.SetSessionStorageItem(\"VesselDetailsTab\", 'VesselDetailsImportExportList');\r\n }\r\n this.DoSearch();\r\n this.Pagination.RecordsPerPage = 1000;\r\n }\r\n\r\n DoSearch() {\r\n this.QueryType = this.GetSessionStorageData(\"VesselDetailsTab\");\r\n this.Route.params.subscribe(params => {\r\n this.GlobalSearchParams.VESSEL_VOYAGE_GKEY = params['id'];\r\n this.CoreLib.ProcessWebRequest('ProcessGetVesselQueryData', 'VesselScheduleListing', 0, {VESSEL_VOYAGE_GKEY: this.GlobalSearchParams.VESSEL_VOYAGE_GKEY}, false).subscribe(\r\n Result => {\r\n this.VesselDetailsData = Result.JSONData[0];\r\n this.GlobalSearchParams.VESSEL_LINEOP = Result.JSONData[0].LINEOP;\r\n this.SetSessionStorageItem(\"VESSEL_VOYAGE_GKEY\", this.VesselDetailsData.RECORD_ID);\r\n this.SetSessionStorageItem(\"VESSEL_VOYAGE_REF_NO\", this.VesselDetailsData.VOYAGE_REF_NO);\r\n this.SetSessionStorageItem(\"VESSEL_VOYAGE_NAME\", this.VesselDetailsData.VESSEL_NAME);\r\n this.SetSessionStorageItem(\"VESSEL_VOYAGE_ETADATE\", this.VesselDetailsData.PUBLISHED_ETA);\r\n this.CoreLib.ProcessWebRequest('ProcessGetVesselQueryData', this.QueryType, 0, this.GlobalSearchParams, false, true, 10000).subscribe( Result => {\r\n this.VesselScheduleDetailsDataArray = Result.JSONData;\r\n this.ExportableData = this.VesselScheduleDetailsDataArray;\r\n this.Pagination.RecordCount = this.VesselScheduleDetailsDataArray.length;\r\n } );\r\n });\r\n });\r\n }\r\n\r\n TabBtnClick(InTabSelected) {\r\n if (InTabSelected == 'ImportList') {\r\n this.GlobalSearchParams.REPORT_TYPE = 0;\r\n this.QueryType = 'VesselDetailsImportExportList';\r\n this.SetSessionStorageItem(\"VesselDetailsTab\", 'VesselDetailsImportExportList');\r\n } else if (InTabSelected == 'ExportList') {\r\n this.GlobalSearchParams.REPORT_TYPE = 1;\r\n this.QueryType = 'VesselDetailsImportExportList';\r\n this.SetSessionStorageItem(\"VesselDetailsTab\", 'VesselDetailsImportExportList');\r\n } else if (InTabSelected == 'DischargeValidation') {\r\n this.GlobalSearchParams.REPORT_TYPE = 1018;\r\n this.QueryType = 'VesselDetailsDischargeLoadValidation';\r\n this.SetSessionStorageItem(\"VesselDetailsTab\", 'VesselDetailsDischargeLoadValidation');\r\n } else if (InTabSelected == 'LoadValidation') {\r\n this.GlobalSearchParams.REPORT_TYPE = 1017;\r\n this.QueryType = 'VesselDetailsDischargeLoadValidation';\r\n this.SetSessionStorageItem(\"VesselDetailsTab\", 'VesselDetailsDischargeLoadValidation');\r\n } else {\r\n this.QueryType = InTabSelected;\r\n this.SetSessionStorageItem(\"VesselDetailsTab\", InTabSelected);\r\n }\r\n this.CDRef.detectChanges();\r\n this.DoSearch();\r\n }\r\n\r\n ClearSearchFilters() {\r\n this.GlobalSearchParams.ClearGlobalSearchParams();\r\n this.Route.params.subscribe(params => {\r\n this.GlobalSearchParams.FROM_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate() - 7);\r\n this.GlobalSearchParams.FROM_DATE.setHours(1);\r\n this.GlobalSearchParams.VESSEL_VOYAGE_GKEY = params['id'];\r\n this.GlobalSearchParams.VIEW_TYPE = 1;\r\n if (this.GetSessionStorageData('VesselDetailsTab') == 'VesselDetailsDischargeLoadValidation') {\r\n this.GlobalSearchParams.REPORT_TYPE = 1018;\r\n }\r\n });\r\n }\r\n\r\n UploadDischargeLoadListFile(FileInfo) {\r\n let RequestData = {\r\n FileName: FileInfo.Filename,\r\n DocumentData: FileInfo.Data,\r\n VESSEL_VOYAGE_GKEY: this.GlobalSearchParams.VESSEL_VOYAGE_GKEY,\r\n REPORT_TYPE: this.GlobalSearchParams.REPORT_TYPE,\r\n LINE_OP_SEARCH_CODE: this.GlobalSearchParams.LINE_OP_SEARCH_CODE\r\n }\r\n this.CoreLib.DPModalDialog('ConfirmYN', `Container Release`, `Are You Sure You Want To Upload ` + RequestData.FileName + `?`, 'fa-exclamation-triangle text-warning').then(Result => {\r\n if (Result == 1) {\r\n this.GlobalSearchParams.LINE_OPERATOR = '';\r\n this.CoreLib.ProcessWebRequest('ProcessUploadVesselDetails', '', this.GetModalFormRecID(), RequestData, false).subscribe(Result => {\r\n this.DoSearch()\r\n });\r\n }\r\n });\r\n }\r\n\r\n AcceptAllContainers() {\r\n let RequestData = {\r\n VESSEL_VOYAGE_GKEY: this.GlobalSearchParams.VESSEL_VOYAGE_GKEY,\r\n VESSEL_VOYAGE_REF_NO: this.GetSessionStorageData('VESSEL_VOYAGE_REF_NO'),\r\n REPORT_TYPE: this.GlobalSearchParams.REPORT_TYPE,\r\n LINE_OP_SEARCH_CODE: this.GlobalSearchParams.LINE_OP_SEARCH_CODE,\r\n LINE_OPERATOR: this.GlobalSearchParams.LINE_OPERATOR\r\n }\r\n this.CoreLib.DPModalDialog('ConfirmYN', `Acceptar`, `Are You Sure You Want Accept All Containers for Vessel ` + this.VesselDetailsData.VESSEL_NAME + `?`, 'fa-exclamation-triangle text-warning').then(Result => {\r\n if (Result == 1) {\r\n this.CoreLib.ProcessWebRequest('ProcessAcceptVesselDetails', '', this.GetModalFormRecID(), RequestData, false).subscribe(Result => {\r\n this.DoSearch()\r\n });\r\n }\r\n });\r\n }\r\n\r\n RefreshAllContainers() {\r\n let RequestData = {\r\n VESSEL_VOYAGE_GKEY: this.GlobalSearchParams.VESSEL_VOYAGE_GKEY,\r\n REPORT_TYPE: this.GlobalSearchParams.REPORT_TYPE,\r\n LINE_OP_SEARCH_CODE: this.GlobalSearchParams.LINE_OP_SEARCH_CODE\r\n }\r\n this.CoreLib.DPModalDialog('ConfirmYN', `Refreshar`, `Are You Sure You Want To Refresh All Containers for Vessel ` + this.VesselDetailsData.VESSEL_NAME + `?`, 'fa-exclamation-triangle text-warning').then(Result => {\r\n if (Result == 1) {\r\n this.CoreLib.ProcessWebRequest('ProcessRefreshVesselDetails', '', this.GetModalFormRecID(), RequestData, false).subscribe(Result => {\r\n this.DoSearch()\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent, CoreLibService, PagingController } from 'core-lib';\r\n\r\n@Component({\r\n templateUrl: 'vessel-gate-summary.component.html'\r\n})\r\nexport class VesselGateSummaryComponent extends DPComponent implements OnInit {\r\n public GateDataArray: Array = [];\r\n public ReportTypeDropDownArray: Array = [\r\n {Value:'0', Option:'TODO'},\r\n {Value:'1', Option:'Entrada'},\r\n {Value:'2', Option:'Salida'}\r\n ];\r\n public Pagination: PagingController = new PagingController();\r\n\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, public Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.Pagination.Component = this;\r\n this.CDRef = Detector;\r\n this.Detach();\r\n }\r\n\r\n ngOnInit() {\r\n this.ClearSearchFilters();\r\n this.LoadDropDowns();\r\n this.DoSearch();\r\n this.GlobalSearchParams.REPORT_TYPE = 1;\r\n this.Pagination.RecordsPerPage = 1000;\r\n }\r\n LoadDropDowns() {\r\n\r\n }\r\n\r\n DoSearch() {\r\n this.CoreLib.ProcessWebRequest('ProcessGetVesselQueryData', 'GateSummaryData', 0, this.GlobalSearchParams, false).subscribe( Result => {\r\n this.GateDataArray = Result.JSONData;\r\n this.Pagination.RecordCount = this.GateDataArray.length;\r\n this.ExportableData = this.GateDataArray;\r\n } );\r\n }\r\n\r\n ClearSearchFilters() {\r\n this.GlobalSearchParams.ClearGlobalSearchParams();\r\n this.GlobalSearchParams.CONTAINER_NO = '';\r\n this.GlobalSearchParams.FROM_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate() - 1);\r\n this.GlobalSearchParams.TO_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate() + 60);\r\n }\r\n}\r\n","import { ModuleWithProviders } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AppHomeComponent } from './app-home/app-home.component';\r\nimport { VBSPaymentListingComponent } from './vbs-payment-listing/vbs-payment-listing.component';\r\nimport { AppContactsComponent } from './app-contacts/app-contacts.component';\r\nimport { FAQsComponent } from './faqs/faqs.component';\r\nimport { LoggedInGuard } from 'core-lib';\r\nimport { VesselScheduleDetailsComponent } from \"./vessel-schedule-details/vessel-schedule-details.component\";\r\nimport { VesselScheduleSummaryComponent } from \"./vessel-schedule-summary/vessel-schedule-summary.component\";\r\nimport { VesselBookingSummaryComponent } from \"./vessel-booking-summary/vessel-booking-summary.component\";\r\nimport { VesselGateSummaryComponent } from \"./vessel-gate-summary/vessel-gate-summary.component\";\r\nimport { ContainerYardSummaryComponent } from \"./container-yard-summary/container-yard-summary.component\";\r\nimport { AppointmentSummaryComponent } from \"./appointment-summary/appointment-summary.component\";\r\nimport { DriverAppointmentSummaryComponent } from \"./driver-appointment-summary/driver-appointment-summary.component\";\r\nimport { HoldsSummaryComponent } from './holds-summary/holds-summary.component';\r\nimport { HoldsHistoryComponent } from './holds-history/holds-history.component';\r\nimport { HoldsCustomsComponent } from './holds-customs/holds-customs.component';\r\nimport { HoldsNotificationsComponent } from './holds-notifications/holds-notifications.component';\r\nimport { SettingsCustomerDetailsComponent } from './settings-customer-details/settings-customer-details.component';\r\nimport { QuoteSummaryComponent } from './quote-summary/quote-summary.component';\r\nimport { QuoteDetailsComponent } from './quote-details/quote-details.component';\r\nimport { QuoteDetailComponent } from './quote-detail/quote-detail.component';\r\nimport { InvoiceDetailComponent } from './invoice-detail/invoice-detail.component';\r\nimport { InvoicePaymentComponent } from './invoice-payment/invoice-payment.component';\r\nimport { TerminalServicesSummaryComponent } from './terminal-services-summary/terminal-services-summary.component';\r\nimport { ContainerVGMListingComponent } from \"./container-vgm-listing/container-vgm-listing.component\";\r\nimport {SharedLibService} from './sharedlib';\r\nimport { ReeferDispatchSummaryComponent } from './reefer-dispatch-summary/reefer-dispatch-summary.component';\r\n\r\nconst routes: Routes = [\r\n { path: 'home', component: AppHomeComponent },\r\n { path: 'vbs-payment-listing', component: VBSPaymentListingComponent, canActivate: [LoggedInGuard] },\r\n { path: 'driver-appointment-summary', component: DriverAppointmentSummaryComponent, canActivate: [LoggedInGuard] },\r\n { path: 'appointment-summary', component: AppointmentSummaryComponent, canActivate: [LoggedInGuard] },\r\n { path: 'vessel-schedule-summary', component: VesselScheduleSummaryComponent, canActivate: [LoggedInGuard] },\r\n { path: 'vessel-gate-summary', component: VesselGateSummaryComponent, canActivate: [LoggedInGuard] },\r\n { path: 'vessel-schedule-details/:id', component: VesselScheduleDetailsComponent, canActivate: [LoggedInGuard] },\r\n { path: 'vessel-booking-summary', component: VesselBookingSummaryComponent, canActivate: [LoggedInGuard] },\r\n { path: 'vessel-booking-summary/:id', component: VesselBookingSummaryComponent, canActivate: [LoggedInGuard] },\r\n { path: 'container-yard-summary', component: ContainerYardSummaryComponent, canActivate: [LoggedInGuard] },\r\n { path: 'container-vgm-listing', component: ContainerVGMListingComponent, canActivate: [LoggedInGuard] },\r\n { path: 'holds-summary', component: HoldsSummaryComponent, canActivate: [LoggedInGuard] },\r\n { path: 'holds-history', component: HoldsHistoryComponent, canActivate: [LoggedInGuard] },\r\n { path: 'holds-customs', component: HoldsCustomsComponent, canActivate: [LoggedInGuard] },\r\n { path: 'holds-notifications', component: HoldsNotificationsComponent, canActivate: [LoggedInGuard] },\r\n { path: 'terminal-services-summary', component: TerminalServicesSummaryComponent, canActivate: [LoggedInGuard] },\r\n { path: 'reefer-dispatch-summary', component: ReeferDispatchSummaryComponent, canActivate: [LoggedInGuard] },\r\n { path: 'settings-customer-details', component: SettingsCustomerDetailsComponent, canActivate: [LoggedInGuard] },\r\n { path: 'settings-customer-details/:page', component: SettingsCustomerDetailsComponent, canActivate: [LoggedInGuard] },\r\n { path: 'quote-summary', component: QuoteSummaryComponent, canActivate: [LoggedInGuard] },\r\n { path: 'quote-summary/:type', component: QuoteSummaryComponent, canActivate: [LoggedInGuard] },\r\n { path: 'quote-details', component: QuoteDetailsComponent, canActivate: [LoggedInGuard] },\r\n { path: 'quote-detail', component: QuoteDetailComponent, canActivate: [LoggedInGuard] },\r\n { path: 'invoice-detail/:id', component: InvoiceDetailComponent, canActivate: [LoggedInGuard] },\r\n { path: 'invoice-payment', component: InvoicePaymentComponent, canActivate: [LoggedInGuard] },\r\n { path: 'contacts', component: AppContactsComponent }, \r\n { path: 'faqs', component: FAQsComponent },\r\n { path: '', redirectTo: 'home', pathMatch: 'full' },\r\n { path: '**', redirectTo: 'home', pathMatch: 'full' }\r\n];\r\n\r\nexport const appRoutingProviders: any[] = [SharedLibService, LoggedInGuard];\r\nexport const routing: ModuleWithProviders = RouterModule.forRoot(routes);","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-SG\": \"zavE\",\n\t\"./en-SG.js\": \"zavE\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","import { Component, OnInit } from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent, CoreLibService} from 'core-lib';\r\n\r\n@Component({\r\n templateUrl: './holds-notifications.component.html'\r\n})\r\nexport class HoldsNotificationsComponent extends DPComponent implements OnInit {\r\n public HoldsDataArray: Array = [];\r\n\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService) {\r\n super(CoreLib);\r\n }\r\n\r\n ngOnInit() {\r\n this.ClearSearchFilters();\r\n this.DoSearch();\r\n\r\n }\r\n DoSearch() {\r\n this.CoreLib.ProcessWebRequest('ProcessGetVesselQueryData', 'GovernmentCustomsNotificationsList', 0, this.GlobalSearchParams, false).subscribe( Result => { this.HoldsDataArray = Result.JSONData; } );\r\n }\r\n\r\n ClearSearchFilters() {\r\n this.GlobalSearchParams.ClearGlobalSearchParams();\r\n }\r\n\r\n DeleteCustomsNotification(RecordID, ContNo){\r\n this.CoreLib.DPModalDialog('ConfirmYN', 'Remove Customs Notification', 'Are You Sure You Want To Delete the notification for container: ' + ContNo + '?', 'fa-exclamation-triangle text-warning').then(Result => {\r\n if (Result == 1) {\r\n if (RecordID > 0) {\r\n this.CoreLib.ProcessWebRequest('ProcessInsertUpdateCustomsNotification', 'RemoveNotification', RecordID, '', false).subscribe(Result => {\r\n this.DoSearch();\r\n });\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","import {Component, OnInit} from '@angular/core';\r\nimport {DPComponent, CoreLibService, AppReadyEvent, GlobalErrorHandler} from 'core-lib';\r\nimport { SharedLibService, GlobalSearchParamService } from './sharedlib';\r\nimport {Title} from '@angular/platform-browser';\r\nimport {Router, NavigationEnd} from '@angular/router';\r\nimport sjcl from 'sjcl';\r\ndeclare var REQUEST_PATH, DEBUG_MODE, BASE_HREF: '/';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n providers: [AppReadyEvent, Title, CoreLibService, GlobalSearchParamService, SharedLibService]\r\n})\r\n\r\nexport class AppComponent extends DPComponent implements OnInit {\r\n public IsLoaded: boolean = false;\r\n constructor(public CoreLib: CoreLibService, public AppReadyEvent: AppReadyEvent, public Title: Title, public SharedLib: SharedLibService, public Router: Router) {\r\n super(CoreLib);\r\n this.WebRequestPath = REQUEST_PATH;\r\n DPComponent.RequestTimeout = 300000;\r\n DPComponent.ClientVersion = SharedLib.AppVersion;\r\n DPComponent.BaseRef = BASE_HREF;\r\n DPComponent.BrowserVersion = this.GetBrowserVersion();\r\n let Timeout = 15;\r\n this.CoreLib.ProcessWebRequest('ProcessGetSysSettings', 'GetSysSettings', 0, '', false).subscribe(\r\n Result => {\r\n if (Result.JSONData) {\r\n this.DefaultLanguage = Result.JSONData[0].DEFAULT_LANGUAGE;\r\n Timeout = Result.JSONData[0].IDLE_TIMEOUT;\r\n } else {\r\n this.DefaultLanguage = 'EN';\r\n Timeout = 1;\r\n }\r\n this.CoreLib.Idle.SetTimeout(Timeout);\r\n this.CoreLib.Idle.OnTimeout.subscribe(() => {\r\n if (this.GetSessionStorageData('WEB_USER_ID') || this.GetSessionStorageData('EXTERNAL_WEB_USER_ID')) {\r\n this.SharedLib.PageNavigation('');\r\n this.CoreLib.DPModalDialog('Alert', 'Session Timed OutSesion Expirada', 'Due to inactivity, the session has expired. Please Log in againDebido a la inactividad, la sesión ha expirado, por favor inicie sesión nuevamente', 'fa-exclamation-triangle text-danger');\r\n this.SharedLib.Logout();\r\n }\r\n });\r\n this.IsLoaded = true;\r\n this.AppReadyEvent.trigger();\r\n GlobalErrorHandler.Enabled = false;\r\n },\r\n Error => { AppReadyEvent.trigger(); }\r\n );\r\n\r\n /* Remember the TRUCK DRIVERS after they return from the loyalty WebSite: */\r\n if (localStorage.getItem('TRUCK_DRIVER_CARD_NO') && localStorage.getItem('TRUCK_DRIVER_CARD_NO').length > 0) {\r\n this.SharedLib.USERNAME = sjcl.decrypt('aabb!!@@', localStorage.getItem('TRUCK_DRIVER_CARD_NO'));\r\n this.SharedLib.PASSWORD = sjcl.decrypt('aabb!!@@', localStorage.getItem('TRUCK_DRIVER_PIN_NO'));\r\n this.SharedLib.SYSTEM_ROLE = this.ValidNumber(sjcl.decrypt('aabb!!@@', localStorage.getItem('SYSTEM_ROLE')));\r\n\r\n this.SharedLib.UserLogin(true);\r\n } else {\r\n if (!this.GetSessionStorageData('WEB_USER_ID') && !this.GetSessionStorageData('EXTERNAL_WEB_USER_ID')) {\r\n this.SharedLib.Logout();\r\n }\r\n }\r\n Router.events.subscribe((val) => {\r\n if (val instanceof NavigationEnd) {\r\n this.SetModalFormRecID(0);\r\n this.SetModalSecondaryFormRecID(0);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if ((typeof DEBUG_MODE == 'undefined') || (DEBUG_MODE == false)) {\r\n this.SetEncryptSessionStorage(true);\r\n } else {\r\n this.SetEncryptSessionStorage(false);\r\n }\r\n this.Title.setTitle('DP World Caucedo Online Portal');\r\n }\r\n\r\n RouteActivate($event) {\r\n this.ExportableData = null;\r\n this.SetActiveComponent($event);\r\n }\r\n\r\n RouteDeactivate($event) {\r\n this.SetActiveComponent(null);\r\n }\r\n}\r\n","import { Component, ChangeDetectorRef, OnInit, ViewChild } from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent, CoreLibService} from 'core-lib';\r\nimport {OverlayPanel} from 'primeng/overlaypanel';\r\n\r\n\r\n@Component({\r\n templateUrl: './reefer-dispatch-summary.component.html'\r\n})\r\nexport class ReeferDispatchSummaryComponent extends DPComponent implements OnInit {\r\n public ReeferDispatchDataArray: Array = [];\r\n public ReeferDispatchCodeDropDownArray: Array = [];\r\n public ViewTypeDropDownArray: Array = [\r\n {Value:'0', Option:'ACTUAL'},\r\n {Value:'1', Option:'HISTORICO'}\r\n ];\r\n public RequestsTodayBtn: any;\r\n public RequestsTomorrowBtn: any;\r\n public MyRequestsBtn: any;\r\n\r\n public DischargeSlotArray: any;\r\n public DischargeAppointmentObject: any = {};\r\n public AppointmentObject: any = {};\r\n @ViewChild('OverlayPanel', {static: false}) OverlayPanel: OverlayPanel;\r\n\r\n\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, private Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.CDRef = Detector;\r\n this.Detach();\r\n }\r\n\r\n ngOnInit() {\r\n this.LoadDropDowns();\r\n this.ClearSearchFilters();\r\n var self = this;\r\n setTimeout(function () {\r\n this.RequestsTodayBtn = document.getElementById(\"RequestsTodayBtn\");\r\n this.RequestsTomorrowBtn = document.getElementById(\"RequestsTomorrowBtn\");\r\n this.MyRequestsBtn = document.getElementById(\"MyRequestsBtn\"); \r\n this.RequestsTodayBtn.addEventListener('click', () => { self.ChangeRequestDateClick(0)});\r\n this.RequestsTomorrowBtn.addEventListener('click', () => {self.ChangeRequestDateClick(1)});\r\n this.MyRequestsBtn.addEventListener('click', () => {self.ChangeRequestDateClick(2)});\r\n console.log('MyRequestsBtn exists');\r\n console.log(this.RequestsTomorrowBtn);\r\n }, 700);\r\n this.DoSearch();\r\n }\r\n\r\n LoadDropDowns() {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetTerminalServiceReeferCodes', 0, '', false).subscribe( Result => { this.ReeferDispatchCodeDropDownArray = Result.JSONData; } );\r\n this.LoadDischargeSlotDropdown();\r\n }\r\n\r\n LoadDischargeSlotDropdown() {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetDischargeSlots', 0, '', false).subscribe( Result => { this.DischargeSlotArray = Result.JSONData; } );\r\n }\r\n DoSearch() {\r\n if (this.UserCanAccess([1, 2], 'SYSTEM_ROLE')) {\r\n this.GlobalSearchParams.CUSTOMER_ID = 1;\r\n this.GlobalSearchParams.WEB_USER_ID = this.GetSessionStorageData('EXTERNAL_WEB_USER_ID'); /* HardCode Admin Web_User */\r\n }\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetTerminalServiceReeferData', 0, this.GlobalSearchParams, false, true, 500).subscribe( Result => {\r\n this.ReeferDispatchDataArray = Result.JSONData;\r\n this.ExportableData = this.ReeferDispatchDataArray;\r\n const self = this;\r\n this.ReeferDispatchDataArray.forEach((Data: any) => {\r\n Data.ZonaDGA = self.GetYardPos(Data.YARD_POS, 2);\r\n });\r\n this.DetectChanges();\r\n } );\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetTerminalServiceDataTotals', 0, this.GlobalSearchParams, false, true, 500).subscribe( Result => {\r\n this.SetSessionStorageItem('Reefer_Dispatch_REQUESTS_TODAY', Result.JSONData[0].TODAY);\r\n this.SetSessionStorageItem('Reefer_Dispatch_REQUESTS_TOMORROW', Result.JSONData[0].TOMORROW);\r\n this.SetSessionStorageItem('Reefer_Dispatch_QUOTA_TODAY', Result.JSONData[0].TODAY_REMAINING);\r\n this.SetSessionStorageItem('Reefer_Dispatch_QUOTA_TOMORROW', Result.JSONData[0].TOMORROW_REMAINING);\r\n });\r\n }\r\n\r\n ChooseDischargeSlot(e, InData) {\r\n if (InData.RECORD_ID > 0) {\r\n this.DischargeAppointmentObject.Reefer_Dispatch_ID = InData.RECORD_ID;\r\n this.AppointmentObject.CONTAINER_NO = InData.CONTAINER_NO;\r\n this.AppointmentObject.CONSIGNEE = InData.CONSIGNEE;\r\n this.AppointmentObject.ISO_CODE = InData.ISO_CODE;\r\n this.AppointmentObject.DOUBLE_MISSION = 1;\r\n this.OverlayPanel.show(e);\r\n this.DetectChanges();\r\n }\r\n }\r\n\r\n DischargeSlotVisible(Zone) {\r\n if (['RS','RN','N8','S8','M1','M2','M3','M4','M5','M6','N1','N2','N3','N4','N5','N6',\r\n 'O1','O2','O3','O4','O5','O6','VH','ZR','P1','P2','P3','P4','P5','P6','S5','Q1','Q2','S1','S3','S5','F', 'G', 'H'].indexOf(Zone) > -1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n SubmitDischargeSlot() {\r\n let Data = {\r\n WEB_USER_ID:this.GetSessionStorageData('WEB_USER_ID'),\r\n EXTERNAL_WEB_USER_ID:this.GetSessionStorageData('EXTERNAL_WEB_USER_ID'),\r\n RECORD_ID: this.DischargeAppointmentObject.Reefer_Dispatch_ID,\r\n DISCHARGE_SLOT_ID: this.DischargeAppointmentObject.DISCHARGE_SLOT_ID,\r\n TRUCK_LICENSE: this.DischargeAppointmentObject.TRUCK_LICENSE,\r\n N4_APPOINTMENT_NO: 0\r\n }\r\n this.AppointmentObject.DRIVER_ID = this.DischargeAppointmentObject.DRIVER_ID;\r\n this.AppointmentObject.APP_TYPE_INDEX = 2;\r\n this.AppointmentObject.APPOINTMENT_DATE = this.DischargeSlotArray.GetArrayData('RECORD_ID', Data.DISCHARGE_SLOT_ID).SLOT_START_DATE_TIME;\r\n this.AppointmentObject.WebRequestType = 'WEB';\r\n this.AppointmentObject.WEB_USER_ID = this.SharedLib.GetWebUserID();\r\n this.AppointmentObject.EXTERNAL_WEB_USER_ID = this.SharedLib.GetExternalWebUserID();\r\n var offset = new Date().getTimezoneOffset();\r\n this.AppointmentObject.TIME_ZONE_OFFSET = offset;\r\n this.AppointmentObject.TRANS_TYPE = 1;\r\n this.CoreLib.ProcessWebRequest('ProcessInsertUpdateTruckDriverAppointment', '', this.GetModalFormRecID(), this.AppointmentObject, false, true).subscribe(Result => {\r\n if (this.JSONErrors && typeof this.JSONErrors.StatusDescription !== 'undefined') {\r\n this.JSONErrors.StatusDescription = this.JSONErrors.StatusDescription.replace('ERROR: ', '');\r\n this.JSONErrors.StatusDescription = this.JSONErrors.StatusDescription.replace(/ERROR: /g, '
');\r\n } else {\r\n if (Result.AppointmentID > 0) {\r\n Data.N4_APPOINTMENT_NO = Result.AppointmentID;\r\n this.SaveDischargeAppointment(Data);\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n SaveDischargeAppointment(Data) {\r\n this.CoreLib.ProcessWebRequest('ProcessSaveDischargeSlot', '', 0, Data, false, true, 500).subscribe( Result => {\r\n this.OverlayPanel.hide();\r\n this.DoSearch();\r\n });\r\n }\r\n\r\n ChangeRequestDateClick(InDate) {\r\n //console.warn(e.target);\r\n // if (e) {\r\n //d.classList.add('selected');\r\n this.GlobalSearchParams.VIEW_TYPE = 0;\r\n //this.GlobalSearchParams.SEARCH_BY_TYPE = 0;\r\n this.GlobalSearchParams.FROM_DATE = new Date();\r\n this.GlobalSearchParams.TO_DATE = new Date();\r\n if (InDate == 0) {\r\n //this.RequestsTodayBtn.removeEventListener(\"click\", this.ChangeRequestDateClick);\r\n this.GlobalSearchParams.FROM_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate());\r\n this.GlobalSearchParams.FROM_DATE.setHours(0, 0, 0);\r\n this.GlobalSearchParams.TO_DATE.setDate(this.GlobalSearchParams.TO_DATE.getDate());\r\n this.GlobalSearchParams.TO_DATE.setHours(0, 0, 0);\r\n } else if (InDate == 1) {\r\n //this.RequestsTomorrowBtn.removeEventListener(\"click\", this.ChangeRequestDateClick);\r\n new Date();\r\n this.GlobalSearchParams.FROM_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate() + 1);\r\n this.GlobalSearchParams.FROM_DATE.setHours(0, 0, 0);\r\n this.GlobalSearchParams.TO_DATE.setDate(this.GlobalSearchParams.TO_DATE.getDate() + 1);\r\n this.GlobalSearchParams.TO_DATE.setHours(0, 0, 0);\r\n } else if (InDate == 2) {\r\n //this.MyRequestsBtn.removeEventListener(\"click\", this.ChangeRequestDateClick);\r\n this.GlobalSearchParams.VIEW_TYPE = 0;\r\n // this.GlobalSearchParams.SEARCH_BY_TYPE = 1;\r\n this.GlobalSearchParams.FROM_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate() - 1);\r\n this.GlobalSearchParams.FROM_DATE.setHours(0, 0, 0);\r\n this.GlobalSearchParams.TO_DATE.setDate(this.GlobalSearchParams.TO_DATE.getDate() + 1);\r\n this.GlobalSearchParams.TO_DATE.setHours(0, 0, 0);\r\n }\r\n this.DoSearch();\r\n //}\r\n }\r\n\r\n VerificationCutOffTimeLapsed() {\r\n if (!this.GetSessionStorageData('ReeferDispatchCutOff')) {\r\n this.SetSessionStorageItem('ReeferDispatchCutOff', '15:30');\r\n }\r\n let TimeSlotHour = this.GetSessionStorageData('ReeferDispatchCutOff').substr(0, this.GetSessionStorageData('ReeferDispatchCutOff').indexOf(':'));\r\n let TimeSlotMinute = this.GetSessionStorageData('ReeferDispatchCutOff').substr(3, 2);\r\n let TimeSlotDate = new Date();\r\n TimeSlotDate.setHours(parseInt(TimeSlotHour), parseInt(TimeSlotMinute), 0);\r\n return (TimeSlotDate < new Date());\r\n }\r\n \r\n\r\n VerificationCutOffTimeLapsedToAppoiment() {\r\n if (!this.GetSessionStorageData('ReeferDispatchCutOff')) {\r\n this.SetSessionStorageItem('ReeferDispatchCutOff', '16:30');\r\n }\r\n let TimeSlotHour = this.GetSessionStorageData('ReeferDispatchCutOff').substr(0, this.GetSessionStorageData('ReeferDispatchCutOff').indexOf(':'));\r\n let TimeSlotMinute = this.GetSessionStorageData('ReeferDispatchCutOff').substr(3, 2);\r\n let TimeSlotDate = new Date();\r\n TimeSlotDate.setHours(parseInt(TimeSlotHour), parseInt(TimeSlotMinute), 0);\r\n return (TimeSlotDate < new Date());\r\n }\r\n\r\n ProcessCancelReeferDispatchRequest(InRecordID, InContainerNo) {\r\n this.CoreLib.DPModalDialog('ConfirmYN', `Cancel Reefer Dispatch?`, `Are You Sure You Want To Reefer Dispatch Service Request # ` + InRecordID + ` for Container ` + InContainerNo + `?`, 'fa-exclamation-triangle text-danger').then(Result => {\r\n if (Result == 1) {\r\n let Data = {\r\n RECORD_ID: InRecordID,\r\n WEB_USER_ID: this.GetSessionStorageData('WEB_USER_ID')\r\n };\r\n if (this.UserCanAccess([1, 2], 'SYSTEM_ROLE')) {\r\n Data.WEB_USER_ID = this.GetSessionStorageData('EXTERNAL_WEB_USER_ID');\r\n /* HardCode Admin Web_User */\r\n }\r\n this.CoreLib.ProcessWebRequest('ProcessCancelTerminalServiceRequest', '', 0, Data, false, true).subscribe(Result => {\r\n this.DoSearch()\r\n });\r\n }\r\n });\r\n }\r\n\r\n GetYardPos(InYardPos = '', InType) {\r\n let YardPos = InYardPos;\r\n let regexp = new RegExp( \"/^[A-Za-z]+$/\", \"g\" );\r\n let Prefix_1 = YardPos.substring(0, 1); //First Letter e.g. M702 = 'M'\r\n let Prefix_2 = YardPos.substring(0, 2); //First 2 e.g. M702 = 'M7'\r\n let Suffix = YardPos.substring(2, 4); //Last 2 e.g. M702 = '02'\r\n if (YardPos) {\r\n if (!regexp.test(YardPos.substring(1, 0))) {\r\n if (InType == 1) { //Get first 3 digits\r\n YardPos = YardPos.substring(0, 4);\r\n } else if (InType == 2) { //Do something else\r\n if (['M4', 'M7', 'N4', 'N7'].indexOf(Prefix_2) > -1) {\r\n if ((Prefix_1 == 'N') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'B1';\r\n } else {\r\n YardPos = 'A'; //A\r\n }\r\n } else if (['M3', 'M6', 'N3', 'N4', 'N6', 'O3', 'O5'].indexOf(Prefix_2) > -1) {\r\n if ((Prefix_1 == 'M') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'C1';\r\n } else if ((Prefix_1 == 'N') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'C2';\r\n } else if ((Prefix_1 == 'O') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'C2';\r\n } else {\r\n YardPos = 'B1'; //B1\r\n }\r\n } else if (['O7', 'P3', 'P5', 'P7'].indexOf(Prefix_2) > -1) {\r\n if ((Prefix_1 == 'O') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'C3';\r\n } else if ((Prefix_2 == 'P3') && (this.ValidNumber(Suffix) > 2)) {\r\n YardPos = 'C3';\r\n } else if ((Prefix_2 == 'P5' || Prefix_2 == 'P7') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'C3';\r\n } else {\r\n YardPos = 'B2'; //B2\r\n }\r\n } else if (['N8', 'S8'].indexOf(Prefix_2) > -1) {\r\n YardPos = 'B3';\r\n } else if (['M2', 'M5', 'M6', 'N2', 'N3'].indexOf(Prefix_2) > -1) {\r\n if ((Prefix_2 == 'M5') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'D1';\r\n } else if ((Prefix_2 == 'N2') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'D1';\r\n } else {\r\n YardPos = 'C1'; //C1\r\n }\r\n } else if (['N5', 'N6', 'O2', 'O3', 'O5'].indexOf(Prefix_2) > -1) {\r\n if ((Prefix_2 == 'N5') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'D1';\r\n } else if ((Prefix_2 == 'O2') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'D2';\r\n } else if ((Prefix_2 == 'O4') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'D2';\r\n } else {\r\n YardPos = 'C2'; //C2\r\n }\r\n } else if (['O6', 'O7', 'P2', 'P3', 'P4', 'P5', 'P6', 'P7'].indexOf(Prefix_2) > -1) {\r\n if ((Prefix_2 == 'O6') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'D2';\r\n } else if ((Prefix_2 == 'P2') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'D2';\r\n } else if ((Prefix_2 == 'P4') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'D3';\r\n } else {\r\n YardPos = 'C3';\r\n }\r\n } else if (['M1', 'N1'].indexOf(Prefix_2) > -1) {\r\n YardPos = 'D1';\r\n } else if (['O1', 'P1'].indexOf(Prefix_2) > -1) {\r\n YardPos = 'D2';\r\n } else if (['Q1'].indexOf(Prefix_2) > -1) {\r\n YardPos = 'D3';\r\n } else if (['DC'].indexOf(Prefix_2) > -1) {\r\n YardPos = 'F';\r\n } else if (['RS'].indexOf(Prefix_2) > -1) {\r\n YardPos = 'G';\r\n } else if (['ZN'].indexOf(Prefix_2) > -1) {\r\n YardPos = 'H';\r\n }\r\n } else {\r\n YardPos = YardPos;\r\n }\r\n }\r\n }\r\n return YardPos;\r\n }\r\n\r\n ClearSearchFilters() {\r\n this.GlobalSearchParams.ClearGlobalSearchParams();\r\n this.GlobalSearchParams.VIEW_TYPE = 0;\r\n this.GlobalSearchParams.REPORT_TYPE = 0;\r\n this.GlobalSearchParams.FROM_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate());\r\n this.GlobalSearchParams.FROM_DATE.setHours(1);\r\n this.GlobalSearchParams.TO_DATE.setDate(this.GlobalSearchParams.TO_DATE.getDate() + 1);\r\n this.GlobalSearchParams.TO_DATE.setHours(1);\r\n }\r\n}\r\n","export default \"
\\r\\n\\r\\n Inicio\\r\\n \\r\\n Contactos\\r\\n\\r\\n \\r\\n\\r\\n Barcos\\r\\n \\r\\n\\r\\n\\r\\n Reporte VGM\\r\\n
\\r\\n VGMVGM\\r\\n
\\r\\n\\r\\n Cita\\r\\n \\r\\n\\r\\n Verificación\\r\\n
\\r\\n Vista/Editar SolicitudView/Edit Requests\\r\\n
\\r\\n

Resumen:

\\r\\n
\\r\\n
\\r\\n
\\r\\n
Solicitud Disponible para Hoy: {{GetSessionStorageData('TERMINAL_SERVICE_QUOTA_TODAY')}}

\\r\\n
Solicitud Disponible para Mañana: {{GetSessionStorageData('TERMINAL_SERVICE_QUOTA_TOMORROW')}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n Despacho de Reefer \\r\\n
\\r\\n Vista/Editar SolicitudView/Edit Requests\\r\\n
\\r\\n

Resumen:

\\r\\n
\\r\\n
\\r\\n
\\r\\n
Solicitud Disponible para Hoy: {{GetSessionStorageData('TERMINAL_SERVICE_QUOTA_TODAY')}}

\\r\\n
Solicitud Disponible para Mañana: {{GetSessionStorageData('TERMINAL_SERVICE_QUOTA_TOMORROW')}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n Impedimentos\\r\\n \\r\\n\\r\\n Información Contenedor\\r\\n \\r\\n\\r\\n Cotización\\r\\n
\\r\\n Mis CotizaciónesMy Quotes\\r\\n Mis FacturasMy Facturas\\r\\n Crear Nueva CotizaciónCreate New Quote\\r\\n
\\r\\n Balance Disponible:
\\r\\n {{GetSessionStorageData('CURRENT_REMAINING_BALANCE')}} {{GetSessionStorageData('DEFAULT_CURRENCY_CODE')}}\\r\\n
\\r\\n
\\r\\n ADVERTENCIA: Esta cotización está sujeta a modificación en la tasa de cambio, según la tasa cambiaria vigente al momento de su solicitud.\\r\\n Esta Cotización está basada en tarifas y condiciones estándares. Para mayor información, favor comuníquese DPW Caucedo al: 809-373-7611\\r\\n
\\r\\n
\\r\\n\\r\\n Choferes\\r\\n\\r\\n
\\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Resumen de Puerta

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

Seleccione \\\"ENTRADA o SALIDA\\\" para acceder a las informaciones de las transacciones de puerta realizadas\\r\\n durante el periodo de tiempo seleccionado.

\\r\\n

Select INCOMING or OUTGOING in order to access the gate reports.

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Search Options\\r\\n Opciones de búsqueda\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Container ## de Contenedor'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.CONTAINER_NO\\\">\\r\\n
\\r\\n
\\r\\n ERO/# de ReservaERO/Booking #'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.BOOKING_NO\\\">\\r\\n
\\r\\n
\\r\\n BL ## de BL'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.BILL_OF_LADING_NO\\\">\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Transaccion# ContTipoPeso (KG)Peso Reg (KG)VGM (KG)Reserva (KG)# ChsERO/# Reserva/BLGrado{{ReportTypeDropDownArray[GlobalSearchParams.REPORT_TYPE].Option}}CategoriaClienteExportadorConsignatarioSelloRotuloEntrada CamionSalida CamionComp TransDañoEstatus
{{Data.TRANSTYPE}}{{Data.CONTAINER_NO}}{{Data.ISO}}{{Data.GROSS_WEIGHT}}{{Data.SCALE_WEIGHT}}{{Data.VGM_WEIGHT}}{{Data.BOOKING_WEIGHT}}{{Data.CHS_NUMBER}}{{Data.BOOKING_NO}}{{Data.GRADE}}{{FormatDateTimeExt(Data.CREATED, 'MM/DD/YYYY HH:mm A')}}{{Data.CATEGORY}}{{Data.CUSTOMER}}{{Data.SHIPPER}}{{Data.CONSIGNEE}}{{Data.SEAL}}{{Data.TRUCK}}{{FormatDateTimeExt(Data.TRUCK_ENTERED, 'MM/DD/YYYY HH:mm A')}}{{FormatDateTimeExt(Data.TRUCK_EXITED, 'MM/DD/YYYY HH:mm A')}}{{Data.TRUCKING_COMPANY}}{{Data.DAMAGE}}{{Data.FREIGHT_KIND}}
Encontrado: {{Pagination.CurrentPageInfo}}
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Empty Park Yard Listing Help

\\r\\n
\\r\\n
\\r\\n Help currently under development
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","import { Component, OnInit, ViewChild, ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent, CoreLibService } from 'core-lib';\r\nimport { Router } from '@angular/router';\r\nimport { DatePipe } from '@angular/common';\r\ndeclare var BHD_AUTH_URL;\r\ndeclare var BHD_PAYMENT_BUTTON_DATA;\r\n\r\n@Component({\r\n templateUrl: './quote-detail.component.html',\r\n selector: 'quote-detail'\r\n})\r\nexport class QuoteDetailComponent extends DPComponent implements OnInit {\r\n public CurrencyArrayDropDownArray: Array = [\r\n { Value: 'DOP', Option: 'DOP' },\r\n { Value: 'US$', Option: 'US$' }\r\n ];\r\n\r\n public ContainerDataArray: Array = [];\r\n public QuoteContainerDataArray: Array = [];\r\n public QuoteContainerTaxDataArray: Array = [];\r\n public QuoteDataArray: Array = [];\r\n public QuoteData: any = {};\r\n public BankData: any = {};\r\n public BankRequest: any = {};\r\n\r\n public SearchString: String;\r\n public QUOTE_DATETIME: Date = new Date();\r\n public CURRENT_QUOTE_DATETIME: Date = new Date();\r\n public CURRENT_QUOTE_ID: string;\r\n public QUOTE_CURRENCY: string;\r\n public SubTotalUSD: number = 0;\r\n public SubTotalRD: number = 0;\r\n public TaxUSD: number = 0;\r\n public TaxRD: number = 0;\r\n\r\n // Classes\r\n public BHDBtnloading: String = \"d-none\";\r\n public BPDBtnloading: String = \"d-none\";\r\n public AzulBtnloading: String = \"d-none\";\r\n public CreditBtnloading: String = \"d-none\";\r\n\r\n // Form elements\r\n @ViewChild('PaymentForm', { static: false }) PaymentForm: ElementRef;\r\n @ViewChild('AuthHash', { static: false }) AuthHash: ElementRef;\r\n\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, public Router: Router, public Detector: ChangeDetectorRef,\r\n public datepipe: DatePipe) {\r\n super(CoreLib);\r\n this.CDRef = Detector;\r\n this.Detach();\r\n let URL = document.location.href;\r\n }\r\n\r\n ngOnInit() {\r\n this.DetectChanges();\r\n this.DoSearch();\r\n }\r\n\r\n public GetBankData() {\r\n return new Promise((resolve) => {\r\n let Data = {\r\n BANK_ID: \"ZBHDCAU\",\r\n SYSTEM_ROLE: this.GetSessionStorageData('SYSTEM_ROLE')\r\n }\r\n // Get Bank Information\r\n this.CoreLib.ProcessWebRequest('ProcessGetBankInfo', '', 0, Data, false).subscribe(Result => {\r\n this.BankData = Result.JSONData[0];\r\n this.BankRequest = JSON.parse(this.BankData.BANK_DATA01);\r\n resolve(this.BankData);\r\n });\r\n });\r\n }\r\n\r\n public StartBHDPayment(Request) {\r\n return new Promise((resolve) => {\r\n\r\n this.CoreLib.ProcessCustomWebRequest(BHD_AUTH_URL, Request).subscribe(Result => {\r\n\r\n console.log(\"Going to BHD Page...\");\r\n this.BHDBtnloading = \"\";\r\n this.DetectChanges();\r\n\r\n if (Result.status === 200) {\r\n //OK. El request es correcto. Esta es la respuesta estándar para respuestas correctas.\r\n window.location.href = `${Result.body.redirect_url}${Result.body.jwt}`;\r\n return Result.status;\r\n\r\n } else if (Result.status === 400) {\r\n //Bad Request. El servidor no puede o no va a procesar el request por un error de \r\n //sintaxis del cliente.\r\n\r\n } else if (Result.status === 401) {\r\n //Unauthorized. Similar al error 403, pero se usa cuando se requiere una \r\n //autentificación y ha fallado o todavía no se ha facilitado.\r\n\r\n } else if (Result.status === 403) {\r\n //Forbidden. El request fue válido pero el servidor se niega a responder.\r\n\r\n } else if (Result.status === 404) {\r\n //Forbidden. El request fue válido pero el servidor se niega a responder.\r\n //disponible en el futuro. Se permiten requests subsecuentes por parte del cliente.\r\n\r\n } else if (Result.status === 405) {\r\n //Method Not Allowed. Se ha hecho un request con un recurso usando un método \r\n //request no soportado por ese recurso (por ejemplo, usando GET en un formulario \r\n //que requiere POST).\r\n\r\n } else if (Result.status === 500) {\r\n //Internal Server Error. Error genérico, cuando se ha dado una condición no esperada y \r\n //no se puede concretar el mensaje.\r\n\r\n } else if (Result.status === 502) {\r\n //Bad Gateway. El server actuaba como puerta de entrada o proxy y recibió una \r\n //respuesta inválida del servidor upstream.\r\n\r\n } else if (Result.status === 503) {\r\n //respuesta inválida del servidor upstream.\r\n //mantenimiento o por sobrecarga.\r\n\r\n } else if (Result.status === 504) {\r\n //Gateway Timeout. El servidor estaba actuando como puerta de entrada o proxy y no\r\n //recibió una respuesta oportuna por parte del servidor upstream\r\n\r\n } else if (Result.status === 505) {\r\n //recibió una respuesta oportuna por parte del servidor upstream\r\n //usada en el request.\r\n }\r\n\r\n this.BHDBtnloading = \"d-none\";\r\n this.DetectChanges();\r\n resolve(Result.status);\r\n });\r\n\r\n });\r\n }\r\n\r\n async StartPaymentProcess() {\r\n console.log(\"Getting Bank Data...\");\r\n this.BankData = await this.GetBankData();\r\n this.BankRequest = JSON.parse(this.BankData.BANK_DATA01);\r\n\r\n console.log(\"Constructing Bank Request...\");\r\n let QuoteDate = this.datepipe.transform(Date.parse(this.QuoteData.PREPARED), 'dd-MM-yyyy');\r\n let Today = this.datepipe.transform(new Date(), 'dd-MM-yyyy');\r\n let TimeStamp = this.datepipe.transform(new Date(), 'ddMMyy-hhmm');\r\n\r\n // Completing The Request\r\n this.BankRequest.billingNumber = this.QuoteData.RECORD_ID;\r\n this.BankRequest.currency = \"RD\";\r\n //this.BankRequest.clientSecret = \"\";\r\n\r\n if (this.QuoteData.QUOTE_CURRENCY_CODE == \"$US\") {\r\n this.BankRequest.currency = \"USD\";\r\n console.log(\"Quote Currency : \" + this.QuoteData.QUOTE_CURRENCY_CODE);\r\n console.log(\"Request Currency : \" + BHD_PAYMENT_BUTTON_DATA.currency);\r\n }\r\n\r\n //BHD_PAYMENT_BUTTON_DATA.amount = 1.11;\r\n this.BankRequest.amount = this.QuoteData.REQUIRED_AMOUNT;\r\n this.BankRequest.transactionId = `${this.QuoteData.RECORD_ID}-${TimeStamp}`; //'1c09dc77-8c2a-4f01';\r\n this.BankRequest.description = 'DP World Caucedo - Pago de Servicios';\r\n\r\n console.log(\"Process Bank Auth...\");\r\n let BanResponse = await this.StartBHDPayment(this.BankRequest);\r\n console.log(BanResponse);\r\n }\r\n\r\n DoSearch() {\r\n if (this.GetSessionStorageData('CURRENT_QUOTE_ID') > 0) {\r\n console.log('Searching QuoteID: ' + this.GetSessionStorageData('CURRENT_QUOTE_ID'));\r\n\r\n this.SearchString = '';\r\n let Data = {\r\n RECORD_ID: this.GetSessionStorageData('CURRENT_QUOTE_ID'),\r\n CUSTOMER_NAME: this.GetSessionStorageData('CUSTOMER_NAME'),\r\n ACCOUNT_TYPE: this.GetSessionStorageData('ACCOUNT_TYPE'),\r\n CUSTOMER_ID: this.GetSessionStorageData('CUSTOMER_ID'),\r\n SYSTEM_ROLE: this.GetSessionStorageData('SYSTEM_ROLE')\r\n }\r\n this.CoreLib.ProcessWebRequest('ProcessGetBillingQueryData', 'GetQuoteList', 0, Data, false).subscribe(Result => {\r\n\r\n this.QuoteData = Result.JSONData[0];\r\n // Quote Date\r\n let QuoteDate = new Date(Date.parse(this.QuoteData.PREPARED));\r\n console.log(\"QuoteDate : \" + QuoteDate);\r\n\r\n // Today\r\n let today = new Date();\r\n today.setHours(0, 0, 0, 0);\r\n console.log(\"Today : \" + today);\r\n\r\n this.QuoteData.QuoteStatus = (QuoteDate < today ? \"EXPIRED\" : \"VALID\");\r\n console.log(this.QuoteData.QuoteStatus);\r\n\r\n this.QuoteData.PREPARED = this.datepipe.transform(QuoteDate, 'dd-MM-yyyy');\r\n this.QuoteData.PAID_TO_DATETIME = this.datepipe.transform(Date.parse(this.QuoteData.PAID_TO_DATETIME), 'dd-MM-yyyy');\r\n\r\n console.log(\"INVOICE_ID : \" + this.QuoteData.INVOICE_ID);\r\n\r\n });\r\n\r\n\r\n } else {\r\n console.log('No InQuoteID Was Got. Go Back to Quote Listing');\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DPComponent, CoreLibService} from 'core-lib';\r\nimport {SharedLibService} from '../sharedlib';\r\n\r\n@Component({\r\n selector: 'app-contacts',\r\n templateUrl: './app-contacts.component.html'\r\n})\r\nexport class AppContactsComponent extends DPComponent implements OnInit {\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService) {\r\n super(CoreLib);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","import { Component, OnInit } from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent, CoreLibService} from 'core-lib';\r\n\r\n@Component({\r\n templateUrl: './holds-history.component.html'\r\n})\r\nexport class HoldsHistoryComponent extends DPComponent implements OnInit {\r\n public HoldsDataArray: Array = [];\r\n\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService) {\r\n super(CoreLib);\r\n }\r\n\r\n ngOnInit() {\r\n this.ClearSearchFilters();\r\n this.DoSearch();\r\n }\r\n\r\n public DoSearch() {\r\n this.CoreLib.ProcessWebRequest('ProcessGetVesselQueryData', 'ShippingLineHoldsHistory', 0, this.GlobalSearchParams, false, true, 500).subscribe( Result => { this.HoldsDataArray = Result.JSONData; } );\r\n }\r\n\r\n ClearSearchFilters() {\r\n this.GlobalSearchParams.ClearGlobalSearchParams();\r\n this.GlobalSearchParams.FROM_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate());\r\n this.GlobalSearchParams.FROM_DATE.setHours(1);\r\n this.GlobalSearchParams.TO_DATE.setDate(this.GlobalSearchParams.TO_DATE.getDate() + 1);\r\n this.GlobalSearchParams.TO_DATE.setHours(1);\r\n }\r\n}\r\n","import { Component, OnInit, Output, EventEmitter, ChangeDetectorRef } from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent, CoreLibService } from 'core-lib';\r\nimport { ActivatedRoute } from '@angular/router';\r\n@Component({\r\n templateUrl: './vessel-booking-details.component.html',\r\n selector: 'vessel-booking-details',\r\n styleUrls: ['./vessel-booking-details.component.css']\r\n})\r\nexport class VesselBookingDetailsComponent extends DPComponent implements OnInit {\r\n public BookingObject: any = {};\r\n public BookingItemObject: any = {};\r\n public HazardItemObject: any = {};\r\n public BookingItemDataArray: Array = [];\r\n public Timer: any;\r\n public VesselVoyageDataArray: Array = [];\r\n public DischargePortDataArray: Array = [];\r\n public LineOperatorDataArray: Array = [];\r\n public HazardDataArray: Array = [];\r\n public ConsigneeObject: Array = [];\r\n public ShipperObject: Array = [];\r\n public ErrorMessage: String;\r\n public DischargePort: String;\r\n public LineOperator: String;\r\n public ISOCodeDropDownArray: Array = [];\r\n public FoodGradeDropDownArray: Array = [\r\n { Value: 'A', Option: 'A' },\r\n { Value: 'A+', Option: 'A+' },\r\n { Value: 'B', Option: 'B' },\r\n { Value: 'C', Option: 'C' },\r\n { Value: 'C+', Option: 'C+' },\r\n { Value: 'D', Option: 'D' },\r\n { Value: 'P', Option: 'P' },\r\n { Value: 'AC', Option: 'AC (Atmósfera Controlada)' },\r\n { Value: 'AF', Option: 'AF (Afam Grade)' },\r\n { Value: 'BI', Option: 'BI (Biotropic Grade)' },\r\n { Value: 'EF', Option: 'EF (Extrafresh o Extended Fresh)' },\r\n { Value: 'FG', Option: 'FG (Food Grades)' },\r\n { Value: 'MC', Option: 'MC (Mercasid Grade)' },\r\n { Value: 'NH', Option: 'NH (No Humedad)' },\r\n { Value: 'VE', Option: 'VE (Vendidos)' },\r\n { Value: 'CAR', Option: 'CAR (Neveras Carrier)' },\r\n { Value: 'HL+', Option: 'HL+' },\r\n { Value: 'HLL', Option: 'Hapag Lloyd Live Reefer' },\r\n { Value: 'RCR', Option: 'RCR (Sin Atmósfera Controlada)' }\r\n ];\r\n @Output() RefreshListing = new EventEmitter();\r\n\r\n constructor(public CoreLib: CoreLibService, public Route: ActivatedRoute, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, public Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.CDRef = Detector;\r\n this.Detach(true);\r\n }\r\n\r\n ngOnInit() {\r\n this.BookingObject.ORIGIN = 'CAUCEDO'; /* Requested by client */\r\n this.LoadDropDowns();\r\n this.DoSearch();\r\n }\r\n\r\n DoSearch() {\r\n if (this.GetModalFormRecID() > 0) {\r\n this.CoreLib.ProcessWebRequest('ProcessGetVesselQueryData', 'VesselDetailsBookingsList', this.GetModalFormRecID(), '', false).subscribe(Result => {\r\n this.BookingObject = Result.JSONData[0];\r\n this.DischargePort = Result.JSONData[0].DISCHARGE_PORT;\r\n this.LineOperator = Result.JSONData[0].LINE_OPERATOR;\r\n if ((Result.JSONData[0].SHIPPER !== '') && (Result.JSONData[0].SHIPPER !== undefined)) {\r\n this.BookingObject.ShipperSearch = Result.JSONData[0].SHIPPER;\r\n this.SearchShipper();\r\n }\r\n let VesselObject = {\r\n RECORD_ID: this.BookingObject.VESSEL_VOYAGE_GKEY,\r\n VOYAGE_REF_NO: this.BookingObject.VESSEL_VOYAGE_REF_NO,\r\n ETADATE: this.BookingObject.VESSEL_VOYAGE_ETADATE\r\n }\r\n console.log(\"VesselObject:\");\r\n console.log(VesselObject);\r\n this.VesselVoyageDataArray.unshift(VesselObject);\r\n setTimeout(() => {\r\n\r\n this.SelectVesselVoyage(this.BookingObject.VESSEL_VOYAGE_GKEY, this.BookingObject.VESSEL_VOYAGE_REF_NO);\r\n }, 2000);\r\n\r\n });\r\n this.SearchBookingItems(false);\r\n } else {\r\n //\r\n }\r\n }\r\n\r\n LoadDropDowns() {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetVesselVoyageData', 0, '', false).subscribe(Result => {\r\n setTimeout(() => {\r\n this.VesselVoyageDataArray = Result.JSONData;\r\n }, 100);\r\n if (this.GetSessionStorageData('VESSEL_VOYAGE_GKEY') > 0) {\r\n let VesselObject = {\r\n RECORD_ID: this.GetSessionStorageData('VESSEL_VOYAGE_GKEY'),\r\n VOYAGE_REF_NO: this.GetSessionStorageData('VESSEL_VOYAGE_REF_NO'),\r\n ETADATE: this.GetSessionStorageData('VESSEL_VOYAGE_ETADATE')\r\n }\r\n let that = this;\r\n setTimeout(() => {\r\n that.VesselVoyageDataArray.unshift(VesselObject);\r\n that.SelectVesselVoyage(that.GetSessionStorageData('VESSEL_VOYAGE_GKEY'), that.GetSessionStorageData('VESSEL_VOYAGE_REF_NO'));\r\n }, 100);\r\n } else {\r\n console.log('Creating New Booking ');\r\n }\r\n });\r\n this.CoreLib.ProcessWebRequest('ProcessGetPublicQueryData', 'GetISOCodes', 0, '', false).subscribe(Result => { this.ISOCodeDropDownArray = Result.JSONData });\r\n }\r\n\r\n LoadSecondaryDropdowns(InRecID) {\r\n if (InRecID > 0) {\r\n let Data = {\r\n VESSEL_VOYAGE_GKEY: InRecID,\r\n LINE_OP_SEARCH_CODE: this.GetSessionStorageData('LINE_OP_SEARCH_CODE')\r\n }\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetDischargePortData', 0, Data, true).subscribe(Result => {\r\n this.DischargePortDataArray = Result.JSONData;\r\n this.BookingObject.DISCHARGE_PORT = this.DischargePort;\r\n });\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetLineOperatorData', 0, Data, true).subscribe(Result => {\r\n this.LineOperatorDataArray = Result.JSONData;\r\n this.BookingObject.LINE_OPERATOR = this.LineOperator;\r\n });\r\n }\r\n }\r\n\r\n SelectVesselVoyage(InRecID, InVesselName) {\r\n console.log('SelectVesselVoyage: ' + InRecID + ' ' + InVesselName);\r\n this.BookingObject.DISCHARGE_PORT = '';\r\n this.BookingObject.LINE_OPERATOR = '';\r\n this.BookingObject.VESSEL_VOYAGE_REF_NO = InVesselName;\r\n this.BookingObject.VESSEL_VOYAGE_GKEY = InRecID;\r\n this.DetectChanges();\r\n this.LoadSecondaryDropdowns(InRecID);\r\n }\r\n\r\n\r\n SearchBookingItems(IgnoreCount) {\r\n this.CoreLib.ProcessWebRequest('ProcessGetVesselQueryData', 'GetVesselBookingItems', this.GetModalFormRecID(), '', IgnoreCount).subscribe(Result => {\r\n this.BookingItemDataArray = Result.JSONData;\r\n });\r\n }\r\n\r\n SearchConsignee() {\r\n if (this.BookingObject.ConsigneeSearch !== '') {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetConsigneeData', 0, { CONSIGNEE: this.BookingObject.ConsigneeSearch }, true).subscribe(\r\n Result => {\r\n Result = Result.JSONData;\r\n if (Result && (Result.length > 0)) {\r\n this.ConsigneeObject = Result;\r\n if (this.ConsigneeObject.length == 1) { /* If only one found, set the dropdown automatically to it */\r\n this.BookingObject.CONSIGNEE = Result[0].NAME;\r\n }\r\n this.ErrorMessage = '';\r\n } else {\r\n this.ErrorMessage = 'Did not find any consignees...';\r\n }\r\n }\r\n );\r\n }\r\n }\r\n ConsigneeChange(InConsignee) {\r\n this.ConsigneeObject = Array[0];\r\n this.BookingObject.CONSIGNEE = \"\";\r\n clearTimeout(this.Timer);\r\n var self = this;\r\n this.Timer = setTimeout(function () {\r\n if (InConsignee.length > 2) {\r\n self.SearchConsignee();\r\n }\r\n }, 700);\r\n }\r\n\r\n SearchShipper() {\r\n if (this.BookingObject.ShipperSearch !== '') {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetShipperData', 0, { SHIPPER: this.BookingObject.ShipperSearch }, true).subscribe(\r\n Result => {\r\n Result = Result.JSONData;\r\n if (Result && (Result.length > 0)) {\r\n this.ShipperObject = Result;\r\n if (Result.length == 1) {\r\n this.BookingObject.SHIPPER = Result[0].NAME;\r\n }\r\n this.ErrorMessage = '';\r\n } else {\r\n this.ErrorMessage = 'Did not find any shippers...';\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n ShipperChange(InShipper) {\r\n this.ShipperObject = Array[0];\r\n this.BookingObject.SHIPPER = \"\";\r\n clearTimeout(this.Timer);\r\n var self = this;\r\n this.Timer = setTimeout(function () {\r\n if (InShipper.length > 2) {\r\n self.SearchShipper();\r\n }\r\n }, 700);\r\n }\r\n\r\n OpenBookingItemDetail(InBookingItemID) {\r\n if (InBookingItemID > 0) {\r\n this.CoreLib.ProcessWebRequest('ProcessGetVesselQueryData', 'GetVesselBookingItems', this.GetModalFormRecID(), { BOOKING_ITEM_ID: InBookingItemID }, true).subscribe(Result => {\r\n this.BookingItemObject = Result.JSONData[0];\r\n this.BookingItemObject.BOOKING_ITEM_ID = InBookingItemID;\r\n this.HazardDataArray = [];\r\n if (this.BookingItemObject.EQOI_HAZARDS && this.BookingItemObject.EQOI_HAZARDS !== '') {\r\n this.CoreLib.ProcessWebRequest('ProcessGetVesselQueryData', 'GetVesselBookingItemHazards', 0, { EQOI_HAZARDS: this.BookingItemObject.EQOI_HAZARDS }, true).subscribe(Result => {\r\n\r\n this.HazardDataArray = Result.JSONData;\r\n console.log(this.HazardDataArray);\r\n\r\n\r\n // console.log(Result.JSONData);\r\n // console.log(\"this.HazardDataArray\");\r\n // console.log(this.HazardDataArray);\r\n // for (let i = 0; i < Result.JSONData.length; i++) {\r\n // this.BookingItemObject['HAZ_CLASS_0' + (i + 1)] = Result.JSONData[i].IMDG_CLASS;\r\n // this.BookingItemObject['HAZ_UN_NO_0' + (i + 1)] = Result.JSONData[i].UN_NUM;\r\n // }\r\n this.DetectChanges();\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n public SubmitForm() {\r\n let CURRENT_BOOKING_ID;\r\n CURRENT_BOOKING_ID = this.BookingObject.RECORD_ID;\r\n /* Automatically send Consignee using Line Operator */\r\n this.BookingObject.CONSIGNEE = this.BookingObject.LINE_OPERATOR;\r\n this.CoreLib.ProcessWebRequest('ProcessInsertUpdateBooking', '', this.GetModalFormRecID(), this.BookingObject, false, false).subscribe(\r\n Result => {\r\n if (Result.StatusCode == 'SUCCESS') {\r\n if (Result.BOOKING_ID > 0) {\r\n this.SetModalFormRecID(Result.BOOKING_ID);\r\n } else {\r\n this.SetModalFormRecID(CURRENT_BOOKING_ID);\r\n }\r\n this.RefreshListing.emit(null);\r\n }\r\n }\r\n );\r\n }\r\n public AddNewBookingItem(InBookingID) {\r\n this.BookingItemObject = {};\r\n this.HazardItemObject = {};\r\n this.BookingItemObject.BOOKING_ID = InBookingID;\r\n this.BookingItemObject.BOOKING_ITEM_ID = -1;\r\n this.DetectChanges();\r\n }\r\n\r\n public AddHazardToItem() {\r\n console.log(\"Add Hazard\");\r\n this.HazardItemObject.HAZ_ID = this.BookingItemObject.BOOKING_ITEM_ID;\r\n this.HazardItemObject.ProcessType = \"NEW\";\r\n console.log(this.BookingItemObject);\r\n console.log(this.HazardItemObject);\r\n\r\n this.CoreLib.ProcessWebRequest('ProcessAddHazardToBookingItemRecord', '', 0, this.HazardItemObject, false).subscribe(\r\n Result => {\r\n if (Result.StatusCode == 'SUCCESS') {\r\n this.HazardItemObject.IMDG_CLASS = \"\";\r\n this.HazardItemObject.UN_NUM = \"\";\r\n console.log(\"Result.StatusCode : \" + Result.StatusCode);\r\n console.log(Result.StatusCode);\r\n setTimeout(() => {\r\n\r\n\r\n this.CoreLib.ProcessWebRequest('ProcessGetVesselQueryData', 'GetVesselBookingItems', this.GetModalFormRecID(), { BOOKING_ITEM_ID: this.BookingItemObject.BOOKING_ITEM_ID }, true).subscribe(BItemsResult => {\r\n var BtemObject = BItemsResult.JSONData[0];\r\n //this.BookingItemObject.BOOKING_ITEM_ID = InBookingItemID; \r\n\r\n\r\n if (BtemObject.EQOI_HAZARDS && BtemObject.EQOI_HAZARDS !== '') {\r\n this.CoreLib.ProcessWebRequest('ProcessGetVesselQueryData', 'GetVesselBookingItemHazards', 0, { EQOI_HAZARDS: BtemObject.EQOI_HAZARDS }, true).subscribe(\r\n SubResult => {\r\n if (SubResult.StatusCode == 'SUCCESS') {\r\n console.log(\"SubResult.StatusCode : \" + SubResult.StatusCode);\r\n console.log(SubResult.StatusCode);\r\n console.log(SubResult);\r\n this.HazardDataArray = SubResult.JSONData;\r\n console.log(this.HazardDataArray);\r\n //this.DetectChanges();\r\n }\r\n });\r\n }\r\n // After Adding a new Hazard. Reload the List\r\n\r\n });\r\n }, 100);\r\n\r\n } else {\r\n console.log(\"Booking Hazard Was Not Added:\");\r\n console.log(this.HazardItemObject);\r\n }\r\n }\r\n );\r\n\r\n //this.DetectChanges();\r\n }\r\n\r\n public DeleteHazardFromItem(HzrdId) {\r\n console.log(\"Delete : \" + HzrdId);\r\n this.HazardItemObject.BOOKING_ITEM_ID = this.BookingItemObject.BOOKING_ITEM_ID;\r\n this.HazardItemObject.HAZ_ID = HzrdId;\r\n this.HazardItemObject.ProcessType = \"UPDATE\";\r\n console.log(\"Delete : \" + this.HazardItemObject);\r\n console.log(\"EQOI_HAZARDS : \" + this.BookingItemObject.EQOI_HAZARDS);\r\n\r\n this.CoreLib.ProcessWebRequest('ProcessAddHazardToBookingItemRecord', '', 0, this.HazardItemObject, false).subscribe(\r\n Result => {\r\n console.log(Result.StatusCode);\r\n if (Result.StatusCode == 'SUCCESS') {\r\n\r\n setTimeout(() => {\r\n\r\n\r\n this.CoreLib.ProcessWebRequest('ProcessGetVesselQueryData', 'GetVesselBookingItems', this.GetModalFormRecID(), { BOOKING_ITEM_ID: this.BookingItemObject.BOOKING_ITEM_ID }, true).subscribe(BItemsResult => {\r\n var BtemObject = BItemsResult.JSONData[0];\r\n\r\n // After Deleting a Hazard. Reload the List\r\n this.CoreLib.ProcessWebRequest('ProcessGetVesselQueryData', 'GetVesselBookingItemHazards', 0, { EQOI_HAZARDS: BtemObject.EQOI_HAZARDS }, true).subscribe(SubResult => {\r\n if (SubResult.StatusCode == 'SUCCESS') {\r\n this.HazardDataArray = SubResult.JSONData;\r\n console.log(this.HazardDataArray);\r\n }\r\n\r\n //this.DetectChanges();\r\n\r\n });\r\n\r\n });\r\n }, 100);\r\n } else {\r\n console.log(\"Booking Hazard Was Not Removed:\");\r\n console.log(this.HazardItemObject);\r\n }\r\n }\r\n );\r\n\r\n //this.DetectChanges();\r\n }\r\n\r\n public SubmitBookingItem() {\r\n this.CoreLib.ProcessWebRequest('ProcessInsertUpdateBookingItem', '', 0, this.BookingItemObject, false).subscribe(\r\n Result => {\r\n if (Result.StatusCode == 'SUCCESS') {\r\n this.BookingItemObject.BOOKING_ITEM_ID = 0;\r\n this.SearchBookingItems(true);\r\n }\r\n }\r\n );\r\n }\r\n CloseBookingDetails() {\r\n this.SetModalFormRecID(0);\r\n this.DetectChanges();\r\n }\r\n CloseBookingItem() {\r\n this.BookingItemObject.BOOKING_ITEM_ID = 0;\r\n this.DetectChanges();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { DPComponent, CoreLibService } from 'core-lib';\r\nimport { SharedLibService } from '../sharedlib';\r\n\r\n@Component({\r\n selector: 'faqs',\r\n templateUrl: './faqs.component.html'\r\n})\r\n\r\nexport class FAQsComponent extends DPComponent implements OnInit {\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService) {\r\n super(CoreLib);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent, CoreLibService} from 'core-lib';\r\n@Component({\r\n templateUrl: './holds-notifications-details.component.html',\r\n selector: 'holds-notifications-details'\r\n})\r\nexport class HoldsNotificationsDetailsComponent extends DPComponent implements OnInit {\r\n public NotificationObject: Object = {};\r\n\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService) {\r\n super(CoreLib);\r\n }\r\n\r\n ngOnInit() {\r\n this.DoSearch();\r\n }\r\n\r\n DoSearch() {\r\n if (this.GetModalFormRecID() > 0) {\r\n this.CoreLib.ProcessWebRequest('ProcessGetVesselQueryData', 'GovernmentCustomsNotificationsList', this.GetModalFormRecID(), '', false).subscribe(Result => { \r\n this.NotificationObject = Result.JSONData[0] });\r\n }\r\n }\r\n\r\n SubmitForm() {\r\n this.CoreLib.ProcessWebRequest('ProcessInsertUpdateCustomsNotification', 'InsertNotification', 0, this.NotificationObject, false, true).subscribe(Result => {\r\n //this.DoSearch();\r\n //this.SetModalFormRecID(0);\r\n });\r\n }\r\n}\r\n","export default \"\\r\\n\\r\\n.modal\\r\\n{\\r\\n background:rgba(0,0,0,.3);\\r\\n display:grid;\\r\\n place-items: center;\\r\\n place-content: center; \\r\\n\\r\\n \\r\\n\\r\\n .modal-footer\\r\\n {\\r\\n display:flex;\\r\\n justify-content: center;\\r\\n .modal-footer_button-container\\r\\n {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n width:10rem;\\r\\n\\r\\n \\r\\n }\\r\\n .modal-footer_button-container > button{\\r\\n background: hsl(0, 100%, 50%);\\r\\n color : #fff;\\r\\n width:10rem;\\r\\n }\\r\\n }\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1ob21lLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQTs7SUFFSSwwQkFBMEI7SUFDMUIsYUFBYTtJQUNiLG9CQUFvQjtJQUNwQixzQkFBc0I7Ozs7SUFJdEI7O1FBRUksYUFBYTtRQUNiLHdCQUF3QjtRQUN4Qjs7WUFFSSxjQUFjO1lBQ2Qsd0JBQXdCO1lBQ3hCLFlBQVk7OztTQUdmO1FBQ0Q7WUFDSSw4QkFBOEI7WUFDOUIsYUFBYTtZQUNiLFlBQVk7U0FDZjtLQUNKO0NBQ0oiLCJmaWxlIjoiYXBwLWhvbWUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuLm1vZGFsXHJcbntcclxuICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwuMyk7XHJcbiAgICBkaXNwbGF5OmdyaWQ7XHJcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xyXG4gICAgcGxhY2UtY29udGVudDogY2VudGVyOyBcclxuXHJcbiAgIFxyXG5cclxuICAgIC5tb2RhbC1mb290ZXJcclxuICAgIHtcclxuICAgICAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgLm1vZGFsLWZvb3Rlcl9idXR0b24tY29udGFpbmVyXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgd2lkdGg6MTByZW07XHJcblxyXG4gICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAubW9kYWwtZm9vdGVyX2J1dHRvbi1jb250YWluZXIgPiBidXR0b257XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGhzbCgwLCAxMDAlLCA1MCUpO1xyXG4gICAgICAgICAgICBjb2xvciA6ICNmZmY7XHJcbiAgICAgICAgICAgIHdpZHRoOjEwcmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuIl19 */\";","import { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { GlobalSearchParamService, SharedLibService } from './sharedlib';\r\n\r\nimport { routing, appRoutingProviders } from './app.routes';\r\nimport { LocationStrategy, HashLocationStrategy, DecimalPipe } from '@angular/common';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { PopoverModule } from 'ngx-bootstrap/popover';\r\n/* DP MODULES */\r\nimport {FileUploadModule} from 'ng2-file-upload';\r\nimport { DPCommonModule, CoreLibService, IdleService } from 'core-lib';\r\n/* COMPONENTS */\r\nimport { AppComponent } from './app.component';\r\nimport { AppHomeComponent } from './app-home/app-home.component';\r\nimport { AppHeaderComponent } from './app-header/app-header.component';\r\nimport { AppSidebarComponent } from './app-sidebar/app-sidebar.component';\r\nimport { AppFooterComponent } from './app-footer/app-footer.component';\r\nimport { AppContactsComponent } from './app-contacts/app-contacts.component';\r\nimport { FAQsComponent } from './faqs/faqs.component';\r\nimport { ContainerEnquiryComponent } from './container-enquiry/container-enquiry.component';\r\nimport { ContainerYardSummaryComponent } from \"./container-yard-summary/container-yard-summary.component\";\r\nimport { VBSPaymentListingComponent } from './vbs-payment-listing/vbs-payment-listing.component';\r\nimport { VBSPaymentDetailsComponent } from './vbs-payment-details/vbs-payment-details.component';\r\nimport { DriverAppointmentSummaryComponent } from \"./driver-appointment-summary/driver-appointment-summary.component\";\r\nimport { AppointmentSummaryComponent } from './appointment-summary/appointment-summary.component';\r\nimport { AppointmentDetailsComponent } from './appointment-details/appointment-details.component';\r\nimport { AppointmentDetailsReeferComponent } from './appointment-details-reefer/appointment-details-reefer.component';\r\nimport { ContainerVGMListingComponent } from './container-vgm-listing/container-vgm-listing.component';\r\nimport { ContainerVGMDetailsComponent } from './container-vgm-details/container-vgm-details.component';\r\nimport { VesselBookingSummaryComponent } from './vessel-booking-summary/vessel-booking-summary.component';\r\nimport { VesselBookingListingComponent } from './vessel-booking-listing/vessel-booking-listing.component';\r\nimport { VesselBookingDetailsComponent } from './vessel-booking-details/vessel-booking-details.component';\r\nimport { VesselScheduleSummaryComponent } from './vessel-schedule-summary/vessel-schedule-summary.component';\r\nimport { VesselScheduleDetailsComponent } from './vessel-schedule-details/vessel-schedule-details.component';\r\nimport { VesselGateSummaryComponent } from './vessel-gate-summary/vessel-gate-summary.component';\r\nimport { HoldsSummaryComponent } from './holds-summary/holds-summary.component';\r\nimport { HoldsHistoryComponent } from './holds-history/holds-history.component';\r\nimport { HoldsCustomsComponent } from './holds-customs/holds-customs.component';\r\nimport { HoldsNotificationsComponent } from './holds-notifications/holds-notifications.component';\r\nimport { HoldsNotificationsDetailsComponent } from './holds-notifications-details/holds-notifications-details.component';\r\nimport { SettingsCustomerDetailsComponent } from './settings-customer-details/settings-customer-details.component';\r\nimport { QuoteSummaryComponent } from './quote-summary/quote-summary.component';\r\nimport { QuoteDetailsComponent } from './quote-details/quote-details.component';\r\nimport { QuoteDetailComponent } from './quote-detail/quote-detail.component';\r\nimport { InvoiceDetailComponent } from './invoice-detail/invoice-detail.component';\r\nimport { InvoicePaymentComponent } from './invoice-payment/invoice-payment.component';\r\nimport { TerminalServicesSummaryComponent } from './terminal-services-summary/terminal-services-summary.component';\r\nimport { TerminalServicesDetailsComponent } from './terminal-services-details/terminal-services-details.component';\r\nimport { ReeferDispatchDetailsComponent } from './reefer-dispatch-details/reefer-dispatch-details.component';\r\nimport { ReeferDispatchSummaryComponent } from './reefer-dispatch-summary/reefer-dispatch-summary.component';\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport { ChartModule } from 'primeng/chart';\r\nimport {CardModule} from 'primeng/card';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n AppHomeComponent,\r\n AppHeaderComponent,\r\n AppSidebarComponent,\r\n AppFooterComponent,\r\n AppContactsComponent,\r\n FAQsComponent,\r\n ContainerEnquiryComponent,\r\n ContainerYardSummaryComponent,\r\n VBSPaymentListingComponent,\r\n VBSPaymentDetailsComponent,\r\n AppointmentSummaryComponent,\r\n AppointmentDetailsComponent,\r\n AppointmentDetailsReeferComponent,\r\n DriverAppointmentSummaryComponent,\r\n VesselBookingSummaryComponent,\r\n VesselBookingListingComponent,\r\n VesselBookingDetailsComponent,\r\n VesselScheduleSummaryComponent,\r\n VesselScheduleDetailsComponent,\r\n VesselGateSummaryComponent,\r\n HoldsSummaryComponent,\r\n HoldsHistoryComponent,\r\n HoldsCustomsComponent,\r\n HoldsNotificationsComponent,\r\n HoldsNotificationsDetailsComponent,\r\n SettingsCustomerDetailsComponent,\r\n QuoteSummaryComponent,\r\n QuoteDetailsComponent,\r\n QuoteDetailComponent,\r\n InvoiceDetailComponent,\r\n InvoicePaymentComponent,\r\n TerminalServicesSummaryComponent,\r\n ReeferDispatchSummaryComponent,\r\n TerminalServicesDetailsComponent,\r\n ContainerVGMListingComponent,\r\n ContainerVGMDetailsComponent,\r\n ReeferDispatchDetailsComponent\r\n\r\n],\r\n imports: [\r\n DPCommonModule,\r\n BrowserModule,\r\n FormsModule,\r\n HttpClientModule,\r\n routing,\r\n BrowserAnimationsModule,\r\n PopoverModule.forRoot(),\r\n ModalModule.forRoot(),\r\n CalendarModule,\r\n TooltipModule,\r\n AccordionModule,\r\n OverlayPanelModule,\r\n ChartModule,\r\n CardModule,\r\n FileUploadModule\r\n ],\r\n\r\n providers: [CoreLibService, IdleService, SharedLibService, GlobalSearchParamService, appRoutingProviders, DatePipe,\r\n {provide: LocationStrategy, useClass: HashLocationStrategy}\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }","import { Component, Input, OnInit, OnChanges, AfterViewInit } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { DPDropdownBaseComponent } from './dp-dropdown-base.component';\r\n\r\n@Component({\r\n selector: 'dp-selectdropdown',\r\n template: `\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n `,\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: DPSelectDropdownComponent,\r\n multi: true,\r\n }]\r\n})\r\nexport class DPSelectDropdownComponent extends DPDropdownBaseComponent implements OnInit, AfterViewInit, OnChanges {\r\n @Input() ShowLabel: boolean = true;\r\n @Input() Dynamic: Boolean = false;\r\n\r\n\r\n ngAfterViewInit() {\r\n // Timeout being used to work around a bug in Angular that causes an exception\r\n setTimeout(() => {\r\n this.CheckValue();\r\n }, 10);\r\n }\r\n\r\n CheckValue() {\r\n if ((this.value != '') && ((this.value == null) || (this.value == undefined) || this.InvalidValue(this.value)))\r\n this.value = '';\r\n }\r\n}\r\n","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent, CoreLibService} from 'core-lib';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'vessel-booking-listing',\r\n templateUrl: './vessel-booking-listing.component.html'\r\n})\r\nexport class VesselBookingListingComponent extends DPComponent implements OnInit {\r\n public VesselBookingsListDataArray: Array = [];\r\n\r\n constructor(public CoreLib: CoreLibService, public Route: ActivatedRoute, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, public Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.CDRef = Detector;\r\n this.Detach();\r\n }\r\n\r\n ngOnInit() {\r\n this.ClearSearchFilters();\r\n this.LoadDropDowns();\r\n this.Route.params.subscribe(params => {\r\n this.GlobalSearchParams.VESSEL_VOYAGE_GKEY = params['id'];\r\n this.DoSearch();\r\n });\r\n }\r\n\r\n LoadDropDowns() {\r\n }\r\n OpenBooking(RecID) {\r\n this.Parent.SetModalFormRecID(RecID);\r\n this.CDRef.detectChanges();\r\n\r\n }\r\n DoSearch() {\r\n this.CoreLib.ProcessWebRequest('ProcessGetVesselQueryData', 'VesselDetailsBookingsList', 0, this.GlobalSearchParams, false).subscribe( Result => {\r\n this.VesselBookingsListDataArray = Result.JSONData;\r\n this.Parent.ExportableData = this.VesselBookingsListDataArray;\r\n this.Parent.DetectChanges();\r\n } );\r\n }\r\n\r\n ClearSearchFilters() {\r\n this.GlobalSearchParams.ClearGlobalSearchParams();\r\n this.Route.params.subscribe(params => {\r\n this.GlobalSearchParams.FROM_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate() - 7);\r\n this.GlobalSearchParams.FROM_DATE.setHours(1);\r\n this.GlobalSearchParams.VESSEL_VOYAGE_GKEY = params['id'];\r\n this.GlobalSearchParams.VIEW_TYPE = 1;\r\n if (this.GetSessionStorageData('VesselDetailsTab') == 'VesselDetailsDischargeLoadValidation') {\r\n this.GlobalSearchParams.REPORT_TYPE = 1018;\r\n }\r\n });\r\n }\r\n}\r\n","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

VGM

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{BookingErrorMessage}}
\\r\\n
{{ContainerErrorMessage}}
\\r\\n
{{VGMWeightErrorMessage}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Container ## de Contenedor'\\\" [required]=\\\"true\\\" [disabled]=\\\"IsLoading\\\"\\r\\n [(ngModel)]=\\\"ContainerVGMObject.CONTAINER_NO\\\" [UpperCase]=\\\"true\\\"\\r\\n (ngModelChange)=\\\"ContainerNumberChange(ContainerVGMObject.CONTAINER_NO)\\\">\\r\\n
\\r\\n
\\r\\n ISO CodeTipo de Contenedor'\\\"\\r\\n [(ngModel)]=\\\"ContainerVGMObject.ISO_CODE\\\" [disabled]=\\\"true\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Booking ## de Reserva'\\\" [required]=\\\"true\\\" [disabled]=\\\"IsLoading\\\"\\r\\n [(ngModel)]=\\\"ContainerVGMObject.BOOKING_NO\\\" [UpperCase]=\\\"true\\\"\\r\\n (ngModelChange)=\\\"BookingNumberChange(ContainerVGMObject.BOOKING_NO)\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","import { Component, OnInit } from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent, CoreLibService } from 'core-lib';\r\nimport { Router } from '@angular/router';\r\n@Component({\r\n templateUrl: './holds-summary.component.html'\r\n})\r\nexport class HoldsSummaryComponent extends DPComponent implements OnInit {\r\n public HoldsDataArray: Array = [];\r\n\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, public Router: Router) {\r\n super(CoreLib);\r\n }\r\n\r\n ngOnInit() {\r\n if (this.UserCanAccess([4, 5], 'SYSTEM_ROLE')) {\r\n this.SetSessionStorageItem('CustomsSearchType', '1');\r\n this.Router.navigate(['/holds-customs']);\r\n }\r\n this.ClearSearchFilters();\r\n this.DoSearch();\r\n }\r\n\r\n DoSearch() {\r\n if ((this.GlobalSearchParams.CONTAINER_NO.length > 3) || (this.GlobalSearchParams.BILL_OF_LADING_NO.length > 3)) {\r\n this.CoreLib.ProcessWebRequest('ProcessGetVesselQueryData', 'ShippingLineHoldsList', 0, this.GlobalSearchParams, false).subscribe(Result => {\r\n this.HoldsDataArray = Result.JSONData;\r\n });\r\n }\r\n }\r\n\r\n ClearSearchFilters() {\r\n this.GlobalSearchParams.ClearGlobalSearchParams();\r\n }\r\n}\r\n","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n

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

\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Las cancelaciones de verificación pueden hacerse antes de la 4:30 PM de\\r\\n lunes a viernes y sábados hasta las 11:30 AM. De lo contario, su solicitud será ejecutada.\\r\\n Cancellations can be performed before 4:30 PM Monday to Friday and\\r\\n Saturdays before 11:30 AM Otherwise, your request will be executed.\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Search Options\\r\\n Opciones de búsqueda\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Search FromBuscar desde'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.FROM_DATE\\\">\\r\\n
\\r\\n
\\r\\n ToHasta'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.TO_DATE\\\">\\r\\n
\\r\\n
\\r\\n Bill of Lading #Número de BL'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.BILL_OF_LADING_NO\\\">\\r\\n
\\r\\n
\\r\\n Booking ## de Reserva'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.BOOKING_NO\\\">\\r\\n
\\r\\n
\\r\\n Container ## de Contenedor'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.CONTAINER_NO\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n ZONA DGA\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Sello 1Sello 2Disch. SlotDriverTruckApp
{{FormatDateTimeExt(Data.REQUEST_SUBMIT_DATE_TIME, 'DD/MM/YYYY (HH:mm)')}}{{FormatDateTimeExt(Data.REQUESTED_DATE_TIME, 'DD/MM/YYYY (HH:mm)')}}\\r\\n {{Data.CONTAINER_NO}}\\r\\n {{Data.CONTAINER_NO}}\\r\\n {{Data.LINE_OP}}{{Data.CONSIGNEE}}{{Data.BILL_OF_LADING}}{{Data.BOOKING_NO}}{{Data.CATEGORY}}{{Data.SECONDARY_COMMODITY_CODE}} /\\r\\n {{Data.ADDITIONAL_COMMODITY_CODE}}{{Data.COMMODITY_DESCRIPTION}}{{Data.SERVICE_TYPE_NAME}}{{Data.REQUESTED_BY}}{{Data.ACT_SERVICE_TYPE_CODE}}{{Data.SEAL_NBR1}}{{Data.SEAL_NBR2}}{{Data.IMPED_ROAD}}{{FormatDateTimeExt(Data.SLOT_START_DATE_TIME, 'DD/MM (HH:mm)')}}{{Data.DRIVER_ID}}{{Data.TRUCK_LICENSE}}{{Data.N4_APPOINTMENT_NO}}
{{Data.N4_APP_STATUS}}
\\r\\n CREATED\\r\\n PROCESSING\\r\\n COMPLETED\\r\\n \\r\\n \\r\\n \\r\\n
Total Encontrado: {{TerminalServicesDataArray.length}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

Choose a Discharge Time-Slot

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n

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

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Las cancelaciones de Reefer Dispatch pueden hacerse despues de las 7:00 AM y antes de la 3:00 PM de\\r\\n lunes a viernes y sábados hasta las 11:30 AM. De lo contario, su solicitud será ejecutada.\\r\\n Cancellations can be performed after 7:00 AM and before 4:30 PM Monday to Friday and\\r\\n Saturdays before 11:30 AM Otherwise, your request will be executed.\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Search Options\\r\\n Opciones de búsqueda\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Search FromBuscar desde'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.FROM_DATE\\\">\\r\\n
\\r\\n
\\r\\n ToHasta'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.TO_DATE\\\">\\r\\n
\\r\\n
\\r\\n Bill of Lading #Número de BL'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.BILL_OF_LADING_NO\\\">\\r\\n
\\r\\n
\\r\\n Container ## de Contenedor'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.CONTAINER_NO\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n ZONA DGA\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Sello 1Sello 2App
{{FormatDateTimeExt(Data.REQUEST_SUBMIT_DATE_TIME, 'DD/MM/YYYY (HH:mm)')}}{{FormatDateTimeExt(Data.REQUESTED_DATE_TIME, 'DD/MM/YYYY (HH:mm)')}}\\r\\n {{Data.CONTAINER_NO}}\\r\\n {{Data.CONTAINER_NO}}\\r\\n {{Data.LINE_OP}}{{Data.CONSIGNEE}}{{Data.BILL_OF_LADING}}{{Data.CATEGORY}}{{Data.SECONDARY_COMMODITY_CODE}} /\\r\\n {{Data.ADDITIONAL_COMMODITY_CODE}}{{Data.COMMODITY_DESCRIPTION}}{{Data.SERVICE_TYPE_NAME}}{{Data.REQUESTED_BY}}{{Data.ACT_SERVICE_TYPE_CODE}}{{Data.SEAL_NBR1}}{{Data.SEAL_NBR2}}{{Data.IMPED_ROAD}}{{Data.N4_APPOINTMENT_NO}}
{{Data.N4_APP_STATUS}}
\\r\\n CREATED\\r\\n PROCESSING\\r\\n COMPLETED\\r\\n
Total Encontrado: {{ReeferDispatchDataArray.length}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

Choose a Discharge Time-Slot

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\";","export default \".modal\\r\\n{\\r\\n background:rgba(0,0,0,.3);\\r\\n display:grid;\\r\\n place-items: center;\\r\\n place-content: center; \\r\\n\\r\\n \\r\\n\\r\\n .modal-footer\\r\\n {\\r\\n display:flex;\\r\\n justify-content: center;\\r\\n .modal-footer_button-container\\r\\n {\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n width:10rem;\\r\\n\\r\\n \\r\\n }\\r\\n .modal-footer_button-container > button{\\r\\n background: hsl(0, 100%, 50%);\\r\\n color : #fff;\\r\\n width:10rem;\\r\\n }\\r\\n }\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInF1b3RlLXN1bW1hcnkuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7SUFFSSwwQkFBMEI7SUFDMUIsYUFBYTtJQUNiLG9CQUFvQjtJQUNwQixzQkFBc0I7Ozs7SUFJdEI7O1FBRUksYUFBYTtRQUNiLHdCQUF3QjtRQUN4Qjs7WUFFSSxjQUFjO1lBQ2Qsd0JBQXdCO1lBQ3hCLFlBQVk7OztTQUdmO1FBQ0Q7WUFDSSw4QkFBOEI7WUFDOUIsYUFBYTtZQUNiLFlBQVk7U0FDZjtLQUNKO0NBQ0oiLCJmaWxlIjoicXVvdGUtc3VtbWFyeS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1vZGFsXHJcbntcclxuICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwuMyk7XHJcbiAgICBkaXNwbGF5OmdyaWQ7XHJcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xyXG4gICAgcGxhY2UtY29udGVudDogY2VudGVyOyBcclxuXHJcbiAgIFxyXG5cclxuICAgIC5tb2RhbC1mb290ZXJcclxuICAgIHtcclxuICAgICAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgLm1vZGFsLWZvb3Rlcl9idXR0b24tY29udGFpbmVyXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgd2lkdGg6MTByZW07XHJcblxyXG4gICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAubW9kYWwtZm9vdGVyX2J1dHRvbi1jb250YWluZXIgPiBidXR0b257XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGhzbCgwLCAxMDAlLCA1MCUpO1xyXG4gICAgICAgICAgICBjb2xvciA6ICNmZmY7XHJcbiAgICAgICAgICAgIHdpZHRoOjEwcmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0= */\";","/**\r\n * This file includes polyfills needed by Angular and is loaded before the app.\r\n * You can add your own extra polyfills to this file.\r\n *\r\n * This file is divided into 2 sections:\r\n * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.\r\n * 2. Application imports. Files imported after ZoneJS that should be loaded before your main\r\n * file.\r\n *\r\n * The current setup is for so-called \"evergreen\" browsers; the last versions of browsers that\r\n * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),\r\n * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.\r\n *\r\n * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html\r\n */\r\n\r\n/***************************************************************************************************\r\n * BROWSER POLYFILLS\r\n */\r\n\r\n/** IE9, IE10 and IE11 requires all of the following polyfills. **/\r\n// import 'core-js/es6/symbol';\r\n//import 'core-js/es6/object';\r\n// import 'core-js/es6/function';\r\n// import 'core-js/es6/parse-int';\r\n// import 'core-js/es6/parse-float';\r\n// import 'core-js/es6/number';\r\n// import 'core-js/es6/math';\r\n//import 'core-js/es6/string';\r\n// import 'core-js/es6/date';\r\n//import 'core-js/es6/array';\r\n// import 'core-js/es6/regexp';\r\n// import 'core-js/es6/map';\r\n// import 'core-js/es6/weak-map';\r\n// import 'core-js/es6/set';\r\nimport 'core-js/es/object';\r\nimport 'core-js/es/string';\r\nimport 'core-js/es/array';\r\n/** IE10 and IE11 requires the following for NgClass support on SVG elements */\r\n import 'classlist.js'; // Run `npm install --save classlist.js`.\r\n\r\n/** IE10 and IE11 requires the following for the Reflect API. */\r\n// import 'core-js/es6/reflect';\r\n\r\n\r\n/** Evergreen browsers require these. **/\r\n// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove.\r\n//import 'core-js/es7/reflect';\r\nimport 'core-js/proposals/reflect-metadata'\r\n\r\n/**\r\n * Web Animations `@angular/platform-browser/animations`\r\n * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.\r\n * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).\r\n **/\r\n// import 'web-animations-js'; // Run `npm install --save web-animations-js`.\r\n\r\n/**\r\n * By default, zone.js will patch all possible macroTask and DomEvents\r\n * user can disable parts of macroTask/DomEvents patch by setting following flags\r\n */\r\n\r\n// (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame\r\n// (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick\r\n// (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames\r\n\r\n/*\r\n* in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js\r\n* with the following flag, it will bypass `zone.js` patch for IE/Edge\r\n*/\r\n// (window as any).__Zone_enable_cross_context_check = true;\r\n\r\n/***************************************************************************************************\r\n * Zone JS is required by default for Angular itself.\r\n */\r\nimport 'zone.js/dist/zone'; // Included with Angular CLI.\r\n\r\n\r\n/***************************************************************************************************\r\n * APPLICATION IMPORTS\r\n */\r\n","import { Component, OnInit, OnChanges, SimpleChanges, Attribute } from '@angular/core';\r\nimport { ElementBase } from './element-base';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'dp-textarea',\r\n styles: [`\r\n textarea {\r\n max-width: 100%;\r\n min-height: 55px;\r\n }\r\n `],\r\n template: `\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n A valid {{LabelCaptionText}} is required!\r\n
\r\n
\r\n {{ValidationMessage}}\r\n
\r\n
\r\n `,\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: DPTextAreaComponent,\r\n multi: true,\r\n }] \r\n})\r\nexport class DPTextAreaComponent extends ElementBase implements OnInit, OnChanges {\r\n constructor(@Attribute('required') public required) {\r\n super();\r\n }\r\n ngOnInit() {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n }\r\n}","import { Component, Input, Output, OnInit, OnChanges, SimpleChanges, EventEmitter, Attribute, Optional, ElementRef, ViewChild } from '@angular/core';\r\nimport { ElementBase } from './element-base';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ControlContainer, NgForm } from '@angular/forms';\r\nimport { DPComponent } from './dp.component';\r\n\r\nexport function controlContainerFactory(controlContainer?: ControlContainer) {\r\n return controlContainer;\r\n}\r\n\r\n@Component({\r\n selector: 'dp-edit',\r\n template: ` \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n A valid {{LabelCaptionText}} is required!\r\n
\r\n
\r\n {{ValidationMessage}}\r\n
\r\n
\r\n `,\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: DPEditComponent,\r\n multi: true,\r\n }],\r\n // https://stackoverflow.com/questions/46323762/form-in-form-can-there-be-inheritance-of-form-controls\r\n // viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\r\n viewProviders: [{ provide: ControlContainer, useFactory: controlContainerFactory, deps: [[new Optional(), NgForm]]}] \r\n})\r\nexport class DPEditComponent extends ElementBase implements OnInit, OnChanges {\r\n @Input() ContainerCheck: boolean = false;\r\n @Input() PasswordToggle: boolean = false; // used to add the toggle button onto the edit\r\n @Input() EmailCheck: boolean = false;\r\n @ViewChild('TextInput', {static: false}) TextInput: ElementRef;\r\n private InputCheckTimeout = null;\r\n private StoredValue: string = '';\r\n public ShowPassword: Boolean = false; // used to show the eye icons\r\n public ValidPattern: RegExp = null;\r\n // Allow decimal numbers. The \\. is only allowed once to occur\r\n private FloatRegex: RegExp = new RegExp(/^\\d*\\.?\\d*$/g); // Positive float values only\r\n private NumberRegex: RegExp = new RegExp(/^[0-9]+$/g); // Positive integers only // ^[0-9]+$ // Was: ^\\d+$/g\r\n private TemperatureRegex: RegExp = new RegExp(/^[-+]?\\d*\\.?\\d*$/g); // Positive or negative float values\r\n private EmailRegex: RegExp = new RegExp(/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/); // Email address regex \"X@X.X\"\r\n private ContainerRegex: RegExp = new RegExp('^([A-Z]{4})(\\\\d{7})');\r\n // Allow key codes for special events. Reflect :\r\n // Backspace, tab, end, home\r\n private SpecialKeys: Array = ['Backspace', 'Tab', 'End', 'Home', 'ArrowLeft', 'ArrowRight', 'Delete'];\r\n private NumberKeys: Array = ['-', '.', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];\r\n private LetterKeys: Array = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];\r\n\r\n ngOnInit() {\r\n if (this.ContainerCheck) {\r\n this.ValidPattern = this.ContainerRegex;\r\n }\r\n if (this.EmailCheck) {\r\n this.ValidPattern = this.EmailRegex;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n //\r\n }\r\n\r\n GetInputType() {\r\n if ((this.InputType == 'float') || (this.InputType == 'temp')) {\r\n return 'text';\r\n } else {\r\n return this.InputType;\r\n }\r\n }\r\n\r\n GetInputMinLength() {\r\n if ((this.InputType == 'float') || (this.InputType == 'temp')) {\r\n return '';\r\n } else {\r\n return this.InputMinLength;\r\n }\r\n }\r\n\r\n GetInputMaxLength() {\r\n if ((this.InputType == 'float') || (this.InputType == 'temp')) {\r\n return '';\r\n } else {\r\n return this.InputMaxLength;\r\n }\r\n }\r\n\r\n InRange(Value) {\r\n return (isNaN(parseFloat(this.InputMin)) || ((Value == '-') && (parseFloat(this.InputMin) < 0)) ||\r\n (Value >= parseFloat(this.InputMin))) && (isNaN(parseFloat(this.InputMax)) || (Value <= parseFloat(this.InputMax)));\r\n }\r\n\r\n InternalCheckInput() {\r\n if (this.UpperCase) {\r\n this.value = this.value.toUpperCase();\r\n }\r\n let EValue = this.TextInput.nativeElement.value;\r\n let Prevent = false;\r\n switch (this.InputType) {\r\n case 'float':\r\n Prevent = this.CheckFloat(EValue);\r\n break;\r\n case 'number':\r\n Prevent = this.CheckNumber(EValue);\r\n break;\r\n case 'temp':\r\n Prevent = this.CheckTemperature(EValue);\r\n break;\r\n }\r\n if (Prevent) {\r\n this.TextInput.nativeElement.value = this.StoredValue;\r\n this.value = this.StoredValue;\r\n } else {\r\n this.StoredValue = EValue;\r\n }\r\n this.InputCheckTimeout = null;\r\n }\r\n\r\n CheckInput() {\r\n if (this.InputCheckTimeout == null) {\r\n this.InputCheckTimeout = setTimeout(\r\n () => this.InternalCheckInput(),\r\n 333\r\n )\r\n }\r\n }\r\n\r\n CheckFloat(Next: string) {\r\n return Next && (!String(Next).match(this.FloatRegex) || !this.InRange(parseFloat(Next)));\r\n }\r\n\r\n CheckNumber(Next: string) {\r\n return Next && (!String(Next).match(this.NumberRegex) || !this.InRange(parseInt(Next)));\r\n }\r\n\r\n CheckTemperature(Next: string) {\r\n if (Next && ((Next == '-') && (parseFloat(this.InputMin) < 0))) {\r\n return false;\r\n } else {\r\n return Next && (!String(Next).match(this.TemperatureRegex) || !this.InRange(parseFloat(Next)));\r\n }\r\n }\r\n\r\n ViewPasswordToggle() {\r\n this.ShowPassword = !this.ShowPassword;\r\n let el = document.getElementById(this.ComponentID);\r\n if (this.ShowPassword) {\r\n el.setAttribute('type', 'text');\r\n this.InputType = 'text';\r\n } else {\r\n el.setAttribute('type', 'password');\r\n this.InputType = 'password';\r\n }\r\n DPComponent.ActiveComponent.CheckChanges();\r\n }\r\n\r\n OnKeydown(event: KeyboardEvent) {\r\n if (this.SpecialKeys.indexOf(event.key) !== -1) {\r\n return;\r\n }\r\n // Do not use event.keycode this is deprecated.\r\n // See: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode\r\n/*\r\n let Current: string = this.TextInput.nativeElement.value;\r\n // We need this because the current value on the DOM element\r\n // is not yet updated with the value from this event\r\n let Next: string = Current.concat(event.key);\r\n*/\r\n let Prevent = false;\r\n switch (this.InputType) {\r\n case 'float':\r\n Prevent = this.NumberKeys.indexOf(event.key) < 1 // this.CheckFloat(Next);\r\n break;\r\n case 'number':\r\n Prevent = this.NumberKeys.indexOf(event.key) < 2; // this.CheckNumber(Next);\r\n break;\r\n case 'temp':\r\n Prevent = this.NumberKeys.indexOf(event.key) < 0; // this.CheckTemperature(Next);\r\n break;\r\n }\r\n if (event.key) {\r\n let Key = event.key.toUpperCase();\r\n if ((this.ContainerCheck && this.EmailCheck) && ((this.NumberKeys.indexOf(Key) < 2) && (this.LetterKeys.indexOf(Key) == -1)))\r\n Prevent = true;\r\n }\r\n if (Prevent)\r\n event.preventDefault();\r\n }\r\n}\r\n","import {ChangeDetectorRef, Component, EventEmitter, Input, QueryList, ViewChildren, OnDestroy} from '@angular/core';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport {NgForm} from '@angular/forms';\r\nimport moment from 'moment';\r\nimport sjcl from 'sjcl';\r\n\r\n@Component({\r\n selector: 'dp-base',\r\n template: ''\r\n})\r\n\r\nexport class DPComponentBase implements OnDestroy {\r\n public static ActiveComponent: DPComponentBase;\r\n public static ClientVersion = '';\r\n public static Errors = null;\r\n public static GlobalChange: EventEmitter = new EventEmitter();\r\n public static ModalFormRecID = 0;\r\n public static PerfDebug = false;\r\n public static RequestPath = '';\r\n public static RequestTimeout = 300000;\r\n public static BrowserVersion = '';\r\n private static EncryptSessionStorageKey = 'Encrypted';\r\n public static DefaultLanguage: string = 'EN';\r\n\r\n private HookedForms: any[] = [];\r\n private RequestCount = 0;\r\n public CDRef: ChangeDetectorRef;\r\n public ExportableData: any[];\r\n public IsDetached: Boolean;\r\n @Input() Parent: DPComponentBase;\r\n @ViewChildren(NgForm) Forms: QueryList;\r\n\r\n constructor() {\r\n if (!this.SessionStorageKeyExists(DPComponentBase.EncryptSessionStorageKey))\r\n this.SetEncryptSessionStorage(true);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.IsDetached = false;\r\n this.RequestCount = 0;\r\n }\r\n\r\n public get IsLoading() {\r\n return this.RequestCount > 0;\r\n }\r\n\r\n public HasDataList() {\r\n return this.ElementExists('DataList') ||\r\n this.ElementExists('DataList01') ||\r\n this.ElementExists('DataList02') ||\r\n this.ElementExists('DataList03') ||\r\n this.ElementExists('DataList04') ||\r\n this.ElementExists('DataList05') ||\r\n this.ElementExists('DataList06') ||\r\n this.ElementExists('DataList07') ||\r\n this.ElementExists('DataList08')\r\n }\r\n\r\n public ElementExists(ElementID: string) {\r\n return document.getElementById(ElementID) != null;\r\n }\r\n\r\n public ExportDataToExcel(Filename: string) {\r\n if (this.ElementExists('DataListModal03')) {\r\n this.ExportDataToCSV('DataListModal03', Filename + '.csv')\r\n } else if (this.ElementExists('DataListModal02')) {\r\n this.ExportDataToCSV('DataListModal02', Filename + '.csv')\r\n } else if (this.ElementExists('DataListModal01')) {\r\n this.ExportDataToCSV('DataListModal01', Filename + '.csv')\r\n } else if (this.ElementExists('DataListModal')) {\r\n this.ExportDataToCSV('DataListModal', Filename + '.csv')\r\n } else if (this.ElementExists('DataList08')) {\r\n this.ExportDataToCSV('DataList08', Filename + '.csv')\r\n } else if (this.ElementExists('DataList07')) {\r\n this.ExportDataToCSV('DataList07', Filename + '.csv')\r\n } else if (this.ElementExists('DataList06')) {\r\n this.ExportDataToCSV('DataList06', Filename + '.csv')\r\n } else if (this.ElementExists('DataList05')) {\r\n this.ExportDataToCSV('DataList05', Filename + '.csv')\r\n } else if (this.ElementExists('DataList04')) {\r\n this.ExportDataToCSV('DataList04', Filename + '.csv')\r\n } else if (this.ElementExists('DataList03')) {\r\n this.ExportDataToCSV('DataList03', Filename + '.csv')\r\n } else if (this.ElementExists('DataList02')) {\r\n this.ExportDataToCSV('DataList02', Filename + '.csv')\r\n } else if (this.ElementExists('DataList01')) {\r\n this.ExportDataToCSV('DataList01', Filename + '.csv')\r\n } else if (this.ElementExists('DataList')) {\r\n this.ExportDataToCSV('DataList', Filename + '.csv');\r\n }\r\n }\r\n\r\n public ExportDataToCSV(TableID: string, Filename: string) {\r\n let ExportableData = this.ExportableData;\r\n if (ExportableData) {\r\n let Data = [];\r\n let Keys = [];\r\n let Row = [];\r\n let Funcs = [];\r\n // Get the headers and keys\r\n let Table = document.getElementById(TableID);\r\n let Rows = Table.querySelectorAll('table thead tr');\r\n for (let i = 0; i < Rows.length; i++) {\r\n Row = [];\r\n let Cols = Rows[i].querySelectorAll('th');\r\n for (let j = 0; j < Cols.length; j++) {\r\n let Key = Cols[j].getAttribute('data-key');\r\n if (Key) {\r\n Keys.push(Key);\r\n let Func = Cols[j].getAttribute('data-function');\r\n if (Func) {\r\n Funcs.push(Func)\r\n } else {\r\n Funcs.push('');\r\n }\r\n Row.push(Cols[j].textContent.replace(/\\r?\\n/g, '')); // Replaces linebreaks with empty string\r\n }\r\n }\r\n Data.push(Row.join(','));\r\n }\r\n let DataBreakKey = Table.getAttribute('data-break-key');\r\n let BreakKeyValue = '';\r\n // Extract key values from the data\r\n for (let i = 0; i < ExportableData.length; i++) {\r\n let Item = ExportableData[i];\r\n if (DataBreakKey) {\r\n BreakKeyValue = Item[DataBreakKey];\r\n }\r\n Row = [];\r\n for (let j = 0; j < Keys.length; j++) {\r\n if (Item.hasOwnProperty(Keys[j])) {\r\n let Value;\r\n if (Funcs[j] !== '') {\r\n Value = this.FormatContent(this.ExecuteFunc(Funcs[j], Item[Keys[j]]));\r\n } else {\r\n Value = this.FormatContent(Item[Keys[j]]);\r\n }\r\n Row.push(String(Value).replace(/,/g, ''));// Replaces all commas with empty strings for CSV\r\n } else {\r\n Row.push('');\r\n }\r\n }\r\n Data.push(Row.join(','));\r\n let LastItem = i == ExportableData.length - 1;\r\n let BreakKeyValueChange = DataBreakKey && (i < ExportableData.length - 1) && (ExportableData[i + 1][DataBreakKey] !== BreakKeyValue);\r\n // If there's a break key, and this is the last item, or the break key is changing, check the footer rows\r\n if (DataBreakKey && (LastItem || BreakKeyValueChange)) {\r\n let FooterRows = document.querySelectorAll('tfoot[data-break-value=\\'' + ExportableData[i][DataBreakKey] + '\\'] tr'); ;\r\n for (let j = 0; j < FooterRows.length; j++) {\r\n let FooterRowCells = FooterRows[j].querySelectorAll('td');\r\n Row = [];\r\n for (let k = 0; k < FooterRowCells.length; k++) {\r\n let Colspan = parseInt(FooterRowCells[k].getAttribute('colspan')) || 0;\r\n if (Colspan > 1) {\r\n Colspan--;\r\n }\r\n // Pad out the columns\r\n for (let n = 0; n < Colspan; n++) {\r\n Row.push('');\r\n }\r\n Row.push(FooterRowCells[k].textContent);\r\n }\r\n // Push this footer row\r\n Data.push(Row.join(','));\r\n }\r\n // Push a blank row\r\n if (!LastItem) {\r\n Data.push('');\r\n }\r\n }\r\n }\r\n this.ExportCSV(Data.join('\\r\\n'), Filename);\r\n } else {\r\n console.log('No ExportableData!');\r\n }\r\n }\r\n // https://www.everythingfrontend.com/posts/studying-javascript-eval.html\r\n private ExecuteFunc(FuncString: string, Value) {\r\n let Func = new Function('param1', FuncString);\r\n return Func(Value);\r\n }\r\n\r\n CheckChanges() {\r\n if (this.IsDetached) {\r\n this.DetectChanges();\r\n }\r\n }\r\n\r\n\r\n public get CanExport() {\r\n return this.ExportableData && (this.ExportableData.length > 0) && (this.HasDataList());\r\n }\r\n public static Translate(value) {\r\n if (DPComponentBase.DefaultLanguage !== '') {\r\n let Tag = '<' + DPComponentBase.DefaultLanguage + '>';\r\n let StartIndex = value.indexOf(Tag);\r\n if (StartIndex > -1) {\r\n StartIndex = StartIndex + Tag.length;\r\n Tag = ''\r\n let EndIndex = value.indexOf(Tag);\r\n if (EndIndex > -1) {\r\n value = value.substring(StartIndex, EndIndex);\r\n }\r\n }\r\n }\r\n return value;\r\n }\r\n\r\n public get WebRequestPath() {\r\n return DPComponentBase.RequestPath;\r\n }\r\n\r\n public set WebRequestPath(Value) {\r\n DPComponentBase.RequestPath = Value;\r\n }\r\n\r\n public get DefaultLanguage(): string {\r\n let value = this.GetSessionStorageData('DefaultLanguage');\r\n if (!value)\r\n value = DPComponentBase.DefaultLanguage\r\n else\r\n DPComponentBase.DefaultLanguage = value;\r\n return value;\r\n }\r\n\r\n public set DefaultLanguage(value: string) {\r\n this.SetSessionStorageItem('DefaultLanguage', value);\r\n DPComponentBase.DefaultLanguage = value;\r\n DPComponentBase.GlobalChange.emit();\r\n }\r\n\r\n private InternalGetSessionStorageData(SessionKey: string, Encrypted: boolean) {\r\n let Item = sessionStorage.getItem(SessionKey);\r\n if (Encrypted) {\r\n if (Item)\r\n return sjcl.decrypt('aabb!!@@', Item)\r\n else\r\n return Item;\r\n }\r\n else\r\n return Item;\r\n }\r\n\r\n public IsSessionStorageEncrypted() {\r\n return this.InternalGetSessionStorageData(DPComponentBase.EncryptSessionStorageKey, true) == 'true';\r\n }\r\n\r\n private InternalSetSessionStorageItem(SessionKey: string, SessionData: string, Encrypted: boolean) {\r\n if ((SessionData == null) || (typeof SessionData == 'undefined'))\r\n SessionData = '';\r\n if (Encrypted)\r\n sessionStorage.setItem(SessionKey, sjcl.encrypt('aabb!!@@', SessionData))\r\n else\r\n sessionStorage.setItem(SessionKey, SessionData);\r\n }\r\n\r\n public SetEncryptSessionStorage(Encrypt: boolean) {\r\n let IsEncrypted = this.IsSessionStorageEncrypted();\r\n if (IsEncrypted != Encrypt) {\r\n for (var i = 0; i < sessionStorage.length; i++) {\r\n let Key = sessionStorage.key(i);\r\n let Data = this.InternalGetSessionStorageData(Key, IsEncrypted)\r\n this.InternalSetSessionStorageItem(Key, Data, Encrypt);\r\n }\r\n this.InternalSetSessionStorageItem(DPComponentBase.EncryptSessionStorageKey, Encrypt ? 'true' : 'false', true);\r\n }\r\n }\r\n\r\n public GetSessionStorageData(SessionKey: string): any {\r\n return this.InternalGetSessionStorageData(SessionKey, this.IsSessionStorageEncrypted());\r\n }\r\n\r\n public SetSessionStorageItem(SessionKey: string, SessionData: string) {\r\n this.InternalSetSessionStorageItem(SessionKey, SessionData, this.IsSessionStorageEncrypted());\r\n }\r\n\r\n public RemoveSessionStorageItem(SessionKey: string) {\r\n sessionStorage.removeItem(SessionKey);\r\n }\r\n\r\n public SessionStorageKeyExists(SessionKey: string) {\r\n for (var i = 0; i < sessionStorage.length; i++) {\r\n if (sessionStorage.key(i) === SessionKey)\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public ClearSessionStorage() {\r\n let IsEncrypted = this.IsSessionStorageEncrypted();\r\n sessionStorage.clear();\r\n this.InternalSetSessionStorageItem(DPComponentBase.EncryptSessionStorageKey, IsEncrypted ? 'true' : 'false', true);\r\n }\r\n\r\n private CheckHookedForms() {\r\n // Call HookFormChanges only if component is detached, and the number of forms not equal to how many are hooked\r\n if (this.IsDetached && (this.Forms && (this.Forms.length !== this.HookedForms.length))) {\r\n this.HookFormChanges();\r\n }\r\n }\r\n\r\n public DetectChanges(UseActive?, CheckParent?) {\r\n if (UseActive || !this.CDRef) {\r\n if (DPComponentBase.ActiveComponent && (DPComponentBase.ActiveComponent !== this)) {\r\n DPComponentBase.ActiveComponent.DetectChanges();\r\n }\r\n } else if (this.CDRef) {\r\n if (!this.CDRef['destroyed']) {\r\n if (DPComponentBase.PerfDebug)\r\n console.log(this.constructor.name + '.DetectChanges()');\r\n this.CDRef.detectChanges();\r\n this.CheckHookedForms();\r\n if (CheckParent && this.Parent && this.Parent.IsDetached) {\r\n this.Parent.DetectChanges();\r\n }\r\n }\r\n }\r\n }\r\n\r\n private HookFormChanges() {\r\n let self = this;\r\n let CurrentForms = [];\r\n this.Forms.forEach(function(item: NgForm) {\r\n CurrentForms.push(item);\r\n if (self.HookedForms.indexOf(item) == -1) {\r\n self.HookedForms.push(item);\r\n item.valueChanges.pipe(debounceTime(250)).subscribe(() => {\r\n self.DetectChanges();\r\n });\r\n }\r\n });\r\n for (let i = self.HookedForms.length - 1; i >= 0; i--) {\r\n if (CurrentForms.indexOf(self.HookedForms[i]) == -1) {\r\n self.HookedForms.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n public IsInViewport(elem, CheckRight = false) {\r\n if (!elem) {\r\n return;\r\n }\r\n let bounding = elem.getBoundingClientRect();\r\n return (\r\n bounding.top.toFixed() >= 0 &&\r\n bounding.left.toFixed() >= 0 &&\r\n bounding.bottom.toFixed() <= (window.innerHeight || document.documentElement.clientHeight) &&\r\n (!CheckRight || bounding.right.toFixed() <= (window.innerWidth || document.documentElement.clientWidth))\r\n );\r\n };\r\n\r\n public CheckTableFooter(Wait) {\r\n /* Find the table and last row on any page */\r\n let TableFooter = document.querySelector('.table .table-footer');\r\n let LastRow = document.querySelector('.table tbody tr:last-child');\r\n if (TableFooter && LastRow) {\r\n /* Check if the footer is outside of viewport and set it to fixed */\r\n let Offset = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n if (Offset >= 0 && this.IsInViewport(TableFooter)\r\n && (!TableFooter.classList.contains('fixed') || this.IsInViewport(LastRow))) {\r\n TableFooter.setAttribute('class', 'table-footer');\r\n } else if (!this.IsInViewport(TableFooter)) {\r\n TableFooter.setAttribute('class', 'table-footer fixed');\r\n let FooterRowCells = TableFooter.querySelectorAll('tr td');\r\n for (let i = 0; i < FooterRowCells.length; i++) {\r\n let DataKey = FooterRowCells[i].getAttribute('data-key');\r\n let HeaderCell = document.querySelector('table thead tr th[data-key=' + DataKey + ']');\r\n if (HeaderCell) {\r\n (FooterRowCells[i] as HTMLElement).style.width = (HeaderCell as HTMLElement).offsetWidth + 'px';\r\n }\r\n }\r\n }\r\n } else if (Wait > 0) {\r\n setTimeout(() => {\r\n this.CheckTableFooter(0);\r\n }, Wait);\r\n }\r\n }\r\n\r\n public UpdateRequestCount(Increment: boolean) {\r\n if (Increment) {\r\n this.RequestStart()\r\n } else {\r\n this.RequestEnd();\r\n }\r\n }\r\n\r\n private RequestStart() {\r\n this.RequestCount++;\r\n }\r\n\r\n private RequestEnd() {\r\n let IsLast = this.RequestCount == 1;\r\n if (this.RequestCount > 0) {\r\n this.RequestCount--;\r\n }\r\n if (IsLast) {\r\n if (this.IsDetached) {\r\n this.DetectChanges();\r\n }\r\n this.CheckTableFooter(0);\r\n }\r\n }\r\n\r\n public SetBodyModalOpen(Enable: Boolean) {\r\n if (Enable) {\r\n document.body.classList.add('modal-open');\r\n } else {\r\n document.body.classList.remove('modal-open');\r\n }\r\n }\r\n\r\n public SetModalFormRecID(ID: number) {\r\n if ((ID == 0) && (this.Parent))\r\n this.Parent.SetCoreLibComponent();\r\n DPComponentBase.ModalFormRecID = ID;\r\n this.SetBodyModalOpen(ID !== 0);\r\n this.DetectChanges(false, ID == 0);\r\n }\r\n\r\n public SetCoreLibComponent() {\r\n // Implemented in WSComponent\r\n }\r\n\r\n public GetModalFormRecID(): number {\r\n return DPComponentBase.ModalFormRecID;\r\n }\r\n\r\n public RequestSuccessful(CloseModal) {\r\n let IsReset = DPComponentBase.ModalFormRecID != 0;\r\n if (CloseModal) {\r\n this.SetModalFormRecID(0);\r\n }\r\n if (IsReset && CloseModal) {\r\n if (this.Parent) {\r\n this.Parent.DoSearch()\r\n } else {\r\n this.DoSearch();\r\n }\r\n }\r\n }\r\n // Or at least: is very likely a date\r\n public IsDate(Content: string) {\r\n let DateTimeParts = Content.split('T');\r\n if (DateTimeParts.length == 2) {\r\n let DateParts = DateTimeParts[0].split('-');\r\n let TimeParts = DateTimeParts[1].split(':');\r\n return ((DateParts.length = 3) && (TimeParts.length == 3));\r\n }\r\n return false;\r\n }\r\n\r\n\r\n public FormatDateTimeExt(value, args) {\r\n if (value) {\r\n if (moment(value).isValid) {\r\n if ((moment(value, 'YYYY').year() === 3000) || (moment(value, 'YYYY').year() < 1900)) {\r\n return '';\r\n } else {\r\n return moment(value).format(args);\r\n }\r\n } else {\r\n return 'N/A';\r\n }\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n public FormatContent(Content: string) {\r\n if (this.IsDate(Content + '')) {\r\n // In case it really isn't an ISO8601 date\r\n let Parsed = Date.parse(Content);\r\n if (!isNaN(Parsed)) {\r\n return this.FormatDateTimeExt(Content, 'DD/MM/YYYY HH:mm:ss');\r\n }\r\n }\r\n return Content;\r\n }\r\n\r\n public ExportTableToCSV(TableID: string, Filename: string) {\r\n let Table = document.getElementById(TableID);\r\n let Data = [];\r\n let Rows = Table.querySelectorAll('table tr');\r\n for (let i = 0; i < Rows.length; i++) {\r\n let Row = [], Cols = Rows[i].querySelectorAll('td, th');\r\n for (let j = 0; j < Cols.length; j++) {\r\n Row.push(this.FormatContent(Cols[j].textContent.replace(/\\r?\\n/g, '')));\r\n }\r\n Data.push(Row.join(','));\r\n }\r\n this.ExportCSV(Data.join('\\r\\n'), Filename);\r\n }\r\n\r\n public ExportCSV(CSV: string, Filename: string) {\r\n if (Filename === '') {\r\n return CSV;\r\n }\r\n let CSVBlob = new Blob([CSV], { type: 'text/csv' });\r\n const nav = (window.navigator as any);\r\n if (nav.msSaveOrOpenBlob) {\r\n nav.msSaveOrOpenBlob(CSVBlob, Filename);\r\n } else {\r\n let URL = window.URL.createObjectURL(CSVBlob);\r\n let Anchor: any = document.createElement('a');\r\n Anchor.setAttribute('style', 'display:none;');\r\n document.body.appendChild(Anchor);\r\n Anchor.href = URL;\r\n Anchor.download = Filename;\r\n Anchor.target = '_blank';\r\n Anchor.click();\r\n }\r\n }\r\n public DoSearch() {\r\n\r\n }\r\n}","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent, CoreLibService, PagingController} from 'core-lib';\r\n\r\n@Component({\r\n templateUrl: './appointment-summary.component.html'\r\n})\r\nexport class AppointmentSummaryComponent extends DPComponent implements OnInit {\r\n public AppointmentSummaryDataArray: Array = [];\r\n public Pagination: PagingController = new PagingController();\r\n\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, public Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.Pagination.Component = this;\r\n this.CDRef = Detector;\r\n this.Detach();\r\n }\r\n\r\n ngOnInit() {\r\n this.ClearSearchFilters();\r\n this.DoSearch();\r\n this.Pagination.RecordsPerPage = 1000;\r\n }\r\n\r\n DoSearch() {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetAppointmentList', 0, this.GlobalSearchParams, false, true, 500).subscribe(Result => {\r\n this.AppointmentSummaryDataArray = Result.JSONData;\r\n this.Pagination.RecordCount = this.AppointmentSummaryDataArray.length;\r\n });\r\n }\r\n\r\n ClearSearchFilters() {\r\n this.GlobalSearchParams.ClearGlobalSearchParams();\r\n this.GlobalSearchParams.FROM_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate());\r\n this.GlobalSearchParams.FROM_DATE.setHours(0, 0, 0);\r\n this.GlobalSearchParams.TO_DATE.setDate(this.GlobalSearchParams.TO_DATE.getDate() + 1);\r\n this.GlobalSearchParams.TO_DATE.setHours(0, 0, 0);\r\n }\r\n\r\n public PrintAppointment(InAppID) {\r\n let DownloadParams: any = {\r\n \"RequestID\": \"ProcessPrintTruckDriverAppointment\",\r\n \"APPOINTMENT_ID\": InAppID\r\n }\r\n\r\n this.CoreLib.DownloadFile(DownloadParams).subscribe(Result => {\r\n if (window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(Result, 'Appointment-' + InAppID);\r\n } else {\r\n window.open(URL.createObjectURL(Result));\r\n }\r\n });\r\n }\r\n}\r\n","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Resumen de Reserva / Mantenimiento

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

Añadir / Var / Modificar reservas.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n

Transacciones

\\r\\n

Citas

\\r\\n

Crear Cita...

\\r\\n
\\r\\n
0) && !IsLoading\\\">\\r\\n
\\r\\n Search Options\\r\\n Opciones de búsqueda\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Fecha 0\\\">ChoferNombre del ClienteTipo de TransaccionDetalleBalance
\\r\\n {{FormatDateTimeExt(Data.TRANSACTION_DATE_TIME, 'DD/MM')}}
\\r\\n {{FormatDateTimeExt(Data.TRANSACTION_DATE_TIME, 'HH:mm')}}\\r\\n
0\\\">\\r\\n {{Data.TRUCK_DRIVER_NAME}}
\\r\\n Card #: {{Data.TRUCK_DRIVER_CARD_NO}}\\r\\n
\\r\\n {{Data.CONSIGNEE}}\\r\\n \\r\\n {{Data.TRANSACTION_TYPE}}\\r\\n \\r\\n Cont #: {{Data.CONTAINER_NO}}\\r\\n \\r\\n 0 ? 'text-success' : 'text-danger'\\\">{{Data.TRANSACTION_AMOUNT | currency:'USD':true:'1.2-2'}}
\\r\\n {{Data.RUNNING_TOTAL | currency:'USD':true:'1.2-2'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Usted no tiene citas proximas...\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n App #: {{Data.RECORD_ID}} - {{FormatDateTimeExt(Data.APPOINTMENT_DATE, 'DD/MM/YYYY (HH:mm)')}} 0\\\">Chofer: {{Data.DRIVER_ID}}\\r\\n \\r\\n
\\r\\n
App #: {{Data.RECORD_ID}}
\\r\\n
Tipo: {{Data.APP_TYPE}}
\\r\\n
Contenedor: {{Data.CONTAINER_NO}}
\\r\\n
Fecha: {{FormatDateTimeExt(Data.APPOINTMENT_DATE, 'DD/MM/YYYY (HH:mm)')}}
\\r\\n
Booking: {{Data.BOOKING_NO}}
\\r\\n
Chofer: {{Data.DRIVER_ID}}
\\r\\n
Estado: {{Data.STATUS}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Estado:
{{Data.STATUS}}
\\r\\n
Peso:
{{Data.WEIGHT}}
\\r\\n
Notas:
{{Data.NOTES}}
\\r\\n
Cita creada:
{{Data.CREATED}}
\\r\\n
Creado por:
{{Data.USERNAME}}
\\r\\n
Tipo De Equipo:
{{Data.ISO_CODE}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

0\\\">Reserva {{BookingObject.BOOKING_NO}} (ID:{{GetModalFormRecID()}})

\\r\\n

Nueva Reserva

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
{{ErrorMessage}}
\\r\\n
\\r\\n Introduzca la siguiente información para ingresar una nueva reserva. Los campos marcados con * son obligatorios.\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n 0\\\" name=\\\"2\\\"\\r\\n [LabelCaption]=\\\"'Viaje'\\\" [Items]=\\\"VesselVoyageDataArray\\\"\\r\\n [DisplayProp]=\\\"'{VOYAGE_REF_NO} - ETA:{ETADATE: D/M/YY (HH mm)}'\\\"\\r\\n (change)=\\\"SelectVesselVoyage($event.target.value, $event.target.options[$event.target.selectedIndex].text)\\\"\\r\\n [(ngModel)]=\\\"BookingObject.VESSEL_VOYAGE_GKEY\\\" [required]=\\\"true\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n
\\r\\n

Booking Items

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
CantidadTipoPesoGradoTemperaturaEditar
{{Data.QTY}}{{Data.ISO_CODE}}{{Data.WEIGHT}}{{Data.GRADE}}{{FormatNumberExt(Data.TEMP, 2)}}Edit
Total booking items found: {{BookingItemDataArray.length}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Booking Item

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Main Container Details\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n OOG Info (CM)\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Hazardous Info\\r\\n
\\r\\n
\\r\\n

0\\\"> {{HazardDataArray.length}} Item(s)\\r\\n IMO Class

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n 5)\\\">\\r\\n \\r\\n 5)\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Guardar ítem para agregar carga peligrosa

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n IMO Class : {{Data.IMDG_CLASS}}\\r\\n \\r\\n \\r\\n UN Num : {{Data.UN_NUM}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Other\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","import { Component, Input } from '@angular/core';\r\nimport { DPComponent } from './dp.component';\r\n\r\n@Component({\r\n selector: 'dp-paging',\r\n styles: [`\r\n \r\n .pagination {\r\n margin: 30px 0;\r\n padding-left: 0;\r\n border-radius: 0;\r\n }\r\n .pagination > li > a.number {\r\n width: 44px;\r\n height: 44px;\r\n text-align: center;\r\n }\r\n .pagination > li:not(.disabled):hover a, .pagination li.active a {\r\n z-index: 1;\r\n color: #fff;\r\n background-color: #1c3160;\r\n border: 0;\r\n border-radius: 70%;\r\n }\r\n .pagination > li.disabled i {\r\n color: #a7a7a7;\r\n }\r\n .pagination > li > a, .pagination > li > span {\r\n position: relative;\r\n float: left;\r\n margin-left: 10px;\r\n padding: 10px 16px;\r\n font-size: 17px;\r\n text-decoration: none; \r\n color: #2780e3;\r\n text-transform: uppercase;\r\n cursor: pointer;\r\n }\r\n \r\n `],\r\n template: `\r\n
    \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n {{page + 1}}\r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n Pages: {{Controller.Pages}}\r\n
  • \r\n
\r\n `\r\n})\r\nexport class DPPagingComponent {\r\n @Input() Controller: PagingController;\r\n}\r\n\r\nexport class PagingController {\r\n private PageCount: number = 0;\r\n private RecCount: number = 0;\r\n private RecsPerPage: number = 200;\r\n public PageIndex: number = -1;\r\n public PageNumbersRange: number = 10;\r\n public PageNumbers: number[];\r\n public Component: DPComponent;\r\n\r\n get HasPages() {\r\n return this.PageCount > 1;\r\n }\r\n\r\n get IsLastPage() {\r\n return this.PageIndex === this.PageCount - 1;\r\n }\r\n\r\n get IsFirstPage() {\r\n return this.PageIndex === 0;\r\n }\r\n\r\n CanShowPageNumber(Index: number) {\r\n let Half = Math.floor(this.PageNumbersRange / 2);\r\n if (this.PageIndex < Half) {\r\n return Index < this.PageNumbersRange;\r\n } else if (this.PageIndex > (this.PageCount - Half)) {\r\n return Index >= (this.PageCount - this.PageNumbersRange);\r\n } else {\r\n return (Index > this.PageIndex - Half) && (Index <= this.PageIndex + Half);\r\n }\r\n }\r\n\r\n GotoFirst() {\r\n this.GotoPage(0);\r\n }\r\n\r\n GotoLast() {\r\n this.GotoPage(this.PageCount - 1);\r\n }\r\n\r\n GotoPage(Index: number) {\r\n if ((this.PageCount > 0) && (Index > -1) && (Index < this.PageCount)) {\r\n this.PageIndex = Index;\r\n if (this.Component && this.Component.IsDetached)\r\n this.Component.DetectChanges();\r\n }\r\n }\r\n\r\n NextPage(Next: Boolean) {\r\n if (this.PageCount > 0) {\r\n if (Next && (this.PageIndex < this.PageCount - 1)) {\r\n this.GotoPage(this.PageIndex + 1);\r\n } else if (!Next && (this.PageIndex > 0)) {\r\n this.GotoPage(this.PageIndex - 1);\r\n }\r\n }\r\n }\r\n\r\n IndexOnPage(Index: number) {\r\n return (this.PageIndex === Math.floor(Index / this.RecsPerPage));\r\n }\r\n\r\n private UpdateProperties() {\r\n this.PageCount = Math.ceil(this.RecCount / this.RecsPerPage);\r\n if (this.PageCount > 0) {\r\n this.PageIndex = 0;\r\n } else {\r\n this.PageIndex = -1;\r\n }\r\n this.PageNumbers = Array(this.PageCount).fill(1).map((x, i) => i);\r\n }\r\n\r\n set RecordCount(Value: number) {\r\n this.RecCount = Value;\r\n this.UpdateProperties();\r\n }\r\n\r\n get RecordCount() {\r\n return this.RecCount;\r\n }\r\n\r\n set RecordsPerPage(Value: number) {\r\n this.RecsPerPage = Value;\r\n this.UpdateProperties();\r\n }\r\n\r\n get RecordsPerPage() {\r\n return this.RecsPerPage;\r\n }\r\n\r\n get Pages() {\r\n return this.PageCount;\r\n }\r\n\r\n get CurrentPageFirst() {\r\n if (this.RecCount == 0)\r\n return 0;\r\n else\r\n return (this.PageIndex * this.RecsPerPage) + 1;\r\n }\r\n\r\n get CurrentPageLast() {\r\n if (this.IsLastPage)\r\n return this.RecCount;\r\n else\r\n return (this.PageIndex + 1) * this.RecsPerPage; \r\n }\r\n\r\n get CurrentPageInfo() {\r\n return this.CurrentPageFirst + ' - ' + this.CurrentPageLast + ' of ' + this.RecCount;\r\n }\r\n}\r\n","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

VBS Payments

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

You must first input a driver card before you search

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Search Options\\r\\n Opciones de búsqueda\\r\\n
\\r\\n
\\r\\n \\r\\n Search FromBuscar desde'\\\" [Language]=\\\"'es'\\\" [ColumnSize]=\\\"2\\\" [(ngModel)]=\\\"GlobalSearchParams.FROM_DATE\\\">\\r\\n ToHasta'\\\" [Language]=\\\"'es'\\\" [ColumnSize]=\\\"2\\\" [(ngModel)]=\\\"GlobalSearchParams.TO_DATE\\\">\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Fecha 0)\\\">ChoferNombre del ClienteTipo de TransaccionDetalleBalance
\\r\\n {{FormatDateTimeExt(Data.TRANSACTION_DATE_TIME, 'DD/MM')}}
\\r\\n {{FormatDateTimeExt(Data.TRANSACTION_DATE_TIME, 'HH:mm')}}\\r\\n
0)\\\">\\r\\n {{Data.TRUCK_DRIVER_NAME}}
\\r\\n Card #: {{Data.TRUCK_DRIVER_CARD_NO}}\\r\\n
\\r\\n {{Data.CONSIGNEE}}\\r\\n \\r\\n {{Data.TRANSACTION_TYPE}}\\r\\n \\r\\n Cont #: {{Data.CONTAINER_NO}}\\r\\n \\r\\n 0 ? 'text-success' : 'text-danger'\\\">{{Data.TRANSACTION_AMOUNT | currency:'USD':true:'1.2-2'}}
\\r\\n {{Data.RUNNING_TOTAL | currency:'USD':true:'1.2-2'}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Quote Detail\\r\\n Detalle de Cotización\\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n ∙ Cotización\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Cotización #{{QuoteData.RECORD_ID}}
\\r\\n
\\r\\n
\\r\\n
{{QuoteData.PREPARED}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Valido hasta: {{QuoteData.PAID_TO_DATETIME}}
\\r\\n
\\r\\n
\\r\\n
-
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Facturado a:
\\r\\n {{QuoteData.CUSTOMER_NAME}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
RNC No. : {{QuoteData.RNC_TAX_NO}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Destinatario:
\\r\\n
Zona Franca Multimodal Caucedo
\\r\\n
RNC No. : 1-01-76597-6
\\r\\n
\\r\\n
\\r\\n \\\"DP\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Total de Cotización\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{QuoteData.CURRENCY_CODE === 'DOP' ? 'RD$' : 'US$'}} {{QuoteData.REQUIRED_AMOUNT |\\r\\n number:'1.2-2'}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n ∙ Canales de Pago\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
0\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
Esta cotización está pagada
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Esta cotización no fue pagada y expiró
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent, CoreLibService, PagingController } from 'core-lib';\r\n\r\n@Component({\r\n templateUrl: './vessel-schedule-summary.component.html'\r\n})\r\nexport class VesselScheduleSummaryComponent extends DPComponent implements OnInit {\r\n public VesselScheduleDataArray: Array = [];\r\n public Pagination: PagingController = new PagingController();\r\n\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, public Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.Pagination.Component = this;\r\n this.CDRef = Detector;\r\n this.Detach();\r\n }\r\n\r\n ngOnInit() {\r\n this.ClearSearchFilters();\r\n this.DoSearch();\r\n this.Pagination.RecordsPerPage = 1000;\r\n }\r\n\r\n DoSearch() {\r\n this.CoreLib.ProcessWebRequest('ProcessGetVesselQueryData', 'VesselScheduleListing', 0, this.GlobalSearchParams, false, true, 500).subscribe( Result => {\r\n this.VesselScheduleDataArray = Result.JSONData;\r\n this.Pagination.RecordCount = this.VesselScheduleDataArray.length;\r\n } );\r\n }\r\n\r\n ClearSearchFilters() {\r\n this.GlobalSearchParams.ClearGlobalSearchParams();\r\n this.GlobalSearchParams.FROM_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate() - 1);\r\n this.GlobalSearchParams.TO_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate() + 60);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { SharedLibService } from '../sharedlib';\r\nimport { DPComponent, CoreLibService} from 'core-lib';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n templateUrl: 'settings-customer-details.component.html',\r\n selector: 'settings-customer-details'\r\n})\r\nexport class SettingsCustomerDetailsComponent extends DPComponent implements OnInit {\r\n public CustomerDataRecord: any = {};\r\n public TmpPageType: string;\r\n public NewPasswordValidationStatus: number = 3;\r\n\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService, public Router: ActivatedRoute, public Route: Router) {\r\n super(CoreLib)\r\n }\r\n\r\n ngOnInit() {\r\n this.Router.params.subscribe(params => {\r\n this.TmpPageType = params['page'];\r\n this.DoSearch();\r\n });\r\n }\r\n\r\n DoSearch() {\r\n //this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetCustomerDetails', this.GetSessionStorageData('EDITradingPartnerID'), '', false).subscribe( Result => { this.CustomerDataRecord = Result.JSONData[0] } );\r\n }\r\n\r\n SubmitCustomerDetails() {\r\n //this.CoreLib.ProcessWebRequest('ProcessUpdateCustomerDetailsData', '', this.GetSessionStorageData('EDITradingPartnerID'), this.CustomerDataRecord, false).subscribe( Result => { } );\r\n }\r\n\r\n ClearMessage() {\r\n this.RemoveSessionStorageItem('PasswordMessage');\r\n }\r\n\r\n ChangePassword() {\r\n let data = {\r\n WEB_USER_ID:this.GetSessionStorageData('WEB_USER_ID'),\r\n EXTERNAL_WEB_USER_ID:this.GetSessionStorageData('EXTERNAL_WEB_USER_ID'),\r\n OldPassword:this.CustomerDataRecord.OldPassword,\r\n NewPassword:this.CustomerDataRecord.NewPassword,\r\n NewPassword2:this.CustomerDataRecord.NewPassword2,\r\n SYSTEM_ROLE: this.GetSessionStorageData('SYSTEMROLE'),\r\n }\r\n\r\n this.CoreLib.ProcessWebRequest('ProcessUpdateCustomerDetailsData', 'ChangePassword', 0, data, true).subscribe( Result => {\r\n if (Result.StatusCode == 'SUCCESS') {\r\n this.TmpPageType = '';\r\n }\r\n }\r\n );\r\n }\r\n\r\n NewPasswordChange() {\r\n this.NewPasswordValidationStatus = 3;\r\n if (this.CustomerDataRecord.NewPassword === this.CustomerDataRecord.NewPassword2) {\r\n this.NewPasswordValidationStatus = 1;\r\n } else {\r\n this.NewPasswordValidationStatus = 3;\r\n }\r\n if (this.CustomerDataRecord.NewPassword.includes('%') || this.CustomerDataRecord.NewPassword2.includes('%')){\r\n this.NewPasswordValidationStatus = 3;\r\n }\r\n }\r\n}\r\n","import { Component, ChangeDetectorRef, OnInit } from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib'; //import user service\r\nimport { DPComponent, CoreLibService } from 'core-lib';\r\n\r\n@Component({\r\n selector: 'terminal-services-details',\r\n templateUrl: './terminal-services-details.component.html'\r\n})\r\nexport class TerminalServicesDetailsComponent extends DPComponent implements OnInit {\r\n public TerminalServicesContainerListDataArray: Array = [];\r\n public TerminalServiceCodeDropDownArray: any;\r\n public CommodityCodesDropDownArray: Array = [];\r\n public TerminalServiceEntryObject: any = {};\r\n public TerminalServiceSearchObject: any = {};\r\n public CustomerDropDownArray: Array = [];\r\n public ContainerDocumentTypeDataArray: Array = [];\r\n public ErrorMessages: any = {};\r\n public TerminalServiceErrorStatus: number;\r\n public ShowSecondCommodity: boolean = false;\r\n public HasHold: boolean = false;\r\n\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService, private Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.CDRef = Detector;\r\n this.Detach(true);\r\n }\r\n\r\n ngOnInit() {\r\n this.TerminalServiceEntryObject.DATE_TIME = new Date();\r\n this.TerminalServiceEntryObject.DATE_TIME.setHours(0, 0, 0);\r\n this.TerminalServiceSearchObject.BILL_OF_LADING_NO = '';\r\n this.TerminalServiceSearchObject.BOOKING_NO = '';\r\n this.TerminalServiceSearchObject.CONTAINER_NO = '';\r\n if (this.UserCanAccess([1, 2, 4, 5], 'SYSTEM_ROLE')) {\r\n this.CustomerDropDownArray[0] = { 'Value': 1, 'Option': this.GetSessionStorageData('COMPANY_NAME') };\r\n this.TerminalServiceEntryObject.WEB_USER_ID = this.GetSessionStorageData('EXTERNAL_WEB_USER_ID');\r\n } else {\r\n if (this.GetSessionStorageData('CUSTOMER_ID') > 0) {\r\n this.CustomerDropDownArray[0] = {\r\n 'Value': this.GetSessionStorageData('CUSTOMER_ID'),\r\n 'Option': this.GetSessionStorageData('CUSTOMER_NAME')\r\n };\r\n this.TerminalServiceEntryObject.WEB_USER_ID = this.GetSessionStorageData('WEB_USER_ID');\r\n }\r\n }\r\n this.TerminalServiceEntryObject.CUSTOMS_AGENT_ID = this.GetSessionStorageData('CUSTOMS_AGENT_ID');\r\n this.TerminalServiceEntryObject.SESSION_ID = this.GetSessionStorageData('SESSION_ID');\r\n this.TerminalServiceEntryObject.SYSTEM_ROLE = this.GetSessionStorageData('SYSTEM_ROLE');\r\n this.LoadDropDowns();\r\n }\r\n AddCommodity() {\r\n this.ShowSecondCommodity = true;\r\n }\r\n DoSearch() {\r\n if ((this.TerminalServiceSearchObject.BOOKING_NO !== '') || (this.TerminalServiceSearchObject.BILL_OF_LADING_NO !== '') || (this.TerminalServiceSearchObject.CONTAINER_NO !== '')) {\r\n if (this.UserCanAccess([1, 2], 'SYSTEM_ROLE')) {\r\n this.TerminalServiceSearchObject.CUSTOMER_ID = 1;\r\n } else {\r\n this.TerminalServiceSearchObject.CUSTOMER_ID = this.GetSessionStorageData('CUSTOMER_ID')\r\n }\r\n\r\n const Data = {\r\n BOOKING_NO: this.TerminalServiceSearchObject.BOOKING_NO,\r\n BILL_OF_LADING_NO: this.TerminalServiceSearchObject.BILL_OF_LADING_NO,\r\n CONTAINER_NO: this.TerminalServiceSearchObject.CONTAINER_NO,\r\n CUSTOMER_ID: this.TerminalServiceSearchObject.CUSTOMER_ID,\r\n LINE_OP_SEARCH_CODE: this.GetSessionStorageData('LINE_OP_SEARCH_CODE'),\r\n CUSTOMS_AGENT_ID: this.GetSessionStorageData('CUSTOMS_AGENT_ID'),\r\n SESSION_ID: this.GetSessionStorageData('SESSION_ID'),\r\n SYSTEM_ROLE: this.GetSessionStorageData('SYSTEM_ROLE')\r\n }\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetTerminalServiceContainerData', 0, Data, false).subscribe(Result => {\r\n this.TerminalServicesContainerListDataArray = Result.JSONData;\r\n for (let i = 0; i < Result.JSONData.length; i++) {\r\n if (Result.JSONData[i].GROUP_ID == 'DCX') {\r\n this.HasHold = true;\r\n }\r\n }\r\n\r\n this.GetUploadDocumentTypes();\r\n });\r\n }\r\n }\r\n\r\n LoadDropDowns() {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetTerminalServiceCodes', 0, { SYSTEM_ROLE: this.TerminalServiceEntryObject.SYSTEM_ROLE }, false).subscribe(Result => {\r\n this.TerminalServiceCodeDropDownArray = Result.JSONData;\r\n });\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetTerminalServiceCommodityCodes', 0, '', false).subscribe(Result => {\r\n this.CommodityCodesDropDownArray = Result.JSONData;\r\n });\r\n }\r\n\r\n CommodityChange() {\r\n this.DetectChanges();\r\n }\r\n NewTerminalService(InData, InTransType) {\r\n this.CheckQuota();\r\n if (this.UserCanAccess([1, 2], 'SYSTEM_ROLE')) {\r\n this.TerminalServiceEntryObject.CUSTOMER_ID = 1;\r\n } else {\r\n this.TerminalServiceEntryObject.CUSTOMER_ID = this.GetSessionStorageData('CUSTOMER_ID');\r\n }\r\n if (InTransType == 0) {\r\n this.TerminalServiceEntryObject.CONTAINER_GKEY = InData.GKEY;\r\n this.TerminalServiceEntryObject.CONTAINER_NO = InData.EQ_NBR;\r\n this.TerminalServiceEntryObject.CATEGORY = InData.CATEGORY;\r\n this.TerminalServiceEntryObject.BOOKING_NO = '';\r\n this.TerminalServiceEntryObject.BILL_OF_LADING_NO = '';\r\n if (this.TerminalServiceEntryObject && this.TerminalServiceEntryObject.CONTAINER_GKEY > 0) {\r\n setTimeout(() => {\r\n let modal: HTMLElement = document.getElementsByClassName('modal')[0] as HTMLElement;\r\n modal.scrollTop = modal.scrollHeight;\r\n\r\n }, 10);\r\n }\r\n } else if (InTransType == 1) {\r\n this.TerminalServiceEntryObject.CONTAINER_GKEY = 0;\r\n this.TerminalServiceEntryObject.CONTAINER_NO = '';\r\n this.TerminalServiceEntryObject.BOOKING_NO = this.TerminalServiceSearchObject.BOOKING_NO;\r\n this.TerminalServiceEntryObject.BILL_OF_LADING_NO = this.TerminalServiceSearchObject.BILL_OF_LADING_NO;\r\n }\r\n this.DetectChanges();\r\n }\r\n\r\n CheckQuota() {\r\n this.ErrorMessages['TerminalService'] = '';\r\n this.TerminalServiceErrorStatus = 0;\r\n if (this.SharedLib.IsToday(this.TerminalServiceEntryObject.DATE_TIME)) {\r\n if (this.ValidNumber(this.GetSessionStorageData('TERMINAL_SERVICE_QUOTA_TODAY'))==0) {\r\n this.ErrorMessages['TerminalService'] = 'No tenemos espacio disponible para hoy';\r\n this.TerminalServiceErrorStatus = 3;\r\n }\r\n } else if (this.SharedLib.IsToday(this.TerminalServiceEntryObject.DATE_TIME, 1)) {\r\n if (this.ValidNumber(this.GetSessionStorageData('TERMINAL_SERVICE_QUOTA_TOMORROW'))==0) {\r\n this.ErrorMessages['TerminalService'] = 'No tenemos espacio disponible para hoy mañana';\r\n this.TerminalServiceErrorStatus = 3;\r\n }\r\n }\r\n this.DetectChanges();\r\n }\r\n\r\n SubmitForm() {\r\n this.TerminalServiceEntryObject.TERMINAL_SERVICE_QTY = this.TerminalServicesContainerListDataArray.length;\r\n if ((this.TerminalServiceCodeDropDownArray.GetArrayData('RECORD_ID', this.TerminalServiceEntryObject.TERMINAL_SERVICE_TYPE_ID).SERVICE_TYPE_CODE == 'DRAY-OFF') && (this.TerminalServiceEntryObject.CATEGORY == 'EXPRT')) {\r\n this.CoreLib.DPModalDialog('ConfirmYN', 'Despacha la unidad de exportacion', `Esta Seguro que desea despachar la unidad de exportacion?`, 'fa-info').then(Result => {\r\n if (Result == 1) {\r\n this.TerminalServiceEntryObject.DATE_TIME.setHours(0, 0, 0);\r\n this.ProcessTerminalService();\r\n }\r\n });\r\n } else {\r\n this.ProcessTerminalService();\r\n }\r\n };\r\n\r\n GetUploadDocumentTypes() {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetContainerDocumentTypes', 0, '', false).subscribe(Result => {\r\n this.ContainerDocumentTypeDataArray = Result.JSONData;\r\n });\r\n }\r\n ClearSearchObject() {\r\n this.TerminalServiceSearchObject = {};\r\n }\r\n ProcessTerminalService() {\r\n this.TerminalServiceSearchObject = {};\r\n this.CoreLib.ProcessWebRequest('ProcessTerminalServiceEntry', '', this.GetModalFormRecID(), this.TerminalServiceEntryObject, false, true).subscribe(Result => {\r\n if (Result.StatusCode == 'SUCCESS') {\r\n var self = this;\r\n setTimeout(function () {\r\n self.Parent.DetectChanges();\r\n self.Parent.DoSearch();\r\n }, 700);\r\n if (Result.QUOTE_ID > 0) {\r\n let QuoteID = Result.QUOTE_ID;\r\n this.CoreLib.DPModalDialog('Confirm', 'Cotización', 'Despues de completar este requerimiento, ' +\r\n 'será creado una cotización automática, que debe ser pagada ' +\r\n 'para continuar con el proceso de salida del contenedor ' +\r\n '

Cualquier duda favor de comunicarse con nuestro departamento de ' +\r\n 'servicio de terminal
809-373-7300 Opción 1', 'fa-file-signature text-success').then(Result => {\r\n if (Result == 1) {\r\n this.SharedLib.PrintQuoteOrInvoice(QuoteID, 'PrintQuote');\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n UploadFilenameChange() {\r\n this.DetectChanges();\r\n }\r\n\r\n}\r\n\r\n","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n My Quotes\\r\\n Mis Cotizaciónes\\r\\n

\\r\\n

\\r\\n My Invoices\\r\\n Mis Facturas\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Search Options\\r\\n Opciones de búsqueda\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Search FromBuscar desde'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.FROM_DATE\\\">\\r\\n
\\r\\n
\\r\\n ToHasta'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.TO_DATE\\\">\\r\\n
\\r\\n
\\r\\n Container No# de Contenedor'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.CONTAINER_NO\\\">\\r\\n
\\r\\n
\\r\\n Invoice No# de Factura'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.INVOICE_NO\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n NCF No# de NCF'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.SEARCH_BY_CODE\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
No. CotizacionNo. FacturaNCF\\r\\n \\r\\n TotalAcción
\\r\\n {{Data.RECORD_ID}}\\r\\n T-CMS-{{this.FormatNumberExt(Data.INVOICE_NO, 0,\\r\\n 8)}}\\r\\n \\r\\n {{Data.NCF_NO}}\\r\\n \\r\\n {{FormatDateTimeExt(Data.INVOICE_DATE,\\r\\n 'DD/MM/YYYY')}}\\r\\n {{FormatDateTimeExt(Data.PREPARED,\\r\\n 'DD/MM/YYYY')}}\\r\\n {{Data.CUSTOMER_NAME}}{{Data.USERNAME}}\\r\\n {{SharedLib.PAYMENT_TYPE_CODE[Data.PAYMENT_TYPE]}}{{Data.CURRENCY_CODE}}\\r\\n {{FormatNumberExt(Data.REQUIRED_AMOUNT, 2, 0,\\r\\n '$')}}\\r\\n {{FormatNumberExt(Data.ORIGINAL_INVOICE_TOTAL_AMOUNT,\\r\\n 2, 0, '$')}}\\r\\n \\r\\n {{FormatNumberExt(Data.PAYMENT_AMOUNT,\\r\\n 2, 0, '$')}}\\r\\n {{FormatNumberExt(Data.DIFFERENCE_AMOUNT, 2, 0, '$')}}{{FormatNumberExt(Data.TOTAL_AMOUNT,\\r\\n 2, 0, '$')}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n 0 && Data.NCF_NO.startsWith('B')\\\" class=\\\"fas fa-print inline-icon-small table-icon-link\\\"\\r\\n (click)=\\\"SharedLib.OpenQuoteOrInvoice(Data.INVOICE_ID, 'PrintInvoice')\\\" tooltipPosition=\\\"top\\\"\\r\\n [pTooltip]=\\\"'IMPRIMIR FACTURA'\\\" positionStyle=\\\"fixed\\\">\\r\\n 0 && Data.NCF_NO.startsWith('E')\\\" class=\\\"fas fa-print inline-icon-small table-icon-link\\\"\\r\\n (click)=\\\"GetStatus(Data.NCF_NO)\\\" tooltipPosition=\\\"top\\\"\\r\\n [pTooltip]=\\\"'IMPRIMIR FACTURA'\\\" positionStyle=\\\"fixed\\\">\\r\\n
\\r\\n\\r\\n
{{CurrentQueryType == \\\"GetQuoteList\\\" ? 'Cotizaciónes' : 'Facturas'}} Encontradas:\\r\\n {{Pagination.CurrentPageInfo}}Montos Vencidos:{{FormatNumberExt(CalcColumnSum(MainDataArray, 'TOTAL_AMOUNT',\\r\\n 'INVOICE_OVERDUE',\\r\\n '1'), 2, 0, '', true)}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

AVISO

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

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

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Booking ## de Reserva'\\\"\\r\\n [(ngModel)]=\\\"ReeferDispatchSearchObject.BOOKING_NO\\\">\\r\\n
\\r\\n
\\r\\n Bill of Lading #Número de BL'\\\"\\r\\n [(ngModel)]=\\\"ReeferDispatchSearchObject.BILL_OF_LADING_NO\\\">\\r\\n
\\r\\n
\\r\\n Container ## de Contenedor'\\\"\\r\\n [(ngModel)]=\\\"ReeferDispatchSearchObject.CONTAINER_NO\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Search\\r\\n Buscar\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n no podrá solicitar todos los contenedores ya que tiene algunos tienen Impedimentos de Hold, si tiene un Hold diferente a DGA o BILLING\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{Data.EQ_NBR}}{{Data.CATEGORY}}{{Data.LINE_ID}}{{Data.EQSZ_ID}}Solicitar\\r\\n
Total Encontrado: {{ReeferDispatchContainerListDataArray.length}}\\r\\n
\\r\\n
\\r\\n 0) || (ReeferDispatchEntryObject.BOOKING_NO && !ReeferDispatchEntryObject.BOOKING_NO == '')|| (ReeferDispatchEntryObject.BILL_OF_LADING_NO && !ReeferDispatchEntryObject.BILL_OF_LADING_NO == ''))\\\">\\r\\n
\\r\\n
0\\\">\\r\\n

{{ReeferDispatchEntryObject.CONTAINER_NO}}

\\r\\n

\\r\\n Solicitar {{ReeferDispatchContainerListDataArray.length}} Contenedores

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

Complete your requests by selecting filling these 3 fields. We reserve\\r\\n the right to cancel your transactions.

\\r\\n

Complete su pedido selecionando llenando estos 3 campos. Nos reservamos\\r\\n el derecho cancelar su solicitud.

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{ErrorMessages['ReeferDispatch']}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\";","export * from './dp.component';\r\nexport * from './dp.component-base';\r\nexport * from './dp.services';\r\nexport * from './dp-spinner.component';\r\nexport * from './dp-dropdown.component';\r\nexport * from './dp-paging.component';\r\nexport * from './index';\r\n","export default \"
\\r\\n \\r\\n
\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Buque: {{VesselDetailsData.VESSEL_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

Esta es la lista completa de importación para el buque seleccionado.

\\r\\n

Here is the complete import list for the current vessel.

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

Esta es la lista completa de las exportaciones para el barco seleccionado.

\\r\\n

Here is the complete export list for the current vessel.

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

\\r\\n Este módulo le permite cargar archivos de datos en un formato estándar Microsoft Excel, el cual se reconcilia\\r\\n con la información en N4.\\r\\n Si una celda aparece en rojo, tenga en cuenta que los datos en la mitad inferior de la celda son los datos que\\r\\n se han cargado, el dato en la parte superior corresponde a la información presente en N4.\\r\\n Una vez que toda la información es válida, puede hacer clic en \\\"aceptar\\\" para actualizar en la base de datos.\\r\\n Nota: asegúrese de que está utilizando la\\r\\n plantilla correcta , proporcionada en el vínculo siguiente.\\r\\n

\\r\\n

\\r\\n This module allows you to submit data files in a standard MS Excel format which reconciles with information in\\r\\n N4. If a cell appears in red, note that the data on the bottom half of the cell is the data that was uploaded.\\r\\n Once all the information is valid, you may click on \\\"accept\\\" to update into the database.\\r\\n Please note: make sure you are using the correct template provided \\r\\n

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

\\r\\n Este módulo le permite cargar archivos de datos en un formato estándar Microsoft Excel,
el cual se\\r\\n reconcilia con la información en N4.\\r\\n Si una celda aparece en rojo, tenga en cuenta que los datos en la mitad inferior de la celda son los datos que\\r\\n se han cargado, el dato en la parte superior corresponde a la información presente en N4.\\r\\n Una vez que toda la información es válida, puede hacer clic en \\\"aceptar\\\" para actualizar en la base de datos.\\r\\n Nota: asegúrese de que está utilizando la plantilla\\r\\n correcta , proporcionada en el vínculo siguiente.\\r\\n

\\r\\n

\\r\\n This module allows you to submit data files in a standard MS Excel format which reconciles with information in\\r\\n N4. If a cell appears in red, note that the data on the bottom half of the cell is the data that was uploaded.\\r\\n Once all the information is valid, you may click on \\\"accept\\\" to update into the database.\\r\\n Please note: make sure you are using the correct\\r\\n template provided \\r\\n

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

Aquí puede mantener las reservas de exportación para el buque seleccionado.

\\r\\n

Here you can maintain export bookings for the current vessel.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Search Options\\r\\n Opciones de búsqueda\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
# ContISOYard InYard OutCatEstadoWeightScaleVGMLineaPOLPODSeal 1Seal 2Seal 3# BLBooking #Linea HoldDGA HoldDPH HoldPCO HoldZZVECO HoldOBC
{{Data.CONTAINER_NO}}{{Data.ISO}}{{FormatDateTimeExt(Data.YARDINTIME,\\r\\n 'DD/MM/YY (HH:mm)')}}\\r\\n {{FormatDateTimeExt(Data.YARDOUTTIME,\\r\\n 'DD/MM/YY (HH:mm)')}}{{Data.CAT}}{{Data.STATUS}}{{Data.WEIGHT}}{{Data.SCALEWEIGHT}}{{Data.VGMWEIGHT}}{{Data.LINEOP}}{{Data.POL}}{{Data.POD}}{{Data.SEAL1}}{{Data.SEAL2}}{{Data.SEAL3}}{{Data.BL}}{{Data.BOOKING_NO}}{{Data.LINE_HOLD}}{{Data.DGA_HOLD}}{{Data.DPH_HOLD}}{{Data.PCO_HOLD}}{{Data.ZZVECO_HOLD}}{{Data.OutBoundCarrier}}
Encontrado: {{Pagination.CurrentPageInfo}}
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
# ContPesoISOTempIMOUN NoOVHOVWStatusPOLPODDestCatLineOpCommodityBook #Seal 1Seal 2Seal 3Seal 4OB Carrier
\\r\\n {{Data.CONTAINER_NO}}
MISSING
\\r\\n
\\r\\n {{Data.GROSS_WEIGHT}}
{{Data.GROSS_WEIGHT_N4}}\\r\\n
\\r\\n {{Data.ISO_CODE}}
{{Data.ISO_CODE_N4}}
\\r\\n
\\r\\n {{Data.TEMP_REQUIRED}}
{{Data.TEMP_REQUIRED_N4}}\\r\\n
\\r\\n {{Data.HAZ_CLASS}}
{{Data.HAZ_CLASS_N4}}\\r\\n
\\r\\n {{Data.HAZ_UN_NO}}
{{Data.HAZ_UN_NO_N4}}\\r\\n
\\r\\n {{Data.OVER_HEIGHT}}
{{Data.OVER_HEIGHT_N4}}\\r\\n
\\r\\n {{Data.OVER_WIDTH}}
{{Data.OVER_WIDTH_N4}}\\r\\n
\\r\\n {{Data.STATUS}}
{{Data.STATUS_N4}}
\\r\\n
{{Data.POL}}{{Data.POD}}{{Data.DEST}}{{Data.CAT}}\\r\\n {{Data.LINE_OPERATOR_CODE}}
{{Data.LINE_OPERATOR_CODE_N4}}\\r\\n
{{Data.COMMODITY_CODE}}\\r\\n {{Data.BOOKING_NO}}
{{Data.BOOKING_NO_N4}}\\r\\n
{{Data.SEAL_NO_01}}{{Data.SEAL_NO_02}}{{Data.SEAL_NO_03}}{{Data.SEAL_NO_04}}\\r\\n {{Data.OUTBOUND_VOYAGE_REF}}
{{Data.OUTBOUND_VOYAGE_REF_N4}}\\r\\n
Encontrado: {{Pagination.CurrentPageInfo}}
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
# ContPesoISOTempIMOUN NoOVHOVWStatusPOLPODDestCatLineOpCommoditySeal 1Seal 2Seal 3Seal 4
\\r\\n {{Data.CONTAINER_NO}}
MISSING
\\r\\n
\\r\\n {{Data.GROSS_WEIGHT}}
{{Data.GROSS_WEIGHT_N4}}\\r\\n
\\r\\n {{Data.ISO_CODE}}
{{Data.ISO_CODE_N4}}\\r\\n
\\r\\n {{Data.TEMP_REQUIRED}}
{{Data.TEMP_REQUIRED_N4}}\\r\\n
\\r\\n {{Data.HAZ_CLASS}}
{{Data.HAZ_CLASS_N4}}\\r\\n
\\r\\n {{Data.HAZ_UN_NO}}
{{Data.HAZ_UN_NO_N4}}\\r\\n
\\r\\n {{Data.OVER_HEIGHT}}
{{Data.OVER_HEIGHT_N4}}\\r\\n
\\r\\n {{Data.OVER_WIDTH}}
{{Data.OVER_WIDTH_N4}}\\r\\n
\\r\\n {{Data.STATUS}}
{{Data.STATUS_N4}}\\r\\n
\\r\\n {{Data.POL}}
{{Data.POL_N4}}\\r\\n
\\r\\n {{Data.POD}}
{{Data.POD_N4}}\\r\\n
\\r\\n {{Data.DEST}}
{{Data.DEST_N4}}\\r\\n
{{Data.CAT}}\\r\\n {{Data.LINE_OPERATOR_CODE}}
{{Data.LINE_OPERATOR_CODE_N4}}\\r\\n
{{Data.COMMODITY_CODE}}{{Data.SEAL_NO_01}}{{Data.SEAL_NO_02}}{{Data.SEAL_NO_03}}{{Data.SEAL_NO_04}}
Encontrado: {{Pagination.CurrentPageInfo}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Help

\\r\\n
\\r\\n
\\r\\n Help currently under development
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Invoice Detail\\r\\n Detalle de Factura\\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n ∙ Factura\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Factura # {{InvoiceData.INVOICE_NO}}
\\r\\n
\\r\\n
\\r\\n
{{InvoiceData.INVOICE_DATE}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Información Impositiva
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Valido hasta: {{InvoiceData.PAID_TO_DATETIME}}
\\r\\n
\\r\\n
\\r\\n
{{InvoiceData.NCF_NO}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Facturado a:
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{InvoiceData.CUSTOMER_NAME}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
RNC No. : {{InvoiceData.CUSTOMER_RNC_TAX_NO}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Destinatario:
\\r\\n
Zona Franca Multimodal Caucedo
\\r\\n
RNC No. : 1-01-76597-6
\\r\\n
\\r\\n
\\r\\n \\\"DP\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Total de Facturación\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{InvoiceData.CURRENCY_CODE === 'DOP' ? 'RD$' : 'US$'}} {{InvoiceData.TOTAL_AMOUNT |\\r\\n number:'1.2-2'}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Factura no encontrada\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\";","export default \"
\\r\\n
\\r\\n
\\r\\n

Customer Home

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

Change Password

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

\\r\\n Puede cambiar la contraseña de su cuenta, introduciendo su contraseña antigua y nueva a continuación\\r\\n

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

Contrasena

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

{{GetSessionStorageData('PasswordMessage')}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { DPComponent, DPComponentBase, CoreLibService } from 'core-lib';\r\nimport screenfull from 'screenfull';\r\n\r\n@Injectable()\r\nexport class SharedLibService extends DPComponent {\r\n constructor(public CoreLib: CoreLibService, public Router: Router) {\r\n super(CoreLib);\r\n }\r\n public AppVersion: string = '24/08';\r\n public CONTAINER_NO: string = '';\r\n public USERNAME: string = '';\r\n public SYSTEM_ROLE: number = 0;\r\n public CUSTOMER_ID: number = 0;\r\n public CUSTOMER_NAME: string = '';\r\n public PASSWORD: string = '';\r\n public CustomMessagePopup: String;\r\n public TRUCK_DRIVER_RECORD_ID: number = 0;\r\n public TRUCK_DRIVER_NAME: string = '';\r\n public TRUCK_DRIVER_CARD_NO: string = '';\r\n public TRUCK_DRIVER_BALANCE: number = 0;\r\n public IsTrucker: boolean = false;\r\n public CustomerSelection: boolean = false;\r\n public CustomerObject: any;\r\n public IsLoadingLocal: boolean = false;\r\n public IsLoadingRNC: boolean = false;\r\n public Timer: any;\r\n\r\n ANCILLARY_SERVICE_STATUS_CODE = ['N/A', 'REQUESTED', 'APPROVED', 'COMPLETED', 'INVOICED', 'REJECTED'];\r\n ANCILLARY_SERVICE_STATUS_COLOR = ['#ffffff', '#c0c0c0', '#fdff00', '#ffaa00', '#03b300'];\r\n ANCILLARY_SERVICE_REQUEST_TYPE_CODE = ['N/A', 'CONT IMP', 'CONT EXP', 'CONT TSP', 'OTHER'];\r\n\r\n PAYMENT_TYPE_CODE = ['NO PAYMENT', 'CASH', 'CHEQUE', 'CREDITO', 'BPDREF', 'BANKTRN', 'BHDREF', 'SCOREF'];\r\n PAYMENT_TYPE_COLOR = ['#ffffff', '#BFFFBF', '#A6CAF0', '#d5d5d5', '#ffaa00', '#000080', '#800080', '#FFEEDD'];\r\n\r\n public PageNavigation(MenuCode) {\r\n this.SetSessionStorageItem('MainMenuCode', MenuCode);\r\n this.SetMainMenuCode(MenuCode);\r\n }\r\n\r\n IsToday(InDate, InIndex = 0) {\r\n if (this.IsValidDate(InDate)) {\r\n let SetDate = new Date(InDate);\r\n SetDate.setHours(0, 0, 0, 0);\r\n let Today = new Date();\r\n if (InIndex) {\r\n Today.setDate(Today.getDate() + InIndex);\r\n }\r\n Today.setHours(0, 0, 0, 0);\r\n return SetDate.toISOString() == Today.toISOString();\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public GetTruckDriverID(): number {return +this.GetSessionStorageData('TRUCK_DRIVER_RECORD_ID');}\r\n public GetWebUserID(): number {return +this.GetSessionStorageData('WEB_USER_ID')}\r\n public GetExternalWebUserID(): number {return +this.GetSessionStorageData('EXTERNAL_WEB_USER_ID')}\r\n\r\n public IsUserLoggedIn(): boolean {\r\n if ((+this.GetSessionStorageData('WEB_USER_ID') > 0) || (+this.GetSessionStorageData('EXTERNAL_WEB_USER_ID') > 0)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public Refresh() {\r\n console.log('Refresh');\r\n window.location.reload();\r\n }\r\n\r\n public UserLogin(IsTrucker: boolean = false) {\r\n let QueryType: string;\r\n let LoginData: any;\r\n let AppType: string = 'WEB';\r\n if (this.IsTrucker || IsTrucker) {\r\n QueryType = 'ProcessVBSTruckDriverLogin';\r\n this.SYSTEM_ROLE = 7;\r\n if ((screenfull) && (screenfull.isEnabled) && this.IsMobile()) {\r\n screenfull.request();\r\n }\r\n LoginData = {TRUCK_DRIVER_CARD_NO: this.USERNAME, TRUCK_DRIVER_PIN_NO: this.PASSWORD, SYSTEM_ROLE: this.SYSTEM_ROLE, AppType: AppType};\r\n } else {\r\n QueryType = 'ProcessWebUserLogin';\r\n LoginData = {USERNAME: this.USERNAME, PASSWORD: this.PASSWORD, CUSTOMER_ID: this.CUSTOMER_ID, SYSTEM_ROLE: this.SYSTEM_ROLE, AppType: AppType};\r\n }\r\n this.CoreLib.ProcessWebRequest(QueryType, '', 0, LoginData, false).subscribe(Result => {\r\n if (!(Result.StatusCode == 'ERROR')) {\r\n Result = Result.JSONData;\r\n if (Result && ((parseInt(Result[0].WEB_USER_ID) > 0) || (parseInt(Result[0].EXTERNAL_WEB_USER_ID) > 0))) {\r\n this.UserToStorage(Result[0]);\r\n this.CoreLib.Idle.Reset(); /* Time Out Function to Reset on login - Reset after X minutes, which is set in App.Component.ts */\r\n if (this.UserCanAccess([1, 2, 3, 4, 5], 'SYSTEM_ROLE')) {\r\n this.Router.navigate(['home']);\r\n this.PageNavigation('Home');\r\n } else if (Result[0].SYSTEM_ROLE == 6) {\r\n this.Router.navigate(['driver-appointment-summary']);\r\n this.PageNavigation('Driver');\r\n } else if (Result[0].SYSTEM_ROLE == 7) {\r\n this.Router.navigate(['driver-appointment-summary']);\r\n }\r\n if ([6, 7].indexOf(parseInt(Result[0].SYSTEM_ROLE)) > -1) {\r\n this.SetSessionStorageItem('SYSTEM_ROLE', Result[0].SYSTEM_ROLE);\r\n this.SetSessionStorageItem('TRUCK_DRIVER_CARD_NO', Result[0].TRUCK_DRIVER_CARD_NO);\r\n this.SetSessionStorageItem('TRUCK_DRIVER_PIN_NO', this.PASSWORD);\r\n }\r\n let methodtocall = this.IsTrucker || IsTrucker? 'ProcessWebUserCheckPasswordDriver' : 'ProcessWebUserCheckPassword';\r\n if (this.IsUserLoggedIn()) {\r\n this.CoreLib.ProcessWebRequest(methodtocall, '', 0, {WEB_USER_ID: this.GetSessionStorageData('WEB_USER_ID')}, false).subscribe(Result => {\r\n if (Result.StatusCode == 'SUCCESS') {\r\n if (Result.MustChangePassword == 'True') {\r\n let WebUserID = this.GetSessionStorageData('WEB_USER_ID');\r\n if (Result.MustChangePassword == 'True') {\r\n sessionStorage.clear();\r\n }\r\n if(this.IsTrucker || IsTrucker)\r\n {\r\n this.SetSessionStorageItem('SYSTEMROLE', '7');\r\n }\r\n\r\n this.SetSessionStorageItem('WEB_USER_ID', WebUserID);\r\n this.Router.navigate(['/settings-customer-details/change-password']);\r\n }\r\n this.SetSessionStorageItem('PasswordMessage', Result.StatusDescription);\r\n }\r\n });\r\n }\r\n this.CoreLib.ProcessWebRequest('ProcessGetLoginMessage', '', 0, '', false).subscribe(Result => {\r\n if (Result.StatusCode == 'SUCCESS') {\r\n if (this.UserCanAccess([2], 'SYSTEM_ROLE') && Result.JSONData[0].SHIPPING_LINES_POPUP_MESSAGE && Result.JSONData[0].SHIPPING_LINES_POPUP_MESSAGE !== '') {\r\n this.SetModalSecondaryFormRecID(-1);\r\n this.CustomMessagePopup = Result.JSONData[0].SHIPPING_LINES_POPUP_MESSAGE;\r\n } else if ((this.GetSessionStorageData('CUSTOMER_ID') > 0) && Result.JSONData[0].CUSTOMERS_POPUP_MESSAGE && Result.JSONData[0].CUSTOMERS_POPUP_MESSAGE !== '') {\r\n this.SetModalSecondaryFormRecID(-1);\r\n this.CustomMessagePopup = Result.JSONData[0].CUSTOMERS_POPUP_MESSAGE;\r\n } else if (this.UserCanAccess([7], 'SYSTEM_ROLE') && Result.JSONData[0].TRUCK_DRIVERS_POPUP_MESSAGE && Result.JSONData[0].TRUCK_DRIVERS_POPUP_MESSAGE !== '') {\r\n this.CustomMessagePopup = Result.JSONData[0].TRUCK_DRIVERS_POPUP_MESSAGE;\r\n this.CoreLib.DPModalDialog('Alert', 'ANUNCIO', this.CustomMessagePopup, 'fa-exclamation-triangle text-danger');\r\n }\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n public CustomerLookup(LoginData) {\r\n this.IsLoadingLocal = true;\r\n this.CUSTOMER_ID = 0;\r\n this.CUSTOMER_NAME = '';\r\n clearTimeout(this.Timer);\r\n var self = this;\r\n this.Timer = setTimeout(function () {\r\n if (LoginData) {\r\n self.CoreLib.ProcessWebRequest('ProcessGetCustomerAgents', '', 0, LoginData, true).subscribe(Result => {\r\n self.CustomerSelection = true;\r\n self.CustomerObject = Result.JSONData;\r\n self.IsLoadingLocal = false;\r\n });\r\n }\r\n }, 1000);\r\n }\r\n\r\n public SetCustomer(InRecID, InCustName) {\r\n this.CustomerSelection = false;\r\n this.CUSTOMER_NAME = InCustName;\r\n this.CUSTOMER_ID = InRecID;\r\n this.DetectChanges();\r\n }\r\n\r\n public Logout(Refresh = false, TimeOut = false) {//logout method clears the storage\r\n this.DefaultLanguage = 'ES';\r\n if (this.IsUserLoggedIn()) {\r\n this.CoreLib.ProcessWebRequest('ProcessWebUserLogin', 'Logout', 0, '', false).subscribe(Result => {\r\n this.ClearSessionStorage();\r\n localStorage.clear();\r\n\r\n if (Refresh) {\r\n console.log('Refresh1');\r\n if (TimeOut) {\r\n localStorage.setItem('TimeOut', 'true');\r\n }\r\n this.Refresh();\r\n }\r\n\r\n this.Router.navigate(['home']);\r\n });\r\n } else {\r\n this.ClearSessionStorage();\r\n this.Router.navigate(['home']);\r\n if (Refresh) {\r\n if (TimeOut) {\r\n localStorage.setItem('TimeOut', 'true');\r\n }\r\n this.Refresh();\r\n }\r\n }\r\n }\r\n\r\n /*\r\n * Function to save all relevant data to browser session storage when logging in.\r\n * The data passed in has to be an object.\r\n * Additional code below for setting the UserService Variables for use throughout the site.\r\n *\r\n */\r\n public UserToStorage(data: any) {\r\n this.SetSessionStorageItem('SessionData', this.ConvertAnyToStr(data.SecurityTokenData));\r\n this.SetSessionStorageItem('WEB_USER_ID', this.ConvertAnyToStr(data.WEB_USER_ID));\r\n this.SetSessionStorageItem('EXTERNAL_WEB_USER_ID', this.ConvertAnyToStr(data.EXTERNAL_WEB_USER_ID));\r\n this.SetSessionStorageItem('SYSTEM_ROLE', this.ConvertAnyToStr(data.SYSTEM_ROLE));\r\n this.SetSessionStorageItem('ACCESSVESSELSCHEDULE', this.ConvertAnyToStr(data.ACCESSVESSELSCHEDULE));\r\n this.SetSessionStorageItem('ACCESSVESSELLISTS', this.ConvertAnyToStr(data.ACCESSVESSELLISTS));\r\n this.SetSessionStorageItem('ACCESSVESSELVALIDATIONS', this.ConvertAnyToStr(data.ACCESSVESSELVALIDATIONS));\r\n this.SetSessionStorageItem('ACCESSVESSELBOOKINGS', this.ConvertAnyToStr(data.ACCESSVESSELBOOKINGS));\r\n this.SetSessionStorageItem('ACCESSGATES', this.ConvertAnyToStr(data.ACCESSGATES));\r\n this.SetSessionStorageItem('ACCESSAPPOINTMENTS', this.ConvertAnyToStr(data.ACCESSAPPOINTMENTS));\r\n this.SetSessionStorageItem('ACCESSSHIPPINGLINEHOLDS', this.ConvertAnyToStr(data.ACCESSSHIPPINGLINEHOLDS));\r\n this.SetSessionStorageItem('ACCESSSHIPPINGLINEHOLDSDPHPCO', this.ConvertAnyToStr(data.ACCESSSHIPPINGLINEHOLDSDPHPCO));\r\n this.SetSessionStorageItem('ACCESSSHIPPINGLINEHOLDSZZVECO', this.ConvertAnyToStr(data.ACCESSSHIPPINGLINEHOLDSZZVECO));\r\n this.SetSessionStorageItem('ACCESSCUSTOMSHOLDS', this.ConvertAnyToStr(data.ACCESSCUSTOMSHOLDS));\r\n this.SetSessionStorageItem('ACCESSCONTAINERS', this.ConvertAnyToStr(data.ACCESSCONTAINERS));\r\n this.SetSessionStorageItem('ACCESSQUOTES', this.ConvertAnyToStr(data.ACCESSQUOTES));\r\n this.SetSessionStorageItem('ACCESSVGM', this.ConvertAnyToStr(data.ACCESSVGM));\r\n this.SetSessionStorageItem('ACCESSVERIFICATION', this.ConvertAnyToStr(data.ACCESSVERIFICATION));\r\n this.SetSessionStorageItem('ACCESSYARDLOCATION', this.ConvertAnyToStr(data.ACCESSYARDLOCATION));\r\n this.SetSessionStorageItem('ACCESSSCANDELIVERHOLDS', this.ConvertAnyToStr(data.ACCESSSCANDELIVERHOLDS));\r\n this.SetSessionStorageItem('ACCESSDDHOLDS', this.ConvertAnyToStr(data.ACCESSDDHOLDS));\r\n this.SetSessionStorageItem('ACCESSCONSIGNEECHANGE', this.ConvertAnyToStr(data.ALLOW_CONSIGNEE_CHANGE)); //CUSTOMER PERMISSION\r\n this.SetSessionStorageItem('USERNAME', this.ConvertAnyToStr(data.USERNAME));\r\n this.SetSessionStorageItem('CUSTOMER_ID', this.ConvertAnyToStr(data.CUSTOMER_ID));\r\n this.SetSessionStorageItem('CUSTOMER_NAME', this.ConvertAnyToStr(data.CUSTOMER_NAME));\r\n this.SetSessionStorageItem('COMPANY_NAME', this.ConvertAnyToStr(data.COMPANY_NAME));\r\n this.SetSessionStorageItem('CUSTOMS_AGENT_ID', this.ConvertAnyToStr(data.CUSTOMS_AGENT_ID));\r\n this.SetSessionStorageItem('TAX_CLASS', this.ConvertAnyToStr(data.TAX_CLASS));\r\n this.SetSessionStorageItem('ACCOUNT_TYPE', this.ConvertAnyToStr(data.ACCOUNT_TYPE));\r\n this.SetSessionStorageItem('LINE_OP_SEARCH_CODE', this.ConvertAnyToStr(data.LINE_OP_SEARCH_CODE));\r\n this.SetSessionStorageItem('LOCATION', '1');\r\n \r\n if (data.TRUCK_DRIVER_RECORD_ID) {\r\n this.SetSessionStorageItem('TRUCK_DRIVER_RECORD_ID', this.ConvertAnyToStr(data.TRUCK_DRIVER_RECORD_ID));\r\n this.SetSessionStorageItem('TRUCK_DRIVER_CARD_NO', this.ConvertAnyToStr(data.TRUCK_DRIVER_CARD_NO));\r\n this.SetSessionStorageItem('TRUCK_DRIVER_NAME', this.ConvertAnyToStr(data.TRUCK_DRIVER_NAME));\r\n this.SetSessionStorageItem('TRUCK_DRIVER_BALANCE', this.ConvertAnyToStr(data.TRUCK_DRIVER_BALANCE));\r\n }\r\n }\r\n\r\n public ToggleHold(RecordID, HoldCode, ContNo, HoldType, InParent) {\r\n let data = {\r\n RECORD_ID: RecordID,\r\n CONTAINER_NO: ContNo,\r\n HOLD_ACTION: HoldType,\r\n HOLD_CODE: HoldCode,\r\n USERNAME: this.GetSessionStorageData('USERNAME'),\r\n LINE_OP_SEARCH_CODE: this.GetSessionStorageData('LINE_OP_SEARCH_CODE'),\r\n REASON_TEXT: ''\r\n }\r\n data.REASON_TEXT = prompt(\"Please Enter Reason:\", \"\");\r\n if ((data.REASON_TEXT != null) && (data.REASON_TEXT != \"\")) {\r\n if (HoldType == 1) {\r\n this.CoreLib.DPModalDialog('ConfirmYN', `Container ` + HoldCode + ` Release`, `Are You Sure You Want To Release Container ` + ContNo + ` ` + HoldCode + ` Hold?`, 'fa-info').then(Result => {\r\n if (Result == 1) {\r\n if (RecordID > 0) {\r\n this.CoreLib.ProcessWebRequest('ProcessClearCreateHolds', 'ProcessSingleHold', 0, data, false).subscribe(Result => {\r\n if (Result.StatusCode == 'SUCCESS') {\r\n InParent.DoSearch();\r\n }\r\n });\r\n } else {\r\n alert(\"You Must Enter A Reason To Release A Hold!\");\r\n }\r\n }\r\n });\r\n } else if (HoldType == 2) {\r\n this.CoreLib.DPModalDialog('ConfirmYN', `Container ` + HoldCode + ` Hold`, `Are You Sure You Want To Apply ` + HoldCode + ` Hold to Container ` + ContNo + `?`, 'fa-info').then(Result => {\r\n if (Result == 1) {\r\n if (RecordID > 0) {\r\n this.CoreLib.ProcessWebRequest('ProcessClearCreateHolds', 'ProcessSingleHold', 0, data, false).subscribe(Result => {\r\n if (Result.StatusCode == 'SUCCESS') {\r\n InParent.DoSearch();\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n } else {\r\n this.CoreLib.DPModalDialog('Alert', 'Error', \"You Must Enter A Reason To Place A Hold!\", 'fa-info text-danger');\r\n }\r\n }\r\n\r\n public ClearSelectedHolds(HoldCode, HoldType, InSelectedArray, InParent) {\r\n if (InSelectedArray.length > 0) {\r\n let data = {\r\n HOLD_ACTION: HoldType, \r\n HOLD_CODE: HoldCode,\r\n SELECTED: JSON.stringify(InSelectedArray),\r\n USERNAME: this.GetSessionStorageData('USERNAME'),\r\n LINE_OP_SEARCH_CODE: this.GetSessionStorageData('LINE_OP_SEARCH_CODE'),\r\n REASON_TEXT: '',\r\n HOLD_TYPE: ''\r\n }\r\n data.REASON_TEXT = prompt(\"Please Enter Reason:\", \"\");\r\n if (HoldType == 1) {\r\n data.HOLD_TYPE = 'Release';\r\n } else if (HoldType == 2) {\r\n data.HOLD_TYPE = 'Hold';\r\n }\r\n if ((data.REASON_TEXT != null) && (data.REASON_TEXT != \"\")) {\r\n this.CoreLib.DPModalDialog('ConfirmYN', `Multiple ` + HoldCode + ` ` + data.HOLD_TYPE, `Are You Sure You Want To ` + data.HOLD_TYPE + ` All \"` + HoldCode + `\" Holds for ` + InSelectedArray.length + ` Container(s)? `, 'fa-info').then(Result => {\r\n if (Result == 1) {\r\n this.CoreLib.ProcessWebRequest('ProcessClearCreateHolds', 'ProcessMultipleHolds', 0, data, false).subscribe(Result => {\r\n if (Result.StatusCode == 'SUCCESS') {\r\n InParent.DoSearch();\r\n InParent.CheckedContainers = [];\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n this.CoreLib.DPModalDialog('Alert', 'Error', \"You Must Enter A Reason To Place or Release A Hold!\", 'fa-info text-danger');\r\n }\r\n } else {\r\n this.CoreLib.DPModalDialog('Alert', 'Error', 'You Must Select at Least One Container To Release/Hold Containers!', 'fa-info text-danger');\r\n }\r\n }\r\n\r\n public ClearMultipleHolds(HoldCode, ContNo, BLNo, VesselVoyageCode, HoldType, Qty, InParent) {\r\n if ((Qty > 0) && (ContNo.length > 3) || (BLNo.length > 3) || (VesselVoyageCode.length > 3)) {\r\n let data = {\r\n HOLD_ACTION: HoldType,\r\n HOLD_CODE: HoldCode,\r\n CONTAINER_NO: ContNo,\r\n BILL_OF_LADING_NO: BLNo,\r\n VESSEL_NAME: VesselVoyageCode,\r\n USERNAME: this.GetSessionStorageData('USERNAME'),\r\n LINE_OP_SEARCH_CODE: this.GetSessionStorageData('LINE_OP_SEARCH_CODE'),\r\n REASON_TEXT: '',\r\n HOLD_TYPE: ''\r\n }\r\n data.REASON_TEXT = prompt(\"Please Enter Reason:\", \"\");\r\n if (HoldType == 1) {\r\n data.HOLD_TYPE = 'Release';\r\n } else if (HoldType == 2) {\r\n data.HOLD_TYPE = 'Hold';\r\n }\r\n if ((data.REASON_TEXT != null) && (data.REASON_TEXT != \"\")) {\r\n this.CoreLib.DPModalDialog('ConfirmYN', `Multiple ` + HoldCode + ` ` + data.HOLD_TYPE, `Are You Sure You Want To ` + data.HOLD_TYPE + ` All \"` + HoldCode + `\" Holds for ` + Qty + ` Container(s) with the following criteria:
` +\r\n `Container #: \"` + ContNo + `\"
BL #: \"` + BLNo + `\"
` +\r\n `Vessel Voyage Ref: \"` + VesselVoyageCode + `\"
Reason: \"`+ data.REASON_TEXT + `\"?`, 'fa-info').then(Result => {\r\n if (Result == 1) {\r\n this.CoreLib.ProcessWebRequest('ProcessClearCreateHolds', 'ProcessMultipleHolds', 0, data, false).subscribe(Result => {\r\n if (Result.StatusCode == 'SUCCESS') {\r\n InParent.DoSearch();\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n this.CoreLib.DPModalDialog('Alert', 'Error', \"You Must Enter A Reason To Place or Release A Hold!\", 'fa-info text-danger');\r\n }\r\n } else {\r\n this.CoreLib.DPModalDialog('Alert', 'Error', 'You Must Enter Valid Search Options To Release/Hold Containers!', 'fa-info text-danger');\r\n }\r\n }\r\n\r\n public PrintQuoteOrInvoice(InDocumentID, InDocumentType, InCedulaPassportNo = '') {\r\n this.CoreLib.ProcessWebRequest('ProcessPrintQuoteOrInvoice', InDocumentType, 0, {RECORD_ID: InDocumentID, CUSTOMER_ID: this.GetSessionStorageData('CUSTOMER_ID'), SYSTEM_ROLE: this.GetSessionStorageData('SYSTEM_ROLE')}, false).subscribe(Result => {\r\n if ((Result.StatusCode == 'SUCCESS')) {\r\n if ((Result.InvoiceID > 0) && (Result.InvoiceType > 0)) {\r\n this.OpenQuoteOrInvoice(Result.InvoiceID, InDocumentType, Result.InvoiceType);\r\n } else {\r\n this.OpenQuoteOrInvoice(InDocumentID, InDocumentType);\r\n }\r\n }\r\n });\r\n }\r\n\r\n public OpenQuoteOrInvoice(InDocumentID, InDocumentType, InInvoiceType = 1) {\r\n let FileName: string = '';\r\n let DownloadParams: any = {};\r\n DownloadParams.RequestID = 'ProcessDownloadFile';\r\n DownloadParams.RecordID = InDocumentID;\r\n if (InDocumentType == 'PrintQuote') {\r\n DownloadParams.TableName = 'PAYQUOTE';\r\n DownloadParams.FieldName = 'PRINTED_QUOTE_DATA';\r\n DownloadParams.FileName = 'QuoteNo';\r\n FileName = 'Quote-';\r\n } else if (InDocumentType == 'PrintInvoice') {\r\n if (InInvoiceType == 2) {\r\n DownloadParams.TableName = 'PAYTRANS';\r\n } else {\r\n DownloadParams.TableName = 'INVOICE';\r\n }\r\n DownloadParams.FieldName = 'PRINTED_INVOICE_DATA';\r\n DownloadParams.FileName = 'InvoiceNo';\r\n FileName = 'Invoice-';\r\n }\r\n console.log(DownloadParams);\r\n this.CoreLib.OpenFile(DownloadParams, FileName + InDocumentID + '.PDF');\r\n }\r\n\r\n public DownloadDocument(RecordID, DocType, DocumentFileName, TransType = '') {\r\n let DownloadParams = {\r\n RequestID: 'ProcessDownloadFile',\r\n DocType: DocType,\r\n RecordID: RecordID,\r\n TableName: '',\r\n FieldName: '',\r\n FileName: DocumentFileName,\r\n TransType: TransType\r\n };\r\n if (DocType == 'CONTDOC') {\r\n DownloadParams.TableName = 'ContainerDocument';\r\n DownloadParams.FieldName = 'DocumentData';\r\n }\r\n this.CoreLib.OpenFile(DownloadParams, DocumentFileName, false);\r\n }\r\n\r\n public UploadFile(RecordID, DocType, FileInfo, Parent) {\r\n let UploadParams = {\r\n TableName: '',\r\n FieldName: '',\r\n FileName: FileInfo.Filename,\r\n DocumentTypeID: FileInfo.Type,\r\n DocumentData: FileInfo.Data,\r\n WebUserID: this.GetWebUserID(),\r\n ExternalWebUserID: this.GetExternalWebUserID()\r\n };\r\n\r\n if (DocType == 'ContainerDocument') {\r\n UploadParams.TableName = 'ContainerDocument';\r\n UploadParams.FieldName = 'DocumentData';\r\n }\r\n this.CoreLib.ProcessWebRequest('ProcessDocumentUpload', '', RecordID, UploadParams, false, false).subscribe(\r\n Result => {\r\n Parent.DoSearch();\r\n }\r\n );\r\n }\r\n\r\n public GenerateInvoice(InQuoteID, Parent, Refresh = false) {\r\n this.CoreLib.DPModalDialog('ConfirmYN', `Generate Invoice`, `Are You Sure You Want To Generate Invoice from Quote #: ` + InQuoteID + `?`, 'fa-info').then(Result => {\r\n if (Result == 1) {\r\n let Data = {\r\n QUOTE_ID: InQuoteID,\r\n CUSTOMER_ID: this.GetSessionStorageData('CUSTOMER_ID'),\r\n VGM_DECLARED_CUSTOMER_ID: this.GetSessionStorageData('VGM_DECLARED_CUSTOMER_ID'),\r\n CUSTOMER_NAME: this.GetSessionStorageData('CUSTOMER_NAME'),\r\n ACCOUNT_TYPE: this.GetSessionStorageData('ACCOUNT_TYPE'),\r\n USERNAME: this.GetSessionStorageData('USERNAME')\r\n }\r\n this.CoreLib.ProcessWebRequest('ProcessGenerateInvoice', '', 0, Data, false).subscribe(Result => {\r\n if ((Result.StatusCode == 'SUCCESS') && (Result.InvoiceID > 0)) {\r\n this.PrintQuoteOrInvoice(Result.InvoiceID, 'PrintInvoice');\r\n } else {\r\n console.warn('Error generating invoice');\r\n }\r\n if (Refresh) {\r\n Parent.DoSearch();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n}\r\n\r\n/*\r\n * A Service which stores all the search params we will use accross every single page.\r\n * If a certain screen doesn't need a param. It will simple send the field as a 0 or an empty string in the JSON request\r\n * and the back end query wont be affected.\r\n */\r\n@Injectable()\r\nexport class GlobalSearchParamService extends DPComponentBase {\r\n ModalFormRecID: number = 0;\r\n WEB_USER_ID: number = +this.GetSessionStorageData('WEB_USER_ID');\r\n SYSTEM_ROLE: number = +this.GetSessionStorageData('SYSTEM_ROLE');\r\n EXTERNAL_WEB_USER_ID: number = +this.GetSessionStorageData('EXTERNAL_WEB_USER_ID');\r\n DEBTOR_ID: number = +this.GetSessionStorageData('DEBTOR_ID');\r\n CUSTOMER_ID: number = +this.GetSessionStorageData('CUSTOMER_ID');\r\n CUSTOMS_AGENT_ID: number = +this.GetSessionStorageData('CUSTOMS_AGENT_ID');\r\n CUSTOMER_NAME: string = this.GetSessionStorageData('CUSTOMER_NAME');\r\n COMPANY_NAME: string = this.GetSessionStorageData('COMPANY_NAME');\r\n LINE_OP_SEARCH_CODE: string = this.GetSessionStorageData('LINE_OP_SEARCH_CODE');\r\n USERNAME: string = this.GetSessionStorageData('USERNAME');\r\n CONTAINER_NO: string = \"\";\r\n BOOKING_NO: string = \"\";\r\n BILL_OF_LADING_NO: string = \"\";\r\n IMPORTED_CAR_FORM_NO: string = \"\";\r\n LINE_OPERATOR: string = \"\";\r\n SHIPMENT_TYPE: number = 0;\r\n VESSEL_VOYAGE_GKEY: number = 0;\r\n VESSEL_LINEOP: string = \"\";\r\n VESSEL_NAME: string = \"\";\r\n TRUCK_NO: string = \"\";\r\n INVOICE_NO: string = \"\";\r\n TRUCK_DRIVER_ID: number = 0;\r\n TRUCK_DRIVER_CARD_NO: string = \"\";\r\n FROM_DATE: Date = new Date();\r\n TO_DATE: Date = new Date();\r\n REPORT_TYPE: number = 1;\r\n VIEW_TYPE: number = 1;\r\n HOLD_TYPE: string = \"\";\r\n SEARCH_BY_NAME: string = \"\";\r\n SEARCH_BY_GROUP: string = \"\";\r\n SEARCH_BY_REMARKS: string = \"\";\r\n SEARCH_BY_CODE: string = \"\";\r\n SEARCH_BY_TYPE: number = 0;\r\n LOCATION: string = this.GetSessionStorageData('LOCATION');\r\n\r\n ClearGlobalSearchParams() {\r\n this.ModalFormRecID = 0;\r\n this.WEB_USER_ID = +this.GetSessionStorageData('WEB_USER_ID');\r\n this.SYSTEM_ROLE = +this.GetSessionStorageData('SYSTEM_ROLE');\r\n this.EXTERNAL_WEB_USER_ID = +this.GetSessionStorageData('EXTERNAL_WEB_USER_ID');\r\n this.DEBTOR_ID = +this.GetSessionStorageData('DEBTOR_ID');\r\n this.CUSTOMER_ID = +this.GetSessionStorageData('CUSTOMER_ID');\r\n this.COMPANY_NAME = this.GetSessionStorageData('COMPANY_NAME');\r\n this.CUSTOMS_AGENT_ID = +this.GetSessionStorageData('CUSTOMS_AGENT_ID');\r\n this.CUSTOMER_NAME = this.GetSessionStorageData('CUSTOMER_NAME');\r\n this.LINE_OP_SEARCH_CODE = this.GetSessionStorageData('LINE_OP_SEARCH_CODE');\r\n this.USERNAME = this.GetSessionStorageData('USERNAME');\r\n this.VESSEL_VOYAGE_GKEY = 0;\r\n this.VESSEL_LINEOP = \"\";\r\n this.VESSEL_NAME = \"\";\r\n this.CONTAINER_NO = \"\";\r\n this.INVOICE_NO = \"\";\r\n this.BOOKING_NO = \"\";\r\n this.BILL_OF_LADING_NO = \"\";\r\n this.IMPORTED_CAR_FORM_NO = \"\";\r\n this.LINE_OPERATOR = \"\";\r\n this.SHIPMENT_TYPE = 0;\r\n this.TRUCK_NO = \"\";\r\n this.TRUCK_DRIVER_ID = 0;\r\n this.TRUCK_DRIVER_CARD_NO = \"\";\r\n this.FROM_DATE = new Date();\r\n this.FROM_DATE.setHours(0, 0, 0);\r\n this.TO_DATE = new Date();\r\n this.TO_DATE.setHours(0, 0, 0);\r\n this.REPORT_TYPE = 1;\r\n this.VIEW_TYPE = 1;\r\n this.HOLD_TYPE = \"\";\r\n this.SEARCH_BY_NAME = \"\";\r\n this.SEARCH_BY_CODE = \"\";\r\n this.SEARCH_BY_GROUP = \"\";\r\n this.SEARCH_BY_REMARKS = \"\";\r\n this.SEARCH_BY_TYPE = 0;\r\n this.LOCATION = \"1\";\r\n }\r\n}\r\n","import { Component, ChangeDetectorRef, OnInit, ViewChild } from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent, CoreLibService} from 'core-lib';\r\nimport {OverlayPanel} from 'primeng/overlaypanel';\r\n\r\n\r\n@Component({\r\n templateUrl: './terminal-services-summary.component.html'\r\n})\r\nexport class TerminalServicesSummaryComponent extends DPComponent implements OnInit {\r\n public TerminalServicesDataArray: Array = [];\r\n public TerminalServiceCodeDropDownArray: Array = [];\r\n public ViewTypeDropDownArray: Array = [\r\n {Value:'0', Option:'ACTUAL'},\r\n {Value:'1', Option:'HISTORICO'}\r\n ];\r\n public RequestsTodayBtn: any;\r\n public RequestsTomorrowBtn: any;\r\n public MyRequestsBtn: any;\r\n\r\n public DischargeSlotArray: any;\r\n public DischargeAppointmentObject: any = {};\r\n public AppointmentObject: any = {};\r\n @ViewChild('OverlayPanel', {static: false}) OverlayPanel: OverlayPanel;\r\n\r\n\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, private Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.CDRef = Detector;\r\n this.Detach();\r\n }\r\n\r\n ngOnInit() {\r\n this.LoadDropDowns();\r\n this.ClearSearchFilters();\r\n var self = this;\r\n setTimeout(function () {\r\n this.RequestsTodayBtn = document.getElementById(\"RequestsTodayBtn\");\r\n this.RequestsTomorrowBtn = document.getElementById(\"RequestsTomorrowBtn\");\r\n this.MyRequestsBtn = document.getElementById(\"MyRequestsBtn\"); \r\n this.RequestsTodayBtn.addEventListener('click', () => { self.ChangeRequestDateClick(0)});\r\n this.RequestsTomorrowBtn.addEventListener('click', () => {self.ChangeRequestDateClick(1)});\r\n this.MyRequestsBtn.addEventListener('click', () => {self.ChangeRequestDateClick(2)});\r\n //console.log('MyRequestsBtn exists');\r\n //console.log(this.RequestsTomorrowBtn);\r\n }, 700);\r\n this.DoSearch();\r\n }\r\n\r\n LoadDropDowns() {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetTerminalServiceCodes', 0, '', false).subscribe( Result => { this.TerminalServiceCodeDropDownArray = Result.JSONData; } );\r\n this.LoadDischargeSlotDropdown();\r\n }\r\n\r\n LoadDischargeSlotDropdown() {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetDischargeSlots', 0, '', false).subscribe( Result => { this.DischargeSlotArray = Result.JSONData; } );\r\n }\r\n DoSearch() {\r\n if (this.UserCanAccess([1, 2], 'SYSTEM_ROLE')) {\r\n this.GlobalSearchParams.CUSTOMER_ID = 1;\r\n this.GlobalSearchParams.WEB_USER_ID = this.GetSessionStorageData('EXTERNAL_WEB_USER_ID'); /* HardCode Admin Web_User */\r\n }\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetTerminalServiceData', 0, this.GlobalSearchParams, false, true, 500).subscribe( Result => {\r\n this.TerminalServicesDataArray = Result.JSONData;\r\n\r\n this.ExportableData = this.TerminalServicesDataArray;\r\n const self = this;\r\n this.TerminalServicesDataArray.forEach((Data: any) => {\r\n Data.ZonaDGA = self.GetYardPos(Data.YARD_POS, 2);\r\n });\r\n this.DetectChanges();\r\n } );\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetTerminalServiceDataTotals', 0, this.GlobalSearchParams, false, true, 500).subscribe( Result => {\r\n this.SetSessionStorageItem('TERMINAL_SERVICE_REQUESTS_TODAY', Result.JSONData[0].TODAY);\r\n this.SetSessionStorageItem('TERMINAL_SERVICE_REQUESTS_TOMORROW', Result.JSONData[0].TOMORROW);\r\n this.SetSessionStorageItem('TERMINAL_SERVICE_QUOTA_TODAY', Result.JSONData[0].TODAY_REMAINING);\r\n this.SetSessionStorageItem('TERMINAL_SERVICE_QUOTA_TOMORROW', Result.JSONData[0].TOMORROW_REMAINING);\r\n });\r\n }\r\n\r\n ChooseDischargeSlot(e, InData) {\r\n if (InData.RECORD_ID > 0) {\r\n this.DischargeAppointmentObject.TERMINAL_SERVICE_ID = InData.RECORD_ID;\r\n this.AppointmentObject.CONTAINER_NO = InData.CONTAINER_NO;\r\n this.AppointmentObject.CONSIGNEE = InData.CONSIGNEE;\r\n this.AppointmentObject.ISO_CODE = InData.ISO_CODE;\r\n this.AppointmentObject.DOUBLE_MISSION = 1;\r\n this.OverlayPanel.show(e);\r\n this.DetectChanges();\r\n }\r\n }\r\n\r\n DischargeSlotVisible(Zone) {\r\n if (['RS','RN','N8','S8','M1','M2','M3','M4','M5','M6','N1','N2','N3','N4','N5','N6',\r\n 'O1','O2','O3','O4','O5','O6','VH','ZR','P1','P2','P3','P4','P5','P6','S5','Q1','Q2','S1','S3','S5','F', 'G', 'H'].indexOf(Zone) > -1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n SubmitDischargeSlot() {\r\n let Data = {\r\n WEB_USER_ID:this.GetSessionStorageData('WEB_USER_ID'),\r\n EXTERNAL_WEB_USER_ID:this.GetSessionStorageData('EXTERNAL_WEB_USER_ID'),\r\n RECORD_ID: this.DischargeAppointmentObject.TERMINAL_SERVICE_ID,\r\n DISCHARGE_SLOT_ID: this.DischargeAppointmentObject.DISCHARGE_SLOT_ID,\r\n TRUCK_LICENSE: this.DischargeAppointmentObject.TRUCK_LICENSE,\r\n N4_APPOINTMENT_NO: 0\r\n }\r\n this.AppointmentObject.DRIVER_ID = this.DischargeAppointmentObject.DRIVER_ID;\r\n this.AppointmentObject.APP_TYPE_INDEX = 2;\r\n this.AppointmentObject.APPOINTMENT_DATE = this.DischargeSlotArray.GetArrayData('RECORD_ID', Data.DISCHARGE_SLOT_ID).SLOT_START_DATE_TIME;\r\n this.AppointmentObject.WebRequestType = 'WEB';\r\n this.AppointmentObject.WEB_USER_ID = this.SharedLib.GetWebUserID();\r\n this.AppointmentObject.EXTERNAL_WEB_USER_ID = this.SharedLib.GetExternalWebUserID();\r\n var offset = new Date().getTimezoneOffset();\r\n this.AppointmentObject.TIME_ZONE_OFFSET = offset;\r\n this.AppointmentObject.TRANS_TYPE = 1;\r\n this.CoreLib.ProcessWebRequest('ProcessInsertUpdateTruckDriverAppointment', '', this.GetModalFormRecID(), this.AppointmentObject, false, true).subscribe(Result => {\r\n if (this.JSONErrors && typeof this.JSONErrors.StatusDescription !== 'undefined') {\r\n this.JSONErrors.StatusDescription = this.JSONErrors.StatusDescription.replace('ERROR: ', '');\r\n this.JSONErrors.StatusDescription = this.JSONErrors.StatusDescription.replace(/ERROR: /g, '
');\r\n } else {\r\n if (Result.AppointmentID > 0) {\r\n Data.N4_APPOINTMENT_NO = Result.AppointmentID;\r\n this.SaveDischargeAppointment(Data);\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n SaveDischargeAppointment(Data) {\r\n this.CoreLib.ProcessWebRequest('ProcessSaveDischargeSlot', '', 0, Data, false, true, 500).subscribe( Result => {\r\n this.OverlayPanel.hide();\r\n this.DoSearch();\r\n });\r\n }\r\n\r\n ChangeRequestDateClick(InDate) {\r\n //console.warn(e.target);\r\n // if (e) {\r\n //d.classList.add('selected');\r\n this.GlobalSearchParams.VIEW_TYPE = 0;\r\n //this.GlobalSearchParams.SEARCH_BY_TYPE = 0;\r\n this.GlobalSearchParams.FROM_DATE = new Date();\r\n this.GlobalSearchParams.TO_DATE = new Date();\r\n if (InDate == 0) {\r\n //this.RequestsTodayBtn.removeEventListener(\"click\", this.ChangeRequestDateClick);\r\n this.GlobalSearchParams.FROM_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate());\r\n this.GlobalSearchParams.FROM_DATE.setHours(0, 0, 0);\r\n this.GlobalSearchParams.TO_DATE.setDate(this.GlobalSearchParams.TO_DATE.getDate());\r\n this.GlobalSearchParams.TO_DATE.setHours(0, 0, 0);\r\n } else if (InDate == 1) {\r\n //this.RequestsTomorrowBtn.removeEventListener(\"click\", this.ChangeRequestDateClick);\r\n new Date();\r\n this.GlobalSearchParams.FROM_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate() + 1);\r\n this.GlobalSearchParams.FROM_DATE.setHours(0, 0, 0);\r\n this.GlobalSearchParams.TO_DATE.setDate(this.GlobalSearchParams.TO_DATE.getDate() + 1);\r\n this.GlobalSearchParams.TO_DATE.setHours(0, 0, 0);\r\n } else if (InDate == 2) {\r\n //this.MyRequestsBtn.removeEventListener(\"click\", this.ChangeRequestDateClick);\r\n this.GlobalSearchParams.VIEW_TYPE = 0;\r\n // this.GlobalSearchParams.SEARCH_BY_TYPE = 1;\r\n this.GlobalSearchParams.FROM_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate() - 1);\r\n this.GlobalSearchParams.FROM_DATE.setHours(0, 0, 0);\r\n this.GlobalSearchParams.TO_DATE.setDate(this.GlobalSearchParams.TO_DATE.getDate() + 1);\r\n this.GlobalSearchParams.TO_DATE.setHours(0, 0, 0);\r\n }\r\n this.DoSearch();\r\n //}\r\n }\r\n\r\n VerificationCutOffTimeLapsed() {\r\n if (!this.GetSessionStorageData('TerminalServiceCutOff')) {\r\n this.SetSessionStorageItem('TerminalServiceCutOff', '17:00');\r\n }\r\n let TimeSlotHour = this.GetSessionStorageData('TerminalServiceCutOff').substr(0, this.GetSessionStorageData('TerminalServiceCutOff').indexOf(':'));\r\n let TimeSlotMinute = this.GetSessionStorageData('TerminalServiceCutOff').substr(3, 2);\r\n let TimeSlotDate = new Date();\r\n TimeSlotDate.setHours(parseInt(TimeSlotHour), parseInt(TimeSlotMinute), 0);\r\n return (TimeSlotDate < new Date());\r\n }\r\n\r\n ProcessCancelTerminalServiceRequest(InRecordID, InContainerNo) {\r\n this.CoreLib.DPModalDialog('ConfirmYN', `Cancel Terminal Service?`, `Are You Sure You Want To Cancel Terminal Service Request # ` + InRecordID + ` for Container ` + InContainerNo + `?`, 'fa-exclamation-triangle text-danger').then(Result => {\r\n if (Result == 1) {\r\n let Data = {\r\n RECORD_ID: InRecordID,\r\n WEB_USER_ID: this.GetSessionStorageData('WEB_USER_ID')\r\n };\r\n if (this.UserCanAccess([1, 2], 'SYSTEM_ROLE')) {\r\n Data.WEB_USER_ID = this.GetSessionStorageData('EXTERNAL_WEB_USER_ID');\r\n /* HardCode Admin Web_User */\r\n }\r\n this.CoreLib.ProcessWebRequest('ProcessCancelTerminalServiceRequest', '', 0, Data, false, true).subscribe(Result => {\r\n this.DoSearch()\r\n });\r\n }\r\n });\r\n }\r\n\r\n GetYardPos(InYardPos = '', InType) {\r\n let YardPos = InYardPos;\r\n let regexp = new RegExp( \"/^[A-Za-z]+$/\", \"g\" );\r\n let Prefix_1 = YardPos.substring(0, 1); //First Letter e.g. M702 = 'M'\r\n let Prefix_2 = YardPos.substring(0, 2); //First 2 e.g. M702 = 'M7'\r\n let Suffix = YardPos.substring(2, 4); //Last 2 e.g. M702 = '02'\r\n if (YardPos) {\r\n if (!regexp.test(YardPos.substring(1, 0))) {\r\n if (InType == 1) { //Get first 3 digits\r\n YardPos = YardPos.substring(0, 4);\r\n } else if (InType == 2) { //Do something else\r\n if (['M4', 'M7', 'N4', 'N7'].indexOf(Prefix_2) > -1) {\r\n if ((Prefix_1 == 'N') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'B1';\r\n } else {\r\n YardPos = 'A'; //A\r\n }\r\n } else if (['M3', 'M6', 'N3', 'N4', 'N6', 'O3', 'O5'].indexOf(Prefix_2) > -1) {\r\n if ((Prefix_1 == 'M') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'C1';\r\n } else if ((Prefix_1 == 'N') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'C2';\r\n } else if ((Prefix_1 == 'O') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'C2';\r\n } else {\r\n YardPos = 'B1'; //B1\r\n }\r\n } else if (['O7', 'P3', 'P5', 'P7'].indexOf(Prefix_2) > -1) {\r\n if ((Prefix_1 == 'O') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'C3';\r\n } else if ((Prefix_2 == 'P3') && (this.ValidNumber(Suffix) > 2)) {\r\n YardPos = 'C3';\r\n } else if ((Prefix_2 == 'P5' || Prefix_2 == 'P7') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'C3';\r\n } else {\r\n YardPos = 'B2'; //B2\r\n }\r\n } else if (['N8', 'S8'].indexOf(Prefix_2) > -1) {\r\n YardPos = 'B3';\r\n } else if (['M2', 'M5', 'M6', 'N2', 'N3'].indexOf(Prefix_2) > -1) {\r\n if ((Prefix_2 == 'M5') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'D1';\r\n } else if ((Prefix_2 == 'N2') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'D1';\r\n } else {\r\n YardPos = 'C1'; //C1\r\n }\r\n } else if (['N5', 'N6', 'O2', 'O3', 'O5'].indexOf(Prefix_2) > -1) {\r\n if ((Prefix_2 == 'N5') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'D1';\r\n } else if ((Prefix_2 == 'O2') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'D2';\r\n } else if ((Prefix_2 == 'O4') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'D2';\r\n } else {\r\n YardPos = 'C2'; //C2\r\n }\r\n } else if (['O6', 'O7', 'P2', 'P3', 'P4', 'P5', 'P6', 'P7'].indexOf(Prefix_2) > -1) {\r\n if ((Prefix_2 == 'O6') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'D2';\r\n } else if ((Prefix_2 == 'P2') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'D2';\r\n } else if ((Prefix_2 == 'P4') && (this.ValidNumber(Suffix) > 3)) {\r\n YardPos = 'D3';\r\n } else {\r\n YardPos = 'C3';\r\n }\r\n } else if (['M1', 'N1'].indexOf(Prefix_2) > -1) {\r\n YardPos = 'D1';\r\n } else if (['O1', 'P1'].indexOf(Prefix_2) > -1) {\r\n YardPos = 'D2';\r\n } else if (['Q1'].indexOf(Prefix_2) > -1) {\r\n YardPos = 'D3';\r\n } else if (['DC'].indexOf(Prefix_2) > -1) {\r\n YardPos = 'F';\r\n } else if (['RS'].indexOf(Prefix_2) > -1) {\r\n YardPos = 'G';\r\n } else if (['ZN'].indexOf(Prefix_2) > -1) {\r\n YardPos = 'H';\r\n }\r\n } else {\r\n YardPos = YardPos;\r\n }\r\n }\r\n }\r\n return YardPos;\r\n }\r\n\r\n ClearSearchFilters() {\r\n this.GlobalSearchParams.ClearGlobalSearchParams();\r\n this.GlobalSearchParams.VIEW_TYPE = 0;\r\n this.GlobalSearchParams.REPORT_TYPE = 0;\r\n this.GlobalSearchParams.FROM_DATE.setDate(this.GlobalSearchParams.FROM_DATE.getDate());\r\n this.GlobalSearchParams.FROM_DATE.setHours(1);\r\n this.GlobalSearchParams.TO_DATE.setDate(this.GlobalSearchParams.TO_DATE.getDate() + 1);\r\n this.GlobalSearchParams.TO_DATE.setHours(1);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport {SharedLibService, GlobalSearchParamService} from '../sharedlib'; //import user service\r\nimport { DPComponent, CoreLibService} from 'core-lib';\r\n@Component({\r\n selector: 'vbs-payment-details',\r\n templateUrl: './vbs-payment-details.component.html'\r\n})\r\nexport class VBSPaymentDetailsComponent extends DPComponent implements OnInit {\r\n public SearchingRNTT: boolean = false;\r\n public VBSPaymentDetailsTransactionAmount: boolean = true;\r\n public TruckDriverObject: any = {\r\n TRUCK_DRIVER_RECORD_ID: 0,\r\n TRUCK_DRIVER_CARD_NO: '',\r\n RNTTValidationData: '',\r\n RNTTValidationStatus: 0\r\n };\r\n\r\n public VBSPaymentObject = {\r\n PaymentCategory: 'VBSCRD',\r\n CurrencyType: 'DOP',\r\n BankCode: 'DPWI',\r\n BankPassword: '123456',\r\n TotalAmount: 0,\r\n PaymentRefNo: 0, //TruckDriverID\r\n ExtendedNote01: ''\r\n };\r\n\r\n constructor(public CoreLib: CoreLibService, public GlobalSearchParams: GlobalSearchParamService, public SharedLib: SharedLibService) {\r\n super(CoreLib)\r\n }\r\n ngOnInit() { }\r\n\r\n public SearchDriverRNTT() {\r\n this.SearchingRNTT = true;\r\n if (this.TruckDriverObject.TRUCK_DRIVER_CARD_NO != '') {\r\n this.CoreLib.ProcessWebRequest('ProcessGetPublicQueryData', 'GetTruckDriverData', 0, this.TruckDriverObject, false).subscribe(\r\n Result => {\r\n Result = Result.JSONData;\r\n if (Result && (Result.length > 0)) {\r\n this.TruckDriverObject.RNTTValidationStatus = Result[0].RNTT_MASTER_VALIDATION_STATUS;\r\n this.TruckDriverObject.RNTTValidationData = Result[0].RNTT_MASTER_VALIDATION_DATA;\r\n this.TruckDriverObject.TRUCK_DRIVER_RECORD_ID = Result[0].TRUCK_DRIVER_RECORD_ID;\r\n this.VBSPaymentObject.PaymentRefNo = Result[0].TRUCK_DRIVER_RECORD_ID;\r\n } else {\r\n this.TruckDriverObject.RNTTValidationData = 'Driver Not Found In Database';\r\n this.TruckDriverObject.RNTTValidationStatus = 0;\r\n this.TruckDriverObject.TRUCK_DRIVER_RECORD_ID = 0;\r\n this.VBSPaymentObject.PaymentRefNo = 0;\r\n }\r\n this.SearchingRNTT = false;\r\n });\r\n }\r\n }\r\n\r\n public SubmitVBSPaymentForm() {\r\n this.CoreLib.ProcessWebRequest('ProcessVBSPayment', '', this.TruckDriverObject.TRUCK_DRIVER_RECORD_ID, this.VBSPaymentObject, false).subscribe(\r\n Result => {\r\n if (Result.StatusCode == 'SUCCESS') {\r\n this.GlobalSearchParams.ModalFormRecID = 0;\r\n }\r\n }\r\n );\r\n }\r\n}\r\n\r\n","import { Component, OnInit, ChangeDetectorRef } from '@angular/core';\r\nimport { DPComponent, CoreLibService} from 'core-lib';\r\n\r\n@Component({\r\n templateUrl: './vessel-booking-summary.component.html'\r\n})\r\nexport class VesselBookingSummaryComponent extends DPComponent implements OnInit {\r\n constructor(public CoreLib: CoreLibService, public Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.CDRef = Detector;\r\n this.Detach();\r\n }\r\n\r\n ngOnInit() { \r\n\r\n }\r\n}\r\n","export default \"
\\r\\n
\\r\\n

Contact

\\r\\n

Contacto

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Directions:\\r\\n Dirección:\\r\\n
\\r\\n
\\r\\n Zona Franca Multimodal Caucedo Edificio Administrativo, Suite 300, Punta\\r\\n Caucedo, Boca Chica, República Dominicana\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Contacts:\\r\\n Números de Contacto :\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Central:
\\r\\n 809-373-7300
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Experience Department:
\\r\\n
Departamento de Experiencias:
\\r\\n Experiencias@dpworld.com
\\r\\n 809-373-7300 Opción 1
\\r\\n 809-373-7682
\\r\\n 809-373-7687
\\r\\n 809-373-7688
\\r\\n 809-373-7689
\\r\\n 809-373-7611
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Appointment Area (Pre-Gate):
\\r\\n
Área de Citas (Pre-Gate):
\\r\\n\\r\\n CAU.Pregate@dpworld.com
\\r\\n 809-373-7622
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Commercial Department:
\\r\\n
Departamento Comercial:
\\r\\n Commercial.Cau@dpworld.com
\\r\\n 809-373-7300 Opción 2
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\";","export default \"
\\r\\n
\\r\\n
\\r\\n

Shipping Line Container Holds

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

Lista de todos los contenedores en patio con impedimentos existentes. Se puede buscar por Número de Contenedor o B/L.

\\r\\n

List of all containers currently in the yard, with the current holds – You can search by Container No, BL, Booking Number.

\\r\\n
\\r\\n
\\r\\n
\\r\\n Search Options\\r\\n Opciones de búsqueda\\r\\n
\\r\\n
\\r\\n Container NoNúmero Contenedor'\\\" [(ngModel)]=\\\"GlobalSearchParams.CONTAINER_NO\\\">\\r\\n Bill of Lading #Número de BL'\\\" [(ngModel)]=\\\"GlobalSearchParams.BILL_OF_LADING_NO\\\">\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Cont #CatBL #WeightCommodityLine HoldDGA HoldPayment HoldBL HoldDPH HoldPCO HoldZZVECO Hold
{{Data.EQ_NBR}}{{Data.CAT}}{{Data.BL_NBR}}{{Data.GROSS_WEIGHT_N4}}{{Data.COMMODITY_CODE}}\\r\\n
\\r\\n HOLD\\r\\n
\\r\\n
\\r\\n RELEASED
\\r\\n {{FormatDateTimeExt(Data.RELEASED_DATE, 'DD-MM-YYYY')}}\\r\\n
\\r\\n
\\r\\n
\\r\\n HOLD\\r\\n
\\r\\n
\\r\\n RELEASED\\r\\n
\\r\\n
\\r\\n
\\r\\n HOLD\\r\\n
\\r\\n
\\r\\n RELEASED
\\r\\n {{FormatDateTimeExt(Data.PAY_RELEASED_DATE, 'DD-MM-YYYY')}}\\r\\n
\\r\\n
\\r\\n
\\r\\n HOLD\\r\\n
\\r\\n
\\r\\n RELEASED
\\r\\n {{FormatDateTimeExt(Data.BL_RELEASED_DATE, 'DD-MM-YYYY')}}\\r\\n
\\r\\n
\\r\\n
\\r\\n HOLD\\r\\n
\\r\\n
\\r\\n RELEASED
\\r\\n {{FormatDateTimeExt(Data.DPH_RELEASED_DATE, 'DD-MM-YYYY')}}\\r\\n
\\r\\n
\\r\\n
\\r\\n HOLD\\r\\n
\\r\\n
\\r\\n RELEASED
\\r\\n {{FormatDateTimeExt(Data.PCO_RELEASED_DATE, 'DD-MM-YYYY')}}\\r\\n
\\r\\n
\\r\\n
\\r\\n HOLD\\r\\n
\\r\\n
\\r\\n RELEASED
\\r\\n {{FormatDateTimeExt(Data.ZZVECO_RELEASED_DATE, 'DD-MM-YYYY')}}\\r\\n
\\r\\n
\\r\\n Total: {{HoldsDataArray.length}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

0\\\">VBS Payment No: {{GetModalFormRecID()}}

\\r\\n

Create new VBS Payment

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{TruckDriverObject.RNTTValidationData}}\\r\\n
\\r\\n A valid driver is required!\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
0)\\\" class=\\\"error\\\">\\r\\n A valid amount is required!\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"
\\r\\n
\\r\\n Search Options\\r\\n Opciones de búsqueda\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n # de ReservaBooking #'\\\" [(ngModel)]=\\\"GlobalSearchParams.BOOKING_NO\\\">\\r\\n
\\r\\n
\\r\\n VesselBarco'\\\" [(ngModel)]=\\\"GlobalSearchParams.VESSEL_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 \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
# de ReservaFecha de CreacionLinea OperadoraBarcoOrigenEstadoExportadorConsignatarioDestino
{{Data.BOOKING_NO}}{{FormatDateTimeExt(Data.CREATED, 'DD/MM/YYYY (HH:mm)')}}{{Data.LINE_OPERATOR}}{{Data.VESSEL_VOYAGE_REF_NO}}CAU{{Data.EQ_STATUS}}{{Data.SHIPPER}}{{Data.CONSIGNEE}}{{Data.DISCHARGE_PORT}}
Total bookings found: {{VesselBookingsListDataArray.length}}
\\r\\n
\";","import {ChangeDetectorRef, Component, OnInit, ViewChild} from '@angular/core';\r\nimport { SharedLibService, GlobalSearchParamService } from '../sharedlib';\r\nimport { DPComponent } from '../../core-lib/dp.component';\r\nimport {CoreLibService} from '../../core-lib/dp.services';\r\nimport { PagingController } from '../../core-lib/dp-paging.component';\r\nimport {OverlayPanel} from 'primeng/overlaypanel';\r\n\r\n@Component({\r\n templateUrl: './container-yard-summary.component.html',\r\n providers: [GlobalSearchParamService]\r\n})\r\nexport class ContainerYardSummaryComponent extends DPComponent implements OnInit {\r\n public YardListingDataArray: Array = [];\r\n public StatusDropDownArray: Array = [\r\n {Value:'0', Option:'ALL'},\r\n {Value:'1', Option:'FCL'},\r\n {Value:'2', Option:'MTY'}\r\n ];\r\n public CategoryDropDownArray: Array = [\r\n {Value:'0', Option:'ALL'},\r\n {Value:'1', Option:'IMPORT'},\r\n {Value:'2', Option:'EXPORT'},\r\n {Value:'3', Option:'TRANS'}\r\n ];\r\n public LocationDropDownArray: Array = [\r\n {Value:'1', Option:'PATIO'},\r\n {Value:'2', Option:'BUQUE'}\r\n ];\r\n public YardListingDetails: any = {};\r\n public CheckedContainers: any = [];\r\n public ConsigneeData: any = {};\r\n public ConsigneeDropDownDataArray: any = [];\r\n public ContainerDocumentTypeDataArray: Array = [];\r\n public Pagination: PagingController = new PagingController();\r\n @ViewChild('UploadPanel', {static: false}) UploadPanel: OverlayPanel;\r\n\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService, public GlobalSearchParams: GlobalSearchParamService, public Detector: ChangeDetectorRef) {\r\n super(CoreLib);\r\n this.Pagination.Component = this;\r\n this.CDRef = Detector;\r\n this.Detach();\r\n }\r\n\r\n ngOnInit() {\r\n this.Pagination.RecordsPerPage = 1000;\r\n this.ClearSearchFilters();\r\n this.DoSearch();\r\n }\r\n\r\n DoSearch() {\r\n if ((this.GlobalSearchParams.CUSTOMER_NAME !== '') || (this.GlobalSearchParams.LINE_OPERATOR !== '') || (this.GetSessionStorageData('CUSTOMER_ID') > 0)) {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'ContainerYardListing', 0, this.GlobalSearchParams, false, true, 20000).subscribe( Result => {\r\n this.YardListingDataArray = Result.JSONData;\r\n this.ExportableData = this.YardListingDataArray;\r\n this.Pagination.RecordCount = this.YardListingDataArray.length;\r\n //let OverlayPanel = document.getElementsByTagName(\"p-overlaypanel\")[0].getElementsByTagName(\"div\")[0].setAttribute(\"style\",\"display:none;\");\r\n this.GetUploadDocumentTypes();\r\n });\r\n }\r\n }\r\n\r\n CloseConsigneeChange() {\r\n this.SetModalFormRecID(0);\r\n this.ConsigneeData = {};\r\n this.ConsigneeDropDownDataArray = [];\r\n }\r\n\r\n RNCLookup(RNCNo) {\r\n console.log('RNCLookup ...');\r\n this.ConsigneeDropDownDataArray = [];\r\n this.ConsigneeData.CONSIGNEESEARCH = '';\r\n this.ConsigneeData.RNCVALID = 0;\r\n if (RNCNo && RNCNo.length > 8) {\r\n this.SharedLib.IsLoadingRNC = true;\r\n clearTimeout(this.SharedLib.Timer);\r\n var self = this;\r\n this.SharedLib.Timer = setTimeout(function () {\r\n if (RNCNo) {\r\n self.CoreLib.ProcessWebRequest('ProcessGetPublicQueryData', 'LookupRNC', 0, {RNC_NO: RNCNo}, true).subscribe(Result => {\r\n if (Result.JSONData.length > 0) {\r\n self.ConsigneeData.RNC_NO = Result.JSONData[0].RNC_TAX_NO;\r\n self.ConsigneeData.CONSIGNEE_ID = Result.JSONData[0].RECORD_ID;\r\n self.ConsigneeData.CONSIGNEE = Result.JSONData[0].CUSTOMER_NAME;\r\n self.ConsigneeData.CONSIGNEESEARCH = Result.JSONData[0].CUSTOMER_NAME;\r\n self.ConsigneeData.RNCVALID = 1;\r\n self.ConsigneeData.CUSTOMERVALID = 1;\r\n } else {\r\n self.ConsigneeData.RNCVALID = 3;\r\n self.ConsigneeData.CUSTOMERVALID = 3;\r\n }\r\n self.SharedLib.IsLoadingRNC = false;\r\n });\r\n }\r\n }, 1000);\r\n }\r\n }\r\n\r\n SelectConsignee() {\r\n }\r\n\r\n SearchConsignee() {\r\n if (this.ConsigneeData.CONSIGNEESEARCH !== '') {\r\n this.CoreLib.ProcessWebRequest('ProcessGetPublicQueryData', 'LookupRNC', 0, {CUSTOMER_NAME:this.ConsigneeData.CONSIGNEESEARCH}, true).subscribe(\r\n Result => {\r\n Result = Result.JSONData;\r\n if (Result && (Result.length > 0)) {\r\n this.ConsigneeDropDownDataArray = Result;\r\n if (this.ConsigneeDropDownDataArray.length == 1) { /* If only one found, set the dropdown automatically to it */\r\n this.ConsigneeData.CONSIGNEE_ID = Result[0].RECORD_ID;\r\n this.ConsigneeData.CONSIGNEE = Result[0].CUSTOMER_NAME;\r\n this.ConsigneeData.RNC_NO = Result[0].RNC_TAX_NO;\r\n this.ConsigneeData.CUSTOMERVALID = 1;\r\n this.ConsigneeData.RNCVALID = 1;\r\n this.DetectChanges();\r\n }\r\n } else {\r\n this.ConsigneeData.CUSTOMERVALID = 3;\r\n this.ConsigneeData.RNCVALID = 3;\r\n }\r\n\r\n }\r\n );\r\n }\r\n }\r\n\r\n ConsigneeChange(InConsignee) {\r\n if (InConsignee && InConsignee.length > 2) {\r\n this.ConsigneeDropDownDataArray = [];\r\n this.ConsigneeData.RNC_NO = '';\r\n this.ConsigneeData.CONSIGNEESEARCH = InConsignee;\r\n clearTimeout(this.SharedLib.Timer);\r\n var self = this;\r\n this.SharedLib.Timer = setTimeout(function () {\r\n if (InConsignee.length > 2) {\r\n self.SearchConsignee();\r\n }\r\n }, 700);\r\n }\r\n }\r\n\r\n UpdateContainerConsignees(InSelectedArray, InConsignee, InParent) {\r\n if (InSelectedArray.length > 0) {\r\n let data = {\r\n SELECTED: JSON.stringify(InSelectedArray),\r\n CONSIGNEE: InConsignee\r\n }\r\n this.CoreLib.DPModalDialog('ConfirmYN', `Multiple `, `Are You Sure You Want To Change Consignee to ` + InConsignee + ` for ` + InSelectedArray.length + ` Container(s)? `, 'fa-info').then(Result => {\r\n if (Result == 1) {\r\n this.CoreLib.ProcessWebRequest('ProcessUpdateContainerConsignee', '', 0, data, false).subscribe(Result => {\r\n if (Result.StatusCode == 'SUCCESS') {\r\n InParent.DoSearch();\r\n InParent.CheckedContainers = [];\r\n InParent.ConsigneeData = {};\r\n InParent.ConsigneeDropDownDataArray = [];\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n this.CoreLib.DPModalDialog('Alert', 'Error', 'You Must Select at Least One Container To Change Consignee!', 'fa-info text-danger');\r\n }\r\n }\r\n\r\n UpdateCheckedOptions(ID, CheckedValues, Checked) {\r\n if (Checked) {\r\n CheckedValues.push(ID);\r\n } else {\r\n CheckedValues.splice(CheckedValues.indexOf(ID), 1);\r\n }\r\n this.DetectChanges();\r\n return CheckedValues;\r\n }\r\n\r\n GetUploadDocumentTypes() {\r\n this.CoreLib.ProcessWebRequest('ProcessGetSharedQueryData', 'GetContainerDocumentTypes', 0, '', false, false).subscribe( Result => {\r\n this.ContainerDocumentTypeDataArray = Result.JSONData\r\n });\r\n }\r\n\r\n ClearSearchFilters() {\r\n this.GlobalSearchParams.ClearGlobalSearchParams();\r\n this.GlobalSearchParams.VIEW_TYPE = 0;\r\n }\r\n\r\n SetUploadData(e, InData) {\r\n this.YardListingDetails.UploadDataRecordID = 0;\r\n if (InData.RECORD_ID > 0) {\r\n this.YardListingDetails.UploadDataRecordID = InData.RECORD_ID;\r\n this.UploadPanel.show(e);\r\n this.DetectChanges();\r\n }\r\n }\r\n}\r\n","import { NgModel } from '@angular/forms';\r\nimport { Component, Input, ViewChild } from '@angular/core';\r\nimport { ValueAccessorBase } from './value-accessor';\r\nimport { DPComponent } from './dp.component';\r\n@Component({\r\n selector: 'element-base',\r\n template: ''\r\n})\r\nexport abstract class ElementBase extends ValueAccessorBase {\r\n @Input() ValidationMessage: string = '';\r\n @Input() ValidationStatus: number;\r\n @Input() ColumnSize: number = 0;\r\n @Input() CaptionColSize: number = 0;\r\n @Input() CaptionAlign: string = 'left';\r\n @Input() DataAlign: string = 'left';\r\n @Input() DataColSize: number = 0;\r\n @Input() UpperCase: boolean = false;\r\n @Input() disabled: boolean = false;\r\n @Input() required: boolean = false;\r\n @Input() TabIndex: number;\r\n @Input() InputMin: string = '';\r\n @Input() InputMax: string = '';\r\n @Input() InputType: string = 'text';\r\n @Input() InputStep: string = '';\r\n @Input() InputMinLength: string = '';\r\n @Input() InputMaxLength: string = '';\r\n @ViewChild(NgModel, { static: true }) model: NgModel;\r\n\r\n EditPlaceHolderText: string = '';\r\n LabelCaptionText: string = '';\r\n LabelCaptionSource: string = '';\r\n\r\n constructor() {\r\n super();\r\n DPComponent.GlobalChange.subscribe(\r\n () => { \r\n // Force translation update\r\n this.UpdateLabelCaption(this.LabelCaptionSource);\r\n }\r\n )\r\n }\r\n\r\n UpdateLabelCaption(value: string) {\r\n if (value) {\r\n this.LabelCaptionSource = value;\r\n let SynchPlaceholder = (this.LabelCaptionText == this.EditPlaceHolderText);\r\n this.LabelCaptionText = DPComponent.Translate(value);\r\n if (SynchPlaceholder)\r\n this.EditPlaceHolderText = ''; \r\n this.UpdateEditPlaceholderText();\r\n }\r\n }\r\n\r\n @Input() public set EditPlaceHolder(value: string) {\r\n if (value) {\r\n this.EditPlaceHolderText = DPComponent.Translate(value);\r\n this.UpdateEditPlaceholderText();\r\n }\r\n }\r\n\r\n @Input() public set LabelCaption(value: string) {\r\n this.UpdateLabelCaption(value);\r\n }\r\n\r\n UpdateEditPlaceholderText() {\r\n if (this.EditPlaceHolderText == '')\r\n this.EditPlaceHolderText = this.LabelCaptionText; \r\n }\r\n\r\n // Added by Wave Systems - provides a unique identifier for the component\r\n public ComponentID = 'dp-control-' + identifier++; // + Date.now();\r\n\r\n // Added by Wave Systems\r\n public get pristine(): boolean {\r\n return this.model.control.pristine;\r\n }\r\n\r\n public get valid(): boolean {\r\n return this.model.control.valid;\r\n }\r\n\r\n public ColumnDivClass() {\r\n if (this.ColumnSize > 0) {\r\n return 'col-sm-' + this.ColumnSize\r\n } else {\r\n return ''\r\n }\r\n }\r\n\r\n public CaptionColumnDivClass() {\r\n if (this.CaptionColSize > 0) {\r\n return 'col-sm-' + this.CaptionColSize\r\n } else {\r\n return ''\r\n }\r\n }\r\n\r\n public DataColumnDivClass() {\r\n if (this.DataColSize > 0) {\r\n return 'col-sm-' + this.DataColSize\r\n } else {\r\n return ''\r\n }\r\n }\r\n}\r\n\r\n// Added by Wave Systems\r\nlet identifier = 0;","import { Component, OnInit } from '@angular/core';\r\nimport { SharedLibService } from '../sharedlib'; //import user service\r\nimport { DPComponent, CoreLibService} from 'core-lib';\r\nimport {Router, NavigationEnd} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-sidebar',\r\n templateUrl: 'app-sidebar.component.html'\r\n})\r\nexport class AppSidebarComponent extends DPComponent implements OnInit {\r\n constructor(public CoreLib: CoreLibService, public SharedLib: SharedLibService, private Router: Router) {\r\n super(CoreLib)\r\n Router.events.subscribe((val) => {\r\n if (this.IsLeftSidebarOpened() && val instanceof NavigationEnd) {\r\n this.ToggleSidebar();\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.SetMainMenuCode(this.GetSessionStorageData('MainMenuCode'));\r\n }\r\n\r\n RemoveCurrentVessel(){\r\n this.RemoveSessionStorageItem(\"VESSEL_VOYAGE_GKEY\");\r\n this.RemoveSessionStorageItem(\"VESSEL_VOYAGE_NAME\");\r\n this.RemoveSessionStorageItem(\"VESSEL_VOYAGE_REF_NO\");\r\n this.RemoveSessionStorageItem(\"VESSEL_VOYAGE_ETADATE\");\r\n this.Router.navigate(['vessel-schedule-summary']);\r\n }\r\n\r\n DeleteQuoteFromLocalStorage(){\r\n this.RemoveSessionStorageItem(\"CURRENT_QUOTE_ID\");\r\n this.Router.navigate(['quote-details']);\r\n }\r\n\r\n OpenHoldsCustoms(InType) {\r\n this.SetSessionStorageItem('CustomsSearchType', InType);\r\n this.Router.navigate(['holds-customs']);\r\n }\r\n}\r\n\r\n","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

VGM

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

If you declare weight as \\\"0\\\" (Weigh in Terminal), a quote will be created\\r\\n automatically, which must be paid before you create your appointment.
\\r\\n If you have any questions, please contact us.

\\r\\n

Si declara peso en \\\"0\\\" (Peso en Terminal), se creara automáticamente una\\r\\n cotización, que deber ser pagada antes, para poder crear su cita.
\\r\\n Si tiene alguna duda favor de contactarnos.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Search Options\\r\\n Opciones de búsqueda\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Container #Número de Contenedor'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.CONTAINER_NO\\\">\\r\\n
\\r\\n
\\r\\n Booking #Número de Reserva'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.BOOKING_NO\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Appt #
\\r\\n 0 && UserCanAccess([1], 'SYSTEM_ROLE')\\\"\\r\\n [pTooltip]=\\\"'Open VGM Detail'\\\" positionStyle=\\\"fixed\\\" (click)=\\\"SetModalFormRecID(Data.RECORD_ID)\\\"\\r\\n role=\\\"button\\\">{{Data.CONTAINER_NO}}\\r\\n 0) || !Data.N4_APPOINTMENT_NO) && !UserCanAccess([1], 'SYSTEM_ROLE')\\\">{{Data.CONTAINER_NO}}\\r\\n {{Data.BOOKING_NO}}{{Data.VGM_WEIGHT}}KG\\r\\n 0)\\\">{{Data.LOGIN_NAME}}\\r\\n 0)\\\">{{Data.EXTERNAL_WEB_USERNAME}}\\r\\n \\r\\n 0)\\\">{{Data.CUSTOMER_NAME}}\\r\\n 0)\\\">{{Data.EXTERNAL_COMPANY_NAME}}\\r\\n {{Data.AGENT_NAME}}{{FormatDateTimeExt(Data.VGM_DECLARED_DATETIME, 'DD/MM/YYYY hh:mm:ss A')}}{{Data.SCALE_WEIGHT}}KG{{Data.N4_APPOINTMENT_NO}}{{Data.APPOINTMENT_STATE}}{{Data.WEIGHT_RE_CERT}}{{Data.WEIGHT_CERT}}\\r\\n \\r\\n \\r\\n 0)\\\" class=\\\"fas fa-print inline-icon-small text-primary\\\" tooltipPosition=\\\"top\\\"\\r\\n [pTooltip]=\\\"'Print Quote'\\\" positionStyle=\\\"fixed\\\"\\r\\n (click)=\\\"SharedLib.PrintQuoteOrInvoice(Data.QUOTE_ID, 'PrintQuote')\\\">\\r\\n 0\\\" class=\\\"fas fa-print inline-icon-small text-primary\\\" tooltipPosition=\\\"top\\\"\\r\\n [pTooltip]=\\\"'Print Invoice'\\\" positionStyle=\\\"fixed\\\"\\r\\n (click)=\\\"SharedLib.PrintQuoteOrInvoice(Data.INVOICE_ID, 'PrintInvoice')\\\">\\r\\n 0) && (Data.INVOICE_ID == 0) && (Data.QUOTE_EXPIRED == 0))\\\"\\r\\n class=\\\"fas fa-file-alt inline-icon-small details-link text-grey\\\" tooltipPosition=\\\"top\\\"\\r\\n [pTooltip]=\\\"'Generate Invoice'\\\" positionStyle=\\\"fixed\\\"\\r\\n (click)=\\\"GenerateVGMInvoice(Data.QUOTE_ID, Data.VGM_DECLARED_CUSTOMER_ID)\\\">\\r\\n \\r\\n
Encontrado: {{Pagination.CurrentPageInfo}}
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Programación de Citas

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

Utilice esta pantalla para crear citas. Si la fecha de la cita es para los días siguientes, aparecerá en la\\r\\n sección \\\"próximas citas\\\".

\\r\\n

Use this screen to create appointments. If the date of the appointment is tomorrow, it\\r\\n will\\r\\n appear in \\\"next appointments\\\" section.

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Search Options\\r\\n Opciones de búsqueda\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Search FromBuscar desde'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.FROM_DATE\\\">\\r\\n
\\r\\n
\\r\\n ToHasta'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.TO_DATE\\\">\\r\\n
\\r\\n
\\r\\n Container ## de Contenedor'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.CONTAINER_NO\\\">\\r\\n
\\r\\n
\\r\\n Booking ## de Reserva'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.BOOKING_NO\\\">\\r\\n
\\r\\n
\\r\\n BL ## de BL'\\\"\\r\\n [(ngModel)]=\\\"GlobalSearchParams.BILL_OF_LADING_NO\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
# CitaFechaEstadoTipoContReserva# BLPesoClienteID ChoferCreated By:Action
\\r\\n {{Data.RECORD_ID}}\\r\\n {{Data.RECORD_ID}}\\r\\n {{FormatDateTimeExt(Data.APPOINTMENT_DATE, 'DD/MM/YYYY (HH:mm)')}}{{Data.STATUS}}{{Data.APP_TYPE}}{{Data.CONTAINER_NO}}{{Data.BOOKING_NO}}{{Data.BILL_OF_LADING}}{{Data.WEIGHT}}{{Data.CONSIGNEE}}{{Data.DRIVER_ID}}{{Data.USERNAME}}\\r\\n \\r\\n
Encontrado: {{Pagination.CurrentPageInfo}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\";","import './polyfills.ts';\r\n\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { environment } from './environments/environment';\r\nimport { AppModule } from './app/app.module';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","export default \"
\\r\\n
\\r\\n
\\r\\n

Government Customs Container Holds

\\r\\n

Scanner Delivery Container Holds

\\r\\n

DD Holds

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

Lista de todos los contenedores en patio con impedimentos existentes. Se puede buscar por Número de Contenedor

\\r\\n

Search by Container No to see list of all containers currently in the yard, with current Scan deliver Container Holds

\\r\\n

Lista de todos los contenedores en patio con impedimentos existentes. Se puede buscar por Número de Contenedor

\\r\\n

Search by Container No to see list of all containers currently in the yard, with current Government Customs holds

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Search Options\\r\\n Opciones de búsqueda\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Container No# Contenedor'\\\" [(ngModel)]=\\\"GlobalSearchParams.CONTAINER_NO\\\">\\r\\n Bill of Lading #Número de BL'\\\" [(ngModel)]=\\\"GlobalSearchParams.BILL_OF_LADING_NO\\\">\\r\\n VesselBarco'\\\" [(ngModel)]=\\\"GlobalSearchParams.VESSEL_NAME\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\" class=\\\"row\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
Cont #CatBL #WeightCommodityCSI HoldMegaport HoldScan-Deliver HoldDD Hold
{{Data.EQ_NBR}}{{Data.CAT}}{{Data.BL_NBR}}{{Data.GROSS_WEIGHT_N4}}{{Data.COMMODITY_CODE}}\\r\\n
\\r\\n HOLD\\r\\n
\\r\\n
\\r\\n RELEASED
{{FormatDateTimeExt(Data.CSI_RELEASED_DATE, 'DD-MM-YYYY')}}\\r\\n
\\r\\n
\\r\\n
\\r\\n HOLD\\r\\n
\\r\\n
\\r\\n RELEASED
{{FormatDateTimeExt(Data.MEGAPORT_RELEASED_DATE, 'DD-MM-YYYY')}}\\r\\n
\\r\\n
\\r\\n
\\r\\n HOLD\\r\\n
\\r\\n
\\r\\n RELEASED
\\r\\n {{FormatDateTimeExt(Data.SCAN_DELIVER_RELEASED_DATE, 'DD-MM-YYYY')}}\\r\\n
\\r\\n
\\r\\n
\\r\\n HOLD\\r\\n
\\r\\n
\\r\\n RELEASED
\\r\\n {{FormatDateTimeExt(Data.DD_RELEASED_DATE, 'DD-MM-YYYY')}}\\r\\n
\\r\\n
\\r\\n Total: {{HoldsDataArray.length}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"],"sourceRoot":"webpack:///"}